【问题标题】:Multilanguage site in CodeigniterCodeigniter 中的多语言站点
【发布时间】:2010-07-20 11:12:11
【问题描述】:

我正在 Codeigniter 中开始一个新的站点项目。我需要这个网站是多语言的,英语将是默认语言。 我知道 codeigniter 中的语言类是如何工作的,而且我已经在使用它了。

我担心我需要以所选语言显示 URL。我会用一个例子来解释自己:

When English language is selected, I have this URL: www.domain.com/cars/list_cars 其中 cars 是控制器,list_cars 是负责调用相应视图的方法。

When Spanish language language is selected, I would like the URL to show as www.domain.com/coches/mostrar_coches

实现这一目标的最佳方法是什么?我能想到的唯一方法是改变 routes.php 类似的东西:

$route['cars/list_cars'] = 'coches/mostrar_coches';

有没有更好/更简单的方法来实现这一点?

谢谢!

【问题讨论】:

    标签: url codeigniter multilingual


    【解决方案1】:

    我用 CodeIgniter 和 Url 翻译构建了concebe.com。我的解决方案是将所有请求仅重定向到一个控制器,该控制器负责根据翻译调用其他函数。见下文:

    function dinamic($js,$page,$item=NULL,$id=NULL)
    {
    
        switch ($page)
        {
            case $this->lang->line('products'):
                $page='products';
            break;
            case $this->lang->line('about_us'):
                $page='about_us';
            break;
            ...
        }
    
        //switch page
        switch ($page)
        {
            case 'contact_us':
                $this->template->render($js,$this->_contact_us($js));
                return;
            break;
        }
    

    这不是一个聪明的解决方案,也对你没有帮助,因为更难,但我也必须区分 js 调用,这是唯一的方法,我希望这对某人有所帮助。

    约束:当切换语言时,你会失去你所在的页面。

    【讨论】:

      【解决方案2】:

      我按照您的建议做了,将 routes.php 用于您的本地化 url 段。对我来说很好,但是对于每个页面,您都需要在路由文件中添加一个新条目。

      【讨论】:

      • 在 routes.php 中为每个页面添加一个条目让我很反感,但我想这是唯一的方法。 Codeigniter 需要知道你想将名称页面翻译成什么,在这种情况下我不能使用正则表达式。
      【解决方案3】:

      翻译你的控制器和方法名称是一件令人头疼的事情。对您的 SEO 的好处是如此微不足道,以至于真的不值得这样做,只要确保您有好的内容。

      【讨论】:

      • 我对您的回答感到惊讶。我不是 SEO 专家,但我读过很多次,在您的 URL 中包含关键字是需要考虑的最重要的一点之一。这就是我想“翻译”网址的原因。
      • 在适当的情况下,SEO 的好处将是巨大的。需要深思熟虑。
      • 嘿,如果你想手动翻译每一个 URL,这样你就可以在 SEO 上稍作调整,我宁愿确保我的内容适合每种语言。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 2012-03-12
      相关资源
      最近更新 更多