1
我app.component
看起來是這樣的:與競爭條件NG2-翻譯
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.json
到達客戶端時語言將切換到en
。我怎樣才能避免這種情況?
謝謝你的時間,編寫代碼並幫助我。但ng2-translate是一個有角度的插件。我會研究他們的代碼。 ...我認爲這一定是我的錯。 – stofl