cakephp多语种+路线

时间:2011-04-01 17:04:37

标签: cakephp-1.3 multilingual

我有两种语言允许用户选择/切换:en或fr

我希望网址为:

  • xxx.com/en/ - >默认语言为en

  • xxx.com/en/stock/stockName1/ - > EN语言中的动态页面,类似于xxx.com/stock.php?lang=en&stockid=123

  • xxx.com/fr/stock/stockName1/ - > FR语言的动态页面

我不需要cookie。

我确实要为所有文件拆分两个语言文件夹,但图像除外。

如何正确制作网址?

我测试了以下教程,它运行正常:

http://bakery.cakephp.org/articles/p0windah/2007/09/12/p28n-the-top-to-bottom-persistent-internationalization-tutorial

但是,该语言未出现在网址中。任何人都可以提供帮助吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我想为所有文件拆分两个语言文件夹,但图像除外 的应答
在CakePHP中默认使用语言,因此任何用户都可以放置许多语言,为此我们需要为其创建diff.folders。 如果您不想这样做,那么在所有文件中,您可以指定特定标记以指示它是“eng”还是“fr”。 例如:en_abc.ctp,fr_abc.ctp。

如何正确制作网址? 的答案:
默认情况下,在您的URL中输入“en”,如果有任何更改,请使用“fr”并从xml中获取数据。

Router::connect('/en', array('controller' => 'users', 'action' => 'index/en'));
Router::connect('/fr', array('controller' => 'users', 'action' => 'index/fr'));

并且在索引函数中你可以检查传递的变量,如果“en”出现然后从英语中获取所有数据,如果是“Fr”,则从法语中取出所有数据。 我希望有帮助..