Django L10N: создание плоской модели файла 'po' не плоской - PullRequest
1 голос
/ 31 января 2012

Проблема в том, что .po файлы плоские.Итак, у нас нет удобной иерархии.

Пример:

msgid "SITE_TITLE"
msgstr "This is a title of my site"

msgid "ABOUT_SITE_TITLE"
msgstr "And now... about the site"

Проблема возникает, когда в нашем файле .po много сообщений.Трудно найти конкретное сообщение, которое мы хотим изменить.

Нам также необходимо привязать наши сообщения .po к определенным шаблонам (html-шаблонам).

Очевидное решение - использовать собственный префикс (например, как имя вашего файла шаблона).Тогда, если у нас есть home.html и about.html, строки нашего сообщения будут:

msgid "HOME:SITE_TITLE"
msgstr "This is a title of my site"

msgid "ABOUT:SITE_TITLE"
msgstr "And now... about the site"

Не могли бы вы предложить более удобное решение, пожалуйста?

1 Ответ

1 голос
/ 13 февраля 2012

В основном .po файлы - это обычные текстовые файлы, записи которых отделены пустой строкой.Написание простого парсера, который разделит один .po на несколько файлов на основе префикса, такого как msgid "SOMETHING:, кажется простым решением для работы с огромными файлами перевода.Организация в несколько po-файлов упрощает процесс перевода (но вы должны сохранить msgid уникальным, поэтому префиксы должны остаться).

Следующий рекомендованный инструмент называется django-rosetta .Он предоставляет веб-доступ к po-файлам, обрабатывает издание и отображает вхождения строк перевода в файлах (т. Е. В шаблонах).

...