Я пытаюсь заставить переводы работать как для компонентов приложения, так и для компонентов библиотеки. На данный момент я могу заставить работать только компоненты приложения или библиотеки, но не одновременно.
Структура:
- Создано приложение ioni c с домашним компонентом
- Создал библиотеку "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 и поставщик в libs / core / core.module.ts
Если я добавлю код в два разных места одновременно, логин будет переводиться только, но снова будет домашний компонент просто выписывает перевод k ey "home.greet"
Также кажется неправильным инициализировать его дважды, поэтому где мне разместить свой импорт и провайдера для переводов и как мне выполнить перевод в обоих местах?