@generaltranslation/supported-locales 2.1.5 → 2.1.8
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 +121 -0
- package/dist/index.cjs +6 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +6 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,126 @@
|
|
|
1
1
|
# @generaltranslation/supported-locales
|
|
2
2
|
|
|
3
|
+
## 2.1.8
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`3ad93f8`](https://github.com/generaltranslation/gt/commit/3ad93f89da099ef345b707bf37db425662d87e2a)]:
|
|
8
|
+
- generaltranslation@9.0.1
|
|
9
|
+
|
|
10
|
+
## 2.1.7
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [#1873](https://github.com/generaltranslation/gt/pull/1873) [`2e57a08`](https://github.com/generaltranslation/gt/commit/2e57a08a3f8539400f0aef5b90fff25c0a44dce1) Thanks [@ErnestM1234](https://github.com/ErnestM1234)! - Retrigger package publication after repairing release workspace dependency resolution.
|
|
15
|
+
|
|
16
|
+
## 2.1.6
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [#1866](https://github.com/generaltranslation/gt/pull/1866) [`53e61ab`](https://github.com/generaltranslation/gt/commit/53e61abbb4522631f252bcd268eae9c079dd9967) Thanks [@ErnestM1234](https://github.com/ErnestM1234)! - Recover the stable releases skipped after the Odysseus version regression and publish the accumulated package changes under new npm versions.
|
|
21
|
+
|
|
22
|
+
## 2.1.3
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- [#1840](https://github.com/generaltranslation/gt/pull/1840) [`7db86bd`](https://github.com/generaltranslation/gt/commit/7db86bd92be5d09a2da10133dbb873248b0e5a5c) Thanks [@fernando-aviles](https://github.com/fernando-aviles)! - Expand supported locales
|
|
27
|
+
|
|
28
|
+
## 2.1.2
|
|
29
|
+
|
|
30
|
+
### Patch Changes
|
|
31
|
+
|
|
32
|
+
- [#1439](https://github.com/generaltranslation/gt/pull/1439) [`d48604e`](https://github.com/generaltranslation/gt/commit/d48604e2171aa84c76873cacb6eb8d43c2f17546) Thanks [@ErnestM1234](https://github.com/ErnestM1234)! - Trigger an odysseus prerelease patch for all publishable packages.
|
|
33
|
+
|
|
34
|
+
- Updated dependencies [[`b72c30b`](https://github.com/generaltranslation/gt/commit/b72c30bc603562310a51b656fb003f1486315a8a), [`72e9e16`](https://github.com/generaltranslation/gt/commit/72e9e1643797be8e4ae1453897fd0b023fce2674), [`5adeede`](https://github.com/generaltranslation/gt/commit/5adeede157922d547a33a078d0f527f572c9a8b4), [`d48604e`](https://github.com/generaltranslation/gt/commit/d48604e2171aa84c76873cacb6eb8d43c2f17546), [`e12fb17`](https://github.com/generaltranslation/gt/commit/e12fb17d41cfa5fa231e64fe70423434739ea985), [`5752fe8`](https://github.com/generaltranslation/gt/commit/5752fe81bf5b5deaae878638e0de99959bf719be), [`97dc7f4`](https://github.com/generaltranslation/gt/commit/97dc7f4818476a319a54b1519e994a62d5a9a3a5), [`693288d`](https://github.com/generaltranslation/gt/commit/693288d632c42b923920a2fdd9ae2babc1bc28f5), [`2e85ebd`](https://github.com/generaltranslation/gt/commit/2e85ebd1528a4f99a8e36e1d8d6714a639040596), [`d5cf2d3`](https://github.com/generaltranslation/gt/commit/d5cf2d34f412ad49e8b2818fe788b870a5964d65), [`4986567`](https://github.com/generaltranslation/gt/commit/498656728741898a56ae348a536107bd92f95c04), [`795edc8`](https://github.com/generaltranslation/gt/commit/795edc8a2b3e91fc9801d726f4b5cd6fbbc98fb0)]:
|
|
35
|
+
- generaltranslation@9.0.0
|
|
36
|
+
|
|
37
|
+
## 2.1.2-odysseus.6
|
|
38
|
+
|
|
39
|
+
### Patch Changes
|
|
40
|
+
|
|
41
|
+
- Updated dependencies [b72c30b]
|
|
42
|
+
- Updated dependencies [d5cf2d3]
|
|
43
|
+
- generaltranslation@9.0.0-odysseus.6
|
|
44
|
+
|
|
45
|
+
## 2.1.2-odysseus.5
|
|
46
|
+
|
|
47
|
+
### Patch Changes
|
|
48
|
+
|
|
49
|
+
- Updated dependencies [72e9e16]
|
|
50
|
+
- Updated dependencies [5adeede]
|
|
51
|
+
- Updated dependencies [2e85ebd]
|
|
52
|
+
- generaltranslation@9.0.0-odysseus.5
|
|
53
|
+
|
|
54
|
+
## 2.1.2-odysseus.4
|
|
55
|
+
|
|
56
|
+
### Patch Changes
|
|
57
|
+
|
|
58
|
+
- Updated dependencies [26faa87]
|
|
59
|
+
- generaltranslation@9.0.0-odysseus.4
|
|
60
|
+
|
|
61
|
+
## 2.1.2-odysseus.3
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- Updated dependencies [b1eef00]
|
|
66
|
+
- generaltranslation@9.0.0-odysseus.3
|
|
67
|
+
|
|
68
|
+
## 2.1.2-odysseus.2
|
|
69
|
+
|
|
70
|
+
### Patch Changes
|
|
71
|
+
|
|
72
|
+
- Updated dependencies [[`4b97bc3`](https://github.com/generaltranslation/gt/commit/4b97bc360b2869bbb6e5f214589ef84f6d58a660), [`020c6bd`](https://github.com/generaltranslation/gt/commit/020c6bdd8c604bc07d80d75e8ea2ace1e70d7447)]:
|
|
73
|
+
- generaltranslation@9.0.0-odysseus.2
|
|
74
|
+
|
|
75
|
+
## 2.1.2-odysseus.1
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- Updated dependencies [[`87d6320`](https://github.com/generaltranslation/gt/commit/87d6320d271a1bf455f4e283dc1bb23893c7ba64)]:
|
|
80
|
+
- generaltranslation@9.0.0-odysseus.1
|
|
81
|
+
|
|
82
|
+
## 2.1.2-odysseus.0
|
|
83
|
+
|
|
84
|
+
### Patch Changes
|
|
85
|
+
|
|
86
|
+
- [#1508](https://github.com/generaltranslation/gt/pull/1508) [`cc1499d`](https://github.com/generaltranslation/gt/commit/cc1499d12789ffd7ee3c6ca20d2eec734a1c9575) Thanks [@ErnestM1234](https://github.com/ErnestM1234)! - Trigger an odysseus prerelease patch for all publishable packages.
|
|
87
|
+
|
|
88
|
+
- Updated dependencies [[`cc1499d`](https://github.com/generaltranslation/gt/commit/cc1499d12789ffd7ee3c6ca20d2eec734a1c9575), [`bd0d788`](https://github.com/generaltranslation/gt/commit/bd0d7883601a183a31b47b36ea4ea2dca69c62d0)]:
|
|
89
|
+
- generaltranslation@9.0.0-odysseus.0
|
|
90
|
+
|
|
91
|
+
## 2.1.4
|
|
92
|
+
|
|
93
|
+
### Patch Changes
|
|
94
|
+
|
|
95
|
+
- [#1653](https://github.com/generaltranslation/gt/pull/1653) [`a2a3dd0`](https://github.com/generaltranslation/gt/commit/a2a3dd0bcdce9abe360c406a12fc6bb3bc3ca181) Thanks [@fernando-aviles](https://github.com/fernando-aviles)! - Add `ar-OM`
|
|
96
|
+
|
|
97
|
+
## 2.1.3
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- Updated dependencies [[`9709a2f`](https://github.com/generaltranslation/gt/commit/9709a2f2b97b9d8239298e39bb31e57692bbffd8)]:
|
|
102
|
+
- generaltranslation@8.2.18
|
|
103
|
+
|
|
104
|
+
## 2.1.2
|
|
105
|
+
|
|
106
|
+
### Patch Changes
|
|
107
|
+
|
|
108
|
+
- Updated dependencies [[`3197028`](https://github.com/generaltranslation/gt/commit/319702855a7b129f95217d41be9f2402680a2f01)]:
|
|
109
|
+
- generaltranslation@8.2.17
|
|
110
|
+
|
|
111
|
+
## 2.1.1
|
|
112
|
+
|
|
113
|
+
### Patch Changes
|
|
114
|
+
|
|
115
|
+
- Updated dependencies [[`e041312`](https://github.com/generaltranslation/gt/commit/e04131263dd61e469db977bcc196dc1283e773d0)]:
|
|
116
|
+
- generaltranslation@8.2.16
|
|
117
|
+
|
|
118
|
+
## 2.1.0
|
|
119
|
+
|
|
120
|
+
### Minor Changes
|
|
121
|
+
|
|
122
|
+
- [#1429](https://github.com/generaltranslation/gt/pull/1429) [`cc4edc1`](https://github.com/generaltranslation/gt/commit/cc4edc1e40d9977125bf6d053fb7f8cdbdd40b05) Thanks [@bgub](https://github.com/bgub)! - Add Esperanto to the supported locales list.
|
|
123
|
+
|
|
3
124
|
## 2.1.5
|
|
4
125
|
|
|
5
126
|
### Patch Changes
|
package/dist/index.cjs
CHANGED
|
@@ -13,10 +13,12 @@ const supportedLocales = {
|
|
|
13
13
|
"ar-OM",
|
|
14
14
|
"ar-SA"
|
|
15
15
|
],
|
|
16
|
+
az: ["az"],
|
|
16
17
|
bg: ["bg"],
|
|
17
18
|
bn: ["bn"],
|
|
18
19
|
bs: ["bs"],
|
|
19
|
-
ca: ["ca"],
|
|
20
|
+
ca: ["ca", "ca-ES"],
|
|
21
|
+
cnr: ["cnr"],
|
|
20
22
|
cs: ["cs"],
|
|
21
23
|
cy: ["cy"],
|
|
22
24
|
da: ["da"],
|
|
@@ -53,6 +55,7 @@ const supportedLocales = {
|
|
|
53
55
|
"es-VE"
|
|
54
56
|
],
|
|
55
57
|
et: ["et"],
|
|
58
|
+
eu: ["eu", "eu-ES"],
|
|
56
59
|
fa: ["fa"],
|
|
57
60
|
fi: ["fi"],
|
|
58
61
|
fil: ["fil"],
|
|
@@ -65,6 +68,7 @@ const supportedLocales = {
|
|
|
65
68
|
"fr-CH",
|
|
66
69
|
"fr-SN"
|
|
67
70
|
],
|
|
71
|
+
gl: ["gl", "gl-ES"],
|
|
68
72
|
gu: ["gu"],
|
|
69
73
|
ha: ["ha"],
|
|
70
74
|
hi: ["hi"],
|
|
@@ -132,6 +136,7 @@ const supportedLocales = {
|
|
|
132
136
|
uz: ["uz"],
|
|
133
137
|
vi: ["vi"],
|
|
134
138
|
yo: ["yo"],
|
|
139
|
+
zgh: ["zgh"],
|
|
135
140
|
zh: [
|
|
136
141
|
"zh",
|
|
137
142
|
"zh-CN",
|
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 bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: ['ca'], //
|
|
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-EL', // Greek\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-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'], // Serbian\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
|
@@ -12,10 +12,12 @@ const supportedLocales = {
|
|
|
12
12
|
"ar-OM",
|
|
13
13
|
"ar-SA"
|
|
14
14
|
],
|
|
15
|
+
az: ["az"],
|
|
15
16
|
bg: ["bg"],
|
|
16
17
|
bn: ["bn"],
|
|
17
18
|
bs: ["bs"],
|
|
18
|
-
ca: ["ca"],
|
|
19
|
+
ca: ["ca", "ca-ES"],
|
|
20
|
+
cnr: ["cnr"],
|
|
19
21
|
cs: ["cs"],
|
|
20
22
|
cy: ["cy"],
|
|
21
23
|
da: ["da"],
|
|
@@ -52,6 +54,7 @@ const supportedLocales = {
|
|
|
52
54
|
"es-VE"
|
|
53
55
|
],
|
|
54
56
|
et: ["et"],
|
|
57
|
+
eu: ["eu", "eu-ES"],
|
|
55
58
|
fa: ["fa"],
|
|
56
59
|
fi: ["fi"],
|
|
57
60
|
fil: ["fil"],
|
|
@@ -64,6 +67,7 @@ const supportedLocales = {
|
|
|
64
67
|
"fr-CH",
|
|
65
68
|
"fr-SN"
|
|
66
69
|
],
|
|
70
|
+
gl: ["gl", "gl-ES"],
|
|
67
71
|
gu: ["gu"],
|
|
68
72
|
ha: ["ha"],
|
|
69
73
|
hi: ["hi"],
|
|
@@ -131,6 +135,7 @@ const supportedLocales = {
|
|
|
131
135
|
uz: ["uz"],
|
|
132
136
|
vi: ["vi"],
|
|
133
137
|
yo: ["yo"],
|
|
138
|
+
zgh: ["zgh"],
|
|
134
139
|
zh: [
|
|
135
140
|
"zh",
|
|
136
141
|
"zh-CN",
|
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 bg: ['bg'], // Bulgarian\n bn: ['bn'], // Bengali\n bs: ['bs'], // Bosnian\n ca: ['ca'], //
|
|
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-EL', // Greek\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-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'], // Serbian\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.8",
|
|
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": "
|
|
41
|
+
"generaltranslation": "9.0.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"tsdown": "^0.21.10",
|