Linuxの場合setlocale(3)およびlocale(7)のマニュアルページをお読みください。ウィキペディアinternationalization and localizationもお読みください。
DebianとUbuntuでは、より多くのロケールを追加するためにdpkg-reconfigure locales
を(ルートとして)実行することができます。
次に、LANG
(およびLC_ALL
など)の環境変数(environ(7)を参照)を設定してメッセージの言語を変更できます。
たとえば、フランス語のUTF-8ロケールがインストールされています。私は
% env LC_ALL=fr_FR.UTF-8 ls /tmp/nonexisting
をすれば、私はフランス語でエラーメッセージが出てい:
ls: impossible d'accéder à '/tmp/nonexisting': Aucun fichier ou dossier de ce type
私は(デフォルト1である)C
ロケールを使用している場合は、それが英語である:
% env LC_ALL=C ls /tmp/nonexisting
ls: cannot access '/tmp/nonexisting': No such file or directory
このフォーラムに表示されているコマンドを実行する前に、たとえば、コンパイラまたはシェルからのエラーメッセージを表示したくない場合は、大まかにはexport LC_ALL=C LANG=C
にします。フランス語)。
あなたはがあなたが国際化したいプログラムをコーディングしている場合(ez.g.だけフランス語や中国語を理解する人々によって簡単に使用できるように)、あなたは少なくともgettext(3)を使用する必要があります(特にprintf
書式指定文字列のため!)おそらくtextdomain(3)であり、メッセージカタログを扱うにはmsgfmt(1)を使用する必要があります。もちろん、翻訳されたメッセージのカタログを作成する必要があります。
ローカリゼーションは、数字の解析方法や印刷方法(カンマやドットで千または10進数字で区切る)、および金額と時間の印刷と解析方法(例:strftime(3))にも影響します。
http:// wwwから通貨、日付、その他の地域固有の入力解釈 –
に関連しているようです。cplusplus.com/reference/clocale/ "C"ロケールは最小ロケールです。それはすべてのシステムとコンパイラで同じ設定を持つかなりニュートラルなロケールであるため、このロケールを使用するプログラムの正確な結果は予測可能です。これは、デフォルトですべてのCプログラムで使用されるロケールです –