@tilde-nlp/ngx-common 6.1.55 → 6.1.57

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.
@@ -18,6 +18,22 @@ export class LanguageTranslatePipe {
18
18
  "uk": ["ua"],
19
19
  "en": ["gb", "us"]
20
20
  };
21
+ // Some locales ar not translated on all devices, so storing here as final backup.
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ this.translations = {
24
+ "en": {
25
+ "mt": "Maltese",
26
+ },
27
+ "lv": {
28
+ "mt": "Maltiešu",
29
+ },
30
+ "lt": {
31
+ "mt": "Maltiečių",
32
+ },
33
+ "et": {
34
+ "mt": "Malta",
35
+ }
36
+ };
21
37
  this.translate.onLangChange.subscribe(() => {
22
38
  this.translationCache.clear();
23
39
  this.lastUiLanguage = this.translate.currentLang;
@@ -61,9 +77,9 @@ export class LanguageTranslatePipe {
61
77
  const languageNamesInCurrentLang = new Intl.DisplayNames([currentLang], { type: 'language' });
62
78
  const regionNamesInCurrentLang = new Intl.DisplayNames([currentLang], { type: 'region' });
63
79
  let translation;
80
+ const language = this.getLanguageFromLanguageCode(code);
81
+ const region = this.getRegionFromLanguageCode(code);
64
82
  try {
65
- const language = this.getLanguageFromLanguageCode(code);
66
- const region = this.getRegionFromLanguageCode(code);
67
83
  const languagetranslation = languageNamesInCurrentLang.of(language);
68
84
  const regionTranslation = regionNamesInCurrentLang.of(region);
69
85
  translation = `${languagetranslation} (${regionTranslation})`;
@@ -73,7 +89,8 @@ export class LanguageTranslatePipe {
73
89
  translation = languageNamesInCurrentLang.of(code);
74
90
  }
75
91
  catch {
76
- return code;
92
+ translation = this.translations[currentLang]?.[language] ?? code;
93
+ return translation;
77
94
  }
78
95
  }
79
96
  return this.capitalizeFirstLetter(translation);
@@ -105,4 +122,4 @@ export class LanguageTranslatePipe {
105
122
  standalone: true
106
123
  }]
107
124
  }], () => [{ type: i1.TranslateService }], null); })();
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvbGFuZ3VhZ2UtdHJhbnNsYXRlL2xhbmd1YWdlLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFRcEQ7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHFCQUFxQjtJQWdCaEMsWUFBNkIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFmdkMsNkJBQXdCLEdBQUcsV0FBVyxDQUFDO1FBSXZDLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRTlELHFHQUFxRztRQUNwRixzQkFBaUIsR0FBNkI7WUFDN0QsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ1osSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztTQUNuQixDQUFDO1FBR0EsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUFvQixFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQ2hELElBQUksQ0FBQyxZQUFZLEVB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R0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7c0hBL0dVLHFCQUFxQjsyRkFBckIscUJBQXFCOztpRkFBckIscUJBQXFCO2NBVGpDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsbUJBQW1CO2dCQUN6QixJQUFJLEVBQUUsS0FBSztnQkFDWCxVQUFVLEVBQUUsSUFBSTthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdsYW5ndWFnZVRyYW5zbGF0ZScsXHJcbiAgcHVyZTogZmFsc2UsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG4vKipcclxuICBUaGlzIHBpcGUgc2VhcmNoZXMgZm9yIGEgbGFuZ3VhZ2UgY29kZSB0cmFuc2xhdGlvbiB3aXRoaW4gb3VyIEpTT04gZmlsZXMuXHJcbiAgSWYgdGhlIHRyYW5zbGF0aW9uIGZvciBhIGdpdmVuIGxhbmd1YWdlIGNvZGUgaXMgbm90IGZvdW5kIHRoZXJlLCBpdCByZXRyaWV2ZXMgaXQgZnJvbSB0aGUgYnJvd3NlcidzIEludGwgb2JqZWN0LlxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTGFuZ3VhZ2VUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZXNMb2NhbGl6YXRpb25LZXkgPSAnTEFOR1VBR0VTJztcclxuXHJcbiAgcHJpdmF0ZSBsYXN0VWlMYW5ndWFnZTogc3RyaW5nO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xyXG5cclxuICAvLyBGb3IgbGFuZ3VhZ2VzIHdoZXJlIHJlZ2lvbiBpcyBkaWZmZXJlbnQgY29kZSAoYnV0IGluIHJlYWxpdHkgdGhlIHNhbWUpLCB3ZSBzaG91bGQgbm90IHNob3cgcmVnaW9uLlxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2FtZVJlZ2lvbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPiA9IHtcclxuICAgIFwibmJcIjogW1wibm9cIl0sXHJcbiAgICBcInNsXCI6IFtcInNpXCJdLFxyXG4gICAgXCJzdlwiOiBbXCJzZVwiXSxcclxuICAgIFwidWtcIjogW1widWFcIl0sXHJcbiAgICBcImVuXCI6IFtcImdiXCIsIFwidXNcIl1cclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb25DYWNoZS5jbGVhcigpO1xyXG4gICAgICB0aGlzLmxhc3RVaUxhbmd1YWdlID0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmc7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICB9XHJcblxyXG4gIHRyYW5zZm9ybShmdWxsTGFuZ0NvZGU6IHN0cmluZywgaGlkZVJlZ2lvbiA9IGZhbHNlKTogc3RyaW5nIHtcclxuICAgIGlmICghZnVsbExhbmdDb2RlKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5sYXN0VWlMYW5ndWFnZSAhPT0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYWNoZUtleSA9IGAke2Z1bGxMYW5nQ29kZX06JHtoaWRlUmVnaW9ufWA7XHJcblxyXG4gICAgaWYgKHRoaXMudHJhbnNsYXRpb25DYWNoZS5oYXMoY2FjaGVLZXkpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuZ2V0KGNhY2hlS2V5KSE7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGFuZ0NvZGVXaXRob3V0UmVnaW9uID0gdGhpcy5nZXRMYW5ndWFnZUZyb21MYW5ndWFnZUNvZGUoZnVsbExhbmdDb2RlKTtcclxuICAgIGNvbnN0IGlzQ29kZUFuZFJlZ2lvblNhbWUgPSB0aGlzLmlzTGFuZ3VhZ2VDb2RlU2FtZUFzUmVnaW9uKGZ1bGxMYW5nQ29kZSk7XHJcbiAgICBjb25zdCBsYW5nQ29kZUZvclRyYW5zbGF0aW9uID0gaXNDb2RlQW5kUmVnaW9uU2FtZSA/IGxhbmdDb2RlV2l0aG91dFJlZ2lvbiA6IGZ1bGxMYW5nQ29kZTtcclxuXHJcbiAgICBjb25zdCB0cmFuc2xhdGlvbiA9IHRoaXMuZ2V0VHJhbnNsYXRpb24obGFuZ0NvZGVGb3JUcmFuc2xhdGlvbiwgaGlkZVJlZ2lvbik7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLnNldChjYWNoZUtleSwgdHJhbnNsYXRpb24pO1xyXG5cclxuICAgIHJldHVybiB0cmFuc2xhdGlvbjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRpb24obGFuZ0NvZGU6IHN0cmluZywgaGlkZVJlZ2lvbj86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VUcmFuc2xhdGlvbnMgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRoaXMubGFuZ3VhZ2VzTG9jYWxpemF0aW9uS2V5KTtcclxuICAgIGxldCB0cmFuc2xhdGlvbiA9XHJcbiAgICAgIC8qKlxyXG4gICAgICAgICAgZS5nLiBJbiBjYXNlIHdlIG5lZWQgdG8gZGlzcGxheSBcImVuLUdCXCIgbGFuZ3VhZ2UgY29kZSBhcyBcIkJyaXRpc2hcIiB3ZSBjYW4gZG8gdGhpc1xyXG4gICAgICAgIGJ5IGFkZGluZyBcIkVOX0dCXCI6IFwiQnJpdGlzaFwiIGluIGxvY2FsaXphdGlvbiBmaWxlcyB1bmRlciBcIkxBTkdVQUdFU1wiIGtleS5cclxuICAgICAgKi9cclxuICAgICAgbGFuZ3VhZ2VUcmFuc2xhdGlvbnNbbGFuZ0NvZGUudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJ18nKV0gPz9cclxuICAgICAgdGhpcy5nZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZSh0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZywgbGFuZ0NvZGUpO1xyXG5cclxuICAgIGlmIChoaWRlUmVnaW9uKSB7XHJcbiAgICAgIHRyYW5zbGF0aW9uID0gdHJhbnNsYXRpb24uc3BsaXQoJygnKVswXS50cmltKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRMYW5ndWFnZVRyYW5zbGF0aW9uRnJvbUxhbmd1YWdlQ29kZShjdXJyZW50TGFuZzogc3RyaW5nLCBjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbGFuZ3VhZ2VOYW1lc0luQ3VycmVudExhbmcgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoW2N1cnJlbnRMYW5nXSwgeyB0eXBlOiAnbGFuZ3VhZ2UnIH0pO1xyXG4gICAgY29uc3QgcmVnaW9uTmFtZXNJbkN1cnJlbnRMYW5nID0gbmV3IEludGwuRGlzcGxheU5hbWVzKFtjdXJyZW50TGFuZ10sIHsgdHlwZTogJ3JlZ2lvbicgfSk7XHJcblxyXG4gICAgbGV0IHRyYW5zbGF0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShjb2RlKTtcclxuICAgICAgY29uc3QgcmVnaW9uID0gdGhpcy5nZXRSZWdpb25Gcm9tTGFuZ3VhZ2VDb2RlKGNvZGUpO1xyXG5cclxuICAgICAgY29uc3QgbGFuZ3VhZ2V0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGxhbmd1YWdlKTtcclxuICAgICAgY29uc3QgcmVnaW9uVHJhbnNsYXRpb24gPSByZWdpb25OYW1lc0luQ3VycmVudExhbmcub2YocmVnaW9uKTtcclxuXHJcbiAgICAgIHRyYW5zbGF0aW9uID0gYCR7bGFuZ3VhZ2V0cmFuc2xhdGlvbn0gKCR7cmVnaW9uVHJhbnNsYXRpb259KWA7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0cmFuc2xhdGlvbiA9IGxhbmd1YWdlTmFtZXNJbkN1cnJlbnRMYW5nLm9mKGNvZGUpIGFzIHN0cmluZztcclxuICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgcmV0dXJuIGNvZGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5jYXBpdGFsaXplRmlyc3RMZXR0ZXIodHJhbnNsYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0xhbmd1YWdlQ29kZVNhbWVBc1JlZ2lvbihmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgW2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICByZXR1cm4gKGNvZGUgPT09IHJlZ2lvbj8udG9Mb3dlckNhc2UoKSB8fCB0aGlzLmxvY2FsZVNhbWVSZWdpb25zW2NvZGVdPy5pbmNsdWRlcyhyZWdpb24/LnRvTG93ZXJDYXNlKCkpKSAmJiAhZXh0cmE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlZ2lvbkZyb21MYW5ndWFnZUNvZGUoZnVsbExhbmdDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgY29uc3QgW19jb2RlLCByZWdpb24sIGV4dHJhXSA9IGZ1bGxMYW5nQ29kZS5zcGxpdCgnLScpO1xyXG4gICAgY29uc3QgcmVnaW9uQ29kZSA9IGV4dHJhID8gYCR7cmVnaW9ufS0ke2V4dHJhfWAgOiBgJHtyZWdpb259YDtcclxuICAgIHJldHVybiByZWdpb25Db2RlLnRvVXBwZXJDYXNlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gZnVsbExhbmdDb2RlLnNwbGl0KCctJylbMF0udG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGV4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRleHQuc2xpY2UoMSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UtdHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvcGlwZXMvbGFuZ3VhZ2UtdHJhbnNsYXRlL2xhbmd1YWdlLXRyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFRcEQ7OztFQUdFO0FBQ0YsTUFBTSxPQUFPLHFCQUFxQjtJQWlDaEMsWUFBNkIsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFoQ3ZDLDZCQUF3QixHQUFHLFdBQVcsQ0FBQztRQUl2QyxxQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUU5RCxxR0FBcUc7UUFDcEYsc0JBQWlCLEdBQTZCO1lBQzdELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7U0FDbkIsQ0FBQztRQUVGLGtGQUFrRjtRQUNsRiw4REFBOEQ7UUFDN0MsaUJBQVksR0FBUTtZQUNuQyxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFNBQVM7YUFDaEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFVBQVU7YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLFdBQVc7YUFDbEI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87YUFDZDtTQUNGLENBQUE7UUFHQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxL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QUFDLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDOUQsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVPLDJCQUEyQixDQUFDLFlBQW9CO1FBQ3RELE9BQU8sWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRU8scUJBQXFCLENBQUMsSUFBWTtRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO3NIQS9IVSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7aUZBQXJCLHFCQUFxQjtjQVRqQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsVUFBVSxFQUFFLElBQUk7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnbGFuZ3VhZ2VUcmFuc2xhdGUnLFxyXG4gIHB1cmU6IGZhbHNlLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuLyoqXHJcbiAgVGhpcyBwaXBlIHNlYXJjaGVzIGZvciBhIGxhbmd1YWdlIGNvZGUgdHJhbnNsYXRpb24gd2l0aGluIG91ciBKU09OIGZpbGVzLlxyXG4gIElmIHRoZSB0cmFuc2xhdGlvbiBmb3IgYSBnaXZlbiBsYW5ndWFnZSBjb2RlIGlzIG5vdCBmb3VuZCB0aGVyZSwgaXQgcmV0cmlldmVzIGl0IGZyb20gdGhlIGJyb3dzZXIncyBJbnRsIG9iamVjdC5cclxuKi9cclxuZXhwb3J0IGNsYXNzIExhbmd1YWdlVHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VzTG9jYWxpemF0aW9uS2V5ID0gJ0xBTkdVQUdFUyc7XHJcblxyXG4gIHByaXZhdGUgbGFzdFVpTGFuZ3VhZ2U6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvbkNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuXHJcbiAgLy8gRm9yIGxhbmd1YWdlcyB3aGVyZSByZWdpb24gaXMgZGlmZmVyZW50IGNvZGUgKGJ1dCBpbiByZWFsaXR5IHRoZSBzYW1lKSwgd2Ugc2hvdWxkIG5vdCBzaG93IHJlZ2lvbi5cclxuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNhbWVSZWdpb25zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7XHJcbiAgICBcIm5iXCI6IFtcIm5vXCJdLFxyXG4gICAgXCJzbFwiOiBbXCJzaVwiXSxcclxuICAgIFwic3ZcIjogW1wic2VcIl0sXHJcbiAgICBcInVrXCI6IFtcInVhXCJdLFxyXG4gICAgXCJlblwiOiBbXCJnYlwiLCBcInVzXCJdXHJcbiAgfTtcclxuXHJcbiAgLy8gU29tZSBsb2NhbGVzIGFyIG5vdCB0cmFuc2xhdGVkIG9uIGFsbCBkZXZpY2VzLCBzbyBzdG9yaW5nIGhlcmUgYXMgZmluYWwgYmFja3VwLlxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvbnM6IGFueSA9IHtcclxuICAgIFwiZW5cIjoge1xyXG4gICAgICBcIm10XCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgfSxcclxuICAgIFwibHZcIjoge1xyXG4gICAgICBcIm10XCI6IFwiTWFsdGllxaF1XCIsXHJcbiAgICB9LFxyXG4gICAgXCJsdFwiOiB7XHJcbiAgICAgIFwibXRcIjogXCJNYWx0aWXEjWnFs1wiLFxyXG4gICAgfSxcclxuICAgIFwiZXRcIjoge1xyXG4gICAgICBcIm10XCI6IFwiTWFsdGFcIixcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbkNhY2hlLmNsZWFyKCk7XHJcbiAgICAgIHRoaXMubGFzdFVpTGFuZ3VhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5sYXN0VWlMYW5ndWFnZSA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGZ1bGxMYW5nQ29kZTogc3RyaW5nLCBoaWRlUmVnaW9uID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gICAgaWYgKCFmdWxsTGFuZ0NvZGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmxhc3RVaUxhbmd1YWdlICE9PSB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykge1xyXG4gICAgICB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuY2xlYXIoKTtcclxuICAgICAgdGhpcy5sYXN0VWlMYW5ndWFnZSA9IHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGNhY2hlS2V5ID0gYCR7ZnVsbExhbmdDb2RlfToke2hpZGVSZWdpb259YDtcclxuXHJcbiAgICBpZiAodGhpcy50cmFuc2xhdGlvbkNhY2hlLmhhcyhjYWNoZUtleSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25DYWNoZS5nZXQoY2FjaGVLZXkpITtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYW5nQ29kZVdpdGhvdXRSZWdpb24gPSB0aGlzLmdldExhbmd1YWdlRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGUpO1xyXG4gICAgY29uc3QgaXNDb2RlQW5kUmVnaW9uU2FtZSA9IHRoaXMuaXNMYW5ndWFnZUNvZGVTYW1lQXNSZWdpb24oZnVsbExhbmdDb2RlKTtcclxuICAgIGNvbnN0IGxhbmdDb2RlRm9yVHJhbnNsYXRpb24gPSBpc0NvZGVBbmRSZWdpb25TYW1lID8gbGFuZ0NvZGVXaXRob3V0UmVnaW9uIDogZnVsbExhbmdDb2RlO1xyXG5cclxuICAgIGNvbnN0IHRyYW5zbGF0aW9uID0gdGhpcy5nZXRUcmFuc2xhdGlvbihsYW5nQ29kZUZvclRyYW5zbGF0aW9uLCBoaWRlUmVnaW9uKTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uQ2FjaGUuc2V0KGNhY2hlS2V5LCB0cmFuc2xhdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUcmFuc2xhdGlvbihsYW5nQ29kZTogc3RyaW5nLCBoaWRlUmVnaW9uPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYW5ndWFnZVRyYW5zbGF0aW9ucyA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5sYW5ndWFnZXNMb2NhbGl6YXRpb25LZXkpO1xyXG4gICAgbGV0IHRyYW5zbGF0aW9uID1cclxuICAgICAgLyoqXHJcbiAgICAgICAgICBlLmcuIEluIGNhc2Ugd2UgbmVlZCB0byBkaXNwbGF5IFwiZW4tR0JcIiBsYW5ndWFnZSBjb2RlIGFzIFwiQnJpdGlzaFwiIHdlIGNhbiBkbyB0aGlzXHJcbiAgICAgICAgYnkgYWRkaW5nIFwiRU5fR0JcIjogXCJCcml0aXNoXCIgaW4gbG9jYWxpemF0aW9uIGZpbGVzIHVuZGVyIFwiTEFOR1VBR0VTXCIga2V5LlxyXG4gICAgICAqL1xyXG4gICAgICBsYW5ndWFnZVRyYW5zbGF0aW9uc1tsYW5nQ29kZS50b1VwcGVyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnXycpXSA/P1xyXG4gICAgICB0aGlzLmdldExhbmd1YWdlVHJhbnNsYXRpb25Gcm9tTGFuZ3VhZ2VDb2RlKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nLCBsYW5nQ29kZSk7XHJcblxyXG4gICAgaWYgKGhpZGVSZWdpb24pIHtcclxuICAgICAgdHJhbnNsYXRpb24gPSB0cmFuc2xhdGlvbi5zcGxpdCgnKCcpWzBdLnRyaW0oKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJhbnNsYXRpb247XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldExhbmd1YWdlVHJhbnNsYXRpb25Gcm9tTGFuZ3VhZ2VDb2RlKGN1cnJlbnRMYW5nOiBzdHJpbmcsIGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBsYW5ndWFnZU5hbWVzSW5DdXJyZW50TGFuZyA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyhbY3VycmVudExhbmddLCB7IHR5cGU6ICdsYW5ndWFnZScgfSk7XHJcbiAgICBjb25zdCByZWdpb25OYW1lc0luQ3VycmVudExhbmcgPSBuZXcgSW50bC5EaXNwbGF5TmFtZXMoW2N1cnJlbnRMYW5nXSwgeyB0eXBlOiAncmVnaW9uJyB9KTtcclxuXHJcbiAgICBsZXQgdHJhbnNsYXRpb246IHN0cmluZztcclxuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5nZXRMYW5ndWFnZUZyb21MYW5ndWFnZUNvZGUoY29kZSk7XHJcbiAgICBjb25zdCByZWdpb24gPSB0aGlzLmdldFJlZ2lvbkZyb21MYW5ndWFnZUNvZGUoY29kZSk7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBsYW5ndWFnZXRyYW5zbGF0aW9uID0gbGFuZ3VhZ2VOYW1lc0luQ3VycmVudExhbmcub2YobGFuZ3VhZ2UpO1xyXG4gICAgICBjb25zdCByZWdpb25UcmFuc2xhdGlvbiA9IHJlZ2lvbk5hbWVzSW5DdXJyZW50TGFuZy5vZihyZWdpb24pO1xyXG5cclxuICAgICAgdHJhbnNsYXRpb24gPSBgJHtsYW5ndWFnZXRyYW5zbGF0aW9ufSAoJHtyZWdpb25UcmFuc2xhdGlvbn0pYDtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRyYW5zbGF0aW9uID0gbGFuZ3VhZ2VOYW1lc0luQ3VycmVudExhbmcub2YoY29kZSkgYXMgc3RyaW5nO1xyXG4gICAgICB9IGNhdGNoIHtcclxuICAgICAgICB0cmFuc2xhdGlvbiA9IHRoaXMudHJhbnNsYXRpb25zW2N1cnJlbnRMYW5nXT8uW2xhbmd1YWdlXSA/PyBjb2RlO1xyXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmNhcGl0YWxpemVGaXJzdExldHRlcih0cmFuc2xhdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzTGFuZ3VhZ2VDb2RlU2FtZUFzUmVnaW9uKGZ1bGxMYW5nQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBbY29kZSwgcmVnaW9uLCBleHRyYV0gPSBmdWxsTGFuZ0NvZGUuc3BsaXQoJy0nKTtcclxuICAgIHJldHVybiAoY29kZSA9PT0gcmVnaW9uPy50b0xvd2VyQ2FzZSgpIHx8IHRoaXMubG9jYWxlU2FtZVJlZ2lvbnNbY29kZV0/LmluY2x1ZGVzKHJlZ2lvbj8udG9Mb3dlckNhc2UoKSkpICYmICFleHRyYTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UmVnaW9uRnJvbUxhbmd1YWdlQ29kZShmdWxsTGFuZ0NvZGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXHJcbiAgICBjb25zdCBbX2NvZGUsIHJlZ2lvbiwgZXh0cmFdID0gZnVsbExhbmdDb2RlLnNwbGl0KCctJyk7XHJcbiAgICBjb25zdCByZWdpb25Db2RlID0gZXh0cmEgPyBgJHtyZWdpb259LSR7ZXh0cmF9YCA6IGAke3JlZ2lvbn1gO1xyXG4gICAgcmV0dXJuIHJlZ2lvbkNvZGUudG9VcHBlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0TGFuZ3VhZ2VGcm9tTGFuZ3VhZ2VDb2RlKGZ1bGxMYW5nQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBmdWxsTGFuZ0NvZGUuc3BsaXQoJy0nKVswXS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYXBpdGFsaXplRmlyc3RMZXR0ZXIodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGV4dC5zbGljZSgxKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1332,6 +1332,22 @@ class LanguageTranslatePipe {
1332
1332
  "uk": ["ua"],
1333
1333
  "en": ["gb", "us"]
1334
1334
  };
