単一のプログラム実行の言語を設定する


11

完全なC ++ i18n gettext()「hello world」の例。プログラムを実行する前に、エクスポートを使用してLANG環境変数を設定します(Linux):

export LANG=es_MX.utf8
./hellogt

コマンドライン引数のように、hellogtの実行中に言語を設定する方法はありますか?これは、プログラムのテストに便利です。

回答:


11

ksh、bash、および同様のシェルでは、

LANG=es_MX.utf8 ./hellogt

LANG=es_MX.utf8の呼び出しに対してのみ設定されます./hellogt

より移植性の高い、というプログラムがあります env

env LANG=es_MX.utf8 ./hellogt

環境変数を設定し、指定されたプログラムを実行します。これは、csh従来のsh(最初の方法をサポートしない)を含むすべてのシェルで機能します。


8

あなたは次のようなものを意味します:

LANG=es_MX.utf8 ./hellogt

?または、コマンドライン(argv)を解析し、渡された言語を見つけて、それをsetlocaleに渡したいのでしょうか?


コードを変更せずにプログラムをテストするため。
CW Holeman II

だから、最初のもの。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.