Node学園で行われたShane Carrさんの「ECMA-402をマスターしよう」の発表が面白かった
ECMAScriptにおける I18Nについての話し
例えば、Youtubeのサイトを見ると
3.5Mviews357万回視聴
のような、ローカルな表記のブレがある
これだけであればまだ良いかもしれないが
他にも、日本では 07:00~24:00 という表記をよく目にするが、海外では AM/PM の表記が一般的だったりする
こういうものは、各国のローカルな表記に対応していないと、ユーザー体験を損ねてしまう恐れがある
こういう時にECMAScriptのi18nツールを使えば、良いユーザーエクスペリエンスになるとのこと
i18nの機能であるものと、ないがあったほうが良いだろうものざっくり
- Intl.DateTimeFormat:先ほどの 12時間サイクルと24時間サイクルの表記ブレを、指定したロケールに合わせて表示してくれる
- 他にも、「令和」といったその国独自のカレンダー表記も対応する
- Intl.NumberFormat:冒頭の
100万 = 1Mのような表記ブレに対応する - Grammatical Inflections(一部対応): フランス語では男性向け女性向けの文法があり、女性を男性形で呼ぶなどすると、ユーザーのパフォーマンスや態度に悪影響を及ぼす可能性がある
- 縦書き横書き(まだない)
- 色(まだない):テキストではないが、色のローカライズもある。例えば、バッテリーの赤と緑はチャージ済み?チャージ中?
Stage3のもの
- Intl.DurationFormat:時間間隔の言い方をローカライズする。「2時間30分」「2 horas y 30 minutos」。
- Intl Locale Info: そのロケールが扱う主な表記などを教えてくれる。たとえ、
zh-HKのカレンダー表記はgregoryとchineseのカレンダー表記が一般的であるとか。
まだまだ対応すべきものいっぱいあるよねという話だった
最後にICU4Xの話
国際化を可能にするコンポーネントを提供するRust製のライブラリ