知識ベース

ロケール(コンピューターソフトウェア)

コンピューティングにおいて、 ロケールとは、ユーザーの言語、地域、およびユーザーがユーザーインターフェイスで表示する特殊なバリアント設定を定義するパラメーターのセットです。通常、ロケール識別子は少なくとも言語コードと国/地域コードで構成されます。

Unix、LinuxなどのPOSIXプラットフォームでは、ロケール識別子はISO / IEC 15897で定義されます。これは、言語タグのBCP 47定義に似ていますが、ロケールバリアント修飾子の定義が異なり、文字セットが識別子の一部。次の形式で定義されています:language_territory.codeset@modifier

これらの設定には、通常、次の表示(出力)形式の設定が含まれます。

  • 数値形式の設定
  • 文字分類、大文字小文字変換設定
  • 日時形式の設定
  • 文字列照合設定
  • 通貨形式の設定
  • 用紙サイズ設定
  • その他のマイナー設定...

ロケール設定は、ロケールを指定して出力をフォーマットすることに関するものです。そのため、タイムゾーン情報と夏時間は通常、ロケール設定の一部ではありません。あまり一般的ではない入力形式設定は、ほとんどがアプリケーションごとに定義されます。

さらに、一般的な設定には通常、キーボードレイアウト設定が含まれます。

プログラミングおよびマークアップ言語のサポート

これらの環境では、

  • C
  • C ++
  • エッフェル
  • Java
  • 。ネットフレームワーク
  • リボル
  • ルビー
  • Perl
  • PHP
  • Python
  • XML
  • JSP
  • JavaScript

およびその他の(現在の)Unicodeベースの環境は、BCP 47に類似した形式で定義されます。通常は、ISO 639(言語)およびISO 3166-1 alpha-2(2文字の国)コードのみで定義されます。

POSIXプラットフォーム

POSIXプラットフォームでは、ロケール識別子はISO / IEC 15897で定義されます。これは、言語タグのBCP 47定義に似ていますが、ロケールバリアント修飾子の定義が異なり、文字セットが識別子の一部として含まれます。

次の例では、明示的なUTF-8エンコーディングを使用したチェコ語(cs)、チェコ共和国(CZ)のコマンドロケールの出力があります。

$ ロケール LANG = cs_CZ.UTF-8 LC_CTYPE = "cs_CZ.UTF-8" LC_NUMERIC = "cs_CZ.UTF-8" LC_TIME = "cs_CZ.UTF-8" LC_COLLATE = "cs_CZ.UTF-8" LC_MONETARY = "cs_CZ。 UTF-8 "LC_MESSAGES =" cs_CZ.UTF-8 "LC_PAPER =" cs_CZ.UTF-8 "LC_NAME =" cs_CZ.UTF-8 "LC_ADDRESS =" cs_CZ.UTF-8 "LC_TELEPHONE =" cs_CZ.UTF-8 "LC_MEASUREMENT = "cs_CZ.UTF-8" LC_IDENTIFICATION = "cs_CZ.UTF-8" LC_ALL =

Microsoftプラットフォームの仕様

Windowsは、特定の言語と地域の文字列を使用します。 Microsoft Windowsのアンマネージコードのロケール識別子 (LCID)は、英語(米国)の場合は1033、日本語(日本)の場合は1041などの数字です。これらの番号は言語コード(下位10ビット)とカルチャコード(上位ビット)で構成されているため、多くの場合、0x0409や0x0411などの16進表記で記述されています。これらのコードセットのリストは、文字エンコーディングで説明されています。 Microsoftは、この形式を使用する.NET用のマネージコードアプリケーションプログラミングインターフェイス(API)を導入し始めています。最初に一般にリリースされるものの1つは、国際化ドメイン名の問題を軽減する機能ですが、Windows Vista Beta 1にはさらに多くの機能があります。

Windows Vista以降、ほぼすべてのLCIDベースのAPIを置き換えるために、BCP 47ロケール名を使用する新しい関数が導入されました。