2014-10-07 6 views
0

У меня есть проблемы с получением GetText работать на Windows Server 2008 R2, PHP 5.5PHP Gettext не работает на Windows Server 2008, PHP 5.5

я сделать следующее в моем PHP скрипт:

$language = 'NB'; 
putenv("LANG=".$language); 
putenv("LC_ALL=".$language); 
setlocale(LC_ALL, $language); 
$domain = 'messages'; 
bindtextdomain($domain, 'C:/path_to_translations/translations'); 
textdomain($domain); 

Мои файлы перевода находятся в следующих каталогах:

C: /path_to_translations/translations/NB/LC_MESSAGES/messages.po C: /path_to_translations/translations/NB/LC_MESSAGES/messages.mo

Это отлично работает на моей машине с Windows 7 с php 5.3

Я предполагаю, что NB на самом деле не является допустимым именем языка в Windows, но setlocale (LC_ALL, «NB») по-прежнему возвращает «NB», а не FALSE. Тем не менее, чтобы узнать, может ли это иметь какое-то отношение к проблеме, я попытался установить $ language = 'norwegian', в случае case setlocale (LC_ALL, 'norwegian') возвращает 'Norwegian_Norway.1252' и попытался установить . пути к C: /path_to_translations/translations/norwegian/LC_MESSAGES/messages.mo и C: /path_to_translations/translations/Norwegian_Norway.1252/LC_MESSAGES/messages.mo, а также изменение кодировки в файлах .po и .mo из 'UTF -8 'до' Windows 1252 '. Тем не менее, я не могу получить перевод для работы на компьютере с Windows Server 2008 R2, PHP 5.5.

Любая помощь МНОГО оценили!

ответ

0

Обновление. Никогда не получал gettext для работы с php 5.5, но нашел, что у других пользователей были подобные проблемы (https://bugs.php.net/bug.php?id=66265)

Пробовал установить php 5.4 вместо этого, и теперь все работает должным образом.

Смежные вопросы