@modern-js/plugin-i18n 1.1.0 → 1.1.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/CHANGELOG.md +9 -72
- package/dist/js/modern/index.js +11 -3
- package/dist/js/node/index.js +12 -4
- package/dist/js/treeshaking/index.js +14 -4
- package/package.json +5 -4
- package/src/index.ts +10 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,85 +1,22 @@
|
|
|
1
1
|
# @modern-js/plugin-i18n
|
|
2
2
|
|
|
3
|
-
## 1.1.
|
|
4
|
-
|
|
5
|
-
### Minor Changes
|
|
6
|
-
|
|
7
|
-
- 96119db2: Relese v1.1.0
|
|
8
|
-
|
|
9
|
-
1. 全面支持 Windows 平台
|
|
10
|
-
|
|
11
|
-
ISSUE:
|
|
12
|
-
|
|
13
|
-
- [182](https://github.com/modern-js-dev/modern.js/issues/182)
|
|
14
|
-
- [236](https://github.com/modern-js-dev/modern.js/issues/236)
|
|
15
|
-
|
|
16
|
-
PR
|
|
17
|
-
|
|
18
|
-
- [219](https://github.com/modern-js-dev/modern.js/pull/219)
|
|
19
|
-
- [247](https://github.com/modern-js-dev/modern.js/pull/247)
|
|
20
|
-
- [249](https://github.com/modern-js-dev/modern.js/pull/249)
|
|
21
|
-
- [253](https://github.com/modern-js-dev/modern.js/pull/253)
|
|
22
|
-
- [268](https://github.com/modern-js-dev/modern.js/pull/268)
|
|
23
|
-
- [270](https://github.com/modern-js-dev/modern.js/pull/270)
|
|
24
|
-
- [273](https://github.com/modern-js-dev/modern.js/pull/273)
|
|
25
|
-
- [276](https://github.com/modern-js-dev/modern.js/pull/276)
|
|
26
|
-
|
|
27
|
-
2. 修复 Unbundled 模式启用问题
|
|
28
|
-
|
|
29
|
-
ISSUE
|
|
30
|
-
|
|
31
|
-
- [186](https://github.com/modern-js-dev/modern.js/issues/186)
|
|
32
|
-
- [224](https://github.com/modern-js-dev/modern.js/issues/224)
|
|
33
|
-
- [225](https://github.com/modern-js-dev/modern.js/issues/225)
|
|
34
|
-
- [238](https://github.com/modern-js-dev/modern.js/issues/238)
|
|
35
|
-
|
|
36
|
-
PR
|
|
37
|
-
|
|
38
|
-
- [226](https://github.com/modern-js-dev/modern.js/pull/226)
|
|
39
|
-
- [264](https://github.com/modern-js-dev/modern.js/pull/264)
|
|
40
|
-
- [codesmith-12](https://github.com/modern-js-dev/codesmith/pull/12)
|
|
41
|
-
|
|
42
|
-
3. 修复模块工程方案 .npmignore 文件初始化未生成
|
|
3
|
+
## 1.1.2
|
|
43
4
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- [198](https://github.com/modern-js-dev/modern.js/issues/198)
|
|
47
|
-
|
|
48
|
-
PR
|
|
49
|
-
|
|
50
|
-
- [209](https://github.com/modern-js-dev/modern.js/pull/209)
|
|
51
|
-
|
|
52
|
-
4. 修复 Storybook 使用时浏览器打开页面报错
|
|
53
|
-
|
|
54
|
-
ISSUE
|
|
55
|
-
|
|
56
|
-
- [228](https://github.com/modern-js-dev/modern.js/issues/228)
|
|
57
|
-
|
|
58
|
-
PR
|
|
59
|
-
|
|
60
|
-
- [254](https://github.com/modern-js-dev/modern.js/pull/254)
|
|
61
|
-
|
|
62
|
-
5. 修复 BFF 一体化开发不支持 unbundle 模式
|
|
63
|
-
|
|
64
|
-
ISSUE
|
|
65
|
-
|
|
66
|
-
- [235](https://github.com/modern-js-dev/modern.js/issues/235)
|
|
67
|
-
- [257](https://github.com/modern-js-dev/modern.js/issues/257)
|
|
5
|
+
### Patch Changes
|
|
68
6
|
|
|
69
|
-
|
|
7
|
+
- 5e3de7d8: fix: i18n get message error when system language not zh or en
|
|
70
8
|
|
|
71
|
-
|
|
72
|
-
- [271](https://github.com/modern-js-dev/modern.js/pull/271)
|
|
9
|
+
## 1.1.1
|
|
73
10
|
|
|
74
|
-
|
|
11
|
+
### Patch Changes
|
|
75
12
|
|
|
76
|
-
|
|
13
|
+
- 0fa83663: support more .env files
|
|
77
14
|
|
|
78
|
-
|
|
15
|
+
## 1.1.0
|
|
79
16
|
|
|
80
|
-
|
|
17
|
+
### Minor Changes
|
|
81
18
|
|
|
82
|
-
|
|
19
|
+
- 96119db2: Relese v1.1.0
|
|
83
20
|
|
|
84
21
|
## 1.0.0
|
|
85
22
|
|
package/dist/js/modern/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _get from "lodash/get";
|
|
2
|
-
import { getObjKeyMap } from "./utils
|
|
2
|
+
import { getObjKeyMap } from "./utils";
|
|
3
3
|
|
|
4
4
|
class I18n {
|
|
5
5
|
constructor() {
|
|
@@ -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
|
@@ -7,7 +7,7 @@ exports.I18n = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
9
9
|
|
|
10
|
-
var
|
|
10
|
+
var _utils = require("./utils");
|
|
11
11
|
|
|
12
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
13
|
|
|
@@ -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);
|
|
@@ -45,7 +53,7 @@ class I18n {
|
|
|
45
53
|
this.languageMap = languageMap;
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
return (0,
|
|
56
|
+
return (0, _utils.getObjKeyMap)(this.languageMap[this.language]);
|
|
49
57
|
}
|
|
50
58
|
|
|
51
59
|
changeLanguage(config) {
|
|
@@ -4,9 +4,9 @@ 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
|
-
import { getObjKeyMap } from "./utils
|
|
9
|
+
import { getObjKeyMap } from "./utils";
|
|
10
10
|
|
|
11
11
|
var I18n = /*#__PURE__*/function () {
|
|
12
12
|
function I18n() {
|
|
@@ -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.1.
|
|
14
|
+
"version": "1.1.2",
|
|
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.2.2",
|
|
39
|
+
"@modern-js/module-tools": "^1.1.4"
|
|
40
40
|
},
|
|
41
41
|
"sideEffects": false,
|
|
42
42
|
"modernConfig": {},
|
|
@@ -48,5 +48,6 @@
|
|
|
48
48
|
"new": "modern new",
|
|
49
49
|
"build": "modern build",
|
|
50
50
|
"test": "modern test --passWithNoTests"
|
|
51
|
-
}
|
|
51
|
+
},
|
|
52
|
+
"readme": "\n<p align=\"center\">\n <a href=\"https://modernjs.dev\" target=\"blank\"><img src=\"https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png\" width=\"300\" alt=\"Modern.js Logo\" /></a>\n</p>\n<p align=\"center\">\n现代 Web 工程体系\n <br/>\n <a href=\"https://modernjs.dev\" target=\"blank\">\n modernjs.dev\n </a>\n</p>\n<p align=\"center\">\n The meta-framework suite designed from scratch for frontend-focused modern web development\n</p>\n\n# Introduction\n\n> 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.\n\n- [Modern.js: Hello, World!](https://zhuanlan.zhihu.com/p/426707646)\n\n## Getting Started\n\n- [Quick Start](https://modernjs.dev/docs/start)\n- [Guides](https://modernjs.dev/docs/guides)\n- [API References](https://modernjs.dev/docs/apis)\n\n## Contributing\n\n- [Contributing Guide](https://github.com/modern-js-dev/modern.js/blob/main/CONTRIBUTING.md)\n"
|
|
52
53
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { get } from 'lodash';
|
|
2
|
-
import { getObjKeyMap } from './utils
|
|
2
|
+
import { getObjKeyMap } from './utils';
|
|
3
3
|
|
|
4
4
|
type Language = string;
|
|
5
5
|
|
|
@@ -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;
|