@generaltranslation/supported-locales 2.1.39 → 2.1.41
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/CHANGELOG.md +16 -0
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @generaltranslation/supported-locales
|
|
2
2
|
|
|
3
|
+
## 2.1.41
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2408](https://github.com/generaltranslation/gt/pull/2408) [`ebb6c9e`](https://github.com/generaltranslation/gt/commit/ebb6c9efa403b2b6b2ec84521398a05825eb1ff0) Thanks [@fernando-aviles](https://github.com/fernando-aviles)! - Add Belarusian (`be`), Irish (`ga`), and Latin-script Serbian (`sr-Latn`). `sr-Latn` now resolves to itself instead of falling back to `sr`, which is Cyrillic by default.
|
|
8
|
+
|
|
9
|
+
- Updated dependencies []:
|
|
10
|
+
- generaltranslation@9.5.5
|
|
11
|
+
|
|
12
|
+
## 2.1.40
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- Updated dependencies []:
|
|
17
|
+
- generaltranslation@9.5.4
|
|
18
|
+
|
|
3
19
|
## 2.1.39
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -14,6 +14,7 @@ const supportedLocales = {
|
|
|
14
14
|
"ar-SA"
|
|
15
15
|
],
|
|
16
16
|
az: ["az"],
|
|
17
|
+
be: ["be"],
|
|
17
18
|
bg: ["bg"],
|
|
18
19
|
bn: ["bn"],
|
|
19
20
|
bs: ["bs"],
|
|
@@ -69,6 +70,7 @@ const supportedLocales = {
|
|
|
69
70
|
"fr-CH",
|
|
70
71
|
"fr-SN"
|
|
71
72
|
],
|
|
73
|
+
ga: ["ga"],
|
|
72
74
|
gl: ["gl", "gl-ES"],
|
|
73
75
|
gu: ["gu"],
|
|
74
76
|
ha: ["ha"],
|
|
@@ -120,7 +122,7 @@ const supportedLocales = {
|
|
|
120
122
|
sl: ["sl"],
|
|
121
123
|
so: ["so"],
|
|
122
124
|
sq: ["sq"],
|
|
123
|
-
sr: ["sr"],
|
|
125
|
+
sr: ["sr", "sr-Latn"],
|
|
124
126
|
sv: ["sv"],
|
|
125
127
|
sw: [
|
|
126
128
|
"sw",
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../src/supportedLocales.ts","../src/index.ts"],"sourcesContent":["const supportedLocales = {\n af: ['af'], // Afrikaans\n am: ['am'], // Amharic\n ar: [\n // Arabic\n 'ar',\n 'ar-AE', // United Arab Emirates\n 'ar-EG', // Egypt\n 'ar-LB', // Lebanon\n 'ar-MA', // Morocco\n 'ar-OM', // Oman\n 'ar-SA', // Saudi Arabia\n ],\n az: ['az'], // Azerbaijani\n bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: [\n // Catalan\n 'ca',\n 'ca-ES', // Spain\n ],\n cnr: ['cnr'], // Montenegrin\n cs: ['cs'], // Czech\n cy: ['cy'], // Welsh\n da: ['da'], // Danish\n de: [\n // German\n 'de',\n 'de-DE', // Germany\n 'de-AT', // Austria\n 'de-CH', // Switzerland\n ],\n el: [\n // Greek\n 'el',\n 'el-GR', // Greece\n 'el-CY', // Cyprus\n ],\n en: [\n // English\n 'en',\n 'en-AU', // Australia\n 'en-CA', // Canada\n 'en-GB', // United Kingdom\n 'en-MX', // Mexico\n 'en-NZ', // New Zealand\n 'en-US', // United States\n ],\n eo: ['eo'], // Esperanto\n es: [\n // Spanish\n 'es',\n 'es-ES', // Spain\n 'es-419', // Latin America\n 'es-AR', // Argentina\n 'es-CL', // Chile\n 'es-CO', // Colombia\n 'es-MX', // Mexico\n 'es-PE', // Peru\n 'es-US', // United States\n 'es-VE', // Venezuela\n ],\n et: ['et'], // Estonian\n eu: [\n // Basque\n 'eu',\n 'eu-ES', // Spain\n ],\n fa: ['fa'], // Persian\n fi: ['fi'], // Finnish\n fil: ['fil'], // Filipino\n fr: [\n // French\n 'fr',\n 'fr-FR', // France\n 'fr-BE', // Belgium\n 'fr-CM', // Cameroon\n 'fr-CA', // Canada\n 'fr-CH', // Switzerland\n 'fr-SN', // Senegal\n ],\n gl: [\n // Galician\n 'gl',\n 'gl-ES', // Spain\n ],\n gu: ['gu'], // Gujarati\n ha: ['ha'], // Hausa\n hi: ['hi'], // Hindi\n he: ['he'], // Hebrew\n hr: ['hr'], // Croatian\n hu: ['hu'], // Hungarian\n hy: ['hy'], // Armenian\n id: ['id'], // Indonesian\n ig: ['ig'], // Igbo\n is: ['is'], // Icelandic\n it: [\n // Italian\n 'it',\n 'it-IT', // Italy\n 'it-CH', // Switzerland\n ],\n ja: ['ja'], // Japanese\n ka: ['ka'], // Georgian\n kk: ['kk'], // Kazakh\n kn: ['kn'], // Kannada\n ko: ['ko'], // Korean\n la: ['la'], // Latin\n lt: ['lt'], // Lithuanian\n lv: ['lv'], // Latvian\n mk: ['mk'], // Macedonian\n ml: ['ml'], // Malayalam\n mn: ['mn'], // Mongolian\n mr: ['mr'], // Marathi\n ms: ['ms'], // Malay\n my: ['my'], // Burmese\n nl: [\n // Dutch\n 'nl',\n 'nl-NL', // Netherlands\n 'nl-BE', // Belgium\n ],\n nb: [\n // Norwegian Bokmål\n 'nb',\n 'nb-NO', // Norway\n ],\n no: [\n // Norwegian\n 'no',\n 'no-NO', // Norway\n ],\n nn: [\n // Norwegian Nynorsk\n 'nn',\n 'nn-NO', // Norway\n ],\n pa: ['pa'], // Punjabi\n pl: ['pl'], // Polish\n pt: [\n // Portuguese\n 'pt',\n 'pt-BR', // Brazil\n 'pt-PT', // Portugal\n ],\n ro: ['ro'], // Romanian\n ru: ['ru'], // Russian\n sk: ['sk'], // Slovak\n sl: ['sl'], // Slovenian\n so: ['so'], // Somali\n sq: ['sq'], // Albanian\n sr: ['sr'
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../src/supportedLocales.ts","../src/index.ts"],"sourcesContent":["const supportedLocales = {\n af: ['af'], // Afrikaans\n am: ['am'], // Amharic\n ar: [\n // Arabic\n 'ar',\n 'ar-AE', // United Arab Emirates\n 'ar-EG', // Egypt\n 'ar-LB', // Lebanon\n 'ar-MA', // Morocco\n 'ar-OM', // Oman\n 'ar-SA', // Saudi Arabia\n ],\n az: ['az'], // Azerbaijani\n be: ['be'], // Belarusian\n bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: [\n // Catalan\n 'ca',\n 'ca-ES', // Spain\n ],\n cnr: ['cnr'], // Montenegrin\n cs: ['cs'], // Czech\n cy: ['cy'], // Welsh\n da: ['da'], // Danish\n de: [\n // German\n 'de',\n 'de-DE', // Germany\n 'de-AT', // Austria\n 'de-CH', // Switzerland\n ],\n el: [\n // Greek\n 'el',\n 'el-GR', // Greece\n 'el-CY', // Cyprus\n ],\n en: [\n // English\n 'en',\n 'en-AU', // Australia\n 'en-CA', // Canada\n 'en-GB', // United Kingdom\n 'en-MX', // Mexico\n 'en-NZ', // New Zealand\n 'en-US', // United States\n ],\n eo: ['eo'], // Esperanto\n es: [\n // Spanish\n 'es',\n 'es-ES', // Spain\n 'es-419', // Latin America\n 'es-AR', // Argentina\n 'es-CL', // Chile\n 'es-CO', // Colombia\n 'es-MX', // Mexico\n 'es-PE', // Peru\n 'es-US', // United States\n 'es-VE', // Venezuela\n ],\n et: ['et'], // Estonian\n eu: [\n // Basque\n 'eu',\n 'eu-ES', // Spain\n ],\n fa: ['fa'], // Persian\n fi: ['fi'], // Finnish\n fil: ['fil'], // Filipino\n fr: [\n // French\n 'fr',\n 'fr-FR', // France\n 'fr-BE', // Belgium\n 'fr-CM', // Cameroon\n 'fr-CA', // Canada\n 'fr-CH', // Switzerland\n 'fr-SN', // Senegal\n ],\n ga: ['ga'], // Irish\n gl: [\n // Galician\n 'gl',\n 'gl-ES', // Spain\n ],\n gu: ['gu'], // Gujarati\n ha: ['ha'], // Hausa\n hi: ['hi'], // Hindi\n he: ['he'], // Hebrew\n hr: ['hr'], // Croatian\n hu: ['hu'], // Hungarian\n hy: ['hy'], // Armenian\n id: ['id'], // Indonesian\n ig: ['ig'], // Igbo\n is: ['is'], // Icelandic\n it: [\n // Italian\n 'it',\n 'it-IT', // Italy\n 'it-CH', // Switzerland\n ],\n ja: ['ja'], // Japanese\n ka: ['ka'], // Georgian\n kk: ['kk'], // Kazakh\n kn: ['kn'], // Kannada\n ko: ['ko'], // Korean\n la: ['la'], // Latin\n lt: ['lt'], // Lithuanian\n lv: ['lv'], // Latvian\n mk: ['mk'], // Macedonian\n ml: ['ml'], // Malayalam\n mn: ['mn'], // Mongolian\n mr: ['mr'], // Marathi\n ms: ['ms'], // Malay\n my: ['my'], // Burmese\n nl: [\n // Dutch\n 'nl',\n 'nl-NL', // Netherlands\n 'nl-BE', // Belgium\n ],\n nb: [\n // Norwegian Bokmål\n 'nb',\n 'nb-NO', // Norway\n ],\n no: [\n // Norwegian\n 'no',\n 'no-NO', // Norway\n ],\n nn: [\n // Norwegian Nynorsk\n 'nn',\n 'nn-NO', // Norway\n ],\n pa: ['pa'], // Punjabi\n pl: ['pl'], // Polish\n pt: [\n // Portuguese\n 'pt',\n 'pt-BR', // Brazil\n 'pt-PT', // Portugal\n ],\n ro: ['ro'], // Romanian\n ru: ['ru'], // Russian\n sk: ['sk'], // Slovak\n sl: ['sl'], // Slovenian\n so: ['so'], // Somali\n sq: ['sq'], // Albanian\n sr: [\n // Serbian\n 'sr',\n 'sr-Latn', // Latin script\n ],\n sv: ['sv'], // Swedish\n sw: [\n // Swahili\n 'sw',\n 'sw-KE', // Kenya\n 'sw-TZ', // Tanzania\n ],\n ta: ['ta'], // Tamil\n te: ['te'], // Telugu\n th: ['th'], // Thai\n tl: ['tl'], // Tagalog\n tr: ['tr'], // Turkish\n uk: ['uk'], // Ukrainian\n ur: ['ur'], // Urdu\n uz: ['uz'], // Uzbek\n vi: ['vi'], // Vietnamese\n yo: ['yo'], // Yoruba\n zgh: ['zgh'], // Standard Moroccan Tamazight\n zh: [\n // Chinese\n 'zh',\n 'zh-CN', // China\n 'zh-Hans', // Simplified Chinese\n 'zh-Hant', // Traditional Chinese\n 'zh-HK', // Hong Kong\n 'zh-SG', // Singapore\n 'zh-TW', // Taiwan\n ],\n // Experimental custom locales\n // (possible custom locales, qaa-qtz)\n // Do not use unless you are prepared for strange results\n qbr: ['qbr'],\n} as {\n [language: string]: string[];\n};\n\nexport default supportedLocales;\n","import supportedLocales from './supportedLocales';\nimport {\n getLocaleProperties,\n isValidLocale,\n standardizeLocale,\n} from 'generaltranslation';\n\n/**\n * @function getSupportedLocale\n * @description\n * Takes an arbitrary locale string, validates and standardizes it, and then attempts to map it\n * to a supported locale code based on a predefined list of locales. If the exact locale is supported,\n * it returns that locale directly. Otherwise, it attempts to find a compatible fallback by:\n * 1. Checking if the language portion is supported.\n * 2. Checking if a minimized form (e.g. \"en\" for \"en-US\") is supported.\n * If no supported match is found, it returns null.\n *\n * @param {string} locale - The locale string to check (e.g., \"en-Latn-US\").\n * @returns {string | null} A valid supported locale code if matched, otherwise null.\n */\nexport function getSupportedLocale(locale: string): string | null {\n // Validate and standardize\n if (!isValidLocale(locale)) return null;\n locale = standardizeLocale(locale);\n\n // Check if there's support for the general language code\n const { languageCode, ...codes } = getLocaleProperties(locale);\n\n if (supportedLocales[languageCode]?.length) {\n const exactSupportedLocales = supportedLocales[languageCode];\n\n const getMatchingCode = ({\n locale,\n languageCode,\n minimizedCode,\n regionCode,\n scriptCode,\n }: {\n locale: string;\n languageCode: string;\n minimizedCode: string;\n regionCode: string;\n scriptCode: string;\n }) => {\n const locales = [\n locale, // If the full locale is supported under this language category\n `${languageCode}-${regionCode}`, // Attempt to match parts\n `${languageCode}-${scriptCode}`,\n minimizedCode, // If a minimized variant of this locale is supported\n ];\n for (const l of locales) {\n if (exactSupportedLocales.includes(l)) return l;\n }\n return null;\n };\n\n const matchingCode =\n getMatchingCode({ locale, languageCode, ...codes }) ||\n getMatchingCode({\n locale: languageCode,\n ...getLocaleProperties(languageCode),\n });\n return matchingCode;\n }\n\n // No match found; return null\n return null;\n}\n\n/**\n * Generates a sorted list of supported locales.\n * @returns {string[]} A sorted array containing the supported base languages and their specific locales.\n */\nexport function listSupportedLocales(): string[] {\n const list: string[] = [];\n for (const localeList of Object.values(supportedLocales)) {\n list.push(...localeList); // Add each locale in the list\n }\n return list.sort();\n}\n"],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -13,6 +13,7 @@ const supportedLocales = {
|
|
|
13
13
|
"ar-SA"
|
|
14
14
|
],
|
|
15
15
|
az: ["az"],
|
|
16
|
+
be: ["be"],
|
|
16
17
|
bg: ["bg"],
|
|
17
18
|
bn: ["bn"],
|
|
18
19
|
bs: ["bs"],
|
|
@@ -68,6 +69,7 @@ const supportedLocales = {
|
|
|
68
69
|
"fr-CH",
|
|
69
70
|
"fr-SN"
|
|
70
71
|
],
|
|
72
|
+
ga: ["ga"],
|
|
71
73
|
gl: ["gl", "gl-ES"],
|
|
72
74
|
gu: ["gu"],
|
|
73
75
|
ha: ["ha"],
|
|
@@ -119,7 +121,7 @@ const supportedLocales = {
|
|
|
119
121
|
sl: ["sl"],
|
|
120
122
|
so: ["so"],
|
|
121
123
|
sq: ["sq"],
|
|
122
|
-
sr: ["sr"],
|
|
124
|
+
sr: ["sr", "sr-Latn"],
|
|
123
125
|
sv: ["sv"],
|
|
124
126
|
sw: [
|
|
125
127
|
"sw",
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../src/supportedLocales.ts","../src/index.ts"],"sourcesContent":["const supportedLocales = {\n af: ['af'], // Afrikaans\n am: ['am'], // Amharic\n ar: [\n // Arabic\n 'ar',\n 'ar-AE', // United Arab Emirates\n 'ar-EG', // Egypt\n 'ar-LB', // Lebanon\n 'ar-MA', // Morocco\n 'ar-OM', // Oman\n 'ar-SA', // Saudi Arabia\n ],\n az: ['az'], // Azerbaijani\n bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: [\n // Catalan\n 'ca',\n 'ca-ES', // Spain\n ],\n cnr: ['cnr'], // Montenegrin\n cs: ['cs'], // Czech\n cy: ['cy'], // Welsh\n da: ['da'], // Danish\n de: [\n // German\n 'de',\n 'de-DE', // Germany\n 'de-AT', // Austria\n 'de-CH', // Switzerland\n ],\n el: [\n // Greek\n 'el',\n 'el-GR', // Greece\n 'el-CY', // Cyprus\n ],\n en: [\n // English\n 'en',\n 'en-AU', // Australia\n 'en-CA', // Canada\n 'en-GB', // United Kingdom\n 'en-MX', // Mexico\n 'en-NZ', // New Zealand\n 'en-US', // United States\n ],\n eo: ['eo'], // Esperanto\n es: [\n // Spanish\n 'es',\n 'es-ES', // Spain\n 'es-419', // Latin America\n 'es-AR', // Argentina\n 'es-CL', // Chile\n 'es-CO', // Colombia\n 'es-MX', // Mexico\n 'es-PE', // Peru\n 'es-US', // United States\n 'es-VE', // Venezuela\n ],\n et: ['et'], // Estonian\n eu: [\n // Basque\n 'eu',\n 'eu-ES', // Spain\n ],\n fa: ['fa'], // Persian\n fi: ['fi'], // Finnish\n fil: ['fil'], // Filipino\n fr: [\n // French\n 'fr',\n 'fr-FR', // France\n 'fr-BE', // Belgium\n 'fr-CM', // Cameroon\n 'fr-CA', // Canada\n 'fr-CH', // Switzerland\n 'fr-SN', // Senegal\n ],\n gl: [\n // Galician\n 'gl',\n 'gl-ES', // Spain\n ],\n gu: ['gu'], // Gujarati\n ha: ['ha'], // Hausa\n hi: ['hi'], // Hindi\n he: ['he'], // Hebrew\n hr: ['hr'], // Croatian\n hu: ['hu'], // Hungarian\n hy: ['hy'], // Armenian\n id: ['id'], // Indonesian\n ig: ['ig'], // Igbo\n is: ['is'], // Icelandic\n it: [\n // Italian\n 'it',\n 'it-IT', // Italy\n 'it-CH', // Switzerland\n ],\n ja: ['ja'], // Japanese\n ka: ['ka'], // Georgian\n kk: ['kk'], // Kazakh\n kn: ['kn'], // Kannada\n ko: ['ko'], // Korean\n la: ['la'], // Latin\n lt: ['lt'], // Lithuanian\n lv: ['lv'], // Latvian\n mk: ['mk'], // Macedonian\n ml: ['ml'], // Malayalam\n mn: ['mn'], // Mongolian\n mr: ['mr'], // Marathi\n ms: ['ms'], // Malay\n my: ['my'], // Burmese\n nl: [\n // Dutch\n 'nl',\n 'nl-NL', // Netherlands\n 'nl-BE', // Belgium\n ],\n nb: [\n // Norwegian Bokmål\n 'nb',\n 'nb-NO', // Norway\n ],\n no: [\n // Norwegian\n 'no',\n 'no-NO', // Norway\n ],\n nn: [\n // Norwegian Nynorsk\n 'nn',\n 'nn-NO', // Norway\n ],\n pa: ['pa'], // Punjabi\n pl: ['pl'], // Polish\n pt: [\n // Portuguese\n 'pt',\n 'pt-BR', // Brazil\n 'pt-PT', // Portugal\n ],\n ro: ['ro'], // Romanian\n ru: ['ru'], // Russian\n sk: ['sk'], // Slovak\n sl: ['sl'], // Slovenian\n so: ['so'], // Somali\n sq: ['sq'], // Albanian\n sr: ['sr'
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../src/supportedLocales.ts","../src/index.ts"],"sourcesContent":["const supportedLocales = {\n af: ['af'], // Afrikaans\n am: ['am'], // Amharic\n ar: [\n // Arabic\n 'ar',\n 'ar-AE', // United Arab Emirates\n 'ar-EG', // Egypt\n 'ar-LB', // Lebanon\n 'ar-MA', // Morocco\n 'ar-OM', // Oman\n 'ar-SA', // Saudi Arabia\n ],\n az: ['az'], // Azerbaijani\n be: ['be'], // Belarusian\n bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: [\n // Catalan\n 'ca',\n 'ca-ES', // Spain\n ],\n cnr: ['cnr'], // Montenegrin\n cs: ['cs'], // Czech\n cy: ['cy'], // Welsh\n da: ['da'], // Danish\n de: [\n // German\n 'de',\n 'de-DE', // Germany\n 'de-AT', // Austria\n 'de-CH', // Switzerland\n ],\n el: [\n // Greek\n 'el',\n 'el-GR', // Greece\n 'el-CY', // Cyprus\n ],\n en: [\n // English\n 'en',\n 'en-AU', // Australia\n 'en-CA', // Canada\n 'en-GB', // United Kingdom\n 'en-MX', // Mexico\n 'en-NZ', // New Zealand\n 'en-US', // United States\n ],\n eo: ['eo'], // Esperanto\n es: [\n // Spanish\n 'es',\n 'es-ES', // Spain\n 'es-419', // Latin America\n 'es-AR', // Argentina\n 'es-CL', // Chile\n 'es-CO', // Colombia\n 'es-MX', // Mexico\n 'es-PE', // Peru\n 'es-US', // United States\n 'es-VE', // Venezuela\n ],\n et: ['et'], // Estonian\n eu: [\n // Basque\n 'eu',\n 'eu-ES', // Spain\n ],\n fa: ['fa'], // Persian\n fi: ['fi'], // Finnish\n fil: ['fil'], // Filipino\n fr: [\n // French\n 'fr',\n 'fr-FR', // France\n 'fr-BE', // Belgium\n 'fr-CM', // Cameroon\n 'fr-CA', // Canada\n 'fr-CH', // Switzerland\n 'fr-SN', // Senegal\n ],\n ga: ['ga'], // Irish\n gl: [\n // Galician\n 'gl',\n 'gl-ES', // Spain\n ],\n gu: ['gu'], // Gujarati\n ha: ['ha'], // Hausa\n hi: ['hi'], // Hindi\n he: ['he'], // Hebrew\n hr: ['hr'], // Croatian\n hu: ['hu'], // Hungarian\n hy: ['hy'], // Armenian\n id: ['id'], // Indonesian\n ig: ['ig'], // Igbo\n is: ['is'], // Icelandic\n it: [\n // Italian\n 'it',\n 'it-IT', // Italy\n 'it-CH', // Switzerland\n ],\n ja: ['ja'], // Japanese\n ka: ['ka'], // Georgian\n kk: ['kk'], // Kazakh\n kn: ['kn'], // Kannada\n ko: ['ko'], // Korean\n la: ['la'], // Latin\n lt: ['lt'], // Lithuanian\n lv: ['lv'], // Latvian\n mk: ['mk'], // Macedonian\n ml: ['ml'], // Malayalam\n mn: ['mn'], // Mongolian\n mr: ['mr'], // Marathi\n ms: ['ms'], // Malay\n my: ['my'], // Burmese\n nl: [\n // Dutch\n 'nl',\n 'nl-NL', // Netherlands\n 'nl-BE', // Belgium\n ],\n nb: [\n // Norwegian Bokmål\n 'nb',\n 'nb-NO', // Norway\n ],\n no: [\n // Norwegian\n 'no',\n 'no-NO', // Norway\n ],\n nn: [\n // Norwegian Nynorsk\n 'nn',\n 'nn-NO', // Norway\n ],\n pa: ['pa'], // Punjabi\n pl: ['pl'], // Polish\n pt: [\n // Portuguese\n 'pt',\n 'pt-BR', // Brazil\n 'pt-PT', // Portugal\n ],\n ro: ['ro'], // Romanian\n ru: ['ru'], // Russian\n sk: ['sk'], // Slovak\n sl: ['sl'], // Slovenian\n so: ['so'], // Somali\n sq: ['sq'], // Albanian\n sr: [\n // Serbian\n 'sr',\n 'sr-Latn', // Latin script\n ],\n sv: ['sv'], // Swedish\n sw: [\n // Swahili\n 'sw',\n 'sw-KE', // Kenya\n 'sw-TZ', // Tanzania\n ],\n ta: ['ta'], // Tamil\n te: ['te'], // Telugu\n th: ['th'], // Thai\n tl: ['tl'], // Tagalog\n tr: ['tr'], // Turkish\n uk: ['uk'], // Ukrainian\n ur: ['ur'], // Urdu\n uz: ['uz'], // Uzbek\n vi: ['vi'], // Vietnamese\n yo: ['yo'], // Yoruba\n zgh: ['zgh'], // Standard Moroccan Tamazight\n zh: [\n // Chinese\n 'zh',\n 'zh-CN', // China\n 'zh-Hans', // Simplified Chinese\n 'zh-Hant', // Traditional Chinese\n 'zh-HK', // Hong Kong\n 'zh-SG', // Singapore\n 'zh-TW', // Taiwan\n ],\n // Experimental custom locales\n // (possible custom locales, qaa-qtz)\n // Do not use unless you are prepared for strange results\n qbr: ['qbr'],\n} as {\n [language: string]: string[];\n};\n\nexport default supportedLocales;\n","import supportedLocales from './supportedLocales';\nimport {\n getLocaleProperties,\n isValidLocale,\n standardizeLocale,\n} from 'generaltranslation';\n\n/**\n * @function getSupportedLocale\n * @description\n * Takes an arbitrary locale string, validates and standardizes it, and then attempts to map it\n * to a supported locale code based on a predefined list of locales. If the exact locale is supported,\n * it returns that locale directly. Otherwise, it attempts to find a compatible fallback by:\n * 1. Checking if the language portion is supported.\n * 2. Checking if a minimized form (e.g. \"en\" for \"en-US\") is supported.\n * If no supported match is found, it returns null.\n *\n * @param {string} locale - The locale string to check (e.g., \"en-Latn-US\").\n * @returns {string | null} A valid supported locale code if matched, otherwise null.\n */\nexport function getSupportedLocale(locale: string): string | null {\n // Validate and standardize\n if (!isValidLocale(locale)) return null;\n locale = standardizeLocale(locale);\n\n // Check if there's support for the general language code\n const { languageCode, ...codes } = getLocaleProperties(locale);\n\n if (supportedLocales[languageCode]?.length) {\n const exactSupportedLocales = supportedLocales[languageCode];\n\n const getMatchingCode = ({\n locale,\n languageCode,\n minimizedCode,\n regionCode,\n scriptCode,\n }: {\n locale: string;\n languageCode: string;\n minimizedCode: string;\n regionCode: string;\n scriptCode: string;\n }) => {\n const locales = [\n locale, // If the full locale is supported under this language category\n `${languageCode}-${regionCode}`, // Attempt to match parts\n `${languageCode}-${scriptCode}`,\n minimizedCode, // If a minimized variant of this locale is supported\n ];\n for (const l of locales) {\n if (exactSupportedLocales.includes(l)) return l;\n }\n return null;\n };\n\n const matchingCode =\n getMatchingCode({ locale, languageCode, ...codes }) ||\n getMatchingCode({\n locale: languageCode,\n ...getLocaleProperties(languageCode),\n });\n return matchingCode;\n }\n\n // No match found; return null\n return null;\n}\n\n/**\n * Generates a sorted list of supported locales.\n * @returns {string[]} A sorted array containing the supported base languages and their specific locales.\n */\nexport function listSupportedLocales(): string[] {\n const list: string[] = [];\n for (const localeList of Object.values(supportedLocales)) {\n list.push(...localeList); // Add each locale in the list\n }\n return list.sort();\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@generaltranslation/supported-locales",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.41",
|
|
4
4
|
"description": "List of supported locales for General Translation",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"generaltranslation": "9.5.
|
|
41
|
+
"generaltranslation": "9.5.5"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"tsdown": "^0.21.10",
|