質問
gettextが機能するためにシステムロケールを必要としないと、比較的信頼できるソースから聞きました。しかし、いくつかのチュートリアルを試してみましたが、local-gen'd(arch)fi_FI.utf8がなければ、翻訳を表示できません。
root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Hello world! This is package: web-cms root@junior:~/programming/Projects/Cpp/web/test# sed -i 's/#fi_FI.UTF-8/fi_FI.UTF-8/' /etc/locale.gen && locale-gen Generating locales... en_GB.UTF-8... done en_US.UTF-8... done fi_FI.UTF-8... done Generation complete. root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Terve maailma Tämä on paketti: web-cms
解決
聞こえましたか?私の知る限り、gettextを機能させるにはシステムロケールが必要です。ただし、「hello world」を作成するためだけに、それらのシステムロケールのすべての翻訳をインストールする必要はありません。仕事。
他のヒント
setenv("LANGUAGE", languagecode);
言語コードが" fr"で、" fr / LC_MESSAGES / .mo"がある場合bindtextdomainが指すディレクトリ内のファイル、それは動作するはずです。
所属していません StackOverflow