Locale とは何なのか
これは何
- computer software における Locale について調べたメモ
Locale
- Locale とは、特定の言語や地域に関連した設定
- 日付や数値の表示形式、文字列の比較ルールなどを制御するために使用する
- Locale を適切に利用することで、ユーザーの文化や言語に合わせた表示や動作が可能となる
Locale (computer software) - Wikipedia
https://en.wikipedia.org/wiki/Locale_(computer_software)
Linux での locale コマンド
OS に設定されている locale 情報を取得するコマンド
$ locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_PAPER="C.UTF-8" LC_NAME="C.UTF-8" LC_ADDRESS="C.UTF-8" LC_TELEPHONE="C.UTF-8" LC_MEASUREMENT="C.UTF-8" LC_IDENTIFICATION="C.UTF-8" LC_ALL=
locale(1) - Linux manual page
https://man7.org/linux/man-pages/man1/locale.1.html
locale(1) — manpages-ja — Debian unstable — Debian Manpages
https://manpages.debian.org/unstable/manpages-ja/locale.1.ja.html
JavaScript で Locale を使用し、数値を 3桁 単位でカンマ区切りで表示する
Locale の例
> const number = 1000;
undefined
> console.log(number.toLocaleString());
1,000
> console.log(number.toLocaleString('de-DE'));
1.000
- JavaScript では Number オブジェクトが
toLocaleString
というメソッドを持っており、これで実現できる toLocaleString
では引数として locales を指定し、その locale に応じたフォーマットに変換した文字列を得ることが出来る
Number.prototype.toLocaleString() - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
> console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));
¥1,000
- JavaScript では Intl (international) オブジェクトというのが提供されており、ここで Locale 関係の機能が提供されている
Intl - JavaScript | MDN
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Intl