だから私はいじり始めましgettext
たが、私はまだ特定のことについて戸惑っています.誰かが私を助けてギャップを埋めることができれば素晴らしいと思います.
通常、ほとんどの実装
setlocale
は、言語パラメーターに基づいて呼び出すだけです。putenv
おそらくWindowsセットアップのエッジケースのために、使用する必要があるケースはありますか?私のphpフレームワークのデフォルトの言語は英語、UTF-8です。ISO-8859-1/Latin1であり、明らかにUTF-8ほどサポートされていないので、に設定
LC_ALL
しますか?en_US.utf-8
en_US
を呼び出した後に知っておくべき注意点はあります
setlocale(LC_ALL, 'en_US.utf-8')
か? これらすべてが変更されるため:LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, and LC_MESSAGES
- たとえば、時間などを生成するスクリプトを更新する必要がありますか?たとえば、新しく構成されたサーバーに
es_ES.utf-8
ロケールが構成されていなかったとします。ロケールを生成する方法は知っていますが、それが利用できない場合は、アレイにバックアップを提供する必要がありますか? 誰かが次のような実用的な例を提供できれば素晴らしいでしょう:setlocale( LC_ALL, array('es_ES.UTF-8', 'es_ES', 'es') )
このような例を提供している Web サイトはありますか、それとも通常、人々は優先順位を自分で考えますか?
locale
ori18n
フォルダーの通常の構造は次のようなものだとどこかで読みました。構造は本当に重要ですか?起こっているのは、
bindtextdomain('messages', 'locale')
そのディレクトリを再帰的に検索するときだけのようですmessages.mo
。気付いていないかもしれませんが、ディレクトリが考慮されている可能性があります。
構造はどの程度厳密に設定する必要がありますか?
locale
en_US
LC_MESSAGES
messages.po
es_ES
LC_MESSAGES
messages.po
6. システムが実際にロケールをサポートしているかどうかをテストする必要がありますか? たとえば、サーバーにロケールがなく、setlocale
それを設定しようとした場合、エラーは発生せず、黙って通り過ぎてしまうからです。