From beca128d629354b201d03fbcf08f7cc74089d125 Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Wed, 28 May 2025 01:41:21 +0530 Subject: [PATCH] [WEB-4166] improvement: update logic to merge extended translations (#3283) --- packages/i18n/src/constants/language.ts | 1 + packages/i18n/src/store/index.ts | 62 +------------------------ 2 files changed, 3 insertions(+), 60 deletions(-) diff --git a/packages/i18n/src/constants/language.ts b/packages/i18n/src/constants/language.ts index 4969178a59..41658d15da 100644 --- a/packages/i18n/src/constants/language.ts +++ b/packages/i18n/src/constants/language.ts @@ -31,6 +31,7 @@ export const SUPPORTED_LANGUAGES: ILanguageOption[] = [ export enum ETranslationFiles { TRANSLATIONS = "translations", ACCESSIBILITY = "accessibility", + TRANSLATIONS_EXTENDED = "translations-extended", } export const LANGUAGE_STORAGE_KEY = "userLanguage"; diff --git a/packages/i18n/src/store/index.ts b/packages/i18n/src/store/index.ts index b48e574fad..b3ab2e65cc 100644 --- a/packages/i18n/src/store/index.ts +++ b/packages/i18n/src/store/index.ts @@ -117,18 +117,10 @@ export class TranslationStore { if (this.loadedLanguages.has(language)) return; try { - const [translations, translationsExtended] = await Promise.all([ - this.importLanguageFile(language), - this.importLanguageFileExtended(language), - ]); + const translations = await this.importLanguageFile(language); runInAction(() => { // Use lodash merge for deep merging - this.translations[language] = merge( - {}, - this.coreTranslations[language] || {}, - translations.default, - translationsExtended.default - ); + this.translations[language] = merge({}, this.coreTranslations[language] || {}, translations.default); // Add to loaded languages this.loadedLanguages.add(language); // Clear cache @@ -167,56 +159,6 @@ export class TranslationStore { return this.importAndMergeFiles(language, files); } - /** - * Imports the extended translations for the given language - * @param language - The language to import the translations for - * @returns {Promise} - */ - private importLanguageFileExtended(language: TLanguage): Promise { - switch (language) { - case "en": - return import("../locales/en/translations-extended.json"); - case "fr": - return import("../locales/fr/translations-extended.json"); - case "es": - return import("../locales/es/translations-extended.json"); - case "ja": - return import("../locales/ja/translations-extended.json"); - case "zh-CN": - return import("../locales/zh-CN/translations-extended.json"); - case "zh-TW": - return import("../locales/zh-TW/translations-extended.json"); - case "ru": - return import("../locales/ru/translations-extended.json"); - case "it": - return import("../locales/it/translations-extended.json"); - case "cs": - return import("../locales/cs/translations-extended.json"); - case "sk": - return import("../locales/sk/translations-extended.json"); - case "de": - return import("../locales/de/translations-extended.json"); - case "ua": - return import("../locales/ua/translations-extended.json"); - case "pl": - return import("../locales/pl/translations-extended.json"); - case "ko": - return import("../locales/ko/translations-extended.json"); - case "id": - return import("../locales/id/translations-extended.json"); - case "ro": - return import("../locales/ro/translations-extended.json"); - case "pt-BR": - return import("../locales/pt-BR/translations-extended.json"); - case "vi-VN": - return import("../locales/vi-VN/translations-extended.json"); - case "tr-TR": - return import("../locales/tr-TR/translations-extended.json"); - default: - throw new Error(`Unsupported language: ${language}`); - } - } - /** Checks if the language is valid based on the supported languages */ private isValidLanguage(lang: string | null): lang is TLanguage { return lang !== null && this.availableLanguages.some((l) => l.value === lang);