@libs-ui/utils 0.2.355-2 → 0.2.355-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/esm2022/language.mjs +17 -3
- package/fesm2022/libs-ui-utils.mjs +16 -2
- package/fesm2022/libs-ui-utils.mjs.map +1 -1
- package/language.d.ts +5 -2
- package/package.json +2 -2
package/esm2022/language.mjs
CHANGED
|
@@ -27,7 +27,15 @@ export class UtilsLanguageConstants {
|
|
|
27
27
|
static JV = 'jv'; // Tiếng Java (Indonesia)
|
|
28
28
|
static SU = 'su'; // Tiếng Sundanese (Indonesia)
|
|
29
29
|
// Ngôn ngữ mặc định
|
|
30
|
-
static
|
|
30
|
+
static browserLang = 'navigator' in window ? navigator.language || UtilsLanguageConstants.VI : UtilsLanguageConstants.VI;
|
|
31
|
+
static defaultLang = () => {
|
|
32
|
+
const browserLang = 'navigator' in window ? navigator.language || UtilsLanguageConstants.VI : UtilsLanguageConstants.VI;
|
|
33
|
+
const lang = browserLang.split('-')[0] || UtilsLanguageConstants.VI;
|
|
34
|
+
if (UtilsLanguageConstants.isSupported(lang)) {
|
|
35
|
+
return lang;
|
|
36
|
+
}
|
|
37
|
+
return UtilsLanguageConstants.VI;
|
|
38
|
+
};
|
|
31
39
|
// Danh sách các ngôn ngữ được hỗ trợ
|
|
32
40
|
static supportedLanguages = new Set([
|
|
33
41
|
UtilsLanguageConstants.VI,
|
|
@@ -58,13 +66,19 @@ export class UtilsLanguageConstants {
|
|
|
58
66
|
UtilsLanguageConstants.JV,
|
|
59
67
|
UtilsLanguageConstants.SU,
|
|
60
68
|
]);
|
|
69
|
+
static setSupportedLanguages(languages) {
|
|
70
|
+
if (languages.length === 0) {
|
|
71
|
+
throw new Error('Languages is required');
|
|
72
|
+
}
|
|
73
|
+
this.supportedLanguages = new Set(languages);
|
|
74
|
+
}
|
|
61
75
|
/**
|
|
62
76
|
* Kiểm tra xem ngôn ngữ đầu vào có được hỗ trợ không
|
|
63
77
|
* @param lang Mã ngôn ngữ cần kiểm tra
|
|
64
78
|
* @returns True nếu được hỗ trợ, False nếu không
|
|
65
79
|
*/
|
|
66
80
|
static isSupported(lang) {
|
|
67
|
-
return
|
|
81
|
+
return this.supportedLanguages.has(lang);
|
|
68
82
|
}
|
|
69
83
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzLXVpL3V0aWxzL3NyYy9sYW5ndWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sc0JBQXNCO0lBQzFCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsYUFBYTtJQUMvQixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7SUFDOUIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxhQUFhO0lBQy9CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsWUFBWTtJQUM5QixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLG9CQUFvQjtJQUN0QyxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLHlCQUF5QjtJQUMzQyxNQUFNLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLHlCQUF5QjtJQUNqRCxNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLGFBQWE7SUFDL0IsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxZQUFZO0lBQzlCLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsWUFBWTtJQUM5QixNQUFNLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVU7SUFDNUIsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxtQkFBbUI7SUFDckMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxhQUFhO0lBQy9CLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsa0JBQWtCO0lBQ3BDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsaUJBQWlCO0lBQ25DLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsY0FBYztJ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LEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVk7UUFDcEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUWVBFX0xBTkdVQUdFX1NVUFBPUlQgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcblxuZXhwb3J0IGNsYXNzIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMge1xuICBwdWJsaWMgc3RhdGljIFZJID0gJ3ZpJzsgLy8gVGnhur9uZyBWaeG7h3RcbiAgcHVibGljIHN0YXRpYyBFTiA9ICdlbic7IC8vIFRp4bq/bmcgQW5oXG4gIHB1YmxpYyBzdGF0aWMgRlIgPSAnZnInOyAvLyBUaeG6v25nIFBow6FwXG4gIHB1YmxpYyBzdGF0aWMgREUgPSAnZGUnOyAvLyBUaeG6v25nIMSQ4bupY1xuICBwdWJsaWMgc3RhdGljIEVTID0gJ2VzJzsgLy8gVGnhur9uZyBUw6J5IEJhbiBOaGFcbiAgcHVibGljIHN0YXRpYyBaSCA9ICd6aCc7IC8vIFRp4bq/bmcgVHJ1bmcgKEdp4bqjbiB0aOG7gylcbiAgcHVibGljIHN0YXRpYyBaSF9UVyA9ICd6aC1UVyc7IC8vIFRp4bq/bmcgVHJ1bmcgKFBo4buTbiB0aOG7gylcbiAgcHVibGljIHN0YXRpYyBKQSA9ICdqYSc7IC8vIFRp4bq/bmcgTmjhuq10XG4gIHB1YmxpYyBzdGF0aWMgS08gPSAna28nOyAvLyBUaeG6v25nIEjDoG5cbiAgcHVibGljIHN0YXRpYyBSVSA9ICdydSc7IC8vIFRp4bq/bmcgTmdhXG4gIHB1YmxpYyBzdGF0aWMgSVQgPSAnaXQnOyAvLyBUaeG6v25nIMOdXG4gIHB1YmxpYyBzdGF0aWMgUFQgPSAncHQnOyAvLyBUaeG6v25nIELhu5MgxJDDoG8gTmhhXG4gIHB1YmxpYyBzdGF0aWMgVEggPSAndGgnOyAvLyBUaeG6v25nIFRow6FpXG4gIHB1YmxpYyBzdGF0aWMgSUQgPSAnaWQnOyAvLyBUaeG6v25nIEluZG9uZXNpYVxuICBwdWJsaWMgc3RhdGljIE1TID0gJ21zJzsgLy8gVGnhur9uZyBNYWxheXNpYVxuICBwdWJsaWMgc3RhdGljIEFSID0gJ2FyJzsgLy8gVGnhur9uZyDhuqIgUuG6rXBcbiAgcHVibGljIHN0YXRpYyBISSA9ICdoaSc7IC8vIFRp4bq/bmcgSGluZGlcbiAgcHVibGljIHN0YXRpYyBCTiA9ICdibic7IC8vIFRp4bq/bmcgQmVuZ2FsXG4gIHB1YmxpYyBzdGF0aWMgVFIgPSAndHInOyAvLyBUaeG6v25nIFRo4buVIE5oxKkgS+G7s1xuICBwdWJsaWMgc3RhdGljIE5MID0gJ25sJzsgLy8gVGnhur9uZyBIw6AgTGFuXG4gIHB1YmxpYyBzdGF0aWMgS00gPSAna20nOyAvLyBUaeG6v25nIEtobWVyIChDYW1wdWNoaWEpXG4gIHB1YmxpYyBzdGF0aWMgTE8gPSAnbG8nOyAvLyBUaeG6v25nIEzDoG9cbiAgcHVibGljIHN0YXRpYyBNWSA9ICdteSc7IC8vIFRp4bq/bmcgTWnhur9uIMSQaeG7h24gKE15YW5tYXIpXG4gIHB1YmxpYyBzdGF0aWMgVEwgPSAndGwnOyAvLyBUaeG6v25nIFRhZ2Fsb2cgKFBoaWxpcHBpbmVzKVxuICBwdWJsaWMgc3RhdGljIENFQiA9ICdjZWInOyAvLyBUaeG6v25nIENlYnVhbm8gKFBoaWxpcHBpbmVzKVxuICBwdWJsaWMgc3RhdGljIEpWID0gJ2p2JzsgLy8gVGnhur9uZyBKYXZhIChJbmRvbmVzaWEpXG4gIHB1YmxpYyBzdGF0aWMgU1UgPSAnc3UnOyAvLyBUaeG6v25nIFN1bmRhbmVzZSAoSW5kb25lc2lhKVxuXG4gIC8vIE5nw7RuIG5n4buvIG3hurdjIMSR4buLbmhcbiAgcHVibGljIHN0YXRpYyBicm93c2VyTGFuZyA9ICduYXZpZ2F0b3InIGluIHdpbmRvdyA/IG5hdmlnYXRvci5sYW5ndWFnZSB8fCBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlZJIDogVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSTtcblxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRMYW5nID0gKCk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgYnJvd3NlckxhbmcgPSAnbmF2aWdhdG9yJyBpbiB3aW5kb3cgPyBuYXZpZ2F0b3IubGFuZ3VhZ2UgfHwgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSSA6IFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVkk7XG4gICAgY29uc3QgbGFuZyA9IGJyb3dzZXJMYW5nLnNwbGl0KCctJylbMF0gfHwgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSTtcbiAgICBpZiAoVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5pc1N1cHBvcnRlZChsYW5nKSkge1xuICAgICAgcmV0dXJuIGxhbmcgYXMgVFlQRV9MQU5HVUFHRV9TVVBQT1JUO1xuICAgIH1cbiAgICByZXR1cm4gVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSSBhcyBUWVBFX0xBTkdVQUdFX1NVUFBPUlQ7XG4gIH07XG5cbiAgLy8gRGFuaCBzw6FjaCBjw6FjIG5nw7RuIG5n4buvIMSRxrDhu6NjIGjhu5cgdHLhu6NcbiAgcHJpdmF0ZSBzdGF0aWMgc3VwcG9ydGVkTGFuZ3VhZ2VzID0gbmV3IFNldChbXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5WSSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkVOLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuRlIsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5ERSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkVTLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuWkgsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5aSF9UVyxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkpBLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuS08sXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5SVSxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLklULFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuUFQsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5USCxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLklELFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuTVMsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5BUixcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLkhJLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuQk4sXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5UUixcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLk5MLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuS00sXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5MTyxcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLk1ZLFxuICAgIFV0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVEwsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5DRUIsXG4gICAgVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5KVixcbiAgICBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlNVLFxuICBdKTtcblxuICBwdWJsaWMgc3RhdGljIHNldFN1cHBvcnRlZExhbmd1YWdlcyhsYW5ndWFnZXM6IEFycmF5PFRZUEVfTEFOR1VBR0VfU1VQUE9SVD4pIHtcbiAgICBpZiAobGFuZ3VhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdMYW5ndWFnZXMgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgdGhpcy5zdXBwb3J0ZWRMYW5ndWFnZXMgPSBuZXcgU2V0KGxhbmd1YWdlcyk7XG4gIH1cblxuICAvKipcbiAgICogS2nhu4NtIHRyYSB4ZW0gbmfDtG4gbmfhu68gxJHhuqd1IHbDoG8gY8OzIMSRxrDhu6NjIGjhu5cgdHLhu6Mga2jDtG5nXG4gICAqIEBwYXJhbSBsYW5nIE3DoyBuZ8O0biBuZ+G7ryBj4bqnbiBraeG7g20gdHJhXG4gICAqIEByZXR1cm5zIFRydWUgbuG6v3UgxJHGsOG7o2MgaOG7lyB0cuG7oywgRmFsc2UgbuG6v3Uga2jDtG5nXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzU3VwcG9ydGVkKGxhbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN1cHBvcnRlZExhbmd1YWdlcy5oYXMobGFuZyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -430,7 +430,15 @@ class UtilsLanguageConstants {
|
|
|
430
430
|
static JV = 'jv'; // Tiếng Java (Indonesia)
|
|
431
431
|
static SU = 'su'; // Tiếng Sundanese (Indonesia)
|
|
432
432
|
// Ngôn ngữ mặc định
|
|
433
|
-
static
|
|
433
|
+
static browserLang = 'navigator' in window ? navigator.language || UtilsLanguageConstants.VI : UtilsLanguageConstants.VI;
|
|
434
|
+
static defaultLang = () => {
|
|
435
|
+
const browserLang = 'navigator' in window ? navigator.language || UtilsLanguageConstants.VI : UtilsLanguageConstants.VI;
|
|
436
|
+
const lang = browserLang.split('-')[0] || UtilsLanguageConstants.VI;
|
|
437
|
+
if (UtilsLanguageConstants.isSupported(lang)) {
|
|
438
|
+
return lang;
|
|
439
|
+
}
|
|
440
|
+
return UtilsLanguageConstants.VI;
|
|
441
|
+
};
|
|
434
442
|
// Danh sách các ngôn ngữ được hỗ trợ
|
|
435
443
|
static supportedLanguages = new Set([
|
|
436
444
|
UtilsLanguageConstants.VI,
|
|
@@ -461,13 +469,19 @@ class UtilsLanguageConstants {
|
|
|
461
469
|
UtilsLanguageConstants.JV,
|
|
462
470
|
UtilsLanguageConstants.SU,
|
|
463
471
|
]);
|
|
472
|
+
static setSupportedLanguages(languages) {
|
|
473
|
+
if (languages.length === 0) {
|
|
474
|
+
throw new Error('Languages is required');
|
|
475
|
+
}
|
|
476
|
+
this.supportedLanguages = new Set(languages);
|
|
477
|
+
}
|
|
464
478
|
/**
|
|
465
479
|
* Kiểm tra xem ngôn ngữ đầu vào có được hỗ trợ không
|
|
466
480
|
* @param lang Mã ngôn ngữ cần kiểm tra
|
|
467
481
|
* @returns True nếu được hỗ trợ, False nếu không
|
|
468
482
|
*/
|
|
469
483
|
static isSupported(lang) {
|
|
470
|
-
return
|
|
484
|
+
return this.supportedLanguages.has(lang);
|
|
471
485
|
}
|
|
472
486
|
}
|
|
473
487
|
|