@modern-js/plugin-i18n 2.48.0 → 2.48.2
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/dist/cjs/index.js +2 -3
- package/dist/esm/index.js +47 -68
- package/dist/esm/languageDetector.js +16 -24
- package/dist/esm-node/index.js +2 -3
- package/package.json +4 -4
package/dist/cjs/index.js
CHANGED
|
@@ -21,7 +21,6 @@ __export(src_exports, {
|
|
|
21
21
|
I18n: () => I18n
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(src_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
var import_lodash = require("@modern-js/utils/lodash");
|
|
26
25
|
var import_utils = require("./utils");
|
|
27
26
|
class I18n {
|
|
@@ -64,8 +63,8 @@ class I18n {
|
|
|
64
63
|
};
|
|
65
64
|
}
|
|
66
65
|
constructor() {
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
this.language = "en";
|
|
67
|
+
this.languageMap = {};
|
|
69
68
|
}
|
|
70
69
|
}
|
|
71
70
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/esm/index.js
CHANGED
|
@@ -1,80 +1,59 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
2
|
import { get } from "@modern-js/utils/lodash";
|
|
5
3
|
import { getObjKeyMap } from "./utils";
|
|
6
4
|
var I18n = /* @__PURE__ */ function() {
|
|
7
5
|
"use strict";
|
|
8
6
|
function I18n2() {
|
|
9
7
|
_class_call_check(this, I18n2);
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
this.language = "en";
|
|
9
|
+
this.languageMap = {};
|
|
12
10
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
var message = get(model, key);
|
|
37
|
-
var value = message || fallbackText || key;
|
|
38
|
-
if (typeof value === "string") {
|
|
39
|
-
return this.format(value, vars || {});
|
|
40
|
-
}
|
|
41
|
-
throw new Error("key is not a string");
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
key: "init",
|
|
46
|
-
value: function init(language, languageMap) {
|
|
47
|
-
this.language = language || "en";
|
|
48
|
-
if (languageMap) {
|
|
49
|
-
this.languageMap = languageMap;
|
|
50
|
-
}
|
|
51
|
-
return getObjKeyMap(this.languageMap[this.language]);
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
key: "changeLanguage",
|
|
56
|
-
value: function changeLanguage(config) {
|
|
57
|
-
this.language = config.locale || "en";
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
key: "t",
|
|
62
|
-
value: function t(key, vars, fallbackText) {
|
|
63
|
-
return this.getMessage(this.language, key, vars, fallbackText);
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
key: "lang",
|
|
68
|
-
value: function lang(lang) {
|
|
69
|
-
var _this = this;
|
|
70
|
-
return {
|
|
71
|
-
t: function(key, vars, fallbackText) {
|
|
72
|
-
return _this.getMessage(lang, key, vars, fallbackText);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
11
|
+
var _proto = I18n2.prototype;
|
|
12
|
+
_proto.format = function format(msg, vars) {
|
|
13
|
+
return msg.replace(/\{(\w+)\}/g, function(_match, capture) {
|
|
14
|
+
return Object.prototype.hasOwnProperty.call(vars, capture) ? vars[capture] : capture;
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
_proto.getMessage = function getMessage(lang, key, vars, fallbackText) {
|
|
18
|
+
var languages = Object.keys(this.languageMap);
|
|
19
|
+
var resultLang = languages.find(function(l) {
|
|
20
|
+
return l === lang;
|
|
21
|
+
});
|
|
22
|
+
if (!resultLang && languages.length === 0) {
|
|
23
|
+
return fallbackText || key;
|
|
24
|
+
}
|
|
25
|
+
var model = this.languageMap[resultLang || "en"];
|
|
26
|
+
if (!model) {
|
|
27
|
+
return fallbackText || key;
|
|
28
|
+
}
|
|
29
|
+
var message = get(model, key);
|
|
30
|
+
var value = message || fallbackText || key;
|
|
31
|
+
if (typeof value === "string") {
|
|
32
|
+
return this.format(value, vars || {});
|
|
76
33
|
}
|
|
77
|
-
|
|
34
|
+
throw new Error("key is not a string");
|
|
35
|
+
};
|
|
36
|
+
_proto.init = function init(language, languageMap) {
|
|
37
|
+
this.language = language || "en";
|
|
38
|
+
if (languageMap) {
|
|
39
|
+
this.languageMap = languageMap;
|
|
40
|
+
}
|
|
41
|
+
return getObjKeyMap(this.languageMap[this.language]);
|
|
42
|
+
};
|
|
43
|
+
_proto.changeLanguage = function changeLanguage(config) {
|
|
44
|
+
this.language = config.locale || "en";
|
|
45
|
+
};
|
|
46
|
+
_proto.t = function t(key, vars, fallbackText) {
|
|
47
|
+
return this.getMessage(this.language, key, vars, fallbackText);
|
|
48
|
+
};
|
|
49
|
+
_proto.lang = function lang(lang) {
|
|
50
|
+
var _this = this;
|
|
51
|
+
return {
|
|
52
|
+
t: function(key, vars, fallbackText) {
|
|
53
|
+
return _this.getMessage(lang, key, vars, fallbackText);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
};
|
|
78
57
|
return I18n2;
|
|
79
58
|
}();
|
|
80
59
|
export {
|
|
@@ -1,34 +1,26 @@
|
|
|
1
1
|
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
2
|
var I18CLILanguageDetector = /* @__PURE__ */ function() {
|
|
4
3
|
"use strict";
|
|
5
4
|
function I18CLILanguageDetector2() {
|
|
6
5
|
_class_call_check(this, I18CLILanguageDetector2);
|
|
7
6
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (!rawLC) {
|
|
13
|
-
return "";
|
|
14
|
-
}
|
|
15
|
-
var LCs = rawLC.split(":");
|
|
16
|
-
var LC = LCs[0].split(".")[0].split("_")[0].split("-")[0];
|
|
17
|
-
if (LC === "C") {
|
|
18
|
-
return "";
|
|
19
|
-
}
|
|
20
|
-
return LC;
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
key: "detect",
|
|
25
|
-
value: function detect() {
|
|
26
|
-
var _process_env_LC_ALL, _ref, _ref1, _ref2;
|
|
27
|
-
var shellLocale = (_ref2 = (_ref1 = (_ref = (_process_env_LC_ALL = process.env.LC_ALL) !== null && _process_env_LC_ALL !== void 0 ? _process_env_LC_ALL : process.env.LC_MESSAGES) !== null && _ref !== void 0 ? _ref : process.env.LANG) !== null && _ref1 !== void 0 ? _ref1 : process.env.LANGUAGE) !== null && _ref2 !== void 0 ? _ref2 : Intl.DateTimeFormat().resolvedOptions().locale;
|
|
28
|
-
return this.formatShellLocale(shellLocale);
|
|
29
|
-
}
|
|
7
|
+
var _proto = I18CLILanguageDetector2.prototype;
|
|
8
|
+
_proto.formatShellLocale = function formatShellLocale(rawLC) {
|
|
9
|
+
if (!rawLC) {
|
|
10
|
+
return "";
|
|
30
11
|
}
|
|
31
|
-
|
|
12
|
+
var LCs = rawLC.split(":");
|
|
13
|
+
var LC = LCs[0].split(".")[0].split("_")[0].split("-")[0];
|
|
14
|
+
if (LC === "C") {
|
|
15
|
+
return "";
|
|
16
|
+
}
|
|
17
|
+
return LC;
|
|
18
|
+
};
|
|
19
|
+
_proto.detect = function detect() {
|
|
20
|
+
var _process_env_LC_ALL, _ref, _ref1, _ref2;
|
|
21
|
+
var shellLocale = (_ref2 = (_ref1 = (_ref = (_process_env_LC_ALL = process.env.LC_ALL) !== null && _process_env_LC_ALL !== void 0 ? _process_env_LC_ALL : process.env.LC_MESSAGES) !== null && _ref !== void 0 ? _ref : process.env.LANG) !== null && _ref1 !== void 0 ? _ref1 : process.env.LANGUAGE) !== null && _ref2 !== void 0 ? _ref2 : Intl.DateTimeFormat().resolvedOptions().locale;
|
|
22
|
+
return this.formatShellLocale(shellLocale);
|
|
23
|
+
};
|
|
32
24
|
return I18CLILanguageDetector2;
|
|
33
25
|
}();
|
|
34
26
|
function getLocaleLanguage() {
|
package/dist/esm-node/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
1
|
import { get } from "@modern-js/utils/lodash";
|
|
3
2
|
import { getObjKeyMap } from "./utils";
|
|
4
3
|
class I18n {
|
|
@@ -41,8 +40,8 @@ class I18n {
|
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
42
|
constructor() {
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
this.language = "en";
|
|
44
|
+
this.languageMap = {};
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
export {
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.48.
|
|
18
|
+
"version": "2.48.2",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -45,15 +45,15 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@swc/helpers": "0.5.3",
|
|
48
|
-
"@modern-js/utils": "2.48.
|
|
48
|
+
"@modern-js/utils": "2.48.2"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@types/jest": "^29",
|
|
52
52
|
"@types/node": "^14",
|
|
53
53
|
"typescript": "^5",
|
|
54
54
|
"jest": "^29",
|
|
55
|
-
"@scripts/build": "2.48.
|
|
56
|
-
"@scripts/jest-config": "2.48.
|
|
55
|
+
"@scripts/build": "2.48.2",
|
|
56
|
+
"@scripts/jest-config": "2.48.2"
|
|
57
57
|
},
|
|
58
58
|
"sideEffects": false,
|
|
59
59
|
"publishConfig": {
|