5

ここでBryanHの回答の指示に従っています: gettext() equals in Intl library? php-intl でローカリゼーション (翻訳) を実装しようとしていますが、この人が抱えていたのと同じ問題が発生し続けています: ResourceBundle はエラーが発生することなく NULL を返します

彼は、ツールを使用してdatファイルを作成したと述べていますが(作業方法がわかりません)、前者の回答の人は単に.res拡張子のtxtファイルを使用しているようです。

php-intl と ResourceBundle を使用して適切にローカリゼーションを実装するにはどうすればよいですか? また、何が間違っていますか?

目標は、さまざまな言語のさまざまなデータ ファイルを用意して、次のようなことができるようにすることです。

$t = new Translator();
$t->setResource(new \ResourceBundle('es', 'locales_folder/'));
$t->echo("somestring"); // "el stringo"

..最初の答えの人が持っていたのと同じように。また、ファイルを簡単に編集できるようにすることを目的としているため、修正や更新などのために翻訳者に渡すことができます。最初のリクエストで解析されてmemcacheに保存される単純なテキストファイルを介して、カスタムソリューションでこれを簡単に実行できることを認識しています.datファイルを再度読み取る必要はありませんが、ここで提案されたルートを取ります。

編集:それを入手するためだけに-gettextで同じことをうまく実装しましたが、それは非常に簡単でした-Linuxシステム全体で持続する1つのバグを除いて(http://www.php.net/manual/en/book.gettext .php#91187 ) - しかし、可能であれば、より近代的で包括的な intl 拡張に依存したいと思います。

4

1 に答える 1