()
| 83 | } |
| 84 | |
| 85 | private async loadPrimaryLanguages(): Promise<void> { |
| 86 | try { |
| 87 | // Load current and fallback languages in parallel |
| 88 | const languagesToLoad = new Set<TLanguage>([this.currentLocale]); |
| 89 | // Add fallback language only if different from current |
| 90 | if (this.currentLocale !== FALLBACK_LANGUAGE) { |
| 91 | languagesToLoad.add(FALLBACK_LANGUAGE); |
| 92 | } |
| 93 | // Load all primary languages in parallel |
| 94 | const loadPromises = Array.from(languagesToLoad).map((lang) => this.loadLanguageTranslations(lang)); |
| 95 | await Promise.all(loadPromises); |
| 96 | // Update loading state |
| 97 | runInAction(() => { |
| 98 | this.isLoading = false; |
| 99 | }); |
| 100 | } catch (error) { |
| 101 | console.error("Failed to load primary languages:", error); |
| 102 | runInAction(() => { |
| 103 | this.isLoading = false; |
| 104 | }); |
| 105 | } |
| 106 | } |
| 107 | |
| 108 | private loadRemainingLanguages(): void { |
| 109 | const remainingLanguages = SUPPORTED_LANGUAGES.map((lang) => lang.value).filter( |
no test coverage detected