From d9bfa715978ef876e47b19b035d5ba0ba2ec64a6 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:29:30 +0200 Subject: [PATCH] check for distinct culture before initialising reload --- .../localization-api/registry/translation.registry.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/libs/localization-api/registry/translation.registry.ts b/src/Umbraco.Web.UI.Client/src/libs/localization-api/registry/translation.registry.ts index 1d6b35af2c..7a73eaad49 100644 --- a/src/Umbraco.Web.UI.Client/src/libs/localization-api/registry/translation.registry.ts +++ b/src/Umbraco.Web.UI.Client/src/libs/localization-api/registry/translation.registry.ts @@ -6,18 +6,22 @@ import { UmbTranslationsDictionary, umbExtensionsRegistry, } from '@umbraco-cms/backoffice/extension-registry'; -import { Subject, combineLatest } from '@umbraco-cms/backoffice/external/rxjs'; +import { Subject, combineLatest, map, distinctUntilChanged } from '@umbraco-cms/backoffice/external/rxjs'; export type UmbTranslationsFlatDictionary = Record; export class UmbTranslationRegistry { #registry; #currentLanguage = new Subject(); + #currentLanguageUniqueLowercase = this.#currentLanguage.pipe( + map((x) => x.toLowerCase()), + distinctUntilChanged() + ); constructor(extensionRegistry: UmbBackofficeExtensionRegistry) { this.#registry = extensionRegistry; - combineLatest([this.#currentLanguage, this.#registry.extensionsOfType('translations')]).subscribe( + combineLatest([this.#currentLanguageUniqueLowercase, this.#registry.extensionsOfType('translations')]).subscribe( async ([userCulture, extensions]) => { await Promise.all( extensions @@ -63,7 +67,7 @@ export class UmbTranslationRegistry { * @param locale The locale to load. */ loadLanguage(locale: string) { - this.#currentLanguage.next(locale.toLowerCase()); + this.#currentLanguage.next(locale); } #addOrUpdateDictionary(