0

由于对 Cake 的“内置”本地化功能的好评,我正在使用 CakePHP 2.1.x 构建一个双语言应用程序。但是,我正在努力让这个强大的功能发挥作用。

我知道以前版本的 Cake(这里这里这里这里)已经解决了这个主题,但是对于 Cake 2.x 还没有解决。我还在食谱中引用了这些文章(是的,我已经阅读了手册):

几件事——我不想为每种语言做单独的子域。相反,我更喜欢通过单击按钮(在本例中为标志图标)进行基于 URL 的语言切换。该站点将被积极维护,因此内容需要动态更新。要求客户维护两个独立的站点/数据库是不可能的。

我为我的 PostModel 设置了翻译行为,但我不知道它是否有效。我还通过在控制台中运行来初始化 I18n I18n,确认数据库表存在,设置了我的 .po 文件,并将我的所有内容包装在__(). 但是,当我将浏览器中的默认语言更改为法语时,该站点仍为英语。

我已经尝试过 P28n 组件,但我认为它对于 Cake 2.x 来说已经过时了。我还尝试了基于 URL-based 语言切换,基于这篇文章 nuts-and-bolts-of-cakephp,但显然它与新的 CakePHP API 不兼容。

任何人都可以指出使用 CakePHP 2.x 的教程或说明的方向吗?此处尚未引用的一个?

更新:我发现这篇文章:http ://www.localizingjapan.com/blog/2011/11/10/localizing-a-cakephp-application/comment-page-1/#comment-7467 。有谁知道你把代码放在CakeSession::write('Config.language', 'fre');哪里setlocale("LC_ALL", "fr_FR.utf8");

4

1 回答 1

0

只需将代码放入 AppController::beforeFilter() 并根据您从发布请求或 URL 的一部分检索语言的方式设置值。

于 2012-04-12T10:13:47.473 回答