Перевод приложения php с gettext - PullRequest
1 голос
/ 14 сентября 2009

Из моих предыдущих вопросов о gettext, одно из самых больших преимуществ использования PHP-расширения gettext вместо других методов языкового перевода заключалось в том, что очень легко заставить других людей создавать файлы перевода с помощью программы Poedit * 1002. *.

Теперь у меня в приложении работает gettext, но я еще не сделал ни одного файла перевода, я нашел демо-файл в сети и проверил его, чтобы убедиться, что мое приложение работает с gettext.

Теперь я немного поигрался с poedit, и могу ошибаться, надеюсь, кто-то сможет прояснить некоторые вопросы.

  1. Насколько я могу сказать, poedit читает ваш php-код и находит все доступные места для выполнения перевода, это правильно?

  2. Если вышеприведенное верно, то как вам переводчик-человек переводить с poedit, не имея доступа к вашему приложению?

Или, проще говоря, возможно ли сделать файл перевода с poedit, не имея доступа к вашему php-коду?

Ответы [ 3 ]

2 голосов
/ 14 сентября 2009

Нет, poEdit не читает все ваши источники. Для этого вы используете утилиту gettext «xgettext».

Обычно xgettext создает файл .po.

Ваши переводчики будут использовать POEdit для работы с этим .po файлом.

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

Если у вас установлена ​​gettext в какой-то системе Unixy, попробуйте «info gettext» в bash.

2 голосов
/ 14 сентября 2009

Обратите внимание, что я никогда не использовал poedit, поэтому это может быть не совсем точно ...

Интересная статья, которую вы могли бы сначала прочитать, для некоторых сведений: Локализация плагина WordPress с использованием poEdit
Это WordPress, что означает PHP - поэтому основные идеи должны быть в порядке для вашего приложения.

В принципе, если я хорошо понимаю:

  • вы сначала извлекаете все строки из исходного кода PHP
    • сообщая poedit, как называется ваша функция перевода
    • это должно ответить на ваш 1)
  • тогда вы переводите
    • работа с / над файлом .po
    • И я предполагаю, что вы можете распространить этот .po-файл среди ваших переводчиков, которые затем смогут переводить содержащиеся в нем строки
  • и, наконец, вы используете файл .po для генерации файла .mo, который будет использоваться в вашем приложении.


Эта другая статья, тоже о WordPress, похоже, указывает на то, что я угадываю: Пользователь: Skippy / Создание файлов POT - особенно это предложение:

Сделать файл .po доступным для скачать (или опционально включить его в архив плагинов). Переводчики будут используйте этот файл для создания файла .mo, который будет использоваться load_plugin_textdomain() функция.

(Очевидно, что имя функции, которое вы будете использовать в своем приложении, не будет таким же, как в WordPress - тем не менее, идея есть)


Надеюсь это поможет :-)
Веселитесь!

0 голосов
/ 28 апреля 2012

PoEdit фактически использует xgettext, который вы можете правильно настроить на вкладке Настройки / Парсеры .

Кстати, вам следует распространять файл .pot , который является шаблоном .po . Таким образом, переводчики могут перевести его, установить язык, команду переводчиков и т. Д.

К сожалению, я не вижу опции для создания файла .pot из источника, но poedit может читать (конечно, это то же самое, что .po).

После создания собственного .po вы можете получить .mo !

...