@c8y/ngx-components 1021.49.1 → 1021.49.4
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.
- package/core/i18n/translate.service.d.ts.map +1 -1
- package/esm2022/branding/shared/lazy/branding-form/branding-form.component.mjs +3 -3
- package/esm2022/core/i18n/translate.service.mjs +7 -5
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +2 -2
- package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +6 -4
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -4070,13 +4070,15 @@ class TranslateService {
|
|
|
4070
4070
|
return this.getQueryParameter('lang');
|
|
4071
4071
|
}
|
|
4072
4072
|
parseLocaleCode(localeCode, outputSeparator = '_') {
|
|
4073
|
-
|
|
4073
|
+
// - 2 letter language code
|
|
4074
|
+
// - optional region code that's either 2 letters OR 3 digits
|
|
4075
|
+
const matches = localeCode.match(/^([a-z]{2})([_-]([a-z]{2}|[0-9]{3}))?$/i);
|
|
4074
4076
|
if (!matches) {
|
|
4075
|
-
throw new Error(`Could not parse locale code "${localeCode}"
|
|
4077
|
+
throw new Error(`Could not parse locale code "${localeCode}". Expected format: language code (2 letters) optionally followed by region code (2 letters or 3 digits) separated with "_" or "-", e.g. "en-US" or "es-419".`);
|
|
4076
4078
|
}
|
|
4077
4079
|
const langCode = matches[1].toLowerCase();
|
|
4078
|
-
const
|
|
4079
|
-
const langCountryCode = `${langCode}${
|
|
4080
|
+
const regionCode = matches[3]?.toUpperCase();
|
|
4081
|
+
const langCountryCode = `${langCode}${regionCode ? `${outputSeparator}${regionCode}` : ''}`;
|
|
4080
4082
|
return { langCode, langCountryCode };
|
|
4081
4083
|
}
|
|
4082
4084
|
/**
|