Kohana多语言网站

时间:2010-06-11 08:59:59

标签: kohana multilingual

。我正在尝试使用kohana v3建立一个多语言网站,遵循本教程:http://kerkness.ca/wiki/doku.php?id=example_of_a_multi-language_website

路由到website/controller/action内的控制器或操作似乎可以正常工作,因为网址已正确重定向到website/lang/controller/action

  • 但是这不适用于ajax请求调用。我必须使用适当的语言手动编辑URL,以成功检索数据。这也适用于html页面上的锚点。

  • 除了这个问题,溢出参数'id'也不起作用。它将'lang'变量作为参数。

我已经设置了默认路由,就像在教程中那样:

Route::set('default', '((<lang>)(/)(<controller>)(/<action>(/<id>)))', array('lang' => "({$langs_abr})",'id'=>'.+'))  ->defaults(array('lang' => $default_lang,'controller' => welcome', 'action' => 'index'));

非常感谢任何帮助!干杯

1 个答案:

答案 0 :(得分:1)

您是否在配置文件中设置了默认语言?

请尝试以下路线:

Route::set('default', '(<lang>/)(<controller>(/<action>(/<id>)))', array('lang' => "({$langs_abr})",'id'=>'.+'))
    ->defaults(array(
        'lang' => $default_lang,
        'controller' => 'welcome',
        'action' => 'index'));

如果要将当前语言添加到您输出的任何链接,您可以尝试透明地扩展URL类,或者可能只是HTML类(对于anchor()方法)。 当前语言应该在请求对象Request::$instance->param('lang')中可用。