Grails の国際化ドキュメントによると、i18n は次のいずれかによって実現されます。
Accept-Language
リクエストにヘッダーを設定します。またlang
クエリ文字列パラメータへの取り組み
前者の方が HTTP に準拠しているため、私は前者を選択しています。率直に言って、それをクエリ パラメータとして追加するのは好きではありません。
しかし、そもそもどうやって設定Accept-Language
するのでしょうか?!?
要求された TLD によってアプリのロケールが決定されるようにします。は伝統的に英語/米国に関連付けられているため、のリクエストはアプリhttp://myapp.example.com
のバージョンを返します。要求された場合、Grails はアプリのバージョンを返す必要があります。等。en_US
*.com
http://myapp.example.fr
fr_FR
だから私の本当の質問は:
要求された URL/TLD を Grails がサーバーに設定できる変数にマップし、GSP に挿入して、クライアント側の要求が常にAccept-Language
特定の URL/TLD に一致するヘッダーを持つようにするにはどうすればよいですか?
アップデート
ここでブラウザー/Grails の動作を確認したい: ユーザーがブラウザーを構成するときに、ブラウザーがAccept-Language
それに応じてヘッダーを調整すると想定しても安全ですか? もしそうなら、ifAccept-Language
が送信されず、Grails がデフォルトlang
で使用するクエリ パラメータとして指定されていないと仮定できますか?en_US