比較的信頼できるソースから、gettextが動作するためにシステムロケールを必要としないと聞きました。しかし、私はいくつかのチュートリアルを試しましたが、locale-gen'd(archで)fi_FI.utf8を持たない限り、私はどの翻訳も表示できません。Gettextとロケール
[email protected]:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Hello world! This is package: web-cms [email protected]:~/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. [email protected]:~/programming/Projects/Cpp/web/test# LANG=fi_FI.utf8 bin/hello Terve maailma Tämä on paketti: web-cms
そうかもしれません。通常のユーザーとしてロケールをインストールする方法はありますか? – Masse
私が知っているわけではありません。あなたのLinuxディストリビューションに依存していますが、ロケールを生成するためにはrootアクセスが必要です。つまり、CMSを使用している人は、適切なロケールを生成するようにシステム管理者に依頼する必要があります。 システムロケールのこの要件は、数十の言語でウェブサイトを提供したいウェブ環境では非常に面倒です。これはおそらく、ほとんどのWebフレームワークがgettextを使わず、ICTやgettextのように機能するがそれに依存しないカスタムライブラリのようなものを使用する理由です。 –
うーん...明らかにDjangoはPHPのほかに翻訳のためにgettextを使用していますが、それらは成功しているようです。 – Masse