我使用下面的教程用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'));
?>

10-07 13:07
查看更多