1335
+ // Some locales ar not translated on all devices, so storing here as final backup.
1336
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1337
+ this.translations = {
1338
+ "en": {
1339
+ "mt": "Maltese",
1340
+ },
1341
+ "lv": {
1342
+ "mt": "Maltiešu",
1343
+ },
1344
+ "lt": {
1345
+ "mt": "Maltiečių",
1346
+ },
1347
+ "et": {
1348
+ "mt": "Malta",
1349
+ }
1350
+ };
1335
1351
  this.translate.onLangChange.subscribe(() => {
1336
1352
  this.translationCache.clear();
1337
1353
  this.lastUiLanguage = this.translate.currentLang;
@@ -1375,9 +1391,9 @@ class LanguageTranslatePipe {
1375
1391
  const languageNamesInCurrentLang = new Intl.DisplayNames([currentLang], { type: 'language' });
1376
1392
  const regionNamesInCurrentLang = new Intl.DisplayNames([currentLang], { type: 'region' });
1377
1393
  let translation;
1394
+ const language = this.getLanguageFromLanguageCode(code);
1395
+ const region = this.getRegionFromLanguageCode(code);
1378
1396
  try {
1379
- const language = this.getLanguageFromLanguageCode(code);
1380
- const region = this.getRegionFromLanguageCode(code);
1381
1397
  const languagetranslation = languageNamesInCurrentLang.of(language);
1382
1398
  const regionTranslation = regionNamesInCurrentLang.of(region);
1383
1399
  translation = `${languagetranslation} (${regionTranslation})`;
@@ -1387,7 +1403,8 @@ class LanguageTranslatePipe {
1387
1403
  translation = languageNamesInCurrentLang.of(code);
1388
1404
  }
1389
1405
  catch {
1390
- return code;
1406
+ translation = this.translations[currentLang]?.[language] ?? code;
1407
+ return translation;
1391
1408
  }
1392
1409
  }
1393
1410
  return this.capitalizeFirstLetter(translation);