@chaoswise/ui 3.1.22 → 3.2.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.
Files changed (45) hide show
  1. package/lib/BasicLayout/Nav.js +3 -1
  2. package/lib/BasicLayout/index.js +7 -10
  3. package/lib/CWMessage/MessageContent/index.js +7 -7
  4. package/lib/CWRangePicker/DropdownMenu/index.js +3 -3
  5. package/lib/CWRangePicker/index.js +7 -7
  6. package/lib/CWRangePicker/utils/generate/dayjs.js +6 -104
  7. package/lib/CWRangePicker/utils/generate/moment.js +6 -104
  8. package/lib/CardSelect/index.js +24 -17
  9. package/lib/CitySelect/index.js +3 -1
  10. package/lib/ConfigProvider/ConfigProvider.js +45 -37
  11. package/lib/ConfigProvider/Switch.js +9 -3
  12. package/lib/ConfigProvider/generate/dayjs.js +67 -16
  13. package/lib/ConfigProvider/generate/moment.js +66 -12
  14. package/lib/ConfigProvider/locale.js +25 -0
  15. package/lib/ErrorBoundary/ErrorPage.js +3 -2
  16. package/lib/Flow/tools/index.js +1 -1
  17. package/lib/Header/LocaleSwitcher.js +8 -13
  18. package/lib/Header/UserSetting/i18n/index.js +9 -0
  19. package/lib/Header/UserSetting/index.js +8 -26
  20. package/lib/IconSelect/components/SearchIcon/index.js +3 -3
  21. package/lib/Pagination/index.js +3 -12
  22. package/lib/SimpleCard/index.js +3 -1
  23. package/lib/SingleSpa/index.js +3 -1
  24. package/lib/ThemeProvider/Switcher.js +3 -1
  25. package/lib/TimeRangeSlider/index.js +7 -7
  26. package/lib/TimeRangeSlider/utils/generate/dayjs.js +6 -90
  27. package/lib/TimeRangeSlider/utils/generate/moment.js +6 -104
  28. package/lib/WangEditor/i18n/extra.js +18 -0
  29. package/lib/WangEditor/i18n/index.js +43 -0
  30. package/lib/WangEditor/i18n/messages.js +52 -0
  31. package/lib/WangEditor/index.js +6 -13
  32. package/lib/WangEditor/locale/index.js +1 -0
  33. package/lib/WangEditor/wangEditor.js +61 -29
  34. package/lib/locales/en_US.json +1 -1
  35. package/lib/locales/index.js +54 -47
  36. package/lib/locales/intl.js +1 -5
  37. package/lib/locales/ja_JP.json +1 -1
  38. package/lib/locales/locale.js +33 -0
  39. package/lib/locales/zh_CN.json +1 -1
  40. package/lib/locales/zh_HK.json +1 -0
  41. package/lib/locales/zh_TW.json +1 -1
  42. package/lib/utils/i18n/getLocaleIntl.js +44 -0
  43. package/lib/utils/i18n/recently.js +52 -0
  44. package/lib/utils/index.js +2 -1
  45. package/package.json +5 -2
@@ -11,7 +11,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
11
11
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
12
12
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
13
13
  // 导出全部 Antd5/config-provider 下的内容
14
- import React, { useState, useEffect, useMemo } from "react";
14
+ import React, { useState, useEffect, useMemo, useCallback } from "react";
15
15
  import ConfigProvider from "../Antd5/config-provider";
16
16
  import { TagInitInstance, injectLocale } from "../locales";
17
17
  // eslint-disable-next-line react-refresh/only-export-components
@@ -23,6 +23,8 @@ import "../Antd5/style/reset.css";
23
23
  import { merge } from "lodash-es";
24
24
  import intlContext from "./intlContext";
25
25
  import { getDateLocal } from "./generate/dayjs";
26
+ import { normalizeLocale } from "../locales/locale";
27
+ import { loadAntdLocale } from "./locale";
26
28
  import { legacyLogicalPropertiesTransformer, StyleProvider } from "@ant-design/cssinjs";
