Перевод контента в файловой системе для продукта Plone - PullRequest
2 голосов
/ 05 августа 2011

Я пытаюсь перевести определенные строки в файл .py, используя механизм i18n. Перевод .pt файлов не является проблемой, но всякий раз, когда я пытаюсь перевести, используя _ ('Something') в коде Python в файловой системе, он всегда дает текст на английском языке (который используется по умолчанию) вместо текста на норвежском, который должен быть там. Таким образом, я могу видеть вывод из кода Python на английском языке, в то время как другие биты шаблонов страниц правильно переведены.

Есть инструкции или что-то подобное для этого?

Ответы [ 3 ]

4 голосов
/ 05 августа 2011

Является ли доменное имя, используемое для _('Something'), таким же, как и то, что вы используете в норвежском .po-файле с переводом? Они должны быть одинаковыми, поэтому не используйте «plone» в одном случае и «my.domain» в другом.

Кроме того, вызов функции подчеркивания сам по себе не переводит строку; он создает только строку, которую можно перевести. Если эта строка сама по себе заканчивается в шаблоне, вам следует добавить i18n:translate="" к этому тегу, возможно, с соответствующим i18n: domain.

В противном случае вам следует вручную вызвать метод translate, как в http://readthedocs.org/docs/collective-docs/en/latest/i18n/localization.html#manually-translated-message-ids. Прочитайте Руководство по миграции Plone 4 , чтобы узнать о некоторых различиях между Plone 3 и 4, которые могут вас здесь укусить.

3 голосов
/ 05 августа 2011

имейте в виду, что _ () не переводит текст при вызове, но возвращает объект сообщения, который будет переведен при визуализации в шаблоне.

Это означает:

  1. не согласовывать объекты сообщений."text %s" % _('translation') не будет работать, равно как и "text" + _('translation')
  2. , если вы не отправите текст в браузер через шаблон, он может быть не переведен.например, если вы генерируете электронное письмо, вам нужно перевести объект Message вручную
3 голосов
/ 05 августа 2011

если вы ищете инструкции, вам, вероятно, следует прочитать следующие документы:

Bye, Джакомо

...