Yii2国际化段塞和控制器
我正在使用Yii2国际化段塞和控制器,yii2,internationalization,yii2-advanced-app,friendly-url,Yii2,Internationalization,Yii2 Advanced App,Friendly Url,我正在使用yii的本机i18n模块制作一个两种语言的yii2站点(目前),但是我如何为动作URL添加多语言支持 例如,我的一个动作是category/slug,在英语中,它将显示为 http://example.com/category/chair 但在西班牙语中,它必须显示为 http://example.com/categoria/silla 等其他语言在未来展示 现在我正在手动添加我的路线,如: 'urlManager' => [ 'enablePrettyU
yii
的本机i18n
模块制作一个两种语言的yii2站点(目前),但是我如何为动作URL添加多语言支持
例如,我的一个动作是category/slug
,在英语中,它将显示为
http://example.com/category/chair
但在西班牙语中,它必须显示为
http://example.com/categoria/silla
等其他语言在未来展示
现在我正在手动添加我的路线,如:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'<alias:\w+>' => 'site/<alias>',
'marca/<slug>' => 'site/brand',
'categoria/<slug>' => 'site/category',
'brand/<slug>' => 'site/brand',
'category/<slug>' => 'site/category',
],
],
“urlManager”=>[
“enablePrettyUrl”=>true,
'showScriptName'=>false,
“规则”=>[
''=>'站点/',
“marca/”=>“站点/品牌”,
“categoria/”=>“站点/类别”,
“品牌/”=>“网站/品牌”,
“类别/”=>“站点/类别”,
],
],
我是否需要手动将每个操作路由到其正确的控制器,或者是否可以使用
yii::t()
函数添加更自动化的表单?您需要编写自己的UrlRule
类,实现yii\web\UrlRuleInterface
并配置UrlManager
基本上,它是关于“翻译”一个给定的请求,比如“
/categoria/silla
”,到您的UrlRule的“解析请求
”方法中的内部url['site/category',slug'=>$slug',lang=>$lang]
createUrl
”是另一种方式。也许您需要这种多语言