ユーザー設定のロケールをデータベースに保存するとします。どの値を使用しますか?
en_USまたはen-US
これらは2つの標準ですが、独自のアプリケーションの一部として使用したいのはどちらですか?
更新:多くのウェブサイトではアンダースコアの代わりにダッシュを使用しているようです。
http://zh.wikipedia.org/zh-twhttp://www.google.com.hk/search?hl=zh-TW
待って、待って、待って。みんな、「-」が標準だと確信しています。どこかに「_」が表示されている場合は、おそらくそれを有効な識別子にするためにいくつかの人々が思いついたものです。
個人的には、「-」を使用しますが、これは正しいです。
Javaを使用している場合は、 Javaロケール形式 (en_US
)。
BCP 47 ドキュメントは実際にen-US
形式。これは、Javaスタイルのロケール名よりも一般的でないとしても一般的です。しかし、実際には、アンダーバーのあるフォームがかなり表示されます。たとえば、 Java と ほとんどのPOSIXタイプのプラットフォーム の両方では、言語/地域の区切りにアンダーバーを使用します。
そのため、どちらの選択でも大した間違いはありません。ただし、Javaで、おそらくUnixプラットフォームをターゲットにしている場合、en_US
がおそらく道です。
Java 7)には、新しいメソッドLocale.forLanguageTag(String)
があり、これは区切り文字としてハイフンを想定しています。
詳細については、 Locale のドキュメントを確認してください。
en_US。 This は非常に便利です。
en-US
はJavaの標準ではないと思います。 (どこかに表示されたら、リンクを追加できます)。
したがって、en_US
を使用してください。