Routing kohana3.2带子域的路由-多语言

Routing kohana3.2带子域的路由-多语言,routing,kohana,multilingual,subdomain,kohana-3.2,Routing,Kohana,Multilingual,Subdomain,Kohana 3.2,我在kohana 3.2中遇到了一个小问题。我想创建一个支持多种语言的简单博客 我想创建如下链接: pl.yourwebsite.com/kontakt en.yourwebsite.com/contact xx.yourwebsite.com/sometranslation of controller over 我为联系人和路由设置了一个简单的控制器,但当涉及到路由时,我必须设置静态路由,这是一个非常糟糕的解决方案。例如: 对于pl lang: Route::set('kontakt',

我在kohana 3.2中遇到了一个小问题。我想创建一个支持多种语言的简单博客

我想创建如下链接:

  • pl.yourwebsite.com/kontakt
  • en.yourwebsite.com/contact
  • xx.yourwebsite.com/sometranslation of controller over
我为联系人和路由设置了一个简单的控制器,但当涉及到路由时,我必须设置静态路由,这是一个非常糟糕的解决方案。例如:

对于pl lang:

Route::set('kontakt', 'kontakt(/<action>(/<id>(/<id2>(/<id3>))))')
    ->defaults(array(
        'controller' => 'contact',
        'action'     => 'index',
    ));
Route::set('kontakt','kontakt(/(/(/(/)))))
->默认值(数组)(
“控制器”=>“联系人”,
“操作”=>“索引”,
));
当我使用
domain.com/contact
domain.com/kontakt
时,它可以工作,但当我有20多个控制器和3个Language时;这将是60多条路线==糟糕的解决方案


非常感谢您的帮助。

您至少可以将单个页面的翻译分组在一起,但为此,您仍然需要每页至少有一条路线

此示例使用正则表达式匹配url的
部分:

Route::set('kontakt', '<page_name>(/<action>(/<id>(/<id2>(/<id3>))))',
           array('page_name' => '(contact|kontakt|contatto)'))
    ->defaults(array(
        'controller' => 'contact',
        'action'     => 'index',
    ));
Route::set('kontakt','(/手册中的部分