【问题标题】:Translating a CGI/Perl script into multiple human languages [duplicate]将 CGI/Perl 脚本翻译成多种人类语言
【发布时间】:2012-04-05 16:17:17
【问题描述】:

可能重复:
How can I add internationalization to my Perl script?

我有一个想要翻译成多种语言的 CGI/Perl 脚本。 文本和消息现在被硬编码到脚本中。解决此问题的最佳和有效解决方案是什么?

我不认为从外部文件读取所有文本是有效的(也许我错了?),而且我认为用所有语言的所有文本制作一个巨大的数组也不是一个好主意。

有没有不涉及使用模块的解决方案?

【问题讨论】:

  • 重用(编写良好、广泛使用、经过测试、现有的)代码是一件好事。您不应该寻找不涉及模块的解决方案。
  • Perl 是用模块构建的。特别是你想使用 perllocale
  • 谢谢大家 :) 我不是在 Perl 脚本中使用大量模块的好朋友,但经过一些研究,我想我会再添加一个。

标签: perl internationalization cgi


【解决方案1】:

这是非常简短的摘要。你有两个问题:国际化和本地化。第一个使您的设置可用于其他语言,第二个允许您为不同的组进行自定义。搜索这些关键字以了解故事的其余部分。

如果您使用模板进行输出,那么您就有针对不同语言的不同模板。您现在必须维护多个模板,但这意味着您还可以更轻松地本地化您的服务。您甚至可以使用模板来创建模板。

CPAN 上有各种模块可以做这些事情。即使您不想使用模块,您也可以通过它们了解您必须做的事情。这样做之后,我认为您宁愿使用模块。

【讨论】: