【发布时间】:2012-04-06 19:46:53
【问题描述】:
我正在使用 Codeigniter 2.1 构建我的应用程序,并且我正在使用 i18n 多语言库,并且一切正常。唯一的问题是我翻译当前页面时,没关系,但是当我更改页面时,它会以默认语言返回。示例:
myapp.com/en/home
点击锚点(switch_uri('de'))
myapp.com/de/home
现在跟随链接到另一个控制器,它恢复到默认值 语言
myapp.com/en/about
那么我该如何解决它,当我切换控制器时,语言保持最后选择,而不是默认语言?
提前致谢。 :)
编辑:
这些是我更改页面语言的锚点。我想我可能会使用某种 cookie 来保存用户的语言并在每次控制器加载时获取它,但我相信还有更简单和容易的东西。
<ul id="languages">
<li><a href="<?= base_url($this->lang->switch_uri('bg')) ?>" class="lang-bg"></a></li>
<li><a href="<?= base_url($this->lang->switch_uri('en')) ?>" class="lang-en"></a></li>
</ul>
主菜单中有我到其他页面的链接:
<li>
<?= anchor(base_url('about'), 'about') ?>
</li>
【问题讨论】:
-
你能把代码贴在你有链接的地方吗?
-
我在上面编辑了我的问题。 :)
-
不,我指的是控制器的链接。如果您已正确实施,则它们应该可以正常工作并且语言不应该改变,这应该不是问题。我要求提供链接以查看您是否在其中硬编码语言(控制器/功能/en)如果您在这样的链接中硬编码语言,那么您应该在最后删除语言参数。
-
哦,对不起,我没听懂。但正如您在我上次编辑后在上面看到的那样,链接中的语言不是固定的。所以我认为问题出在其他地方。
标签: codeigniter internationalization