質問

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が指すディレクトリ内のファイル、それは動作するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top