Angular 2路线平移

时间:2018-08-26 10:07:21

标签: angular angular2-routing translate angular-translate ngx-translate

我有一个支持多种语言的Web应用程序。我已成功使用@ ngx-translate翻译应用程序的内容。 然而;我还需要翻译路线链接。 我的链接看起来像这样

  

www.somewebsite.com/dashboard。

现在,当我将语言更改为土耳其语时; 我需要链接看起来像

  

www.somewebsite.com/anasayfa。

我如何轻松实现? 任何帮助表示赞赏。 提前致谢。

1 个答案:

答案 0 :(得分:1)

这是一个不好的主意,因为您需要为每种语言构建多个路径。通常,我建议您使用语言配置路由。例如,

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;
            }

  })

如果您不喜欢上述实现,您也可以使用不同的路由