我的app.component
样子是这样的:
export class AppComponent {
public constructor(public translate: TranslateService) {
const userLang = navigator.language.split('-')[0];
const acceptedUserLang = /(de|en)/gi.test(userLang) ? userLang : 'en';
this.translate.setDefaultLang('en');
this.translate.use(acceptedUserLang);
}
}
我app.routing
的定义如下:
const appRoutes: Routes = [
{path: 'signUpSuccess/:language', component: SignUpSuccessComponent},
];
我的signUpSuccess.component
:
export class SignUpSuccessComponent {
public constructor(translate: TranslateService, route: ActivatedRoute) {
translate.use(route.snapshot.params['language']);
}
}
当我加载页面时/signUpSuccess/de
,app.component
将语言设置为en
,ng2-translate
开始en.json
从服务器获取,然后signUpSuccess.component
将语言设置为de
,ng2-translate
开始de.json
从服务器获取。如果由于任何原因现在de.json
赢得比赛并首先到达客户端,那么语言将切换到到达客户端en
时。en.json
我怎样才能避免这种情况?