我使用下面的教程用cakePHP 2.0开发了一个简单的语言翻译模块:
http://nuts-and-bolts-of-cakephp.com/2008/11/28/cakephp-url-based-language-switching-for-i18n-and-l10n-internationalization-and-localization/
工作正常
如果我在URL下运行
http:// [SITe_URL] / posts / index
语言翻译链接已转换为
http:// [SITe_URL] / eng / posts / index
http:// [SITe_URL] / fre / posts / index
但是如果我通过低于URl
http:// [SITe_URL] / posts / edit / 3
语言翻译链接已转换为
http:// [SITe_URL] / eng / posts / edit
http:// [SITe_URL] / fre / posts / edit
代替
http:// [SITe_URL] / fre / posts / edit / 3
我认为存在于route.php中的Rounting princliple问题
请给我您的建议,以帮助我。
提前致谢
最佳答案
我通过在切换语言的同时在链接生成中添加额外的参数,尝试了上述问题的简单解决方案。
<?php
$param = null;
if(isset($this->params['pass'][0]))
$param = $this->params['pass'][0];
echo $this->Html->link('English', array($param,'language'=>'eng'));
echo ' | ';
echo $this->Html->link('French', array($param,'language'=>'fre'));
?>