Мой 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
устанавливает lan guage to en
, ng2-translate
начинает получать en.json
с сервера, затем signUpSuccess.component
устанавливает язык de
, ng2-translate
начинает t извлекает de.json
с сервера. Если по какой-либо причине сейчас de.json
выигрывает гонку и прибывает первым на клиента, тогда язык переключится на en
, когда прибывает клиент en.json
. Как я могу избежать этого?
Спасибо за ваше время, чтобы написать код и помочь мне. Но ng2-translate - это угловой плагин. Я рассмотрю их код. ... Я думал, что это моя вина. – stofl