【问题标题】:How to handle localized URL and translation with CodeIgniter3如何使用 CodeIgniter3 处理本地化 URL 和翻译
【发布时间】:2015-06-02 05:03:28
【问题描述】:

我开始使用 CodeIgniter 3 开发一个网站。我是该框架的新手,但我对它的工作原理有很好的了解。

无论如何,我想要达到的目标如下。

我的网站将西班牙语和英语作为区域设置。因此,例如,我想通过以下方式翻译我的网址。

西班牙语:/contacto

英文:/contact

但根据我对框架内部工作原理的了解,我必须制作 2 个控制器,Contacto.php 和 Contact.php,并且可能使用具有特定语言环境的相同视图并显示相应的语言字符串。

有没有办法将 /contact 指向 /contacto?或者你们将如何解决这个问题?

【问题讨论】:

    标签: php codeigniter localization


    【解决方案1】:

    您可以简单地在 routes.php 中定义两个路由,它们将指向控制器中的相同方法。更多路由使用详情Here

     $route['contacto'] = "contact/index";
     $route['contact'] = "contact/index";
    

    在您的控制器方法中,您可以检查选择了哪种语言

    public function index() 
            {            
                $lang= $this->lang->lang();
                if ($lang == "en")
        {
         // load english contact view
        }
        if ($lang == "es")
        {
         // load spanish contact view
        }
    
         }
    

    【讨论】:

    • 我昨天找到了一些关于这方面的信息,我只是不确定如何处理语言部分。所以它会是这样的:$info['locale']='en'; $this->load->view('contact',$info);
    • 另外,如果我使用 Language 类,我只需要一个视图并将语言作为参数传递,对吗?
    • 是的,你可以同时做这两种方式。您可以创建两个视图,或者将变量传递给同一个视图并显示相关内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    相关资源
    最近更新 更多