BCP 47(言語タグ)
- Best Current Practiceの略
- インターネット上での言語識別のためのタグを定義するための企画
- インターネット上の言語コードは、BCP 47がデファクトスタンダード
- 言語コードと国コードをハイフンで組み合わせて使用する
例: zh-TW - 言語コードと国コードを指定する理由は、一部の国々では複数の公用語が使用されているから
どうゆう時に使うのか?
例)
アプリでユーザ指定した言語のファイルを、外部サーバからAPI通信で貰う時
→アプリからサーバへ、API通信でファイルが欲しい言語の言語コードを送る
- 日本語の言語コード:jp
- アメリカ英語のファイルが欲しい場合:en-US
Java8のライブラリのLocaleクラス
- 国に使用する定数(例:JAPAN)や、言語に使用する定数(例:JAPANESE)も定義されている
- Localeオブジェクトを作成する方法は上記の公式ドキュメントに書いてある
- ロケール・データ交換用のLDML (UTS#35「Unicode Locale Data Markup Language」) BCP 47互換拡張をサポートする
参考サイト