@tiba-spark/client-shared-lib 25.3.0-773 → 25.3.0-776
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -13,13 +13,21 @@ export class LocalizationResolver {
|
|
|
13
13
|
this.localizationService = localizationService;
|
|
14
14
|
}
|
|
15
15
|
resolve() {
|
|
16
|
-
//
|
|
16
|
+
// Determine the user's preferred language before resolving the route
|
|
17
17
|
const userSettings = this.store.selectSnapshot(SessionState.mappedUserSettings);
|
|
18
18
|
const lang = getCurrentLang(userSettings);
|
|
19
|
-
|
|
19
|
+
// If the language is already registered in TranslateService, simply switch to it
|
|
20
20
|
if (this.translateService.langs.includes(lang)) {
|
|
21
|
+
this.translateService.use(lang);
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
24
|
+
// If ngx-translate believes the language is already loaded (even if it’s not),
|
|
25
|
+
// it will skip calling the loader’s getTranslation() method.
|
|
26
|
+
// Resetting the language forces ngx-translate to fetch translations again.
|
|
27
|
+
this.translateService.resetLang(lang);
|
|
28
|
+
// Apply the selected language and trigger translation loading
|
|
29
|
+
this.translateService.use(lang);
|
|
30
|
+
// Wait until the localization resources are fully loaded before resolving the route
|
|
23
31
|
return new Promise((resolve, reject) => this.localizationService.resourceLoaded.asObservable().pipe(first())
|
|
24
32
|
.subscribe({
|
|
25
33
|
next: () => resolve(),
|
|
@@ -32,4 +40,4 @@ export class LocalizationResolver {
|
|
|
32
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LocalizationResolver, decorators: [{
|
|
33
41
|
type: Injectable
|
|
34
42
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.TranslateService }, { type: i3.LocalizationService }] });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemF0aW9uLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9yZXNvbHZlcnMvbG9jYWxpemF0aW9uLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBR3hELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsWUFBb0IsS0FBWSxFQUFVLGdCQUFrQyxFQUFVLG1CQUF3QztRQUExRyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFVLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7SUFDOUgsQ0FBQztJQUVELE9BQU87UUFDTCxxRUFBcUU7UUFDckUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEYsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFDLGlGQUFpRjtRQUNqRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELCtFQUErRTtRQUMvRSw2REFBNkQ7UUFDN0QsMkVBQTJFO1FBQzNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEMsOERBQThEO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsb0ZBQW9GO1FBQ3BGLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUMvRyxTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ3JCLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOytHQTlCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxpemF0aW9uL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25TdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLnN0YXRlJztcbmltcG9ydCB7IGdldEN1cnJlbnRMYW5nIH0gZnJvbSAnLi4vdXRpbHMvbGFuZ3VhZ2UudXRpbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGl6YXRpb25SZXNvbHZlciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBsb2NhbGl6YXRpb25TZXJ2aWNlOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSB7XG4gIH1cblxuICByZXNvbHZlKCkge1xuICAgIC8vIERldGVybWluZSB0aGUgdXNlcidzIHByZWZlcnJlZCBsYW5ndWFnZSBiZWZvcmUgcmVzb2x2aW5nIHRoZSByb3V0ZVxuICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU2Vzc2lvblN0YXRlLm1hcHBlZFVzZXJTZXR0aW5ncyk7XG4gICAgY29uc3QgbGFuZyA9IGdldEN1cnJlbnRMYW5nKHVzZXJTZXR0aW5ncyk7XG5cbiAgICAvLyBJZiB0aGUgbGFuZ3VhZ2UgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGluIFRyYW5zbGF0ZVNlcnZpY2UsIHNpbXBseSBzd2l0Y2ggdG8gaXRcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmxhbmdzLmluY2x1ZGVzKGxhbmcpKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIG5neC10cmFuc2xhdGUgYmVsaWV2ZXMgdGhlIGxhbmd1YWdlIGlzIGFscmVhZHkgbG9hZGVkIChldmVuIGlmIGl04oCZcyBub3QpLFxuICAgIC8vIGl0IHdpbGwgc2tpcCBjYWxsaW5nIHRoZSBsb2FkZXLigJlzIGdldFRyYW5zbGF0aW9uKCkgbWV0aG9kLlxuICAgIC8vIFJlc2V0dGluZyB0aGUgbGFuZ3VhZ2UgZm9yY2VzIG5neC10cmFuc2xhdGUgdG8gZmV0Y2ggdHJhbnNsYXRpb25zIGFnYWluLlxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5yZXNldExhbmcobGFuZyk7XG5cbiAgICAvLyBBcHBseSB0aGUgc2VsZWN0ZWQgbGFuZ3VhZ2UgYW5kIHRyaWdnZXIgdHJhbnNsYXRpb24gbG9hZGluZ1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XG5cbiAgICAvLyBXYWl0IHVudGlsIHRoZSBsb2NhbGl6YXRpb24gcmVzb3VyY2VzIGFyZSBmdWxseSBsb2FkZWQgYmVmb3JlIHJlc29sdmluZyB0aGUgcm91dGVcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4gdGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLnJlc291cmNlTG9hZGVkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiByZXNvbHZlKCksXG4gICAgICAgIGVycm9yOiBlID0+IHJlamVjdChlKVxuICAgICAgfSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -114870,13 +114870,21 @@ class LocalizationResolver {
|
|
|
114870
114870
|
this.localizationService = localizationService;
|
|
114871
114871
|
}
|
|
114872
114872
|
resolve() {
|
|
114873
|
-
//
|
|
114873
|
+
// Determine the user's preferred language before resolving the route
|
|
114874
114874
|
const userSettings = this.store.selectSnapshot(SessionState.mappedUserSettings);
|
|
114875
114875
|
const lang = getCurrentLang(userSettings);
|
|
114876
|
-
|
|
114876
|
+
// If the language is already registered in TranslateService, simply switch to it
|
|
114877
114877
|
if (this.translateService.langs.includes(lang)) {
|
|
114878
|
+
this.translateService.use(lang);
|
|
114878
114879
|
return;
|
|
114879
114880
|
}
|
|
114881
|
+
// If ngx-translate believes the language is already loaded (even if it’s not),
|
|
114882
|
+
// it will skip calling the loader’s getTranslation() method.
|
|
114883
|
+
// Resetting the language forces ngx-translate to fetch translations again.
|
|
114884
|
+
this.translateService.resetLang(lang);
|
|
114885
|
+
// Apply the selected language and trigger translation loading
|
|
114886
|
+
this.translateService.use(lang);
|
|
114887
|
+
// Wait until the localization resources are fully loaded before resolving the route
|
|
114880
114888
|
return new Promise((resolve, reject) => this.localizationService.resourceLoaded.asObservable().pipe(first())
|
|
114881
114889
|
.subscribe({
|
|
114882
114890
|
next: () => resolve(),
|