实现框架的语言翻译

时间:2013-01-25 22:24:14

标签: php codeigniter codeigniter-2

我正在制定电子商务解决方案的流程,现在最后一个问题是如何实现语言系统。

过去我曾与Magento,eCommerce和OpenCart等电子商务解决方案合作过,但我想避免使用它们的方法,因为它很糟糕,最终放慢了整个应用程序的速度。

以Magento为例,它将语言文件保存在单独的文件夹中,然后代码从该文件夹中的文件加载语言。语言文件有超过10k行,很多单词和发送重复自己的diffirent模块,每次加载都必须读取文件。

我有一个HMVC架构,并且正在考虑扩展那个解决方案中的每个模块都有自己的语言文件,但这是Magentos的方法而且它不是最好的解决方案。

我希望我的语言文件系统尽可能简单,并在其中保留按钮名称和标签名称,并允许任何想要翻译它的人轻松地这样做。 因为我有一个HMVC架构,我想扩展它并使它成为每个模块都有自己的语言文件/类这样你只需翻译那些你实际使用的模块而不是应用程序来同时加载所有翻译对于未显示的模块。

但我觉得保持这样的翻译可能会对性能和简单性造成问题。我确实关注了GoogleTranslate插件选项,虽然它相当不错,但它还没有准备好,也没有一个合适的解决方案。

这里最好的方法是什么。

1 个答案:

答案 0 :(得分:1)

如果你的HMVC架构使用某种PHP框架,它可能有用于处理翻译问题的API。例如,在CodeIgniter中,您可以使用Language Class,在CakePHP中,您可以使用i18n class

请注意,CodeIgniter当前使用普通的PHP文件加载语言,因此它可能不如CakePHP(可以从.po / .mo文件或数据库加载文件)那样高效。

如果您当前没有使用过,可以尝试Zend Framework的translation module。请注意,您不需要使用所有Zend Framework(因为它也是高度模块化的)。如果你仍然不希望它混乱你的项目空间,你可以使用普通的gettext()