我想通过我在我的PHP MVC web应用程序上实现多语言支持的方式得到您的反馈。这就是我所做的:
多语言PHP应用程序:最佳实践?
-
在/ app文件夹
- 我创建了包含每种语言一个文件
- 每个文件都包含一个意甲/语言文件夹(english.php,spanish.php等)与每个文件的同名变量,包含文本的意见
- 那么这些变量在不同的观点呼应呈现
- 当用户更改语言中的“语言” cookie变量更新
- 在每个视图的控制器中,我包含以下格式的语言文件:
include $ _SERVER ['DOCUMENT_ROOT']。 “/ app/languages /”。 $ _COOKIE [“语言”]。 “.PHP”;
听起来很整齐。你会对这种方法有任何消极的想法吗?
不要验证cookie值,cookie可以被客户端改变! – gnur 2011-05-14 08:00:52
有几件事情,你可能想让语言成为URL的一部分。所以这些机器人可以索引你的网站。另外,您可能希望将内容移到数据库中,而不是将其放在文件中,因为这样可以更轻松地添加新的语言 – JohnP 2011-05-14 08:01:57
好点,谢谢指出验证点!我正在考虑将它移到数据库。我最终认为通过一个文件可能会更好的表现明智......但确实可能难以保持。如果我通过数据库选项,我正在考虑通过创建一个语言字段,然后每页一个字段(index.php,home.php等)来设计它(我使用mySQL),每个字段包含一个数组在每个页面上呈现不同的文本。你怎么看? – gwendall 2011-05-14 08:13:05