PHP网站的数据库支持的国际化(i18n)

5
我有一个用PHP编写的网站,有15-20个页面,上面有很多文本。我需要将其翻译成三种不同的语言。首先,我尝试使用字符串($text_hello = "你好";),但是随着50多个字符串,这种选项变得非常繁琐和难以管理。我还发现gettext选项很好。但我特别对基于(MySQL)数据库的选项感兴趣,所有翻译都将从数据库中获取。另外,我可能错了,但是在gettext中,您必须有额外的index.php ?lang=en_US (?)我希望它像Twitter或Facebook一样改变,URL不会更改。您能建议我如何做到这一点或指导我查找有关此主题的教程/文章/以前的问题吗?谢谢!
此外,我看到人们推荐Zend_Translate,但这是否要求我重新用Zend框架编写我的网站?
在询问之前,我确实搜索了它,但我得到的结果不是我要找的。
1个回答

4
此外,我可能错了,但使用gettext时,你必须有额外的 index.php?lang=en_US 参数。
是的,你错了,如果你想要的话,可以隐藏 lang 参数(例如,使用 session 和/或 cookie)。它也可以成为你的 SEO 策略的一部分(像 /en/mypage 或 /fr/mypage 这样的 URL)。
使用数据库实现多语言是一种选择,但我不喜欢添加额外的查询来获取界面翻译。
以下是一些可能有用的链接: 多语言数据库架构 多语言数据库设计的最佳实践是什么? 此外,我看到有人推荐 Zend_Translate,但那需要我重新用 Zend 框架编写网站吗?
你只需提取 Zend_Translate(以及其依赖项)并将其用作库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接