@lucaapp/service-utils 5.2.0 → 5.3.0
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.
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
* Use this for accurate language detection and future language support planning
|
|
5
5
|
* https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
|
|
6
6
|
*/
|
|
7
|
+
/**
|
|
8
|
+
* Mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
|
|
9
|
+
* COUNTRY_TO_LANGUAGE_MAP[countryCode] = languageCode
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* COUNTRY_TO_LANGUAGE_MAP['DE'] // returns 'de'
|
|
13
|
+
* COUNTRY_TO_LANGUAGE_MAP['FR'] // returns 'fr'
|
|
14
|
+
* COUNTRY_TO_LANGUAGE_MAP['US'] // returns 'en'
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
7
17
|
export declare const COUNTRY_TO_LANGUAGE_MAP: Record<string, string>;
|
|
8
18
|
/**
|
|
9
19
|
* Gets the ACTUAL primary language for a given country code
|
|
@@ -68,8 +78,114 @@ export declare const getLocaleFromCountry: (countryCode?: string | null) => stri
|
|
|
68
78
|
/**
|
|
69
79
|
* Comprehensive mapping of language codes to their English names
|
|
70
80
|
* Includes currently supported languages and potential future additions
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* ENGLISH_LANGUAGE_NAMES['de'] // returns 'German'
|
|
84
|
+
* ENGLISH_LANGUAGE_NAMES['en'] // returns 'English'
|
|
85
|
+
* ENGLISH_LANGUAGE_NAMES['fr'] // returns 'French'
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare const ENGLISH_LANGUAGE_NAMES: {
|
|
89
|
+
de: string;
|
|
90
|
+
en: string;
|
|
91
|
+
fr: string;
|
|
92
|
+
it: string;
|
|
93
|
+
es: string;
|
|
94
|
+
nl: string;
|
|
95
|
+
pl: string;
|
|
96
|
+
cs: string;
|
|
97
|
+
hu: string;
|
|
98
|
+
hr: string;
|
|
99
|
+
ro: string;
|
|
100
|
+
el: string;
|
|
101
|
+
pt: string;
|
|
102
|
+
ar: string;
|
|
103
|
+
zh: string;
|
|
104
|
+
ja: string;
|
|
105
|
+
ko: string;
|
|
106
|
+
ru: string;
|
|
107
|
+
tr: string;
|
|
108
|
+
hi: string;
|
|
109
|
+
sv: string;
|
|
110
|
+
no: string;
|
|
111
|
+
da: string;
|
|
112
|
+
fi: string;
|
|
113
|
+
uk: string;
|
|
114
|
+
he: string;
|
|
115
|
+
th: string;
|
|
116
|
+
vi: string;
|
|
117
|
+
id: string;
|
|
118
|
+
ms: string;
|
|
119
|
+
tl: string;
|
|
120
|
+
is: string;
|
|
121
|
+
et: string;
|
|
122
|
+
lv: string;
|
|
123
|
+
lt: string;
|
|
124
|
+
sk: string;
|
|
125
|
+
sl: string;
|
|
126
|
+
sq: string;
|
|
127
|
+
mk: string;
|
|
128
|
+
sr: string;
|
|
129
|
+
bs: string;
|
|
130
|
+
bg: string;
|
|
131
|
+
be: string;
|
|
132
|
+
mt: string;
|
|
133
|
+
ga: string;
|
|
134
|
+
cy: string;
|
|
135
|
+
gd: string;
|
|
136
|
+
fo: string;
|
|
137
|
+
lb: string;
|
|
138
|
+
bn: string;
|
|
139
|
+
ur: string;
|
|
140
|
+
fa: string;
|
|
141
|
+
ps: string;
|
|
142
|
+
ku: string;
|
|
143
|
+
hy: string;
|
|
144
|
+
ka: string;
|
|
145
|
+
az: string;
|
|
146
|
+
kk: string;
|
|
147
|
+
uz: string;
|
|
148
|
+
tk: string;
|
|
149
|
+
ky: string;
|
|
150
|
+
tg: string;
|
|
151
|
+
mn: string;
|
|
152
|
+
km: string;
|
|
153
|
+
lo: string;
|
|
154
|
+
my: string;
|
|
155
|
+
ne: string;
|
|
156
|
+
si: string;
|
|
157
|
+
ta: string;
|
|
158
|
+
dv: string;
|
|
159
|
+
dz: string;
|
|
160
|
+
sw: string;
|
|
161
|
+
am: string;
|
|
162
|
+
ti: string;
|
|
163
|
+
so: string;
|
|
164
|
+
ha: string;
|
|
165
|
+
yo: string;
|
|
166
|
+
ig: string;
|
|
167
|
+
zu: string;
|
|
168
|
+
xh: string;
|
|
169
|
+
af: string;
|
|
170
|
+
mg: string;
|
|
171
|
+
mi: string;
|
|
172
|
+
sm: string;
|
|
173
|
+
to: string;
|
|
174
|
+
fj: string;
|
|
175
|
+
ht: string;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Type representing all supported language codes (ISO 639-1)
|
|
179
|
+
* This includes all languages that are mapped in the system, providing comprehensive language code support
|
|
180
|
+
* Use this type instead of InternalLanguages for broader language support
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* const langName: string = ENGLISH_LANGUAGE_NAMES['de']; // returns 'German'
|
|
184
|
+
* const langName2: string = ENGLISH_LANGUAGE_NAMES['en']; // returns 'English'
|
|
185
|
+
* const langName3: string = ENGLISH_LANGUAGE_NAMES['fr']; // returns 'French'
|
|
186
|
+
* ```
|
|
71
187
|
*/
|
|
72
|
-
export
|
|
188
|
+
export type LanguageCode = keyof typeof ENGLISH_LANGUAGE_NAMES;
|
|
73
189
|
/**
|
|
74
190
|
* Gets the language name in English for a given language code
|
|
75
191
|
*
|
|
@@ -82,7 +198,7 @@ export declare const ENGLISH_LANGUAGE_NAMES: Record<string, string>;
|
|
|
82
198
|
* getLanguageName('fr') // returns 'French'
|
|
83
199
|
* ```
|
|
84
200
|
*/
|
|
85
|
-
export declare const getLanguageName: (lang:
|
|
201
|
+
export declare const getLanguageName: (lang: LanguageCode) => (typeof ENGLISH_LANGUAGE_NAMES)[LanguageCode];
|
|
86
202
|
/**
|
|
87
203
|
* Comprehensive mapping of language codes to their native names
|
|
88
204
|
* Includes currently supported languages and potential future additions
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCountryName = exports.COUNTRY_NAMES = exports.getNativeLanguageName = exports.NATIVE_LANGUAGE_NAMES = exports.getLanguageName = exports.ENGLISH_LANGUAGE_NAMES = exports.getLocaleFromCountry = exports.getLocalesFromCountry = exports.COUNTRY_TO_LOCALES_MAP = exports.getLanguageFromCountry = exports.COUNTRY_TO_LANGUAGE_MAP = void 0;
|
|
4
2
|
/**
|
|
5
3
|
* Comprehensive mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
|
|
6
4
|
* This maps each country to its real primary language, regardless of whether we support it
|
|
7
5
|
* Use this for accurate language detection and future language support planning
|
|
8
6
|
* https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
|
|
9
7
|
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getCountryName = exports.COUNTRY_NAMES = exports.getNativeLanguageName = exports.NATIVE_LANGUAGE_NAMES = exports.getLanguageName = exports.ENGLISH_LANGUAGE_NAMES = exports.getLocaleFromCountry = exports.getLocalesFromCountry = exports.COUNTRY_TO_LOCALES_MAP = exports.getLanguageFromCountry = exports.COUNTRY_TO_LANGUAGE_MAP = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Mapping of ISO 3166-1 alpha-2 country codes to their ACTUAL primary language
|
|
12
|
+
* COUNTRY_TO_LANGUAGE_MAP[countryCode] = languageCode
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* COUNTRY_TO_LANGUAGE_MAP['DE'] // returns 'de'
|
|
16
|
+
* COUNTRY_TO_LANGUAGE_MAP['FR'] // returns 'fr'
|
|
17
|
+
* COUNTRY_TO_LANGUAGE_MAP['US'] // returns 'en'
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
10
20
|
exports.COUNTRY_TO_LANGUAGE_MAP = {
|
|
11
21
|
// Europe
|
|
12
22
|
AD: 'ca', // Andorra - Catalan
|
|
@@ -483,6 +493,12 @@ exports.getLocaleFromCountry = getLocaleFromCountry;
|
|
|
483
493
|
/**
|
|
484
494
|
* Comprehensive mapping of language codes to their English names
|
|
485
495
|
* Includes currently supported languages and potential future additions
|
|
496
|
+
* @example
|
|
497
|
+
* ```typescript
|
|
498
|
+
* ENGLISH_LANGUAGE_NAMES['de'] // returns 'German'
|
|
499
|
+
* ENGLISH_LANGUAGE_NAMES['en'] // returns 'English'
|
|
500
|
+
* ENGLISH_LANGUAGE_NAMES['fr'] // returns 'French'
|
|
501
|
+
* ```
|
|
486
502
|
*/
|
|
487
503
|
exports.ENGLISH_LANGUAGE_NAMES = {
|
|
488
504
|
de: 'German',
|
|
@@ -537,7 +553,7 @@ exports.ENGLISH_LANGUAGE_NAMES = {
|
|
|
537
553
|
gd: 'Scottish Gaelic',
|
|
538
554
|
fo: 'Faroese',
|
|
539
555
|
lb: 'Luxembourgish',
|
|
540
|
-
//
|
|
556
|
+
// Asian & Middle Eastern Languages
|
|
541
557
|
bn: 'Bengali',
|
|
542
558
|
ur: 'Urdu',
|
|
543
559
|
fa: 'Persian',
|
|
@@ -593,7 +609,7 @@ exports.ENGLISH_LANGUAGE_NAMES = {
|
|
|
593
609
|
* ```
|
|
594
610
|
*/
|
|
595
611
|
const getLanguageName = (lang) => {
|
|
596
|
-
return exports.ENGLISH_LANGUAGE_NAMES[lang
|
|
612
|
+
return exports.ENGLISH_LANGUAGE_NAMES[lang];
|
|
597
613
|
};
|
|
598
614
|
exports.getLanguageName = getLanguageName;
|
|
599
615
|
/**
|
|
@@ -613,7 +629,7 @@ exports.NATIVE_LANGUAGE_NAMES = {
|
|
|
613
629
|
hr: 'Hrvatski', // Croatian
|
|
614
630
|
ro: 'Română', // Romanian
|
|
615
631
|
el: 'Ελληνικά', // Greek
|
|
616
|
-
//
|
|
632
|
+
// Additional
|
|
617
633
|
pt: 'Português', // Portuguese
|
|
618
634
|
ar: 'العربية', // Arabic
|
|
619
635
|
zh: '中文', // Chinese
|
|
@@ -622,14 +638,14 @@ exports.NATIVE_LANGUAGE_NAMES = {
|
|
|
622
638
|
ru: 'Русский', // Russian
|
|
623
639
|
tr: 'Türkçe', // Turkish
|
|
624
640
|
hi: 'हिन्दी', // Hindi
|
|
625
|
-
//
|
|
641
|
+
// Nordic & Regional
|
|
626
642
|
sv: 'Svenska', // Swedish
|
|
627
643
|
no: 'Norsk', // Norwegian
|
|
628
644
|
da: 'Dansk', // Danish
|
|
629
645
|
fi: 'Suomi', // Finnish
|
|
630
646
|
uk: 'Українська', // Ukrainian
|
|
631
647
|
he: 'עברית', // Hebrew
|
|
632
|
-
//
|
|
648
|
+
// Asian Markets
|
|
633
649
|
th: 'ไทย', // Thai
|
|
634
650
|
vi: 'Tiếng Việt', // Vietnamese
|
|
635
651
|
id: 'Bahasa Indonesia', // Indonesian
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Request } from 'express';
|
|
2
|
-
export type InternalLanguages = 'de' | 'en'
|
|
2
|
+
export type InternalLanguages = 'de' | 'en';
|
|
3
3
|
export declare const DEFAULT_LANGUAGE_WHEN_NO_HEADER = "de";
|
|
4
4
|
export declare const DEFAULT_LANGUAGE_WHEN_HEADER = "en";
|
|
5
5
|
export declare const AVAILABLE_LANGUAGES: string[];
|