#php #localization #gettext #po #mo
#php #локализация #gettext #по #мо
Вопрос:
Я должен перевести текст с английского на немецкий.Для этого я выполнил следующее: я использовал gettext и работал на ОС Ubuntu 11.10…
-
создал text.php
-
Через Poedit созданы messages.po и messages.mo (создается автоматически).
Оба файла .po и .mo находятся в «locale/de_DE/LC_MESSAGES».
-
Затем создал localization.php в том же месте, где файл text.php находится.
Но все же, когда я тестировал файл text.php он выдавал выходные данные в виде непереведенной строки….
Почему это было так? Допустили какую-либо ошибку или оставили что-то еще ……?
Кто-нибудь может мне помочь?
Комментарии:
1. Пожалуйста, покажите код из вашего
text.php
иlocalization.php
Ответ №1:
Gettext — это не магия. Он не переводит выходные данные самостоятельно, когда существуют файлы локализации; вы должны явно вызывать gettext()
функцию всякий раз, когда вы хотите, чтобы она переводила строку.
Ответ №2:
Взгляните на эту страницу: http://php.net/manual/en/function.gettext.php , в примере показано, какую инициализацию выполнить перед тем, как функции gettext()
или _()
действительно переведут текст.