数据库支持PHP网站的i18n

时间:2011-11-10 14:37:13

标签: php database localization internationalization gettext

我有一个用PHP编写的网站,有15-20页,他们有很多文字。我必须将它翻译成3种不同的语言。首先,我尝试使用字符串($text_hello = "你好";)但该选项变得非常繁琐且难以管理50多个字符串。我也发现了gettext选项,这很好。但我特别感兴趣的是(MySQL)数据库支持选项,其中所有翻译都将从数据库中获取。另外,我可能错了,但是使用gettext,你需要额外的index.php ?lang=en_US(?)我想让它改变就像在Twitter或Facebook上那样,URL不会改变。你能建议我怎么做或指导我这个主题的教程/文章/以前的问题吗?谢谢!

另外,我看到人们推荐Zend_Translate,但这是否需要我在Zend框架中重新编写我的网站?

在询问之前,我确实在搜索它,但我得到的结果并不是我想要的。

1 个答案:

答案 0 :(得分:4)

  

另外,我可能错了,但是使用gettext,你需要额外的   的index.php?LANG = EN_US

是的,你错了,如果你愿意,可以隐藏lang参数(例如使用会话和/或cookie)。它也可以是你的SEO策略的一部分(url喜欢/ en / mypage或/ fr / mypage)

Multilang with databases是一个选项,但如果只是为了获得界面的翻译,我不是添加额外查询的忠实粉丝。
一些可能有用的链接: Schema for a multilanguage database
What are best practices for multi-language database design?

  

另外,我看到人们推荐Zend_Translate,但这确实需要   我在Zend框架中重新编写我的网站?

你可以只提取Zend_Translate(及其依赖关系)并将其用作库