Ссылки в PO-файле - используя cakephp: Как они влияют на перевод? - PullRequest
0 голосов
/ 08 июля 2010

В настоящее время я работаю с решением CakePHP (к сожалению, с закрытым исходным кодом) и иногда замечаю, что строка не будет переведена, даже если в файле po есть запись msgid. Я понял, что это происходит, если ссылка на источник отсутствует в записи. Если я введу ссылку на источник для этой строки или удалим все ссылки на источник из записи, она будет переведена.

Чтобы проверить это, я создал небольшое приложение cakephp с переводимыми строками (используя функцию __ ()), но я не могу получить такое же поведение.

например:.

#: /views/view1/add.ctp:6
#: /views/view1/edit.ctp:6
#: /views/view2/add.ctp:5
#: /views/view2/edit.ctp:5
msgid "Name"
msgstr "localized name string"

App1: если я удаляю ссылки на view1, тогда для этой локали не переводится для view1, но view2 работает переведенным. Если я удаляю все ссылки, обе работают.

App2 (мой тест): ссылки не влияют, все переведено

Как это могло быть? Я использую темы в первом приложении, и строки варьируются в зависимости от темы. Может ли это вызвать такое поведение?

Другой вопрос: как лучше вставлять новые строки в po-файлы, если я добавляю новые в представления? Я могу извлечь новый пустой банк, это нормально, но всегда искать в po-файлах и вставлять их вручную очень много времени. Там должен быть лучший автоматический способ, что я не мог найти. Руководство по GNU / gettext слишком сложно для меня, чтобы понять процесс этого: (

1 Ответ

1 голос
/ 08 июля 2010

Я всегда использую poedit - http://www.poedit.net/ - это лучший из всех, но все же не большой.Настройка может быть очень запутанной, но настойчивой.

Он будет управлять ссылками и генерировать mo (двоичные) файлы для вас.

Я использую его на Mac и Ubuntu и ужеэто в прошлом на Windows.

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