0

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

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

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

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

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

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

这里最好的方法是什么。

4

1 回答 1

1

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

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

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

于 2013-01-25T22:44:20.183 回答