i18n на переменную - PullRequest
       18

i18n на переменную

0 голосов
/ 08 октября 2009

Я хотел бы знать, могу ли я использовать функцию gt для переменной с php?

например. : echo _($var);

Ответы [ 2 ]

5 голосов
/ 08 октября 2009

Не стесняйтесь. Но вам нужно убедиться, что возможное содержимое переменной превращает ее в .po / .mo файлы. (один из способов сделать это - создать фиктивный файл, который никогда не обрабатывается, за исключением xgettext, содержащего _("translate me"); выражений).

2 голосов
/ 08 октября 2009

Я не думаю, что gettext распознает переменную, так как сканирует исходный код. Если вы хотите включить переменные в строку, лучше использовать

sprintf()

Например

echo sprintf(_("There are %d results!"), $numResults);

В gettext переводчик увидит

There are %d results!

поэтому его можно легко перевести, если он / она знает, что% d является переменной. Когда скрипт будет выполнен, gettext сначала заменит перевод, а затем sprintf вставит переменную $ numResults. Удачи! Я только что закончил интернационализацию своего сайта.

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