Некоторые строки не переведены в модуль django i18n

У меня странные проблемы с модулем интернационализации django. Большинство строк переведены так, как должны быть, а некоторые нет. Позвольте мне показать вам и пример:

<li>{% trans "Upload Score" %}</li>
<li>{% trans "Profile" %}</li>
<li>{% trans "Invite friends" %}</li>
<li>{% trans "Settings" %}</li>

У меня есть список из 4 пунктов для меню. Я запускаю команду django makemessages для перевода сайта на французский язык и получаю все, как и ожидалось:

#: templates/main.html:190 templates/main.html.py:195
#, fuzzy
msgid "Upload Score"
msgstr "Publier"

#: templates/main.html:191 templates/main.html.py:196
msgid "Profile"
msgstr "Profil"

#: templates/main.html:192 templates/main.html.py:197
#, fuzzy
msgid "Invite Friends"
msgstr "inviter vos amis"

#: templates/main.html:193 templates/main.html.py:198
msgid "Settings"
msgstr "Préférences"

Но когда я скомпилирую его, django-admin compilemessages переведет только «Профиль» и «Настройки». Вы знаете, откуда это могло взяться? Может ли это быть связано с использованием пробелов? Есть ли режим отладки в модуле i18n?

Спасибо за помощь! :)

РЕДАКТИРОВАТЬ: мы на django 1.4.


person arthur    schedule 02.04.2013    source источник
comment
как выглядят языковые настройки вашего проекта django? (LANGUAGE_CODE, USE_I18N). Как выглядят настройки системного языка? Profile и Settings — это общие строки, которые можно найти в переводах, принадлежащих самому django. Я предполагаю, что ваши переводы вообще не используются из-за несоответствия языковых настроек или чего-то в этом роде.   -  person yedpodtrzitko    schedule 02.04.2013


Ответы (3)


Вам нужно удалить нечеткие линии.

Нечеткий, вероятно, означает, что исходная строка была изменена. Gettext не хочет терять ваши переводы, поэтому он изменит их, но пометит как нечеткие.

Я рекомендую вам rosetta. Это создаст вам интерфейс, похожий на администратора, где вы можете переводить строки и управлять нечеткими.

Ваше здоровье

person Vladislav Mitov    schedule 02.04.2013


В моем случае каталог, содержащий мой каталог LC_MESSAGES, был назван в честь кода языка, который я хотел (например, en-us), а не локали (en_US). Переименовав его в фиксированный формат локали.

person Eric P    schedule 18.09.2018