Lから始まるLinux

5章2話
エイリアス
5章3話 ロケール
もくじ
5章4話
dircolorsコマンド
ロケール
若木 みどり
お兄ちゃん! Linux がこんなに広まっているなら 多言語対応とかないのかな?
若木 しげる
もちろんあるよ! そのような言語対応を 「ロケール(locale)」というんだ 今回はロケールを見ていこう!
locale コマンド
若木 しげる
locale ロケールの設定を 表示するよ
locale [オプション]...
オプション役割
-a, --all設定可能なロケールを一覧表示
若木 しげる
オプションを指定しないと現在のロケール設定を表示するよ実行してみよう!
locale
若木 みどり
どれどれ?
LANG=ja_JP.utf8
LC_CTYPE="ja_JP.utf8"
LC_NUMERIC="ja_JP.utf8"
LC_TIME=POSIX
LC_COLLATE="ja_JP.utf8"
LC_MONETARY="ja_JP.utf8"
LC_MESSAGES=POSIX
LC_PAPER="ja_JP.utf8"
LC_NAME="ja_JP.utf8"
LC_ADDRESS="ja_JP.utf8"
LC_TELEPHONE="ja_JP.utf8"
LC_MEASUREMENT="ja_JP.utf8"
LC_IDENTIFICATION="ja_JP.utf8"
LC_ALL=
若木 みどり
設定がいっぱいあるんだね!
若木 しげる
これらの環境変数を上書きすることでロケールを変えられるよ大抵は LC_ の後に続く単語のロケールを設定しているんだ重要なのは一部だよ
若木 みどり
ja_JP.utf8日本語だなぁとわかるけどPOSIX はどんな値なんだろう?
若木 しげる
POSIXC多言語対応がなかった時代の英語表示を意味するよ
環境変数
若木 しげる
一番良く設定されるのはLANG 環境変数だよこれは設定されていない場合のデフォルトのロケールを指定するんだ
若木 みどり
じゃあ最低でもLANG 環境変数だけ設定しておけばいいんだね!
若木 しげる
次は LC_MESSAGES 環境変数を見ようこれはコマンドなどが出力するメッセージのロケールを指定するよ
若木 みどり
この設定は日本語にしていないんだ?
若木 しげる
日本語のウェブ検索結果は少ないんだ出力メッセージを英語で検索できるようにするためあえて POSIX を設定しているよ
若木 しげる
もう一つ押さえておきたいのはLC_TIME 環境変数だよこれは日時のロケールを指定しているんだ
若木 みどり
これも日本語にしていないんだね
若木 しげる
ls -l のように日時が表示される機会は結構あるよ英文に日本語が混じって違和感を感じるので日本語にはしていないんだ
若木 みどり
うーん…言葉だけだとよくわからないなぁ
若木 しげる
実際に例を見てみよう以下は LC_TIME 変数を指定してdate を実行した結果だよ
LC_TIME=ja_JP.utf8 date
2025年  1月 15日 水曜日 17:49:32 JST
---
LC_TIME=POSIX date
Wed Jan 15 17:49:32 JST 2025
若木 みどり(驚き)
おお!印象がずいぶんと違うね!
設定
若木 みどり
これらのロケール設定はどうすればいいのかな?
若木 しげる
~/.bash_profileexport を書いてあげよう!他のユーザに影響なく自分だけの言語設定ができるよ
若木 しげる
以下はこれまでの説明のような設定にする記述だよ
export LANG=ja_JP.utf8
export LC_MESSAGES=POSIX
export LC_TIME=POSIX
まとめ
若木 みどり
今回はロケールを学んだよ!デフォルト言語をLANG 環境変数に設定したあと上書きしたい環境変数だけを個別に設定すればいいんだ!
若木 しげる
LC_MESSAGESLC_TIMEPOSIX にしているのは僕の好みだよ言語設定は自分が使いやすいよう好みに設定しよう!