CakePHP多语言

时间:2012-05-23 19:33:17

标签: cakephp multilingual

您好我有两个问题。

首先,我希望在我的网站中使用两种语言,当用户点击该标志以更改语言时。问题是我不想使用扩展名为.po的语言文件来实现它,因为所有数据都写在数据库中。 没有CakePHP的框架,我会传递一个GET变量,例如?lang = en我可以阅读正确的记录。 如果我在CakePHP中使用相同的逻辑,那么我需要在控制器内的所有函数中包含此变量,我的链接将类似于/ product / en / 2。 (但是在默认语言中发生的事情我也必须包含在那里......)所以我的主要问题是如果我可以使用另一种解决方案来处理这个问题,例如SESSION,但是当用户点击另一种语言时如何更改SESSION变量? ??

类似的问题我有我的主菜单,我想在default.ctp文件中包含我的菜单在标题(它也是动态),我怎么能实现这一点?哪个是默认文件的主控制器? ? ? (为了实现从数据库中读取值的函数)。

很抱歉这条重要信息和我的英文,但我是CakePHP的新手,也是MVC逻辑方面的新手,所以我对以前用普通PHP编写的方式感到有些困惑。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用名为params的蛋糕进行语言设置,并使用路由器重写/ lang:eng to / eng /.

您可以在AppController :: beforeFilter()中检查,设置和更改此设置以及会话。这是所有其他控制器继承自的主控制器。

阅读相当完善的官方文档通常非常有用: 请参阅http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html#localization-in-cakephp,它完全描述了我在这里所写的内容。