Skip to content

Commit 8c8e7dd

Browse files
committed
feat(spec): add new locales support
1 parent 08967a4 commit 8c8e7dd

2 files changed

Lines changed: 68 additions & 11 deletions

File tree

.changeset/sixty-steaks-destroy.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@replexica/spec": minor
3+
"replexica": minor
4+
"@replexica/cli": minor
5+
---
6+
7+
Added new locales

packages/spec/src/locales.ts

Lines changed: 61 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,63 @@ import Z from 'zod';
33
// Core locales
44
const coreFullLocales = [
55
'en-US', // English (United States)
6+
'en-GB', // English (United Kingdom)
7+
'en-AU', // English (Australia)
8+
'en-CA', // English (Canada)
9+
610
'es-ES', // Spanish (Spain)
11+
'es-MX', // Spanish (Mexico)
12+
'es-AR', // Spanish (Argentina)
13+
714
'fr-FR', // French (France)
8-
'ca-ES', // Catalan (Spain)
9-
'ja-JP', // Japanese (Japan)
15+
'fr-CA', // French (Canada)
16+
'fr-BE', // French (Belgium)
17+
1018
'de-DE', // German (Germany)
19+
'de-AT', // German (Austria)
20+
'de-CH', // German (Switzerland)
21+
1122
'pt-PT', // Portuguese (Portugal)
23+
'pt-BR', // Portuguese (Brazil)
24+
1225
'it-IT', // Italian (Italy)
26+
'it-CH', // Italian (Switzerland)
27+
1328
'ru-RU', // Russian (Russia)
29+
'ru-BY', // Russian (Belarus)
30+
31+
'zh-Hans-CN', // Simplified Chinese (China)
32+
'zh-Hant-TW', // Traditional Chinese (Taiwan)
33+
'zh-Hant-HK', // Traditional Chinese (Hong Kong)
34+
35+
'ar-EG', // Arabic (Egypt)
36+
'ar-SA', // Arabic (Saudi Arabia)
37+
'ar-AE', // Arabic (United Arab Emirates)
38+
'ar-MA', // Arabic (Morocco)
39+
40+
'nl-NL', // Dutch (Netherlands)
41+
'nl-BE', // Dutch (Belgium)
42+
43+
'sv-SE', // Swedish (Sweden)
44+
45+
'pl-PL', // Polish (Poland)
46+
47+
'vi-VN', // Vietnamese (Vietnam)
48+
49+
'id-ID', // Indonesian (Indonesia)
50+
51+
'ms-MY', // Malay (Malaysia)
52+
53+
'th-TH', // Thai (Thailand)
54+
55+
'fi-FI', // Finnish (Finland)
56+
57+
'ca-ES', // Catalan (Spain)
58+
'ja-JP', // Japanese (Japan)
1459
'uk-UA', // Ukrainian (Ukraine)
1560
'hi-IN', // Hindi (India)
16-
'zh-Hans-CN', // Simplified Chinese (China)
1761
'ko-KR', // Korean (South Korea)
1862
'tr-TR', // Turkish (Turkey)
19-
'ar-EG', // Arabic (Egypt)
2063
] as const;
2164
const coreShortcutLocales = [
2265
'en', // English
@@ -35,6 +78,13 @@ const coreShortcutLocales = [
3578
'ko', // Korean
3679
'tr', // Turkish
3780
'ar', // Arabic
81+
'nl', // Dutch
82+
'pl', // Polish
83+
'vi', // Vietnamese
84+
'id', // Indonesian
85+
'ms', // Malay
86+
'th', // Thai
87+
'fi', // Finnish
3888
] as const;
3989
const coreLocales = [
4090
...coreFullLocales,
@@ -45,17 +95,12 @@ const coreLocales = [
4595
const sourceOnlyFullLocales = [
4696
'cs-CZ', // Czech (Czech Republic)
4797
'zh-Hant-HK', // Traditional Chinese (Hong Kong)
48-
'pl-PL', // Polish (Poland)
4998
'sk-SK', // Slovak (Slovakia)
50-
'th-TH', // Thai (Thailand)
5199
] as const;
52100
const sourceOnlyShortcutLocales = [
53-
'pl', // Polish
54101
'cs', // Czech
55102
'zh-Hant', // Traditional Chinese
56-
'pl', // Polish
57103
'sk', // Slovak
58-
'th', // Thai
59104
] as const;
60105
const sourceOnlyLocales = [
61106
...sourceOnlyFullLocales,
@@ -125,14 +170,19 @@ const coreLocaleResolutionMap: Record<typeof coreShortcutLocales[number], typeof
125170
ko: 'ko-KR',
126171
tr: 'tr-TR',
127172
ar: 'ar-EG',
173+
nl: 'nl-NL',
174+
pl: 'pl-PL',
175+
vi: 'vi-VN',
176+
id: 'id-ID',
177+
ms: 'ms-MY',
178+
th: 'th-TH',
179+
fi: 'fi-FI',
128180
};
129181

130182
const sourceOnlyLocaleResolutionMap: Record<typeof sourceOnlyShortcutLocales[number], typeof sourceOnlyFullLocales[number]> = {
131-
pl: 'pl-PL',
132183
cs: 'cs-CZ',
133184
'zh-Hant': 'zh-Hant-HK',
134185
sk: 'sk-SK',
135-
th: 'th-TH',
136186
};
137187

138188
const targetOnlyLocaleResolutionMap: Record<typeof targetOnlyShortcutLocales[number], typeof targetOnlyFullLocales[number]> = {

0 commit comments

Comments
 (0)