我最近开始使用框架(CodeIgniter),并且在大量研究仍然存在许多疑问之后,特别是关于多语种网站。在codeigniter中翻译多语言网站的路线(url)
我想“翻译”的网址,比如,我有和fr/home
,但我想对每一种语言了自己的翻译一样fr/accueil
,pt/inicio
,等等... 所以到目前为止所有我的系统正在做的是改变的语言,但是URL(控制器)保持在相同的语言(英语)的 ,fr/home
,pt/home
代替fr/accueil
和pt/inicio
什么我必须做的做到这一点某种“翻译”或路由?为每种语言创建控制器并分别调用它们会更好吗?我开始这样做,但在某个时候我意识到这是非常巨大的,可能这不是一个好习惯。但是我发现为每种语言创建一个控制器要容易得多,但是我不知道在哪个文件中以及在哪个文件中我必须设置“自动运行功能”来检测/保存语言首选项。
而且当我在URL类型只是语言(例如/en
,/fr
)它没有“重定向”到主控制器(家):
// '/en', '/de', '/fr' and '/nl' URIs -> use default controller
$route['^(en|fr|pt)$'] = $route['default_controller'];
这不是为我工作,除非我键入“/
”之后的语言: /fr/
正常工作!,/fr
不起作用!
在我的看法中,如果你的控制器与当前选择的语言不一样,用户不会使用'url'浏览你的站点,他们将通过你提供的'menu'和'links' 。这是你必须做的。但是如果你真的想要这种功能,你将不得不为不同的语言添加或调用不同的控制器。 – tomexsans