如何使用 CodeIgniter 3 处理本地化 URL 和翻译
How to handle localized URL and translation with CodeIgniter3
我开始使用 CodeIgniter 3 开发网站。我是这个框架的新手,但我对它的工作原理有很好的理解。
无论如何,我正在努力实现以下目标。
我的网站将西班牙语和英语作为语言环境处理。例如,我想按以下方式翻译我的网址。
In Spanish: /contacto
In English: /contact
但是根据我对框架内部工作原理的了解,我必须制作 2 个控制器,Contacto.php 和 Contact.php,并且可能使用具有特定语言环境的相同视图并显示相应的语言字符串。
有没有办法把/contact 指向/contacto?或者你们会如何解决这个问题?
您可以简单地在 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
}
}
我开始使用 CodeIgniter 3 开发网站。我是这个框架的新手,但我对它的工作原理有很好的理解。
无论如何,我正在努力实现以下目标。
我的网站将西班牙语和英语作为语言环境处理。例如,我想按以下方式翻译我的网址。
In Spanish: /contacto
In English: /contact
但是根据我对框架内部工作原理的了解,我必须制作 2 个控制器,Contacto.php 和 Contact.php,并且可能使用具有特定语言环境的相同视图并显示相应的语言字符串。
有没有办法把/contact 指向/contacto?或者你们会如何解决这个问题?
您可以简单地在 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
}
}