由于 gettext 不能正常工作,我需要切换到多语言站点的数组。
现在我问自己有什么好方法可以做到这一点,因为我需要 php 文件和类中的语言,但也需要 twig 模板中的语言。
现在我认为我可以在用户会话中存储带有语言字符串(大约 500 个)的数组,然后可以在任何地方使用而不会遇到麻烦。
这很糟糕吗?你们有更好的想法,不需要重新编码,因为我有压力。
由于 gettext 不能正常工作,我需要切换到多语言站点的数组。
现在我问自己有什么好方法可以做到这一点,因为我需要 php 文件和类中的语言,但也需要 twig 模板中的语言。
现在我认为我可以在用户会话中存储带有语言字符串(大约 500 个)的数组,然后可以在任何地方使用而不会遇到麻烦。
这很糟糕吗?你们有更好的想法,不需要重新编码,因为我有压力。
没有理由将与会话无关的数据添加到会话中。
只需包含一个定义带有语言字符串的数组的 php 文件。这是性能和简单性的最佳解决方案。
维护该阵列是另一回事。您可以使用翻译工具,例如https://poeditor.com/。该工具(以及其他工具)允许您将翻译导出到 PHP 数组,以便动态生成。
这不是一个好主意,因为您将存储的文本数据量乘以用户数量。
更好的做法是将各种语言文本片段放入数组中,然后将给定用户的相关语言代码存储在 cookie 中,并将其用作在运行时检索适当文本的键。
将整个语言数组存储在用户会话中并不是最好的想法。您可以将语言 iE 'en_EN' 存储在用户的会话中,然后根据此会话加载语言数据。