diff --git a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts index 0e67aea119..afdda6849b 100644 --- a/npm/ng-packs/packages/core/src/lib/services/localization.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/localization.service.ts @@ -17,7 +17,7 @@ export class LocalizationService { private latestLang = this.sessionState.getLanguage(); private _languageChange$ = new Subject(); - private localLocalizations$ = new BehaviorSubject( + private uiLocalizations$ = new BehaviorSubject( new Map>>(), ); @@ -56,14 +56,18 @@ export class LocalizationService { >; const currentLanguage$ = this.sessionState.getLanguage$(); - const localLocalizations$ = combineLatest([currentLanguage$, this.localLocalizations$]).pipe( + const uiLocalizations$ = combineLatest([currentLanguage$, this.uiLocalizations$]).pipe( map(([currentLang, localizations]) => localizations.get(currentLang)), ); - combineLatest([remoteLocalizations$, localLocalizations$]) + combineLatest([remoteLocalizations$, uiLocalizations$]) .pipe( map(([remote, local]) => { if (remote) { + if (!local) { + local = new Map(); + } + Object.entries(remote).forEach(entry => { const resourceName = entry[0]; const remoteTexts = entry[1]; @@ -83,7 +87,7 @@ export class LocalizationService { addLocalization(localizations?: ABP.Localization[]) { if (!localizations) return; - const localizationMap = this.localLocalizations$.value; + const localizationMap = this.uiLocalizations$.value; localizations.forEach(loc => { const cultureMap = @@ -100,7 +104,7 @@ export class LocalizationService { localizationMap.set(loc.culture, cultureMap); }); - this.localLocalizations$.next(localizationMap); + this.uiLocalizations$.next(localizationMap); } private listenToSetLanguage() {