Yii2多语言网址

时间:2016-06-01 09:42:40

标签: php internationalization yii2 multilingual yii-url-manager

是否可以在Yii2中创建多语言网站,并且还可以翻译URL?例如:

mysite.com/anmeldung
mysite.com/en/login

两个网址都应指向相同的控制器/操作(例如网站/登录),但应该尊重该语言 - 因此第一个是默认语言,第二个是en = english

同样,创建网址Url::to('site/login')时,应根据当前语言创建正确的翻译网址。

我认为这是一个标准问题,但是,我无法找到解决方案或插件。我找到的所有插件只是在url slug中添加语言参数,但是对所有语言使用相同的url slug。

任何帮助和想法表示赞赏。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以创建一个实现UrlRule的类来创建自定义\yii\web\UrlRuleInterface

解析请求时,检索语言并将其作为参数与新路由一起返回。稍后,将语言配置保存在控制器的操作中。

创建网址时,请使用当前存储的语言构建网址。

实施将特定于应用程序,并取决于用户实施它。