Angular 2 路由转换
Angular 2 Route Translation
我有一个支持多种语言的网络应用程序。我正在使用@ngx-translate 成功翻译应用程序的内容。
然而;我还需要翻译路线link。
我的 link 看起来像这样
www.somewebsite.com/dashboard.
现在,当我将语言更改为土耳其语时;
我需要 link 看起来像
www.somewebsite.com/anasayfa.
我怎样才能轻松做到这一点?
任何帮助表示赞赏。
提前致谢。
实施起来有点糟糕,因为您需要为每种语言构建多个路由。通常我会建议您使用语言配置路由。例如,
www.somewebsite.com/en/dashboard
如果它是一种不同的语言,那么它应该是,
www.somewebsite.com/es/dashboard.
然而,如果你真的想用不同的语言路线构建,那么你必须这样做,
create a new path : { path: ':lang/dashboard', component: dashboardComponent }
this.route.params.subscribe(params => {
translate.use(params['lang']);
switch (params['lang']) {
case 'en':
location.replace(<code>index.html#/${params['lang']}/dashboard</code>)
break;
case 'fr':
location.replace(<code>index.html#/${params['lang']}/anasayfa</code>);
break;
}
})
如果你不喜欢上面的实现,你也可以有不同的路线
我有一个支持多种语言的网络应用程序。我正在使用@ngx-translate 成功翻译应用程序的内容。 然而;我还需要翻译路线link。 我的 link 看起来像这样
www.somewebsite.com/dashboard.
现在,当我将语言更改为土耳其语时; 我需要 link 看起来像
www.somewebsite.com/anasayfa.
我怎样才能轻松做到这一点? 任何帮助表示赞赏。 提前致谢。
实施起来有点糟糕,因为您需要为每种语言构建多个路由。通常我会建议您使用语言配置路由。例如,
www.somewebsite.com/en/dashboard
如果它是一种不同的语言,那么它应该是,
www.somewebsite.com/es/dashboard.
然而,如果你真的想用不同的语言路线构建,那么你必须这样做,
create a new path : { path: ':lang/dashboard', component: dashboardComponent }
this.route.params.subscribe(params => {
translate.use(params['lang']);
switch (params['lang']) {
case 'en':
location.replace(<code>index.html#/${params['lang']}/dashboard</code>)
break;
case 'fr':
location.replace(<code>index.html#/${params['lang']}/anasayfa</code>);
break;
}
})
如果你不喜欢上面的实现,你也可以有不同的路线