Я пытаюсь заставить переводы работать как для компонентов приложения, так и для компонентов библиотеки. На данный момент я могу заставить работать только компоненты приложения или библиотеки, но не одновременно.
Состав:
- Создал ионное приложение с домашним компонентом
- Создана библиотека "features / ui" с компонентом входа в систему
- Создал библиотеку "core / localization" с компонентом перевода (файлы перевода есть здесь, а в angular.json я копирую файлы в приложение)
Я могу заставить домашний компонент в приложении работать, если добавлю import TranslateModule и provider в libs / features / ui / ui.module.ts:
@NgModule({
imports: [
ReactiveFormsModule,
FormsModule,
CommonModule,
ToastrModule.forRoot(),
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [HttpClient]
}
})],
providers: [
{
provide: APP_INITIALIZER,
useFactory: appInitializerFactory,
deps: [TranslateService, Injector],
multi: true
}
],
declarations: [LoginComponent],
exports: [
LoginComponent
]
})
Теперь переводы для входа в систему работают, но домашний компонент просто записывает ключ перевода "home.greet"
Я также могу заставить работать компонент входа в приложение, если вместо этого добавлю тот же импорт TranslateModule и provider в libs / core / core.module.ts
Если я добавлю код в два разных места одновременно, логин будет только переводить, но домашний компонент снова просто запишет ключ перевода "home.greet"
Также кажется неправильным инициализировать его дважды, поэтому где мне разместить свой импорт и поставщика для переводов и как мне выполнить перевод в обоих местах?