1

比較的信頼できるソースから、gettext が機能するためにシステム ロケールを必要としないと聞きました。しかし、いくつかのチュートリアルを試しましたが、(arch で) fi_FI.utf8 をロケール生成しない限り、翻訳を表示することはできません。

root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello
こんにちは世界!
これはパッケージです: 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
ロケールを生成しています...
  en_GB.UTF-8...完了
  en_US.UTF-8...完了
  fi_FI.UTF-8...完了
生成完了。
root@junior:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello
テルベ・マイルマ
パッケージのタグ: web-cms
4

2 に答える 2

1

聞こえましたか?私の知る限り、gettextを機能させるにはシステムロケールが必要です。ただし、「Hello World」を機能させるためだけに、これらのシステムロケールのすべての翻訳をインストールする必要はありません。

于 2009-05-07T22:58:38.377 に答える
0
setenv("LANGUAGE", languagecode);

languagecode が "fr" で、bindtextdomain が指すディレクトリに "fr/LC_MESSAGES/.mo" ファイルがある場合、それは機能するはずです。

于 2012-05-14T18:05:10.433 に答える