Интернационализация приложения Python 2.6 через Babel

Мы оцениваем Babel 0.9.5 [1] в соответствии с Windows для использования с Python 2.6 и имеем следующие вопросы, на которые мы мы не могли ответить посредством чтения документации или поиска с помощью Google.

1) Я хотел бы использовать _ как сокращение для ungettext. Существует ли concencus на том, нужно ли использовать n_ или N_ для этого?

n_, кажется, не работает. Столпотворение не извлекает текст.

N_, кажется, частично работает. Столпотворение извлекает текст как он, делает для gettext, но не форматирует для ngettext (недостающий множественный аргумент и msgstr [n].)

2) Существует ли способ установить начальную букву msgstr поля как следующее при создании файла ГОРШКА?

Я подозреваю, что может быть способ сделать это через Babel cfg файлы, но я не мог найти документацию относительно Babel cfg форматом файла.

"Идентификационная версия проекта: VERSION\n ПРОЕКТА" "Команда Языка: en_US \n"

3) Существует ли способ сохранить 'устаревший' msgid/msgstr's в наших файлах ПО? Когда я использую команду обновления Babel, недавно создал устаревшие строки, отмечены с # ~ префиксы, но существующие устаревшие строки сообщения удалены.

Спасибо, Malcolm

[1] http://babel.edgewall.org/

8
задан Malcolm 25 May 2010 в 08:55
поделиться

1 ответ

По умолчанию pybabel extract распознает следующие ключевые слова: _, gettext, ngettext, ugettext, ungettext, dgettext, dngettext,N_. Используйте опцию -k для добавления других. N_ часто используется для NULL-переводов (также называемых отложенными переводами).

Update: Опция -k может перечислять аргументы функции, которые должны быть помещены в каталог. Так, если вы используете n_ = ngettext, попробуйте pybabel extract -k n_:1,2 ... .

8
ответ дан 5 December 2019 в 18:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: