0

由于 gettext 不能正常工作,我需要切换到多语言站点的数组。

现在我问自己有什么好方法可以做到这一点,因为我需要 php 文件和类中的语言,但也需要 twig 模板中的语言。

现在我认为我可以在用户会话中存储带有语言字符串(大约 500 个)的数组,然后可以在任何地方使用而不会遇到麻烦。

这很糟糕吗?你们有更好的想法,不需要重新编码,因为我有压力。

4

3 回答 3

1

没有理由将与会话无关的数据添加到会话中。

只需包含一个定义带有语言字符串的数组的 php 文件。这是性能和简单性的最佳解决方案。

维护该阵列是另一回事。您可以使用翻译工具,例如https://poeditor.com/。该工具(以及其他工具)允许您将翻译导出到 PHP 数组,以便动态生成。

于 2013-08-11T10:58:53.127 回答
0

这不是一个好主意,因为您将存储的文本数据量乘以用户数量。

更好的做法是将各种语言文本片段放入数组中,然后将给定用户的相关语言代码存储在 cookie 中,并将其用作在运行时检索适当文本的键。

于 2013-08-10T09:26:23.143 回答
0

将整个语言数组存储在用户会话中并不是最好的想法。您可以将语言 iE 'en_EN' 存储在用户的会话中,然后根据此会话加载语言数据。

于 2013-08-10T09:28:08.960 回答