【问题标题】:CakePHP MultilanguageCakePHP 多语言
【发布时间】:2012-05-23 19:33:17
【问题描述】:

您好,我有两个问题。

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

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

对不起,我的英文很重要,但我是 CakePHP 的新手,并且在 MVC 逻辑方面很一般,所以我对以前用普通 PHP 编写的方式有点困惑。

谢谢!

【问题讨论】:

    标签: cakephp multilingual


    【解决方案1】:

    使用名为 params 的蛋糕进行语言设置和路由器将 /lang:eng 重写为 /eng/。

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

    阅读做得很好的官方文档通常很有帮助: 请参阅http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html#localization-in-cakephp,它准确地描述了我在这里写的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-29
      • 2013-07-10
      • 2013-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多