что такое {% trans "Это название." %} используется для, я не могу понять API - PullRequest
2 голосов
/ 27 января 2010

я знаю, что {% trans%} для перевода,

и как я могу перевести {% trans "Это название." %} на китайский.

спасибо


D:\zjm_code\register2>python D:\Python25\Lib\site-packages\django\bin\django-adm
in.py compilemessages
processing file django.po in D:\zjm_code\register2\locale\cn\LC_MESSAGES
msgfmt: iconv failure

Ответы [ 3 ]

4 голосов
/ 27 января 2010

Вы не следуете документации?

3 шага:

  1. Добавьте {% load i18n %} в шаблон (как говорит Михал Людвинский). Поместите {% trans %} в свои шаблоны или _ в коде Python и т. Д.

  2. Создание словаря перевода:

    • Запустите django-admin.py makemessages -l cn (cn = код языка Китая) в корне проекта Django.

    • Редактировать locale/cn/LC_MESSAGES/django.po. Только под msgid "Hello!" измените msgstr "" на msgstr "nihao". Не меняй msgid. Вы можете использовать Unicode, но я буду использовать пиньинь, пока вы не будете уверены, что все остальное работает.

    • Выполнить django-admin.py compilemessages

  3. Настройка языкового перевода. Возможно, вам потребуется включить некоторое промежуточное программное обеспечение.

3 голосов
/ 27 января 2010

прежде чем вы попытаетесь использовать {% trans%} blocktag, вам нужно набрать

{% load i18n %}

тогда вы можете использовать тег для ввода текста, который вы хотите перевести (важно одно - текст должен быть на основном языке проекта, который установлен в настройках)

если у вас уже есть какой-то текст, который вы хотите перевести, введите основной каталог своих проектов:

./manage.py makemessages -l pl

, где " pl " может указывать код страны выбранного языка. эта команда заставит скрипты django сгенерировать правильный файл локализации, расположенный в ./locale/(language-code)/LC_MESSAGES/django.po.

после выполнения перевода вы просто набираете

./manage.py compilemessages 

и это должно сработать.

1 голос
/ 27 января 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...