LANG=Cはメッセージを英語で出すのではない(と思う
Linuxでコマンドの結果をパースするとき、言語を統一して取り扱いたい。
そんなときは、コマンドの先頭に「LANG=C」と書けば、コマンドの結果を英語で出力できます。
#いきなり関係ないですけど↑のエントリーのタグの設定変じゃね?
LANG=Cはの「C」は特殊な値で、「Clear」みたいなものを指すのではないかと思います.
動作的にはいわゆるmsgidをそのまま出力,_("foo")は単純に「foo」として出すということです.
つまり,_("日本語")なメッセージカタログを持つアプリケーションは「LANG=C」で「日本語」で出力されます.
っで,英語で出すにはどーしたらええんじゃい? ということですが,正規の手続きとしては「en」にすることだと思います.
$ LANG=en df
通常enのmoファイルはほぼ用意されていないので,Cの指定もenの指定も表面上は変わって見えないと思いますけどね.
#追記
このエントリー参考になるかもですね.
コマンドを、日本語環境でなく英語環境で実行したいとき、LANG=Cと付けて実行してやったりする。
$ date
と
$ LANG=C date
のそれぞれの実行結果を見比べると一目瞭然。
しかし、このCってのがよくわからん。英語環境を表すのにはenというのも用意されていて、実際に
$ LANG=en date
とやると、やはり英語で表示してくれる。