我正在考虑为用 Perl 编写的成熟 CGI 应用程序引入多语言支持。我最初考虑使用 Perl 散列(存储在磁盘上)为翻译文件推出我自己的解决方案,但后来我遇到了一个 CPAN 模块,它似乎可以满足我的需求(i18n)。
有人对 Perl 的国际化(特别是 i18n CPAN 模块)有任何经验吗?i18n 模块是多语言支持的首选方法,还是我应该重新考虑自定义解决方案?
谢谢
我正在考虑为用 Perl 编写的成熟 CGI 应用程序引入多语言支持。我最初考虑使用 Perl 散列(存储在磁盘上)为翻译文件推出我自己的解决方案,但后来我遇到了一个 CPAN 模块,它似乎可以满足我的需求(i18n)。
有人对 Perl 的国际化(特别是 i18n CPAN 模块)有任何经验吗?i18n 模块是多语言支持的首选方法,还是我应该重新考虑自定义解决方案?
谢谢
有一篇关于软件本地化的Perl 期刊文章。它将让您很好地了解添加多语言支持时可以期待什么。文笔优美,幽默风趣。
具体来说,这篇文章是由编写和维护Locale::Maketext
.
如果你有时间,那么看看 I18N 在Jifty框架中的完成方式——虽然最初很混乱,但它非常优雅和可用。
它们重载_
,以便您可以_("text to translate")
在代码中的任何位置使用。这些字符串然后像往常一样使用Locale::Maketext进行翻译。
它真正强大的原因在于,它们使用Scalar::Defer将翻译推迟到需要字符串时,这样您就可以随时开始添加字符串,甚至在您知道它们将被翻译成哪种语言之前。例如在配置文件等中。这确实使 I18N 易于使用。