实现框架的语言翻译



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

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

以Magento为例,它将语言文件保存在单独的文件夹中,然后代码从该文件夹中的文件加载语言。语言文件有超过 10k 行,许多单词和情感重复它自己对于不同的模块,并且必须在每次加载时读取文件。

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

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

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

这里最好的方法是什么。

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

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

如果你目前没有使用,你可以尝试Zend Framework的翻译模块。请注意,您不需要使用所有的Zend框架(因为它也是高度模块化的)。如果你仍然不希望它弄乱你的项目空间,你可以使用纯 gettext()。

最新更新