mo ファイルを使用して PHP Web サイトをローカライズしたいのですが、gettext を使用する際に問題が発生しました。
これは私が使用した例です:
<?php
putenv('LC_ALL=de_DE');
setlocale(LC_ALL, 'de_DE');
bindtextdomain("myPHPApp", "./locale");
textdomain("myPHPApp");
echo _("Have a nice day");
?>
私の問題は、サーバーにインストールされているロケールが en_GB.utf8 しかないことです。
setlocale(LC_ALL, 'de_DE');
常に FALSE を返します。
ライブラリ "php-gettext" ( https://launchpad.net/php-gettext/ ) を使用して、実際の php gettext 関数をシミュレートし、必要なロケールがシステムに存在しない場合でも問題なく動作するように思われる回避策を見つけました。
誰でもこのライブラリの経験がありますか? それはうまくいきますか?Web サーバーにロケールを追加できないが、mo ファイルを使用したい場合、これが唯一の解決策ですか?
ありがとう!