2011-12-19 3 views
0

これで数週間働くようになりますが、Ubuntuでは動作しません。 (ローカルホストでも対応していますが)Gettext:ubuntu? (ただし、ローカルホストではありません)

ここでは、言語の選択が行われる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'); 

/srv/d_disk/www/www.domaine.com/htdocs/www/mainsite/index.php変数$関連リンク言語は、どちらかによって記入されています:このコードは、次のパスにあるfr_FRの場合、またはen_US(私はエコーを行い、それが正しく変更されました)が、言語は画面上で変化しません。

ロケール-aが与えられる(en_USのために同じ)ロケールfr_FR.utf8とfr_FRのがインストールされていることを私に示して の.poや.moのは、ここで見つけることができます: /srv/d_disk/www/www.domaineを。 COM/htdocsに/ mainsite /ロケール/ fr_FR.utf8/LC_MESSAGES

私は.poファイルを再コンパイル:の.poファイルは次のようであるmsgfmt -o traductions.mo -v traductions.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サポートが有効になっているというラベルがあります。

アイデア?

EDIT:= straceの-eトレース:straceのを使用しているときgettext.soを除去することにより、私は、次のしている: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 /> 

EDIT 2を取得?電子


をjourn -o test.txtというPHP test_hasher.php ビアンヴニュ
ボンファイルつまり、それはフランス語で翻訳されていますが、ページをリサイクルするときではないことを意味します(キャッシュのクリーンアップとApacheの再起動の後でさえも)

+0

なぜあなたの.poファイルは 'msgid" " "で始まるのですか? – hakre

+0

キャッシングの問題でしょうか? http://www.php.net/manual/en/book.gettext.php#105413 – Mimikry

+0

私は分かりません。私はこれらの2行を削除して、Apacheを再起動しましたが、それは役に立ちませんでした。 –

答えて

0

ロケールディレクトリを/srv/d_disk/www/www.domaine.com/ htdocs/mainsite/locale/fr_FR/LC_MESSAGES?つまり、 ".utf8"を削除します

+0

それは変更されませんでした。それでも問題。 –

関連する問題