私はすべての私の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. WebControlの作成でRenderControlとRenderControlの違いは何ですか?
- 3. WebアプリケーションとWebサイトの作成の違いは何ですか?
- 4. FBの権限:ロケール/場所 - 違いは何ですか?
- 5. デリゲート作成式とメソッドグループ変換の違いは何ですか?
- 6. UTF8のロケールとは何ですか?
- 7. OpenGL ESでのカメラクラスとGLU.gluLookAt関数の作成の違いは何ですか?
- 8. インプリメンテーションとUIファイルのUIViewControllerインスタンスの作成の違いは何ですか?
- 9. AJAXリクエストを作成するコンテキストでGETとPOSTの違いは何ですか?
- 10. 作業コピーの作成とgitの新しいブランチの違いと長所は何ですか?
- 11. Gitの作者とコミッターの違いは何ですか?
- 12. java.util.MissingResourceException:ベース名のバンドル「property_file名」が見つかりません、ロケールはen_US
- 13. 構成と集計の違いは何ですか?
- 14. プロジェクト名と成果物IDの違いは何ですか?
- 15. difftimeと ' - 'の違いは何ですか?
- 16. A`と ``の違いは何ですか[:] `
- 17. `&`と `ref`の違いは何ですか?
- 18. バックスティックと$()の違いは何ですか?
- 19. `##`と `hashCode`の違いは何ですか?
- 20. "$^N"と "$ +"の違いは何ですか?
- 21. #{} $ {}と%{}の違いは何ですか?
- 22. typedefとの違いは何ですか?
- 23. %Qと%{}の違いは何ですか?
- 24. `==`と `is`の違いは何ですか?
- 25. $と$$の違いは何ですか?
- 26. NodeJS:「./ ..」と「..」の違いは何ですか?
- 27. 構造Verilogと動作Verilogの違いは何ですか?
- 28. Pythonで生成するときの "()"と "[]"の違いは何ですか?
- 29. セットアッププロジェクトは2つのファイルを作成しますが、違いは何ですか?
- 30. 春:ロケールのコードの下では見つかりませんでしたメッセージである 'en_US'
この回答はJavaコードで何をすべきかに最適です。他の言語/フレームワークではなく、それほど多くはありません。異なる規約を持つフレームワーク間で呼び出しを行うときは、変換が必要であることを知る必要があるコーダーの「大問題」があります。呼び出し元のフレームワークの規約を使用することをお勧めします。別のフレームワークを呼び出すときは、変換を行う "プロキシ"を用意してください。どうして?呼び出されたフレームワークが異なる規約を使用していることを知る必要がなくなります。コントリビューターは、それを使って1つの大会のみを見て、その大事な出来事を避けるでしょう。 – DaBlick