@pisell/utils 1.0.67 → 1.0.70

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/es/locales.js CHANGED
@@ -19,18 +19,37 @@ var locale = 'en';
19
19
  // 当前语言对应的多语言
20
20
  var localeMap = {};
21
21
 
22
- // 语言格式化
22
+ // 语言格式化(兼容 BCP 47,如 ja-JP、pt-BR)
23
23
  var formatLocale = function formatLocale(_locale) {
24
24
  var obj = {
25
- 'en': 'en',
25
+ en: 'en',
26
+ 'en-US': 'en',
27
+ 'en-us': 'en',
26
28
  'zh-CN': 'zh-CN',
29
+ 'zh-cn': 'zh-CN',
27
30
  'zh-HK': 'zh-HK',
31
+ 'zh-hk': 'zh-HK',
28
32
  'zh-TW': 'zh-HK',
29
- 'en-US': 'en',
30
- 'ja': 'ja',
31
- 'pt': 'pt'
33
+ 'zh-tw': 'zh-HK',
34
+ ja: 'ja',
35
+ 'ja-JP': 'ja',
36
+ 'ja-jp': 'ja',
37
+ pt: 'pt',
38
+ 'pt-BR': 'pt',
39
+ 'pt-br': 'pt',
40
+ 'pt-PT': 'pt',
41
+ 'pt-pt': 'pt'
32
42
  };
33
- return obj[_locale] || 'en';
43
+ var direct = obj[_locale];
44
+ if (direct) return direct;
45
+ var norm = String(_locale || '').trim().replace(/_/g, '-').toLowerCase();
46
+ if (obj[norm]) return obj[norm];
47
+ if (norm.startsWith('ja')) return 'ja';
48
+ if (norm.startsWith('pt')) return 'pt';
49
+ if (norm.startsWith('zh-hk') || norm.startsWith('zh-tw')) return 'zh-HK';
50
+ if (norm.startsWith('zh-cn')) return 'zh-CN';
51
+ if (norm.startsWith('en')) return 'en';
52
+ return 'en';
34
53
  };
35
54
 
36
55
  /**
package/lib/locales.js CHANGED
@@ -32,16 +32,35 @@ var localeMaps = {
32
32
  var locale = "en";
33
33
  var localeMap = {};
34
34
  var formatLocale = (_locale) => {
35
- let obj = {
36
- "en": "en",
35
+ const obj = {
36
+ en: "en",
37
+ "en-US": "en",
38
+ "en-us": "en",
37
39
  "zh-CN": "zh-CN",
40
+ "zh-cn": "zh-CN",
38
41
  "zh-HK": "zh-HK",
42
+ "zh-hk": "zh-HK",
39
43
  "zh-TW": "zh-HK",
40
- "en-US": "en",
41
- "ja": "ja",
42
- "pt": "pt"
44
+ "zh-tw": "zh-HK",
45
+ ja: "ja",
46
+ "ja-JP": "ja",
47
+ "ja-jp": "ja",
48
+ pt: "pt",
49
+ "pt-BR": "pt",
50
+ "pt-br": "pt",
51
+ "pt-PT": "pt",
52
+ "pt-pt": "pt"
43
53
  };
44
- return obj[_locale] || "en";
54
+ const direct = obj[_locale];
55
+ if (direct) return direct;
56
+ const norm = String(_locale || "").trim().replace(/_/g, "-").toLowerCase();
57
+ if (obj[norm]) return obj[norm];
58
+ if (norm.startsWith("ja")) return "ja";
59
+ if (norm.startsWith("pt")) return "pt";
60
+ if (norm.startsWith("zh-hk") || norm.startsWith("zh-tw")) return "zh-HK";
61
+ if (norm.startsWith("zh-cn")) return "zh-CN";
62
+ if (norm.startsWith("en")) return "en";
63
+ return "en";
45
64
  };
46
65
  var init = (_localeMaps, _locale) => {
47
66
  locale = formatLocale(_locale);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/utils",
3
- "version": "1.0.67",
3
+ "version": "1.0.70",
4
4
  "sideEffects": false,
5
5
  "main": "./lib/index.js",
6
6
  "module": "./es/index.js",