在会话中保存语言数据

时间:2013-08-10 09:22:12

标签: php twig multilingual gettext

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

现在我问问自己,这是一个很好的方法,因为我需要PHP文件和类中的语言,但也需要在树枝模板中。

现在我认为我可以在用户的​​会话中使用语言字符串(大约500个)存储数组,并且可以随处使用。

这不好吗?你们有更好的想法,而不需要重新编码,因为我处于压力之下。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

将整个语言数组存储在用户的会话中并不是最好的想法。 你可以存储i.E.的语言。用户会话中的“en_EN”,然后根据此会话加载语言数据。