私はすべての私のresourcebundleの値をテーブルに持っていて、requirement.iに従って書式設定されています。ページ上部にドロップダウンしたユーザーの選択に基づいてウェブサイトの言語を変更する必要があります。言語コードをen_USとして使用すると、正常に動作します。もし私が言語コードとしてen-Usを使用していれば、それは動作しません。何が問題なのでしょうか。何が正しい?米国はJavaでは3166
で指定された国コードがある一方でen-USとen_USのロケールの作成の違いは何ですか?
答えて
「en」がISO 639で指定された言語コードがあり、Localeオブジェクトは、languageCode_countryCode(例えばen_USの)としてではなく、languageCode-などの言語を認識し、 countryCode。
「en-US」はIETF language tagです。 Java'a Localeクラスは明らかにIETF言語タグに基づいていましたが、ハイフンの代わりにハイフンの代わりに国コード(およびバリアント)からアンダースコアが使用されています。をLocale
で呼び出すとen_US
となります。
Java 7では、Locale.forLanguageTag(String)
とtoLanguageTag()
を使用すると、言語タグとLocale
オブジェクトを変換できます。
文字列をLocale
オブジェクトに変換する場合、ハイフンとアンダースコアでコンポーネントを分割し、最初のコンポーネント(言語コード)を小文字にし、2番目のコンポーネント(国コード)を大文字にして正規化することをお勧めします。
Locale us = Locale.forLanguageTag("en-US")
とus.toLanguageTag()
を使用すると、エラーが発生しやすい独自の実装を作成せずに変換を実行できます。
Java 8以降 ロケールの初期化は、言語タグ "en-US" Locale.forLanguageTag( "en-US")。toString();を使用して行う必要があります。 en_US
Locale.forLanguageTag( "en_US")は、必要なロケールを作成しません。デフォルトではシステムロケールになります。 Locale.forLanguageTag( "en_US")。toString()はnullを返します。
- 1. connect.facebook.net/en_US/all.jsとは何か
- 2. 「マイグレーション:作成」と「マイグレーション:生成」の違いは何ですか?
- 3. WebControlの作成でRenderControlとRenderControlの違いは何ですか?
- 4. Javaのあるロケールから別のロケール(en_US)への10進形式の変換
- 5. ハイパージーガーコンポーザーの更新と作成アクセスの違いは何ですか?
- 6. WebアプリケーションとWebサイトの作成の違いは何ですか?
- 7. FBの権限:ロケール/場所 - 違いは何ですか?
- 8. デリゲート作成式とメソッドグループ変換の違いは何ですか?
- 9. Dockerバンドルとドッカー作成の違いは何ですか?
- 10. 方法と作成方法の違いは何ですか?
- 11. すべてのAndroid端末にen_USロケールがありますか?
- 12. org.springframework.context.NoSuchMessageException:ロケール 'en_US'の 'Size.userForm.username'コードのメッセージが見つかりません
- 13. UTF8のロケールとは何ですか?
- 14. インスタンスの作成とパラメータとしてのインスタンスと作成インスタンスとの間のパラメータの違いは何ですか?
- 15. 変成作用と多相作用との違いは何ですか?
- 16. JavaScriptオブジェクトの作成方法の違いは何ですか?
- 17. 、違いは何ですか - >は(作成)と - >)が(
- 18. OpenGL ESでのカメラクラスとGLU.gluLookAt関数の作成の違いは何ですか?
- 19. トピックブランチの開始とトピックブランチの作成の違いは何ですか?
- 20. インプリメンテーションとUIファイルのUIViewControllerインスタンスの作成の違いは何ですか?
- 21. AJAXリクエストを作成するコンテキストでGETとPOSTの違いは何ですか?
- 22. 作成アクションでUser.lastとUser.find_by_id(params [:user_id])の違いは何ですか?
- 23. ローカルブランチベースリモートブランチ/ローカルを作成するときの違いは何ですか?
- 24. java.util.MissingResourceException:ベース名のバンドル「property_file名」が見つかりません、ロケールはen_US
- 25. ループバックの操作フックとイベントの違いは何ですか?
- 26. Gitの作者とコミッターの違いは何ですか?
- 27. 作業コピーの作成とgitの新しいブランチの違いと長所は何ですか?
- 28. トークン作成失敗と検証失敗の違いは何ですか? (ストライプ)
- 29. $と$$の違いは何ですか?
- 30. `##`と `hashCode`の違いは何ですか?
この回答はJavaコードで何をすべきかに最適です。他の言語/フレームワークではなく、それほど多くはありません。異なる規約を持つフレームワーク間で呼び出しを行うときは、変換が必要であることを知る必要があるコーダーの「大問題」があります。呼び出し元のフレームワークの規約を使用することをお勧めします。別のフレームワークを呼び出すときは、変換を行う "プロキシ"を用意してください。どうして?呼び出されたフレームワークが異なる規約を使用していることを知る必要がなくなります。コントリビューターは、それを使って1つの大会のみを見て、その大事な出来事を避けるでしょう。 – DaBlick