Как предоставить данные для.по файлы перевода?


После запуска django-admin.py makemessages -l de в Django для создания файлов перевода, вы можете использовать простой текстовый редактор или Poedit, чтобы заполнить их.

Poedit имеет то преимущество, что он предоставляет специализированный пользовательский интерфейс для ввода этих данных. Однако я продолжаю получать сообщение об ошибке, когда переключаюсь между словами:

MyBookmarks / locale / de/LC_MESSAGES / django.po: 7: поле заголовка 'Project-Id-Version' по-прежнему имеет начальное значение по умолчанию

Что это такое? Есть ли кто-нибудь со знанием интернационализация в Django или обычные пользователи po / GNU gettext столкнулись с этим сообщением об ошибке?

Большое Спасибо,

1 3

1 ответ:

Я думаю, Джанго оставить заголовок .po-файл настраивается пользователем, поэтому вы можете заменить "версию пакета "чем-то более описательным, например"MY FABULOUS APP V.1.0".

Чтобы сделать это для любого соответствующего файла в заданном пути, вы можете использовать эту команду из командной строки и в среде *nix (или в любом месте sed и find доступны)

find <YOUR_PATH_HERE> -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/<YOUR_APP_NAME> <YOUR_APP_VERSION>/g' -i.bak {} \;

Команда заменит вышеупомянутый текст в каждом .po файл и сохранит также неизмененный, резервный файл каждого из них.

Итак, в вашем случае команда будет:

find MyBookmarks/ -type f -name '*.po' -exec sed -e s'/PACKAGE VERSION/MyBookmarks v.1.0/g' -i.bak {} \;

Я обычно включаю эту команду в свой fabfile, и она решает проблему с помощью POedit 1.5.x (но должен работать и на предыдущих версиях).

Примечание: Вы должны сделать это только один раз для каждого .po-файл . В следующий раз вы запустите ./manage.py makemessages Django запомнит настройку.