[Edge]。→、
言語を考慮した、日時やリストの書式化や、文字列の比較を可能にするオブジェクト。
→
locales 引数は、指定された操作に使用するロケールを特定するために使用されます。JavaScript の実装では locales を調べて、表現された指定を満たすものに最も近い、理解可能なロケールを計算します。→
locales は次のものを取ることができます。
default
、¶「[]
」(空配列)): その実装の既定のロケールが使用されます。
後 2 者では、実際に使用されるロケールは、ロケール ネゴシエーションによって決定された、最も良く対応しているロケールになります。
ロケール識別子は以下のものから成る文字列です。
存在するサブ タグやシーケンスはすべて、ハイフン「-
」で区切ります。
ロケール識別子は大文字小文字の区別のない ASCII です。しかし、文字体系サブ タグではタイトル ケース(最初の文字が大文字で、以降の文字は小文字)を、地域サブ タグは大文字、それ以外はすべて小文字を使う習慣があります。
例えば、
言語、文字体系、地域(国を含む)、(稀に使用される)変化形を識別するサブ タグは、に登録されています。このレジストリーは長期にわたって定期的に更新されており、実装は常に最新であるとは限らないため、サブ タグが広く対応されていることを頼りすぎないようにしてください。
BCP 47 拡張シーケンスは、単一の数字または文字(「x」以外)と、ハイフン「-
」で区切られた 1 つ以上の 2 から 8 文字の文字または数字によるサブ タグで構成されています。それぞれの数字または文字に対して 1 つのシーケンスのみが許可されていますので、"de-a-foo-a-foo" は無効です。BCP 47 拡張サブタグは で定義されています。
現在は 2 つの拡張機能の意味のみが定義されています:
u
」サブタグ
Unicode 拡張。この後にハイフン「-
」で区切って以下のキーが続き、更に「-
」で区切って値が続きます。
Intl.Collator、Intl.NumberFormat、など各オブジェクトで利用できます。
ca
co
hc
kf
kn
nu
例:
"de-DE-u-co-phonebk": ドイツ語のソート順の電話帳変化形を使用します。このソート順では、ウムラウト付きの母音を、ä → ae、ö → oe、ü → ue のように、ウムラウトの付かない母音二文字に展開したものと見なした順で並べ替えします。
"th-TH-u-nu-thai": 数値書式で、タイの数字(๐、๑、๒、๓、๔、๕、๖、๗、๘、๙)を使用します。
"ja-JP-u-ca-japanese": 日時書式で和暦を使用します。すなわち、2013 年は平成 25 年として表現されます。
"en-GB-u-ca-islamic": イギリス英語でイスラム暦(Hijri)を使用します。グレゴリオ暦で2017年10月14日は、Hijri 暦で「24 Muharram, 1439」です。
t
」サブ タグ
transformed 拡張。他のロケールから翻訳されたテキストなど、変換されたコンテンツを示します。
現在のところ、Intl の機能で "t" 拡張を考慮するものはありません。しかし、この拡張はネストされたロケールを含むことがあります。たとえば、"de-t-en" には英語のロケール識別子が含まれています。入れ子のロケールが存在する場合、それは有効なロケール識別子でなければなりません。
例えば、"en-emodeng-emodeng" は(emodeng の変化形サブ タグが重複しているため)無効なので、"de-t-en-emodeng-emodeng"も無効です。
x
」サブ タグ
私的使用の拡張シーケンス。その後にハイフン「-
」で区切られた 1~8 文字または数字のサブ タグが 1 つ以上続きます。これにより、アプリケーションが独自に使用する情報をエンコードすることができますが、すべての Intl の操作では無視されます。
ロケールを照合・一致させるときの処理思考。
BCP 47 で指定された Lookup アルゴリズムに従います。
ルックアップは、特定のリクエストの言語優先リストに最も一致する単一の言語タグを選択するために使用されます。
ルックアップを実行すると、言語優先リストの各言語範囲が順番に考慮されます。優先順位に従って。
フィルタリングとは対照的に、各言語範囲は、許容可能な一致である最も具体的なタグを表します。
ユーザーの優先順位に従って、最初に見つかった一致するタグが、最も近い一致と見なされ、返されるアイテムです。
例えば、言語範囲が「de-ch」の場合、検索操作は、タグ「de」または「de-CH」を持つコンテンツを生成できますが、タグ「de-CH-1996」を持つコンテンツは生成できません。リクエストに一致する言語タグがない場合、「デフォルト」値が返されます。
mdn: ランタイムが少なくとも、あるいは場合によっては、Lookup アルゴリズムの結果よりもリクエストに適合したロケールを提供します。
options 引数は、コンストラクターや関数ごとに異なるプロパティをもつオブジェクトである必要があります。
options 引数が与えられなかった場合、または、未定義の場合、すべてのプロパティに対して既定値が使用されます。
言語を意識するすべてのコンストラクターや関数が対応しているプロパティが一つあります。
localeMatcher
プロパティ
lookup
| "lookup" マッチャー。 で指定された Lookup アルゴリズムに従います。 |
---|---|
best fit
| "best fit" マッチャー。ランタイムが少なくとも、あるいは場合によっては、Lookup アルゴリズムの結果よりもリクエストに適合したロケールを提供します。 |
DA=new Intl.DateTimeFormat("ja", {dateStyle:'full', timeStyle:'full'}); //日本語、日付スタイル、時刻スタイル。 D=DA.format(new Date("2012-05-24T19:23:30")); //2012年5月24日 19時23分30秒。 //=[string]:2012年5月24日木曜日 19時23分30秒 日本標準時 DA=new Intl.DateTimeFormat("en", {dateStyle:'full', timeStyle:'full'}); //英語、日付スタイル、時刻スタイル。 D=DA.format(new Date("2012-05-24T19:23:30")); //2012年5月24日 19時23分30秒。 //=[string]:Thursday, May 24, 2012 at 7:23:30 PM Japan Standard Time
→new Intl.DateTimeFormat()、format()。
DA=new Intl.NumberFormat("ja", {style:'currency', currency:'JPY'}); //日本語、通貨国。 D=DA.format(12345.6); //=[string]:¥12,346 DA=new Intl.NumberFormat("ja", {style:'currency', currency:'EUR'}); //日本語、通貨国。 D=DA.format(12345.6); //=[string]:=[string]:€12,345.60