Expand description
Intl (ECMAScript Internationalization API Specification) 実装。
Intl.NumberFormat, Intl.DateTimeFormat, Intl.Collator, Intl.PluralRules,
Intl.RelativeTimeFormat, Intl.Segmenter, Intl.ListFormat, Intl.DisplayNames,
および Intl.getCanonicalLocales を提供する。
Functions§
- create_
intl_ 🔒constructor - create_
intl_ 🔒object Intlグローバルオブジェクトを作成して返す。- group_
thousands 🔒 - 千の位区切り(
,)を挿入する。この処理系には本格的なCLDR数値書式 データベースが無いため、en-USをはじめとする「3桁ごとにカンマ区切り、 小数点は.」というASCII圏で最も一般的な書式のみを既定で適用する簡略 実装(de-DEのようなカンマ/ピリオドが逆の書式や桁区切り位置が異なる ロケール、useGrouping:false等のオプションは非対応。既存のoklch()/Float16Array等の「1ビットの誤りが静かに間違った数値を 生み続けるリスク」とは異なり、整数の3桁区切りは目視でも容易に検証 でき、かつ最もよく使われる書式のため実装した)。 - intl_
collator_ 🔒compare - intl_
collator_ 🔒ctor - intl_
collator_ 🔒resolved_ options - intl_
datetime_ 🔒format_ ctor - intl_
datetime_ 🔒format_ format - intl_
datetime_ 🔒format_ format_ to_ parts - intl_
datetime_ 🔒format_ resolved_ options - intl_
display_ 🔒names_ ctor - intl_
display_ 🔒names_ of - intl_
display_ 🔒names_ resolved_ options - intl_
duration_ 🔒format_ ctor - intl_
duration_ 🔒format_ format - intl_
duration_ 🔒format_ format_ to_ parts - intl_
duration_ 🔒format_ resolved_ options - intl_
get_ 🔒canonical_ locales - intl_
list_ 🔒format_ ctor - intl_
list_ 🔒format_ format - intl_
list_ 🔒format_ format_ to_ parts - intl_
list_ 🔒format_ resolved_ options - intl_
number_ 🔒format_ ctor - intl_
number_ 🔒format_ format - intl_
number_ 🔒format_ format_ to_ parts - intl_
number_ 🔒format_ resolved_ options - intl_
plural_ 🔒rules_ ctor - intl_
plural_ 🔒rules_ resolved_ options - intl_
plural_ 🔒rules_ select - intl_
relative_ 🔒time_ format_ ctor - intl_
relative_ 🔒time_ format_ format - intl_
relative_ 🔒time_ format_ format_ to_ parts - intl_
relative_ 🔒time_ format_ resolved_ options - intl_
segmenter_ 🔒ctor - intl_
segmenter_ 🔒resolved_ options - intl_
segmenter_ 🔒segment - parse_
locale 🔒 - resolve_
intl_ 🔒this newを介さない裸呼び出し(Intl.NumberFormat()。Intl系コンストラクタは 仕様上どちらの呼び出し形式でも動作可能でなければならない)を正しく扱う。 メンバ呼出(Intl.NumberFormat(...))のthisは「メンバ式のレシーバ」 (interp/calls.rsのeval_callのコメントどおり)、つまりIntl名前空間オブジェクト自身になる。以前は「thisがオブジェクトなら そのまま使う」という判定だったため、newを省略するとIntlオブジェクト 自身に_intl_type/_localeを書き込んでしまい(Intl名前空間の汚染)、 かつIntlのproto連鎖には.format等が無いため常にundefinedになる バグだった。正しくはthisのprotoが既に対象コンストラクタのprototypeと一致する場合(new経由。construct_objectが設定済み) のみそのオブジェクトを再利用し、それ以外(裸呼び出し)はIntl.<name>. prototypeへ明示的に繋いだ新規オブジェクトを都度生成する。 2026-07-18 発見・実装。