Обновление локали с оболочкой i18n - PullRequest
0 голосов
/ 23 мая 2019

Чтение документов Мне удалось извлечь все строки моего приложения:

bin/cake i18n extract

Файл Locale/default.pot теперь содержит сообщения для перевода. Через некоторое время мне нужно будет сделать это снова, потому что я добавлю некоторые другие формы.

Я не нашел способа обновить уже существующий файл po (t), добавив новую строку, удалив больше не использованные, но сохранив существующие.

В больших приложениях сложно "слить" переводы вручную.

Можно ли использовать команду extract для этого?

1 Ответ

1 голос
/ 23 мая 2019

Такой команды нет, нет, оболочка i18n предназначена исключительно для извлечения сообщений в файлы шаблонов перевода, без слияния / обновления.

Слияние / обновление должно выполняться с использованием внешних инструментов, таких как, например, Poedit , который предоставляет графический интерфейс для инструментов gettext . Используйте такой инструмент для создания файлов .po.mo) из файлов шаблонов .pot, а затем, после внесения изменений в код приложения, повторно извлеките файлы шаблонов .pot через оболочку i18n и используйте функция внешнего инструмента * слияния / обновления для обновления существующих файлов .po из новых файлов шаблонов .pot.

Функция объединения gettext даст вам довольно хорошие результаты, обратите внимание на нечетких и устаревших записей после объединения, они могут потребовать некоторая дополнительная ручная работа, но в основном все работает нормально автоматически.

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