【发布时间】:2014-02-01 06:27:05
【问题描述】:
我最近开始使用框架(CodeIgniter),经过大量研究后仍然有很多疑问,特别是关于多语言网站。
我正在尝试“翻译”网址,例如,我有 en/home 和 fr/home ,但我希望每种语言都有自己的翻译,例如 fr/accueil 、 pt/inicio 和很快...
到目前为止,我的系统所做的只是更改语言,但 url(控制器)保持相同的语言(英语):
en/home、fr/home、pt/home 而不是 fr/accueil 和 pt/inicio
我必须做什么才能实现这种“翻译”或路由?为每种语言创建一个控制器并分别调用它们会更好吗?我开始这样做,但在某些时候我意识到它非常庞大,可能这不是一个好习惯。但是我发现为每种语言创建一个控制器要容易得多,但是我不知道我必须在哪里以及在哪个文件中设置“自动运行功能”来检测/保存语言首选项。
此外,当我在网址中输入语言时(例如 /en 、/fr ),它不会“重定向”到主控制器(主页):
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller
$route['^(en|fr|pt)$'] = $route['default_controller'];
这对我不起作用,除非我在语言后输入“/”:
/fr/ 工作正常!,/fr 不工作!
【问题讨论】:
-
在我看来,如果您的控制器与当前选择的语言不同,用户将不会使用
url浏览您的网站,他们将通过menu浏览您的网站,并且links你提供的。那是你必须做的。但是,如果您真的想要该功能,则必须为不同的语言添加或调用不同的控制器。
标签: php codeigniter url multilingual codeigniter-routing