在Codeigniter中为语言添加URI段


Add URI Segment for Language in Codeigniter

我有一个网站;我需要开发支持多种语言,例如en、tr、ar、sp等。

但问题是,用Codeigniter最好的方法是什么?

我有一个控制器(SITE)我有很多功能,如(酒店,城市,页面,博客)

我想在这个方法之前添加一个段(语言)。这是旧链接

http://example.com/hotel/mariot
http://example.com/hotel/hilton
http://example.com/city/london
http://example.com/city/paris
...
..

,我希望链接是这样的

http://example.com/en/hotel/mariot
http://example.com/ar/hotel/mariot
http://example.com/sp/hotel/mariot
http://example.com/tr/hotel/mariot
http://example.com/en/city/london
http://example.com/ar/city/paris
....
..

有时认为每种语言都有一个控制器,但这是可能的…

更改所有链接以支持语言的最佳方法是什么?

对不起,如果我的问题没有说清楚,这就是我的英语。

正确的方法是使用routes.php在(application/config/routes.php)

您可以针对您的特定问题使用正则表达式。

手册如下:http://ellislab.com/codeigniter/user-guide/general/routing.html

如果你想让你的链接像这样http://example.com/en/something

,那么您可能需要在您的项目中有子域或文件夹称为en。但这并不是完美的解决方案。

你要做的是把你的文本输出赋值给变量,这些变量从XML文件中获取值。比如,如果你有一些名为"你的房间号码是:0"的文本,这个值是硬编码的HTML,那么你应该把它放在en.xml文件下的一些标签下,并根据所需的语言从用户请求的xml文件中获取它。

你可能可以在所有语言中使用前面的解决方案,但你必须考虑到阿拉伯语是RTL语言,所以在你的css中考虑到这一点。但通常可以使用xml文件来控制语言。

希望那是你所需要的。