我正在考虑为用Perl编写的成熟CGI应用程序引入多语言支持。我原本考虑使用Perl哈希(存储在磁盘上)来翻译我自己的解决方案,然后我遇到了一个CPAN模块,它看起来像我想做的那样( i18n )。

有没有人在Perl中有国际化经验(特别是i18n CPAN模块)? i18n模块是多语言支持的首选方法还是我应该重新考虑自定义解决方案?

由于

有帮助吗?

解决方案

有一个关于软件本地化的 Perl期刊文章。它将为您提供添加多语言支持时可以期待的内容。它写得很漂亮,很有幽默感。

具体来说,这篇文章是由编写和维护 Locale :: Maketext ,所以我建议该模块只是基于作者必须忍受的痛苦程度才能使其正常工作。

其他提示

有关现代GNU gettext,Locale的比较,请参见 http://rassie.org/archives/247 :: Maketext和Locale :: TextDomain。

在回复我的问题时,其中一条评论建议阅读有关本地化perl代码的这篇文章

如果你有时间,那么请在 Jifty中查看I18N的完成方式。 框架 - 虽然最初很混乱但非常优雅和可用。

他们重载 _ ,以便您可以在代码中的任何位置使用 _(“text to translate”)。然后正常使用 Locale :: Maketext 翻译这些字符串。

真正强大的是他们使用 Scalar将翻译推迟到需要字符串之前::推迟,以便您可以随时开始添加字符串,甚至在您知道将翻译成哪种语言之前。例如在配置文件等中。这确实使I18N易于使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top