Gettext: убунту? (но не на локальном хосте)

Теперь он будет много недель пытаться заставить его работать, но этого нет в Ubuntu. (хотя он работает на локальном хосте ...)

Вот код PHP, в котором производится выбор языка. Этот код находится по следующему пути: /srv/d_disk/www/www.domaine.com/htdocs/www/mainsite/index.php

putenv("LANG=$langage");
$directory = dirname(__FILE__).'/locale';

$domain = 'traductions';
$locale=$langage . '.utf8';

setlocale( LC_MESSAGES, $locale);
bindtextdomain($domain, $directory);
textdomain($domain);
bind_textdomain_codeset($domain, 'UTF-8');

Переменная $ langage заполняется либо: fr_FR, либо en_US (я выполнил эхо, и оно изменилось правильно), но язык на экране не меняется.

локаль -a показывает мне, что локаль fr_FR.utf8 и fr_FR установлены (то же самое для en_US), .po и .mo можно найти здесь: /srv/d_disk/www/www.domaine.com/htdocs/mainsite/ locale / fr_FR.utf8 / LC_MESSAGES

Я перекомпилировал файлы .po с помощью: msgfmt -o traductions.mo -v traductions.po

файл .po выглядит следующим образом:

msgid ""
msgstr ""
"Project-Id-Version: test\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-11-17 19:41+0100\n"
"PO-Revision-Date: 2011-11-22 20:45+0100\n"
"Last-Translator: \n"  
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop;{t}\n"
"X-Poedit-Basepath: ../../../mainsite/presentation/templates\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0:    /srv/d_disk/www/www.domaine.com/htdocs/mainsite/presentation/templates\n"
"X-Poedit-SearchPath-1: ../../../mainsite/presentation/templates\n"

#: /srv/d_disk/www/www.domaine.com/htdocs/mainsite/presentation/templates/about-us.c:1
msgid "About Us"
msgstr "A Propos de Nous"

но ничего не изменилось ...

В phpinfo у меня есть метка, в которой включена поддержка GETTEXT.

Идея ?

РЕДАКТИРОВАТЬ: используя strace, я получаю следующее =>

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/lib/php5/20090626+lfs/gettext.so' - /usr/lib/php5/20090626+lfs/gettext.so: 
cannot open shared object file: No such file or directory in Unknown on line 0
Bienvenue<br />Bonne journ?e<br />   

РЕДАКТИРОВАТЬ 2: удалив gettext.so, я получаю следующее при использовании strace: strace -e trace = file -o test.txt php test_hasher.php Bienvenue
Bonne journ? e < br />

Это означает, что он переведен на французский на strace, но НЕ при перезагрузке страницы (даже после очистки кеша и перезапуска apache)


person paul P    schedule 19.12.2011    source источник


Ответы (1)


Что произойдет, если вы измените каталог локали на /srv/d_disk/www/www.domaine.com/htdocs/mainsite/locale/fr_FR/LC_MESSAGES? т.е. удаление ".utf8"

person dsas    schedule 20.12.2011
comment
это не изменилось. Все еще проблема. - person paul P; 20.12.2011