Perl で書かれた成熟した CGI アプリケーションに多言語サポートを導入することを考えています。私は当初、翻訳ファイルに Perl ハッシュ (ディスクに保存) を使用して独自のソリューションを展開することを検討していましたが、 CPANモジュールに出くわしました。
Perl での国際化 (特に i18n CPAN モジュール) の経験がある人はいますか? i18n モジュールは多言語サポートの推奨される方法ですか、それともカスタム ソリューションを再検討する必要がありますか?
ありがとう
Perl で書かれた成熟した CGI アプリケーションに多言語サポートを導入することを考えています。私は当初、翻訳ファイルに Perl ハッシュ (ディスクに保存) を使用して独自のソリューションを展開することを検討していましたが、 CPANモジュールに出くわしました。
Perl での国際化 (特に i18n CPAN モジュール) の経験がある人はいますか? i18n モジュールは多言語サポートの推奨される方法ですか、それともカスタム ソリューションを再検討する必要がありますか?
ありがとう
ソフトウェアのローカリゼーションに関するPerl Journal の記事があります。多言語サポートを追加するときに何が期待できるかについての良いアイデアを提供します. 美しくユーモラスに書かれています。
具体的に言うと、この記事は を書いて維持している人々によって書かれているLocale::Maketextので、正しく機能させるために著者が耐えなければならなかったことが明らかな苦痛の量に基づいて、そのモジュールをお勧めします。
時間があれば、I18N がJiftyフレームワークで行われている方法を見てください。最初は非常に混乱しますが、非常にエレガントで使いやすいです。
コード内のどこでも_使用できるようにオーバーロードします。_("text to translate")これらの文字列は、通常どおりLocale::Maketextを使用して翻訳されます。
本当に強力なのは、Scalar::Deferを使用して文字列が必要になるまで翻訳を延期することです。これにより、翻訳先の言語がわかる前であっても、いつでも文字列の追加を開始できます。たとえば、構成ファイルなどで。これにより、I18Nの操作が本当に簡単になります。