27
29
  var Provider = intlContext.Provider;
28
30
  // 导出intlContext与低版本ui组件同步,@chaoswise/business需要用到
@@ -40,14 +42,29 @@ var CWConfigProvider = function CWConfigProvider(_ref) {
40
42
  _useState2 = _slicedToArray(_useState, 2),
41
43
  loading = _useState2[0],
42
44
  setLoading = _useState2[1];
43
- var _useState3 = useState(defaultLocale || "zh_CN"),
45
+ var _useState3 = useState(function () {
46
+ return normalizeLocale(defaultLocale || "zh_CN");
47
+ }),
44
48
  _useState4 = _slicedToArray(_useState3, 2),
45
49
  currentLocale = _useState4[0],
46
50
  setCurrentLocale = _useState4[1];
47
- var _useState5 = useState(null),
51
+ var _useState5 = useState(currentLocale),
48
52
  _useState6 = _slicedToArray(_useState5, 2),
49
- antdLocale = _useState6[0],
50
- setAntdLocale = _useState6[1];
53
+ appliedLocale = _useState6[0],
54
+ setAppliedLocale = _useState6[1];
55
+ var _useState7 = useState(null),
56
+ _useState8 = _slicedToArray(_useState7, 2),
57
+ antdLocale = _useState8[0],
58
+ setAntdLocale = _useState8[1];
59
+ var _useState9 = useState(null),
60
+ _useState0 = _slicedToArray(_useState9, 2),
61
+ localeError = _useState0[0],
62
+ setLocaleError = _useState0[1];
63
+ var setLocale = useCallback(function (locale) {
64
+ setCurrentLocale(function (previous) {
65
+ return normalizeLocale(typeof locale === "function" ? locale(previous) : locale);
66
+ });
67
+ }, []);
51
68
  var mergeTheme = useMemo(function () {
52
69
  return getFinalTheme(merge({},
53
70
  // 若嵌套主题内层ConfigProvider设置主题hashed为true
@@ -55,46 +72,37 @@ var CWConfigProvider = function CWConfigProvider(_ref) {
55
72
  hashed: false
56
73
  }, theme));
57
74
  }, [theme]);
58
- var injectAntdLocale = function injectAntdLocale() {
59
- if (currentLocale === "zh_CN") {
60
- import("../Antd5/locale/zh_CN").then(function (res) {
61
- setAntdLocale(res["default"]);
62
- });
63
- getDateLocal("zh_CN");
64
- }
65
- if (currentLocale === "en_US") {
66
- import("../Antd5/locale/en_US").then(function (res) {
67
- setAntdLocale(res["default"]);
68
- getDateLocal("en_US");
69
- });
70
- }
71
- if (currentLocale === "zh_TW") {
72
- import("../Antd5/locale/zh_TW").then(function (res) {
73
- setAntdLocale(res["default"]);
74
- getDateLocal("zh_TW");
75
- });
76
- }
77
- if (currentLocale === "ja_JP") {
78
- import("../Antd5/locale/ja_JP").then(function (res) {
79
- setAntdLocale(res["default"]);
80
- getDateLocal("ja_JP");
81
- });
82
- }
83
- };
84
75
  useEffect(function () {
85
- injectAntdLocale(currentLocale);
86
- injectLocale(currentLocale, function () {
87
- TagInitInstance.setInit();
88
- setLoading(false);
76
+ var cancelled = false;
77
+ // 首次渲染同时等待 CW 词条、Antd 与日期语言,避免繁体首屏落入默认语言。
78
+ Promise.all([loadAntdLocale(currentLocale), getDateLocal(currentLocale), injectLocale(currentLocale)]).then(function (_ref2) {
79
+ var _ref3 = _slicedToArray(_ref2, 1),
80
+ res = _ref3[0];
81
+ if (!cancelled) {
82
+ setAntdLocale(res["default"]);
83
+ setAppliedLocale(currentLocale);
84
+ TagInitInstance.setInit();
85
+ setLoading(false);
86
+ }
87
+ })["catch"](function (error) {
88
+ if (!cancelled) {
89
+ setLocaleError(error);
90
+ }
89
91
  });
92
+ return function () {
93
+ cancelled = true;
94
+ };
90
95
  }, [currentLocale]);
96
+ if (localeError) {
97
+ throw localeError;
98
+ }
91
99
  if (loading) {
92
100
  return null;
93
101
  }
94
102
  return /*#__PURE__*/React.createElement(Provider, {
95
103
  value: {
96
- locale: currentLocale,
97
- setLocale: setCurrentLocale,
104
+ locale: appliedLocale,
105
+ setLocale: setLocale,
98
106
  locales: locales
99
107
  }
100
108
  }, /*#__PURE__*/React.createElement(ThemeProvider, _extends({
@@ -3,10 +3,16 @@ import React from "react";
3
3
  import useLocale from "./useLocale";
4
4
  var LANG_LIST = [{
5
5
  label: "简体中文",
6
+ // cw-i18n-disable-line
6
7
  value: "zh_CN"
7
8
  }, {
8
- label: "繁体中文",
9
+ label: "繁體中文(台灣)",
10
+ // cw-i18n-disable-line
9
11
  value: "zh_TW"
12
+ }, {
13
+ label: "繁體中文(香港)",
14
+ // cw-i18n-disable-line
15
+ value: "zh_HK"
10
16
  }, {
11
17
  label: "English",
12
18
  value: "en_US"
@@ -28,9 +34,9 @@ var Switch = function Switch(_ref) {
28
34
  });
29
35
  }
30
36
  return /*#__PURE__*/React.createElement(_Select, {
31
- defaultValue: "zh_CN",
37
+ value: locale,
32
38
  style: {
33
- width: 100
39
+ width: 160
34
40
  },
35
41
  onChange: onLangChange
36
42
  }, LANG_LIST.map(function (item) {
@@ -1,18 +1,69 @@
1
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
2
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
1
5
  import dayjs from "dayjs";
2
- export var getDateLocal = function getDateLocal(currentLocale) {
3
- if (currentLocale === "zh_CN") {
4
- import("dayjs/locale/zh-cn");
5
- dayjs.locale("zh-cn");
6
+ import { normalizeLocale } from "../../locales/locale";
7
+ var dateLocales = {
8
+ zh_CN: {
9
+ name: "zh-cn",
10
+ load: function load() {
11
+ return import("dayjs/locale/zh-cn");
12
+ }
13
+ },
14
+ en_US: {
15
+ name: "en",
16
+ load: function load() {
17
+ return Promise.resolve();
18
+ }
19
+ },
20
+ zh_TW: {
21
+ name: "zh-tw",
22
+ load: function load() {
23
+ return import("dayjs/locale/zh-tw");
24
+ }
25
+ },
26
+ zh_HK: {
27
+ name: "zh-hk",
28
+ load: function load() {
29
+ return import("dayjs/locale/zh-hk");
30
+ }
31
+ },
32
+ ja_JP: {
33
+ name: "ja",
34
+ load: function load() {
35
+ return import("dayjs/locale/ja");
36
+ }
6
37
  }
7
- if (currentLocale === "en_US") {
8
- dayjs.locale("en");
9
- }
10
- if (currentLocale === "zh_TW") {
11
- import("dayjs/locale/zh-tw");
12
- dayjs.locale("zh-tw");
13
- }
14
- if (currentLocale === "ja_JP") {
15
- import("dayjs/locale/ja");
16
- dayjs.locale("ja");
17
- }
18
- };
38
+ };
39
+ var localeRequest = 0;
40
+ export var getDateLocal = /*#__PURE__*/function () {
41
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(locale) {
42
+ var currentLocale, request, config;
43
+ return _regenerator().w(function (_context) {
44
+ while (1) switch (_context.n) {
45
+ case 0:
46
+ currentLocale = normalizeLocale(locale);
47
+ if (Object.prototype.hasOwnProperty.call(dateLocales, currentLocale)) {
48
+ _context.n = 1;
49
+ break;
50
+ }
51
+ throw new Error("Unsupported date locale: ".concat(currentLocale));
52
+ case 1:
53
+ request = ++localeRequest;
54
+ config = dateLocales[currentLocale]; // 必须先注册语言包,再设置日期语言(首次加载繁体时尤其重要)。
55
+ _context.n = 2;
56
+ return config.load();
57
+ case 2:
58
+ if (request === localeRequest) {
59
+ dayjs.locale(config.name);
60
+ }
61
+ case 3:
62
+ return _context.a(2);
63
+ }
64
+ }, _callee);
65
+ }));
66
+ return function getDateLocal(_x) {
67
+ return _ref.apply(this, arguments);
68
+ };
69
+ }();
@@ -1,14 +1,68 @@
1
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
2
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
3
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
4
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
1
5
  import moment from "moment";
2
- export var getDateLocal = function getDateLocal(currentLocale) {
3
- if (currentLocale === "zh_CN") {
4
- import("moment/locale/zh-cn");
5
- moment.locale("zh-cn");
6
+ import { normalizeLocale } from "../../locales/locale";
7
+ var dateLocales = {
8
+ zh_CN: {
9
+ name: "zh-cn",
10
+ load: function load() {
11
+ return import("moment/locale/zh-cn");
12
+ }
13
+ },
14
+ en_US: {
15
+ name: "en",
16
+ load: function load() {
17
+ return Promise.resolve();
18
+ }
19
+ },
20
+ zh_TW: {
21
+ name: "zh-tw",
22
+ load: function load() {
23
+ return import("moment/locale/zh-tw");
24
+ }
25
+ },
26
+ zh_HK: {
27
+ name: "zh-hk",
28
+ load: function load() {
29
+ return import("moment/locale/zh-hk");
30
+ }
31
+ },
32
+ ja_JP: {
33
+ name: "ja",
34
+ load: function load() {
35
+ return import("moment/locale/ja");
36
+ }
6
37
  }
7
- if (currentLocale === "en_US") {
8
- moment.locale("en");
9
- }
10
- if (currentLocale === "zh_TW") {
11
- import("moment/locale/zh-tw");
12
- moment.locale("zh-tw");
13
- }
14
- };
38
+ };
39
+ var requestedDateLocale;
40
+ export var getDateLocal = /*#__PURE__*/function () {
41
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(locale) {
42
+ var currentLocale, config;
43
+ return _regenerator().w(function (_context) {
44
+ while (1) switch (_context.n) {
45
+ case 0:
46
+ currentLocale = normalizeLocale(locale);
47
+ if (Object.prototype.hasOwnProperty.call(dateLocales, currentLocale)) {
48
+ _context.n = 1;
49
+ break;
50
+ }
51
+ throw new Error("Unsupported date locale: ".concat(currentLocale));
52
+ case 1:
53
+ config = dateLocales[currentLocale];
54
+ requestedDateLocale = config.name;
55
+ _context.n = 2;
56
+ return config.load();
57
+ case 2:
58
+ // moment 语言包 import 自身会改变全局语言,旧请求完成后也要恢复最新选择。
59
+ moment.locale(requestedDateLocale);
60
+ case 3:
61
+ return _context.a(2);
62
+ }
63
+ }, _callee);
64
+ }));
65
+ return function getDateLocal(_x) {
66
+ return _ref.apply(this, arguments);
67
+ };
68
+ }();
@@ -0,0 +1,25 @@
1
+ import { normalizeLocale } from "../locales/locale";
2
+ var antdLocaleLoaders = {
3
+ zh_CN: function zh_CN() {
4
+ return import("../Antd5/locale/zh_CN");
5
+ },
6
+ en_US: function en_US() {
7
+ return import("../Antd5/locale/en_US");
8
+ },
9
+ zh_TW: function zh_TW() {
10
+ return import("../Antd5/locale/zh_TW");
11
+ },
12
+ zh_HK: function zh_HK() {
13
+ return import("../Antd5/locale/zh_HK");
14
+ },
15
+ ja_JP: function ja_JP() {
16
+ return import("../Antd5/locale/ja_JP");
17
+ }
18
+ };
19
+ export var loadAntdLocale = function loadAntdLocale(locale) {
20
+ var currentLocale = normalizeLocale(locale);
21
+ if (!Object.prototype.hasOwnProperty.call(antdLocaleLoaders, currentLocale)) {
22
+ return Promise.reject(new Error("Unsupported UI locale: ".concat(currentLocale)));
23
+ }
24
+ return antdLocaleLoaders[currentLocale]();
25
+ };
@@ -10,12 +10,13 @@ import classnames from 'classnames';
10
10
  import useStyle from './index.styles';
11
11
  import useConfigContext from '../useConfigContext';
12
12
  import { useIntl } from '../locales';
13
+ import useLocale from '../ConfigProvider/useLocale';
13
14
  var ErrorPage = function ErrorPage() {
14
15
  var _useConfigContext = useConfigContext(),
15
16
  getPrefixCls = _useConfigContext.getPrefixCls;
16
17
  var intl = useIntl();
17
- var _intl$getInitOptions = intl.getInitOptions(),
18
- currentLocale = _intl$getInitOptions.currentLocale;
18
+ var _useLocale = useLocale(),
19
+ currentLocale = _useLocale.locale;
19
20
  var prefixCls = getPrefixCls('error-boundary');
20
21
  var _useStyle = useStyle(prefixCls),
21
22
  _useStyle2 = _slicedToArray(_useStyle, 3),
@@ -4,7 +4,7 @@ export var fittingString = function fittingString(str, maxWidth, fontSize) {
4
4
  var ellipsisLength = G6.Util.getTextSize(ellipsis, fontSize)[0];
5
5
  var currentWidth = 0;
6
6
  var res = str;
7
- var pattern = new RegExp("[\u4E00-\u9FA5]+");
7
+ var pattern = new RegExp('[一-龥]+'); // cw-i18n-disable-line
8
8
  str.split('').forEach(function (letter, i) {
9
9
  if (currentWidth > maxWidth - ellipsisLength) {
10
10
  return;
@@ -2,7 +2,7 @@ var _excluded = ["defaultLocale", "data", "locale", "onChange"];
2
2
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
3
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
4
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
- import React, { useMemo } from 'react';
5
+ import React from 'react';
6
6
  import CommonDropMenu from './CommonDropMenu';
7
7
  function LocaleSwitcher(_ref) {
8
8
  var option = _ref.option;
@@ -16,18 +16,13 @@ function LocaleSwitcher(_ref) {
16
16
  _option$onChange = option.onChange,
17
17
  onChange = _option$onChange === void 0 ? function () {} : _option$onChange,
18
18
  resP = _objectWithoutProperties(option, _excluded);
19
- var languageConfig = useMemo(function () {
20
- if (data && data.length) {
21
- return data;
22
- }
23
- return [{
24
- key: 'zh',
25
- title: '简体中文'
26
- }, {
27
- key: 'en',
28
- title: '英文'
29
- }];
30
- }, [data]);
19
+ var languageConfig = data && data.length ? data : [{
20
+ key: 'zh',
21
+ title: '简体中文' // cw-i18n-disable-line
22
+ }, {
23
+ key: 'en',
24
+ title: '英文' // cw-i18n-disable-line
25
+ }];
31
26
  var onLanguageChange = function onLanguageChange(currentKey, e) {
32
27
  onChange && onChange(currentKey, e);
33
28
  };
@@ -0,0 +1,9 @@
1
+ export var createUserSettingLabels = function createUserSettingLabels(intl) {
2
+ return {
3
+ "user-setting": intl.get("6113730d-2cd4-41fa-b761-2f2d156bcb02").d("个人设置"),
4
+ "lock-screen": intl.get("b4b21c1d-1b4a-44f5-b68a-c7798d31702c").d("开启锁屏"),
5
+ "switch-tenant": intl.get("7bdd6240-2b6f-4ef0-bd75-ed87b0410cff").d("切换租户"),
6
+ "sub-tenant": intl.get("70380e9c-81b6-4a9b-ba67-a0964212ca03").d("子租户"),
7
+ logout: intl.get("4afd0e89-832b-4a6b-ac68-948dadec566b").d("退出")
8
+ };
9
+ };
@@ -14,13 +14,7 @@ import axios from "axios";
14
14
  import useConfigContext from "../../useConfigContext";
15
15
  import { useIntl } from "../../locales";
16
16
  import useStyle from "./index.style";
17
- var localOptionsMap = {
18
- zh: "title",
19
- zh_CN: "title",
20
- zh_TW: "zh_TW_Title",
21
- en: "enTitle",
22
- en_US: "enTitle"
23
- };
17
+ import { createUserSettingLabels } from "./i18n";
24
18
  function UserSetting(_ref) {
25
19
  var option = _ref.option;
26
20
  if (!option) {
@@ -35,9 +29,7 @@ function UserSetting(_ref) {
35
29
  hashId = _useStyle2[1],
36
30
  cssVarCls = _useStyle2[2];
37
31
  var intl = useIntl();
38
- var _ref2 = (intl === null || intl === void 0 ? void 0 : intl.options) || {},
39
- _ref2$currentLocale = _ref2.currentLocale,
40
- locale = _ref2$currentLocale === void 0 ? "zh_CN" : _ref2$currentLocale;
32
+ var labels = createUserSettingLabels(intl);
41
33
  var _useState = useState([]),
42
34
  _useState2 = _slicedToArray(_useState, 2),
43
35
  myTenantList = _useState2[0],
@@ -104,21 +96,15 @@ function UserSetting(_ref) {
104
96
  };
105
97
  var data = [{
106
98
  key: "user-setting",
107
- title: "个人设置",
108
- enTitle: "Personal settings",
109
- zh_TW_Title: "個人設置",
99
+ title: labels["user-setting"],
110
100
  icon: /*#__PURE__*/React.createElement(SettingOutlined, null)
111
101
  }, {
112
102
  key: "lock-screen",
113
- title: "开启锁屏",
114
- enTitle: "Enable screen lock",
115
- zh_TW_Title: "開啓鎖屏",
103
+ title: labels["lock-screen"],
116
104
  icon: /*#__PURE__*/React.createElement(LockOutlined, null)
117
105
  }, {
118
106
  key: "switch-tenant",
119
- title: "切换租户",
120
- enTitle: "Switch tenant",
121
- zh_TW_Title: "切換租戶",
107
+ title: labels["switch-tenant"],
122
108
  icon: /*#__PURE__*/React.createElement(SwapOutlined, null),
123
109
  showRight: true,
124
110
  noEvent: true,
@@ -132,9 +118,7 @@ function UserSetting(_ref) {
132
118
  })
133
119
  }, {
134
120
  key: "sub-tenant",
135
- title: "子租户",
136
- enTitle: "Go to subtenant",
137
- zh_TW_Title: "子租戶",
121
+ title: labels["sub-tenant"],
138
122
  icon: /*#__PURE__*/React.createElement(LoginOutlined, null),
139
123
  showRight: true,
140
124
  noEvent: true,
@@ -148,9 +132,7 @@ function UserSetting(_ref) {
148
132
  })
149
133
  }, {
150
134
  key: "logout",
151
- title: "退出",
152
- enTitle: "Logout",
153
- zh_TW_Title: "退出",
135
+ title: labels.logout,
154
136
  icon: /*#__PURE__*/React.createElement(PoweroffOutlined, null)
155
137
  }];
156
138
  return wrapCSSVar(/*#__PURE__*/React.createElement(_Popover, {
@@ -176,7 +158,7 @@ function UserSetting(_ref) {
176
158
  }
177
159
  }, item.icon, /*#__PURE__*/React.createElement("span", {
178
160
  className: "".concat(prefixCls, "-item")
179
- }, item[localOptionsMap[locale]]), item.showRight && /*#__PURE__*/React.createElement(RightOutlined, {
161
+ }, item.title), item.showRight && /*#__PURE__*/React.createElement(RightOutlined, {
180
162
  style: {
181
163
  marginLeft: 4,
182
164
  fontSize: 12
@@ -16,6 +16,7 @@ import Icon from '@icon-park/react/es/all';
16
16
  import { iconData } from '../../constants/icon';
17
17
  import classnames from 'classnames';
18
18
  import { useIntl } from '../../../locales';
19
+ import useLocale from '../../../ConfigProvider/useLocale';
19
20
  var SearchIcon = function SearchIcon(_ref) {
20
21
  var iconInfo = _ref.iconInfo,
21
22
  onChange = _ref.onChange,
@@ -29,9 +30,8 @@ var SearchIcon = function SearchIcon(_ref) {
29
30
  iconList = _useState2[0],
30
31
  setIconList = _useState2[1];
31
32
  var intl = useIntl();
32
- var _ref2 = (intl === null || intl === void 0 ? void 0 : intl.options) || {},
33
- _ref2$currentLocale = _ref2.currentLocale,
34
- locale = _ref2$currentLocale === void 0 ? 'zh_CN' : _ref2$currentLocale;
33
+ var _useLocale = useLocale(),
34
+ locale = _useLocale.locale;
35
35
  var iconSelectList = useMemo(function () {
36
36
  return iconData.filter(function (item) {
37
37
  return category.includes(item.category);
@@ -69,9 +69,6 @@ function CWPagination(props) {
69
69
  wrapCSSVar = _useStyle2[0],
70
70
  hashId = _useStyle2[1],
71
71
  cssVarCls = _useStyle2[2];
72
- var _ref = (intl === null || intl === void 0 ? void 0 : intl.options) || {},
73
- _ref$currentLocale = _ref.currentLocale,
74
- locale = _ref$currentLocale === void 0 ? 'zh_CN' : _ref$currentLocale;
75
72
  var _useState = useState(''),
76
73
  _useState2 = _slicedToArray(_useState, 2),
77
74
  value = _useState2[0],
@@ -232,15 +229,9 @@ function CWPagination(props) {
232
229
  })) : null;
233
230
  var isShowTotal = !simple && showTotal && !disabled ? /*#__PURE__*/React.createElement("span", {
234
231
  className: "".concat(prefixCls, "-count")
235
- }, typeof showTotal === 'boolean' ? /*#__PURE__*/React.createElement(React.Fragment, null, locale === 'zh' || locale === 'zh_CN' || locale === 'zh_TW' ? /*#__PURE__*/React.createElement(React.Fragment, null, intl.get('3b94bb1c-e89e-46a6-9b4c-e5f2f6f4156a').d('共'), /*#__PURE__*/React.createElement("span", {
236
- style: {
237
- padding: '0 4px'
238
- }
239
- }, total), intl.get('28d2875b-4a3e-4f08-8f3d-8ef5dabe2273').d('条')) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
240
- style: {
241
- padding: '0 4px'
242
- }
243
- }, total), intl.get('3b94bb1c-e89e-46a6-9b4c-e5f2f6f4156a').d('共'))) : showTotal(total, [total === 0 ? 0 : (_current - 1) * _pageSize + 1, _current * _pageSize > total ? total : _current * _pageSize], pageCount)) : null;
232
+ }, typeof showTotal === 'boolean' ? intl.get('76876ab3-65b9-4df8-a5f7-70b62017ffba', {
233
+ total: total
234
+ }).d('共{total}条') : showTotal(total, [total === 0 ? 0 : (_current - 1) * _pageSize + 1, _current * _pageSize > total ? total : _current * _pageSize], pageCount)) : null;
244
235
  var quickjumper = !simple && showQuickJumper && !disabled && /*#__PURE__*/React.createElement("div", {
245
236
  className: "".concat(prefixCls, "-input-main"),
246
237
  ref: inputRef
@@ -16,6 +16,7 @@ import PropTypes from "prop-types";
16
16
  import classnames from "classnames";
17
17
  import useConfigContext from "../useConfigContext";
18
18
  import useStyle from "./index.style";
19
+ import { useIntl } from "../locales";
19
20
  /**
20
21
  *
21
22
  * 基于antd的Card二次封装的简易卡片,
@@ -29,6 +30,7 @@ function SimpleCard(_ref) {
29
30
  noNum = _ref$noNum === void 0 ? "-" : _ref$noNum,
30
31
  data = _ref.data,
31
32
  rest = _objectWithoutProperties(_ref, _excluded);
33
+ var intl = useIntl();
32
34
  var _useConfigContext = useConfigContext(),
33
35
  getPrefixCls = _useConfigContext.getPrefixCls;
34
36
  var prefixCls = getPrefixCls("simple-card");
@@ -85,7 +87,7 @@ function SimpleCard(_ref) {
85
87
  className: "".concat(prefixCls, "-right")
86
88
  }, /*#__PURE__*/React.createElement("p", {
87
89
  className: "".concat(prefixCls, "-title")
88
- }, title ? title : "标题文字"), /*#__PURE__*/React.createElement("div", {
90
+ }, title ? title : intl.get("07232570-6be2-4c38-8ce3-d6e8beb13961").d("标题文字")), /*#__PURE__*/React.createElement("div", {
89
91
  className: "".concat(prefixCls, "-content")
90
92
  }, statisticsData ? renderData(statisticsData) : renderNewData(data)))));
91
93
  }
@@ -18,6 +18,7 @@ import { registerApplication, start, unloadApplication } from './singleSpa/singl
18
18
  import { SystemCss } from './system/index';
19
19
  import { importScripts, hashPrefix, formatUrl, removeStyleAndScript } from './utils';
20
20
  import importHTML from './import-html';
21
+ import { useIntl } from '../locales';
21
22
 
22
23
  /**
23
24
  * 标记注册信息
@@ -34,6 +35,7 @@ var SingleSpa = function SingleSpa(_ref) {
34
35
  _ref$style = _ref.style,
35
36
  style = _ref$style === void 0 ? {} : _ref$style,
36
37
  res = _objectWithoutProperties(_ref, _excluded);
38
+ var intl = useIntl();
37
39
  var container = useRef();
38
40
  useEffect(function () {
39
41
  // 更新路由前缀
@@ -70,7 +72,7 @@ var SingleSpa = function SingleSpa(_ref) {
70
72
  _context.n = 2;
71
73
  break;
72
74
  }
73
- return _context.a(2, Promise.reject('未检索到子应用相关脚本'));
75
+ return _context.a(2, Promise.reject(intl.get("eb2ef811-bd15-4dd7-b003-45ee51ae4388").d("未检索到子应用相关脚本")));
74
76
  case 2:
75
77
  // 注入样式文件
76
78
  if (style.length) {
@@ -1,8 +1,10 @@
1
1
  import _Button from "@chaoswise/ui/lib/Button";
2
2
  import React from "react";
3
3
  import { useThemeSwitcher } from "./main";
4
+ import { useIntl } from "../locales";
4
5
  function Switcher(_ref) {
5
6
  var render = _ref.render;
7
+ var intl = useIntl();
6
8
  var _useThemeSwitcher = useThemeSwitcher(),
7
9
  switcher = _useThemeSwitcher.switcher,
8
10
  currentTheme = _useThemeSwitcher.currentTheme;
@@ -20,6 +22,6 @@ function Switcher(_ref) {
20
22
  }
21
23
  return /*#__PURE__*/React.createElement(_Button, {
22
24
  onClick: toggleDarkMode
23
- }, "\u4E3B\u9898\u5207\u6362");
25
+ }, intl.get("a01ba4ad-2510-4a13-98d2-137b81204a9c").d("主题切换"));
24
26
  }
25
27
  export default Switcher;