Как загрузить язык gettext в PHP?

в предыдущей компании мы раньше использовали средство форматирования кода драндулета с затмением. Это добавило бы javadoc ко всем методам включая частный.

Это сделало жизнь трудной зарегистрировать методы set и методов get. Но какого черта. Необходимо сделать это - Вы делаете это. Это заставило меня изучить некоторую макро-функциональность с XEmacs:-), можно автоматизировать его еще больше путем записи синтаксического анализатора Java, и комментатор как создатель ANTLR сделал несколько лет назад:-)

в настоящее время, я документирую все открытые методы и что-либо больше чем 10 строк.

5
задан JasonDavis 20 September 2009 в 01:42
поделиться

2 ответа

Я наконец-то заставил это работать, я публикую здесь, так что, возможно, это может помочь кому-то другому, это несколько сбивает с толку способ документирования, я думаю.

Я буду использовать FR для французского языка для этой демонстрации

$locale = "fr_fr";
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("default", "/includes/locale");
textdomain("default");

В приведенной выше функции bindtextdomain первым параметром является имя языкового файла .po без расширения. Второй параметр - это путь к папке, здесь он становится немного сложным / недокументированным ... В папке, которую вы здесь установили, вы должны создать папку для каждого языка с двухзначным кодом страны, затем внутри этой папки кода страны мне пришлось добавить эту папку с именем LC_MESSAGES , внутри LC_MESSAGES - это то место, где находится ваш файл default.po .

Это был единственный способ заставить его работать, что немного сбивало с толку, поскольку путь к папке lang ничего не упоминает о выделенной здесь жирной части:

langfolder / fr_FR / LC_MESSAGES / default.po

Это все еще очень странно, default.po у меня работает, но если я изменю его на что-то другое в приведенном выше коде, а затем изменю имя файла .po и .mo файлов чтобы соответствовать, он больше не будет работать, работает только с именем по умолчанию для меня,

9
ответ дан 13 December 2019 в 19:30
поделиться

Я подозреваю, что это ваш путь.

Является ли "/ includes / locale" правильным каталогом на вашем хосте? Или это относительно чего-то? Примечание: вам нужен полный путь, а не относительно вашего домашнего каталога или каталога установки. так что это может быть что-то вроде:

  • C:
2
ответ дан 13 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: