PHP Gettext -Без перевода

Я пытаюсь использовать расширение PHP gettext для перевода некоторых строк. Все функции возвращают правильные значения, но вызов gettext()/ _()возвращает только исходную строку. Файлы PO/MO кажутся правильными, и я считаю, что правильно настроил каталоги. Я использую WAMP Server с PHP 5.3.10 в Windows (, также пробовал запускать 5.3.4 и 5.3.8, потому что у меня есть установки ).

Во-первых, см./new2/www/index.php:

$locale = 'esn'; # returns Spanish_Spain.1252 in var dump

putenv("LC_ALL={$locale}"); // Returns TRUE
setlocale(LC_ALL, $locale); // Returns 'Spanish_Spain.1252'

$domain = 'messages';
bindtextdomain($domain, './locale'); // Returns C:\wamp\www\new2\www\locale
bind_textdomain_codeset($domain, 'UTF-8'); // Returns UTF-8
textdomain($domain); // Returns'messages'

print gettext("In the dashboard"); // Prints the original text, not the translation.
exit;

Я создал следующую файловую структуру:

www/new2/www/locale/Spanish_Spain.1252/LC_MESSAGES/messages.mo

Я также попытался заменить Spanish_Spain.1252на :es_ES, esn, esp, Spanishи Spanish_Spain.

Файл PO, используемый для создания MO, подобен этому (только соответствующая запись дана):

#: C:\wamp\www\new2/www/index.php:76
msgid "In the dashboard"
msgstr "TRANSLATED es_ES DASHBOARD"

Это было создано с помощью PoEdit. Я перезапустил Apache после добавления любого нового файла.MO. Также обратите внимание, что ранее я использовал Zend _Translate с Gettext, и он переводил правильно. Однако я хочу полагаться на родное расширение gettext, отчасти потому, что пытаюсь создать собственную облегченную структуру.

Будем признательны за любую помощь.

Редактировать:Изменена структура каталогов. Примечание -сможет попробовать последние ответы в течение 24 часов.

6
задан pb149 16 May 2012 в 08:14
поделиться