|
Оглавление
|
После того как вы пометили строки подлежащие переводу, вам следует написать (или получить) перевод для этих строк. В этом разделе мы расскажем как это делается. Первый шагом будет создание файла сообщений для нового языка. Файл сообщений — это обычный текстовый файл для одного языка, который содержит информацию обо всех доступных вариантах перевода строк и о том как они должны быть представлены для данного языка. Такие файлы должны иметь расширение .po.
Django поставляется с утилитой,
Для создания или обновления файла сообщений выполните команду
bin/make-messages.py -l de, где
de — это идентификатор языка для которого
создаётся файл. В данном случае, идентификатор языка указан в
формате локали. Например, pt_BR используется
для бразильского варианта португальского языка, а
at — для австрийского варианта немецкого
языка. Взгляните на идентификаторы языков в каталоге
Скрипт должен быть запущен из одного из трёх мест:
Скрипт обрабатывает целое дерево, над которым он был запущен,
и получает все строки, помеченные для перевода. Он создаёт
(или обновляет) файл сообщений в каталоге
Если скрипт был запущен над деревом проекта или приложения, он
сделает то же самое, но каталог будет другим:
Нет утилиты gettext?
Если у вас нет установленной утилиты
gettext, то
bin/make-messages.py создаст пустые
файлы. В этом случае следует либо установить утилиту или
просто скопировать файл сообщений для английского языка
(
Формат .po файлов прямолинеен. Каждый .po файл содержит небольшой кусок метаданных, таких как контактная информация сопровождающего данный перевод, остальное место в файле занимает список сообщений — простое соответствие между переводимыми строками и собственно переводами для этих строк. Например, если ваше приложение содержит строку «Welcome to my site.», в таком виде: _("Welcome to my site.")
то утилита bin/make-messages.py создаст .po файл, который будет содержать кусок — сообщение: #: path/to/python/module.py:23 msgid "Welcome to my site." msgstr ""
Кратко рассмотрим этот кусок:
Длинные сообщения являются особым случаем. Сразу после msgstr (или msgid) указывается пустая строка. Затем содержимое строки записывается на следущей линии или линиях. Такие строки впоследствии объединяются. Не забывайте оставлять завершающие пробелы в конце линий, иначе строка будет объединена без этих пробелов! Например, ниже представлен многострочный перевод (взято из испанской локализации, которая поставляется с Django): msgid "" "There's been an error. It's been reported to the site administrators via e-" "mail and should be fixed shortly. Thanks for your patience." msgstr "" "Ha ocurrido un error. Se ha informado a los administradores del sitio " "mediante correo electrónico y debería arreglarse en breve. Gracias por su " "paciencia."
Не забывайте о завершающих пробелах. Помните о своей кодировкеПри создании .po файлов в вашем текстовом редакторе, сначала исправьте строку с указанием кодировки (произведите поиск по CHARSET) и установите правильное значение кодировки. Обычно UTF-8 подходит для большинства языков, но gettext должна обработать любую кодировку, которую вы укажете.
Для повторного получения строк из исходного кода и шаблонов для перевода новых строк и обновления всех файлов сообщений для всех языков, выполните это: make-messages.py -a
После того как вы создали файл сообщений и после каждого изменения его содержимого вам потребуется компилировать его в более эффективную форму с помощью gettext. Для этого следует применять утилиту bin/make-messages.py. Эта утилита «пробегает» по всем доступным .po файлам и создаёт .mo файлы, которые являются бинарным представлением первых. В том же каталоге из которого вы запускали bin/make-messages.py выполните это: bin/compile-messages.py
И всё. Ваш перевод готов для использования. |
Увидели ошибку?
Выделите её мышкой и нажмите
-
Обработано:
1049
49
130
71
Версия книги
1.0
2.0
Версия 2.0 в процессе перевода!
Мой луч
Многообразие света
Полезное
Актуальные вакансии,
Python работа
для python-разработчиков.
Скачать в формате
CHM от 2 сентябряЗаказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта. Чем чаще заказываете — тем больше перевожу. Русская группа
Ускорить процесс перевода!
R130494980980
Z425285133788 E112528079659 U327380922061 Книга помогла реализовать:
|
| © 2008-2009 Ruslan Popov @ gmail.com | Powered by Django 1.1 beta 1 SVN-11114 |