ロケールコンバーター

ロケール識別子を解析し、数値/日付/通貨の書式をプレビューし、ロケールを並べて比較します

人気のロケール

ブラウザサポート

ロケール識別子を入力して解析結果とフォーマットプレビューを表示...

ブラウザネイティブ

内蔵Intl APIで動作。サーバー通信不要、外部依存なし、オフライン動作、プライバシー保護。

リアルタイムプレビュー

入力中に任意のロケールでの数値、日付、通貨、リストのフォーマット結果を即座に確認できます。

包括的分析

ロケールコンポーネントを解析し、複数言語で表示名を確認し、2つのロケールを並べて比較できます。

よくある質問

ロケール識別子とは何ですか?

ロケール識別子は、言語、地域、スクリプト、その他の設定の特定の組み合わせを識別する短い文字列です。一般的な形式にはBCP 47タグ(en-US、ja-JP)やPOSIX識別子(ja_JP.UTF-8)があります。テキスト、数値、日付、通貨の表示方法を決定します。

BCP 47とPOSIXロケール形式の違いは何ですか?

BCP 47はハイフンでコンポーネントを区切り(en-US、ja-JP)、Web技術の標準です。POSIXはアンダースコアを使用し(en_US、ja_JP.UTF-8)、Unix/Linuxシステムで一般的です。両方は同じロケールを識別しますが、異なる構文規則を使用します。

サーバーなしでこのツールはどのように動作しますか?

このツールはブラウザ内蔵のIntl APIファミリー(Intl.Locale、Intl.NumberFormat、Intl.DateTimeFormat、Intl.DisplayNamesなど)を使用してロケール識別子を解析し、フォーマットプレビューを生成します。すべての処理はブラウザ内で行われ、サーバーにデータは送信されません。

一部のロケールでブラウザ間で結果が異なるのはなぜですか?

Intl APIの実装とロケールデータはブラウザやオペレーティングシステムによって異なります。Chrome、Firefox、Safariは異なるバージョンのUnicode CLDRデータを使用している場合があり、フォーマットに微妙な差異が生じることがあります。結果に表示される解決済みロケールは、ブラウザが実際に使用しているものを反映しています。

"解決済みロケール"とはどういう意味ですか?

"en"のようなロケールをリクエストすると、ブラウザは利用可能なデータに基づいて"en-US"や"en-Latn-US"のようなより具体的なロケールに解決する場合があります。解決済みロケールは、ブラウザがフォーマットに実際に使用するロケールであり、入力とは異なる場合があります。

ロケール識別子を理解する

BCP 47の構造

BCP 47言語タグはハイフンで区切られたサブタグで構成されます:言語(必須、2-3文字)、スクリプト(任意、4文字)、地域(任意、2文字または3桁)、バリアント(任意)。例:

  • 言語のみ en, ja, ar
  • 言語+地域 en-US, ja-JP, pt-BR
  • 言語+スクリプト zh-Hans, sr-Latn
  • 完全タグ zh-Hans-CN, en-Latn-US

Intl APIの実践

JavaScript Intl APIファミリーは、数値、日付、リスト、相対時間などのロケール対応フォーマットを提供します。Intl.Localeで識別子を解析し、Intl.DisplayNamesで表示名を取得し、Intl.NumberFormat/DateTimeFormatでフォーマットします。

  • new Intl.Locale("zh-Hans-CN") — parse
  • Intl.DisplayNames — display names
  • Intl.NumberFormat — numbers
  • Intl.DateTimeFormat — dates

ベストプラクティス: 常にニーズに合った最も具体的なロケールタグを使用してください。Webアプリケーションでは、navigator.languageからユーザーの優先言語を取得し、適切なフォールバックを提供してください。開発の早い段階で複数のロケールでテストしてください。

クリップボードにコピーしました!