Angular 角度l10n定位-在单独模块中加载平移-不会触发平移更改
我正在尝试使用angular l10n库设置本地化。我成功地实现了一个模块,并在加载UI进行主翻译之前对其进行了初始化。现在,我的目的是为每个模块提供单独的翻译文件/端点,并在默认初始化的基础上延迟加载它 这是我提出的模块,我们称之为模块Angular 角度l10n定位-在单独模块中加载平移-不会触发平移更改,angular,Angular,我正在尝试使用angular l10n库设置本地化。我成功地实现了一个模块,并在加载UI进行主翻译之前对其进行了初始化。现在,我的目的是为每个模块提供单独的翻译文件/端点,并在默认初始化的基础上延迟加载它 这是我提出的模块,我们称之为模块 import { Injectable, NgModule, Inject, APP_INITIALIZER } from '@angular/core'; import { CommonModule } from '@angular/common'; imp
import { Injectable, NgModule, Inject, APP_INITIALIZER } from '@angular/core';
import { CommonModule } from '@angular/common';
import { LocaleService, TranslationService, TranslationModule, LocalizationModule, L10nLoader, L10N_CONFIG, L10nConfig, L10nConfigRef, ProviderType } from 'angular-l10n';
import { SomeComponent } from './some.component';
@NgModule({
declarations: [
SomeComponent
]
imports: [
CommonModule,
LocalizationModule,
TranslationModule,
],
exports: [
TranslationModule
],
providers: [
],
entryComponents: [SomeComponent]
})
export class SomeModule {
constructor(
@Inject(L10N_CONFIG)
public l10nLoader: L10nLoader,
private configuration: L10nConfigRef,
private translation: TranslationService,
) {
this.load();
}
load() {
this.configuration.translation.providers = [
{ type: ProviderType.Static, prefix: './api/main/' },
{ type: ProviderType.Static, prefix: './api/other/' }
];
this.l10nLoader.load().then(() => {
this.translation.init();
// this.translation.loadTranslation();
})
}
}
通过访问L10nConfigRef,我在默认init转换的基础上添加了更多的提供程序。我可以在浏览器网络中看到翻译已成功加载
问题是,它是在所有视图/组件之后加载的,并且不会刷新转换
那么,我如何重新初始化转换并手动触发/发出translationChanged
this.translation.init()也不起作用this.translation.loadTranslation()-最新的方法甚至不是库中的公共方法,因此这两种方法都不正确
还有其他建议如何重新控制库并触发translationChanged吗