@modern-js/plugin-i18n 1.0.0 → 1.1.2-beta.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.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -4
- package/dist/js/modern/index.js +10 -2
- package/dist/js/node/index.js +10 -2
- package/dist/js/treeshaking/index.js +13 -3
- package/package.json +3 -3
- package/src/index.ts +9 -2
- package/tests/.eslintrc.js +6 -0
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -17,10 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
> The doc site ([modernjs.dev](https://modernjs.dev)) and articles are only available in Chinese for now, we are planning to add English versions soon.
|
|
19
19
|
|
|
20
|
-
-
|
|
21
|
-
- [迈入现代 Web 开发](https://zhuanlan.zhihu.com/p/386607009)
|
|
22
|
-
- [现代 Web 开发者问卷调查报告](https://zhuanlan.zhihu.com/p/403206195)
|
|
23
|
-
- [字节跳动是如何落地微前端的](https://mp.weixin.qq.com/s/L9wbfNG5fTXF5bx7dcgj4Q)
|
|
20
|
+
- [Modern.js: Hello, World!](https://zhuanlan.zhihu.com/p/426707646)
|
|
24
21
|
|
|
25
22
|
## Getting Started
|
|
26
23
|
|
package/dist/js/modern/index.js
CHANGED
|
@@ -12,10 +12,18 @@ class I18n {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
getMessage(lang, key, vars, fallbackText) {
|
|
15
|
-
|
|
15
|
+
// 判断语言当前语料库是否存在,不存在使用 en 作为默认语言
|
|
16
|
+
const languages = Object.keys(this.languageMap);
|
|
17
|
+
const resultLang = languages.find(l => l === lang);
|
|
18
|
+
|
|
19
|
+
if (!resultLang && languages.length === 0) {
|
|
20
|
+
return fallbackText || key;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const model = this.languageMap[resultLang || 'en' || languages[0]];
|
|
16
24
|
|
|
17
25
|
if (!model) {
|
|
18
|
-
|
|
26
|
+
return fallbackText || key;
|
|
19
27
|
}
|
|
20
28
|
|
|
21
29
|
const message = _get(model, key);
|
package/dist/js/node/index.js
CHANGED
|
@@ -22,10 +22,18 @@ class I18n {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
getMessage(lang, key, vars, fallbackText) {
|
|
25
|
-
|
|
25
|
+
// 判断语言当前语料库是否存在,不存在使用 en 作为默认语言
|
|
26
|
+
const languages = Object.keys(this.languageMap);
|
|
27
|
+
const resultLang = languages.find(l => l === lang);
|
|
28
|
+
|
|
29
|
+
if (!resultLang && languages.length === 0) {
|
|
30
|
+
return fallbackText || key;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const model = this.languageMap[resultLang || 'en' || languages[0]];
|
|
26
34
|
|
|
27
35
|
if (!model) {
|
|
28
|
-
|
|
36
|
+
return fallbackText || key;
|
|
29
37
|
}
|
|
30
38
|
|
|
31
39
|
const message = (0, _get2.default)(model, key);
|
|
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
|
|
|
4
4
|
|
|
5
5
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
6
6
|
|
|
7
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
7
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
8
8
|
|
|
9
9
|
import { getObjKeyMap } from "./utils";
|
|
10
10
|
|
|
@@ -26,10 +26,20 @@ var I18n = /*#__PURE__*/function () {
|
|
|
26
26
|
}, {
|
|
27
27
|
key: "getMessage",
|
|
28
28
|
value: function getMessage(lang, key, vars, fallbackText) {
|
|
29
|
-
|
|
29
|
+
// 判断语言当前语料库是否存在,不存在使用 en 作为默认语言
|
|
30
|
+
var languages = Object.keys(this.languageMap);
|
|
31
|
+
var resultLang = languages.find(function (l) {
|
|
32
|
+
return l === lang;
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
if (!resultLang && languages.length === 0) {
|
|
36
|
+
return fallbackText || key;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
var model = this.languageMap[resultLang || 'en' || languages[0]];
|
|
30
40
|
|
|
31
41
|
if (!model) {
|
|
32
|
-
|
|
42
|
+
return fallbackText || key;
|
|
33
43
|
}
|
|
34
44
|
|
|
35
45
|
var message = _get(model, key);
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.1.2-beta.0",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"@types/lodash": "^4.14.126",
|
|
36
36
|
"@types/node": "^14",
|
|
37
37
|
"typescript": "^4",
|
|
38
|
-
"@modern-js/plugin-testing": "^1.
|
|
39
|
-
"@modern-js/module-tools": "^1.
|
|
38
|
+
"@modern-js/plugin-testing": "^1.1.1",
|
|
39
|
+
"@modern-js/module-tools": "^1.1.1"
|
|
40
40
|
},
|
|
41
41
|
"sideEffects": false,
|
|
42
42
|
"modernConfig": {},
|
package/src/index.ts
CHANGED
|
@@ -43,9 +43,16 @@ class I18n implements TI18n {
|
|
|
43
43
|
vars?: { [key: string]: string },
|
|
44
44
|
fallbackText?: string,
|
|
45
45
|
) {
|
|
46
|
-
|
|
46
|
+
// 判断语言当前语料库是否存在,不存在使用 en 作为默认语言
|
|
47
|
+
const languages = Object.keys(this.languageMap);
|
|
48
|
+
const resultLang = languages.find(l => l === lang);
|
|
49
|
+
if (!resultLang && languages.length === 0) {
|
|
50
|
+
return fallbackText || key;
|
|
51
|
+
}
|
|
52
|
+
const model: LanguageModel =
|
|
53
|
+
this.languageMap[resultLang || 'en' || languages[0]];
|
|
47
54
|
if (!model) {
|
|
48
|
-
|
|
55
|
+
return fallbackText || key;
|
|
49
56
|
}
|
|
50
57
|
const message = get(model, key);
|
|
51
58
|
const value = message || fallbackText || key;
|