wok-server 0.4.13 → 0.6.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/README.en.md +61 -0
- package/README.md +44 -29
- package/dist/cache/cache.js +98 -98
- package/dist/cache/config.js +19 -19
- package/dist/cache/index.js +27 -27
- package/dist/cache/purge-task.js +46 -46
- package/dist/cache/stat.js +47 -47
- package/dist/config/convert.js +36 -36
- package/dist/config/exception.js +14 -14
- package/dist/config/index.js +81 -81
- package/dist/http-client/index.js +136 -136
- package/dist/i18n/ar.js +17 -17
- package/dist/i18n/de.js +17 -17
- package/dist/i18n/en-us.js +17 -17
- package/dist/i18n/es.js +17 -17
- package/dist/i18n/fr.js +17 -17
- package/dist/i18n/i18n.js +231 -231
- package/dist/i18n/index.js +52 -52
- package/dist/i18n/ja.js +17 -17
- package/dist/i18n/ko.js +17 -17
- package/dist/i18n/msg.js +2 -2
- package/dist/i18n/pt.js +17 -17
- package/dist/i18n/ru.js +17 -17
- package/dist/i18n/tag.js +18 -18
- package/dist/i18n/zh-HK.js +17 -17
- package/dist/i18n/zh-TW.js +17 -17
- package/dist/i18n/zh-cn.js +17 -17
- package/dist/index.js +14 -14
- package/dist/lock/index.js +114 -114
- package/dist/log/config.js +35 -29
- package/dist/log/date.js +21 -21
- package/dist/log/file.js +198 -72
- package/dist/log/index.js +135 -105
- package/dist/log/level.js +33 -33
- package/dist/log/log.js +56 -0
- package/dist/log/store.js +19 -16
- package/dist/mongodb/collection.js +2 -2
- package/dist/mongodb/config.js +34 -34
- package/dist/mongodb/doc.js +2 -2
- package/dist/mongodb/exception.js +14 -14
- package/dist/mongodb/index.js +58 -58
- package/dist/mongodb/manager/base.js +563 -563
- package/dist/mongodb/manager/index.js +63 -63
- package/dist/mongodb/manager/tx-strict.js +84 -84
- package/dist/mongodb/manager/tx.js +30 -30
- package/dist/mongodb/migration.js +52 -52
- package/dist/mvc/access-log.js +33 -33
- package/dist/mvc/config.js +27 -27
- package/dist/mvc/exchange.js +113 -113
- package/dist/mvc/handler/index.js +7 -6
- package/dist/mvc/handler/json.js +65 -65
- package/dist/mvc/handler/restful.js +35 -35
- package/dist/mvc/handler/sse.js +65 -0
- package/dist/mvc/handler/upload.js +31 -31
- package/dist/mvc/index.js +50 -50
- package/dist/mvc/interceptor.js +2 -2
- package/dist/mvc/query.js +43 -43
- package/dist/mvc/render/file.js +132 -132
- package/dist/mvc/render/html/html.js +90 -90
- package/dist/mvc/render/html/index.js +18 -18
- package/dist/mvc/render/html/style.js +2 -2
- package/dist/mvc/render/index.js +7 -7
- package/dist/mvc/render/json.js +26 -26
- package/dist/mvc/render/text.js +16 -16
- package/dist/mvc/router.js +2 -2
- package/dist/mvc/server.js +272 -272
- package/dist/mvc/static/header.js +67 -67
- package/dist/mvc/static/index.js +6 -6
- package/dist/mvc/static/mime-type.js +84 -84
- package/dist/mvc/static/server-cache-config.js +66 -66
- package/dist/mvc/static/server-cache.js +133 -133
- package/dist/mvc/static/static-handler.js +372 -372
- package/dist/mysql/config.js +51 -51
- package/dist/mysql/exception.js +14 -14
- package/dist/mysql/index.js +87 -87
- package/dist/mysql/manager/base.js +239 -231
- package/dist/mysql/manager/index.js +107 -107
- package/dist/mysql/manager/ops/count.js +20 -20
- package/dist/mysql/manager/ops/criteria.js +356 -356
- package/dist/mysql/manager/ops/delete.js +65 -65
- package/dist/mysql/manager/ops/exist.js +26 -26
- package/dist/mysql/manager/ops/find.js +169 -130
- package/dist/mysql/manager/ops/index.js +14 -14
- package/dist/mysql/manager/ops/insert.js +106 -106
- package/dist/mysql/manager/ops/modify.js +10 -10
- package/dist/mysql/manager/ops/paginate.js +23 -23
- package/dist/mysql/manager/ops/query.js +9 -9
- package/dist/mysql/manager/ops/update.js +216 -216
- package/dist/mysql/manager/ops/utils.js +24 -24
- package/dist/mysql/manager/tx-strict.js +103 -100
- package/dist/mysql/manager/tx.js +30 -30
- package/dist/mysql/manager/utils.js +56 -56
- package/dist/mysql/migration.js +136 -136
- package/dist/mysql/table-info.js +8 -8
- package/dist/task/daily.js +59 -59
- package/dist/task/fixed-delay.js +38 -38
- package/dist/task/fixed-rate.js +42 -42
- package/dist/task/index.js +9 -9
- package/dist/task/task.js +56 -56
- package/dist/validation/exception.js +36 -36
- package/dist/validation/index.js +40 -40
- package/dist/validation/validator/array.js +34 -34
- package/dist/validation/validator/enum.js +28 -28
- package/dist/validation/validator/index.js +14 -14
- package/dist/validation/validator/length.js +40 -40
- package/dist/validation/validator/max-length.js +35 -35
- package/dist/validation/validator/max.js +29 -29
- package/dist/validation/validator/min-length.js +33 -33
- package/dist/validation/validator/min.js +29 -29
- package/dist/validation/validator/not-blank.js +33 -33
- package/dist/validation/validator/not-null.js +21 -21
- package/dist/validation/validator/plain-obj.js +32 -32
- package/dist/validation/validator/regexp.js +34 -34
- package/documentation/en/cache.md +56 -0
- package/documentation/en/config.md +96 -0
- package/documentation/en/engineering.md +256 -0
- package/documentation/en/http-client.md +32 -0
- package/documentation/en/i18n.md +143 -0
- package/documentation/en/index.md +24 -0
- package/documentation/en/lock.md +51 -0
- package/documentation/en/log.md +109 -0
- package/documentation/en/mongodb.md +256 -0
- package/documentation/en/mvc.md +688 -0
- package/documentation/en/mysql.md +552 -0
- package/documentation/en/task.md +45 -0
- package/documentation/en/test.md +56 -0
- package/documentation/en/validate.md +130 -0
- package/documentation/zh-cn/engineering.md +1 -1
- package/documentation/zh-cn/log.md +81 -8
- package/documentation/zh-cn/mvc.md +66 -24
- package/documentation/zh-cn/mysql.md +24 -23
- package/documentation/zh-cn/validate.md +2 -2
- package/package.json +3 -1
- package/skills/wok-server-api-rules/SKILL.md +350 -0
- package/skills/wok-server-cache/SKILL.md +216 -0
- package/skills/wok-server-config/SKILL.md +200 -0
- package/skills/wok-server-getting-started/SKILL.md +123 -0
- package/skills/wok-server-getting-started/references/engineering.md +169 -0
- package/skills/wok-server-http-client/SKILL.md +164 -0
- package/skills/wok-server-i18n/SKILL.md +214 -0
- package/skills/wok-server-lock/SKILL.md +144 -0
- package/skills/wok-server-log/SKILL.md +218 -0
- package/skills/wok-server-mongodb/SKILL.md +235 -0
- package/skills/wok-server-mvc/SKILL.md +251 -0
- package/skills/wok-server-mvc/references/respond-html.md +157 -0
- package/skills/wok-server-mvc/references/sse.md +121 -0
- package/skills/wok-server-mvc/references/static-files.md +47 -0
- package/skills/wok-server-mvc/references/upload.md +62 -0
- package/skills/wok-server-mvc/references/websocket.md +30 -0
- package/skills/wok-server-mysql/SKILL.md +315 -0
- package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
- package/skills/wok-server-mysql/references/version-control.md +22 -0
- package/skills/wok-server-task/SKILL.md +158 -0
- package/skills/wok-server-validate/SKILL.md +167 -0
- package/src/cache/cache.ts +118 -0
- package/src/cache/config.ts +53 -0
- package/src/cache/index.ts +27 -0
- package/src/cache/purge-task.ts +53 -0
- package/src/cache/stat.ts +47 -0
- package/src/config/convert.ts +27 -0
- package/src/config/exception.ts +8 -0
- package/src/config/index.ts +92 -0
- package/src/http-client/index.ts +202 -0
- package/src/i18n/ar.ts +16 -0
- package/src/i18n/de.ts +16 -0
- package/src/i18n/en-us.ts +16 -0
- package/src/i18n/es.ts +16 -0
- package/src/i18n/fr.ts +16 -0
- package/src/i18n/i18n.ts +230 -0
- package/src/i18n/index.ts +50 -0
- package/src/i18n/ja.ts +16 -0
- package/src/i18n/ko.ts +16 -0
- package/src/i18n/msg.ts +50 -0
- package/src/i18n/pt.ts +16 -0
- package/src/i18n/ru.ts +16 -0
- package/src/i18n/tag.ts +18 -0
- package/src/i18n/zh-HK.ts +16 -0
- package/src/i18n/zh-TW.ts +16 -0
- package/src/i18n/zh-cn.ts +16 -0
- package/src/index.ts +11 -0
- package/src/lock/index.ts +164 -0
- package/src/log/config.ts +71 -0
- package/src/log/date.ts +19 -0
- package/src/log/file.ts +215 -0
- package/src/log/index.ts +136 -0
- package/src/log/level.ts +29 -0
- package/src/log/log.ts +77 -0
- package/src/log/store.ts +31 -0
- package/src/mongodb/collection.ts +25 -0
- package/src/mongodb/config.ts +69 -0
- package/src/mongodb/doc.ts +12 -0
- package/src/mongodb/exception.ts +8 -0
- package/src/mongodb/index.ts +71 -0
- package/src/mongodb/manager/base.ts +674 -0
- package/src/mongodb/manager/index.ts +80 -0
- package/src/mongodb/manager/tx-strict.ts +153 -0
- package/src/mongodb/manager/tx.ts +34 -0
- package/src/mongodb/migration.ts +66 -0
- package/src/mvc/access-log.ts +33 -0
- package/src/mvc/config.ts +70 -0
- package/src/mvc/exchange.ts +126 -0
- package/src/mvc/handler/index.ts +4 -0
- package/src/mvc/handler/json.ts +96 -0
- package/src/mvc/handler/restful.ts +39 -0
- package/src/mvc/handler/sse.ts +90 -0
- package/src/mvc/handler/upload.ts +54 -0
- package/src/mvc/index.ts +48 -0
- package/src/mvc/interceptor.ts +12 -0
- package/src/mvc/query.ts +36 -0
- package/src/mvc/render/file.ts +148 -0
- package/src/mvc/render/html/html.ts +187 -0
- package/src/mvc/render/html/index.ts +16 -0
- package/src/mvc/render/html/style.ts +1201 -0
- package/src/mvc/render/index.ts +4 -0
- package/src/mvc/render/json.ts +24 -0
- package/src/mvc/render/text.ts +14 -0
- package/src/mvc/router.ts +13 -0
- package/src/mvc/server.ts +315 -0
- package/src/mvc/static/header.ts +86 -0
- package/src/mvc/static/index.ts +3 -0
- package/src/mvc/static/mime-type.ts +81 -0
- package/src/mvc/static/server-cache-config.ts +92 -0
- package/src/mvc/static/server-cache.ts +171 -0
- package/src/mvc/static/static-handler.ts +445 -0
- package/src/mysql/config.ts +130 -0
- package/src/mysql/exception.ts +8 -0
- package/src/mysql/index.ts +88 -0
- package/src/mysql/manager/base.ts +285 -0
- package/src/mysql/manager/index.ts +112 -0
- package/src/mysql/manager/ops/count.ts +30 -0
- package/src/mysql/manager/ops/criteria.ts +412 -0
- package/src/mysql/manager/ops/delete.ts +96 -0
- package/src/mysql/manager/ops/exist.ts +41 -0
- package/src/mysql/manager/ops/find.ts +226 -0
- package/src/mysql/manager/ops/index.ts +11 -0
- package/src/mysql/manager/ops/insert.ts +120 -0
- package/src/mysql/manager/ops/modify.ts +14 -0
- package/src/mysql/manager/ops/paginate.ts +60 -0
- package/src/mysql/manager/ops/query.ts +13 -0
- package/src/mysql/manager/ops/update.ts +294 -0
- package/src/mysql/manager/ops/utils.ts +20 -0
- package/src/mysql/manager/tx-strict.ts +138 -0
- package/src/mysql/manager/tx.ts +31 -0
- package/src/mysql/manager/utils.ts +75 -0
- package/src/mysql/migration.ts +149 -0
- package/src/mysql/table-info.ts +41 -0
- package/src/task/daily.ts +70 -0
- package/src/task/fixed-delay.ts +45 -0
- package/src/task/fixed-rate.ts +49 -0
- package/src/task/index.ts +4 -0
- package/src/task/task.ts +70 -0
- package/src/validation/exception.ts +27 -0
- package/src/validation/index.ts +61 -0
- package/src/validation/validator/array.ts +32 -0
- package/src/validation/validator/enum.ts +25 -0
- package/src/validation/validator/index.ts +11 -0
- package/src/validation/validator/length.ts +42 -0
- package/src/validation/validator/max-length.ts +33 -0
- package/src/validation/validator/max.ts +26 -0
- package/src/validation/validator/min-length.ts +31 -0
- package/src/validation/validator/min.ts +26 -0
- package/src/validation/validator/not-blank.ts +31 -0
- package/src/validation/validator/not-null.ts +19 -0
- package/src/validation/validator/plain-obj.ts +30 -0
- package/src/validation/validator/regexp.ts +32 -0
- package/types/cache/cache.d.ts +52 -52
- package/types/cache/config.d.ts +32 -32
- package/types/cache/index.d.ts +2 -2
- package/types/cache/purge-task.d.ts +11 -11
- package/types/cache/stat.d.ts +26 -26
- package/types/config/convert.d.ts +6 -6
- package/types/config/exception.d.ts +7 -7
- package/types/config/index.d.ts +25 -25
- package/types/http-client/index.d.ts +71 -71
- package/types/i18n/ar.d.ts +2 -2
- package/types/i18n/de.d.ts +2 -2
- package/types/i18n/en-us.d.ts +2 -2
- package/types/i18n/es.d.ts +2 -2
- package/types/i18n/fr.d.ts +2 -2
- package/types/i18n/i18n.d.ts +102 -102
- package/types/i18n/index.d.ts +9 -9
- package/types/i18n/ja.d.ts +2 -2
- package/types/i18n/ko.d.ts +2 -2
- package/types/i18n/msg.d.ts +50 -50
- package/types/i18n/pt.d.ts +2 -2
- package/types/i18n/ru.d.ts +2 -2
- package/types/i18n/tag.d.ts +11 -11
- package/types/i18n/zh-HK.d.ts +2 -2
- package/types/i18n/zh-TW.d.ts +2 -2
- package/types/i18n/zh-cn.d.ts +2 -2
- package/types/index.d.ts +11 -11
- package/types/lock/index.d.ts +64 -64
- package/types/log/config.d.ts +35 -27
- package/types/log/date.d.ts +2 -2
- package/types/log/file.d.ts +13 -5
- package/types/log/index.d.ts +53 -34
- package/types/log/level.d.ts +14 -14
- package/types/log/log.d.ts +40 -0
- package/types/log/store.d.ts +19 -12
- package/types/mongodb/collection.d.ts +25 -25
- package/types/mongodb/config.d.ts +45 -45
- package/types/mongodb/doc.d.ts +11 -11
- package/types/mongodb/exception.d.ts +7 -7
- package/types/mongodb/index.d.ts +29 -29
- package/types/mongodb/manager/base.d.ts +188 -188
- package/types/mongodb/manager/index.d.ts +38 -38
- package/types/mongodb/manager/tx-strict.d.ts +41 -41
- package/types/mongodb/manager/tx.d.ts +21 -21
- package/types/mongodb/migration.d.ts +12 -12
- package/types/mvc/access-log.d.ts +7 -7
- package/types/mvc/config.d.ts +42 -42
- package/types/mvc/exchange.d.ts +72 -72
- package/types/mvc/handler/index.d.ts +4 -3
- package/types/mvc/handler/json.d.ts +44 -44
- package/types/mvc/handler/restful.d.ts +11 -11
- package/types/mvc/handler/sse.d.ts +34 -0
- package/types/mvc/handler/upload.d.ts +36 -36
- package/types/mvc/index.d.ts +22 -22
- package/types/mvc/interceptor.d.ts +11 -11
- package/types/mvc/query.d.ts +13 -13
- package/types/mvc/render/file.d.ts +10 -10
- package/types/mvc/render/html/html.d.ts +98 -98
- package/types/mvc/render/html/index.d.ts +11 -11
- package/types/mvc/render/html/style.d.ts +1201 -1201
- package/types/mvc/render/index.d.ts +4 -4
- package/types/mvc/render/json.d.ts +17 -17
- package/types/mvc/render/text.d.ts +10 -10
- package/types/mvc/router.d.ts +11 -11
- package/types/mvc/server.d.ts +90 -90
- package/types/mvc/static/header.d.ts +27 -27
- package/types/mvc/static/index.d.ts +3 -3
- package/types/mvc/static/mime-type.d.ts +2 -2
- package/types/mvc/static/server-cache-config.d.ts +30 -30
- package/types/mvc/static/server-cache.d.ts +76 -76
- package/types/mvc/static/static-handler.d.ts +77 -77
- package/types/mysql/config.d.ts +90 -90
- package/types/mysql/exception.d.ts +7 -7
- package/types/mysql/index.d.ts +16 -16
- package/types/mysql/manager/base.d.ts +165 -159
- package/types/mysql/manager/index.d.ts +36 -36
- package/types/mysql/manager/ops/count.d.ts +13 -13
- package/types/mysql/manager/ops/criteria.d.ts +134 -134
- package/types/mysql/manager/ops/delete.d.ts +46 -46
- package/types/mysql/manager/ops/exist.d.ts +6 -6
- package/types/mysql/manager/ops/find.d.ts +86 -70
- package/types/mysql/manager/ops/index.d.ts +10 -10
- package/types/mysql/manager/ops/insert.d.ts +18 -18
- package/types/mysql/manager/ops/modify.d.ts +3 -3
- package/types/mysql/manager/ops/paginate.d.ts +36 -36
- package/types/mysql/manager/ops/query.d.ts +3 -3
- package/types/mysql/manager/ops/update.d.ts +76 -76
- package/types/mysql/manager/ops/utils.d.ts +5 -5
- package/types/mysql/manager/tx-strict.d.ts +36 -35
- package/types/mysql/manager/tx.d.ts +15 -15
- package/types/mysql/manager/utils.d.ts +17 -17
- package/types/mysql/migration.d.ts +8 -8
- package/types/mysql/table-info.d.ts +36 -36
- package/types/task/daily.d.ts +16 -16
- package/types/task/fixed-delay.d.ts +9 -9
- package/types/task/fixed-rate.d.ts +9 -9
- package/types/task/index.d.ts +4 -4
- package/types/task/task.d.ts +34 -34
- package/types/validation/exception.d.ts +38 -38
- package/types/validation/index.d.ts +32 -32
- package/types/validation/validator/array.d.ts +5 -5
- package/types/validation/validator/enum.d.ts +8 -8
- package/types/validation/validator/index.d.ts +11 -11
- package/types/validation/validator/length.d.ts +10 -10
- package/types/validation/validator/max-length.d.ts +8 -8
- package/types/validation/validator/max.d.ts +7 -7
- package/types/validation/validator/min-length.d.ts +6 -6
- package/types/validation/validator/min.d.ts +7 -7
- package/types/validation/validator/not-blank.d.ts +7 -7
- package/types/validation/validator/not-null.d.ts +6 -6
- package/types/validation/validator/plain-obj.d.ts +7 -7
- package/types/validation/validator/regexp.d.ts +8 -8
package/dist/i18n/es.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.es = void 0;
|
|
4
|
-
exports.es = {
|
|
5
|
-
'validate-err-array': 'El valor no es un arreglo',
|
|
6
|
-
'validate-err-enum': 'El valor debe ser uno de {}',
|
|
7
|
-
'validate-err-numer': 'El valor no es un número',
|
|
8
|
-
'validate-err-max': 'No debe ser mayor que {}',
|
|
9
|
-
'validate-err-min': 'No debe ser menor que {}',
|
|
10
|
-
'validate-err-empty': 'No puede estar vacío',
|
|
11
|
-
'validate-err-string': 'El valor no es un tipo de cadena',
|
|
12
|
-
'validate-err-incorrect-format': 'El formato no es correcto',
|
|
13
|
-
'validate-err-no-length': 'No se encontró la propiedad de longitud',
|
|
14
|
-
'validate-err-length-not-number': ' propiedad de longitud no es un número',
|
|
15
|
-
'validate-err-min-length': 'La longitud no debe ser menor que {}',
|
|
16
|
-
'validate-err-max-length': 'La longitud no debe ser mayor que'
|
|
17
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.es = void 0;
|
|
4
|
+
exports.es = {
|
|
5
|
+
'validate-err-array': 'El valor no es un arreglo',
|
|
6
|
+
'validate-err-enum': 'El valor debe ser uno de {}',
|
|
7
|
+
'validate-err-numer': 'El valor no es un número',
|
|
8
|
+
'validate-err-max': 'No debe ser mayor que {}',
|
|
9
|
+
'validate-err-min': 'No debe ser menor que {}',
|
|
10
|
+
'validate-err-empty': 'No puede estar vacío',
|
|
11
|
+
'validate-err-string': 'El valor no es un tipo de cadena',
|
|
12
|
+
'validate-err-incorrect-format': 'El formato no es correcto',
|
|
13
|
+
'validate-err-no-length': 'No se encontró la propiedad de longitud',
|
|
14
|
+
'validate-err-length-not-number': ' propiedad de longitud no es un número',
|
|
15
|
+
'validate-err-min-length': 'La longitud no debe ser menor que {}',
|
|
16
|
+
'validate-err-max-length': 'La longitud no debe ser mayor que'
|
|
17
|
+
};
|
package/dist/i18n/fr.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fr = void 0;
|
|
4
|
-
exports.fr = {
|
|
5
|
-
'validate-err-array': "La valeur n'est pas un tableau",
|
|
6
|
-
'validate-err-enum': "La valeur doit être l'un de {}",
|
|
7
|
-
'validate-err-numer': "La n'est pas un nombre",
|
|
8
|
-
'validate-err-max': 'Ne doit pas supérieur à {}',
|
|
9
|
-
'validate-err-min': 'Ne doit pas être inférieur à {}',
|
|
10
|
-
'validate-err-empty': 'Ne doit pas être vide',
|
|
11
|
-
'validate-err-string': "La valeur n'est pas de type chaîne de caractères",
|
|
12
|
-
'validate-err-incorrect-format': 'Format incorrect',
|
|
13
|
-
'validate-err-no-length': 'Impossible de trouver la propriété "length"',
|
|
14
|
-
'validate-err-length-not-number': `propriété "length" n'est pas un nombre`,
|
|
15
|
-
'validate-err-min-length': 'La longueur ne doit pas être infure {}',
|
|
16
|
-
'validate-err-max-length': 'La longueur ne doit pas être supérieure à {}'
|
|
17
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fr = void 0;
|
|
4
|
+
exports.fr = {
|
|
5
|
+
'validate-err-array': "La valeur n'est pas un tableau",
|
|
6
|
+
'validate-err-enum': "La valeur doit être l'un de {}",
|
|
7
|
+
'validate-err-numer': "La n'est pas un nombre",
|
|
8
|
+
'validate-err-max': 'Ne doit pas supérieur à {}',
|
|
9
|
+
'validate-err-min': 'Ne doit pas être inférieur à {}',
|
|
10
|
+
'validate-err-empty': 'Ne doit pas être vide',
|
|
11
|
+
'validate-err-string': "La valeur n'est pas de type chaîne de caractères",
|
|
12
|
+
'validate-err-incorrect-format': 'Format incorrect',
|
|
13
|
+
'validate-err-no-length': 'Impossible de trouver la propriété "length"',
|
|
14
|
+
'validate-err-length-not-number': `propriété "length" n'est pas un nombre`,
|
|
15
|
+
'validate-err-min-length': 'La longueur ne doit pas être infure {}',
|
|
16
|
+
'validate-err-max-length': 'La longueur ne doit pas être supérieure à {}'
|
|
17
|
+
};
|
package/dist/i18n/i18n.js
CHANGED
|
@@ -1,231 +1,231 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ExtensibleI18n = exports.I18n = exports.BoundI18n = void 0;
|
|
4
|
-
const tag_1 = require("./tag");
|
|
5
|
-
/**
|
|
6
|
-
* 绑定语言的 i18n 类型,不可切换语言.
|
|
7
|
-
*/
|
|
8
|
-
class BoundI18n {
|
|
9
|
-
lang;
|
|
10
|
-
msgs;
|
|
11
|
-
constructor(lang, msgs) {
|
|
12
|
-
this.lang = lang;
|
|
13
|
-
this.msgs = msgs;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 获取当前语言
|
|
17
|
-
*/
|
|
18
|
-
getLang() {
|
|
19
|
-
return this.lang;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 构建国际化消息.
|
|
23
|
-
* @param key 消息模板的 key
|
|
24
|
-
* @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
|
|
25
|
-
*/
|
|
26
|
-
buildMsg(key, ...args) {
|
|
27
|
-
const template = this.msgs[key];
|
|
28
|
-
if (!args || !args.length) {
|
|
29
|
-
return template;
|
|
30
|
-
}
|
|
31
|
-
let idx = 0;
|
|
32
|
-
return template.replace(/\{\}/g, () => `${args[idx++]}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.BoundI18n = BoundI18n;
|
|
36
|
-
/**
|
|
37
|
-
* 国际化,提供不同语言消息构建的功能,默认英文.
|
|
38
|
-
*/
|
|
39
|
-
class I18n {
|
|
40
|
-
enMsgs;
|
|
41
|
-
/**
|
|
42
|
-
* 当前语言
|
|
43
|
-
*/
|
|
44
|
-
lang;
|
|
45
|
-
/**
|
|
46
|
-
* 消息模板表,与当前语言是对应的
|
|
47
|
-
*/
|
|
48
|
-
msgs;
|
|
49
|
-
/**
|
|
50
|
-
* 消息表,key 是语言,value 是一个 key 为地区,value 为 消息模板的 map,两层 map 为的是能够快速匹配.
|
|
51
|
-
* 地区为空的情况下,缺省值为 - 。语言和地区的 key 全转成小写存储。
|
|
52
|
-
*/
|
|
53
|
-
msgsMap;
|
|
54
|
-
/**
|
|
55
|
-
* 构造 i18n 对象,必须指定英文的消息模板作为默认。
|
|
56
|
-
* @param enMsgs 英文的消息模板
|
|
57
|
-
*/
|
|
58
|
-
constructor(enMsgs) {
|
|
59
|
-
this.enMsgs = enMsgs;
|
|
60
|
-
const regionMap = new Map();
|
|
61
|
-
regionMap.set('-', enMsgs);
|
|
62
|
-
this.msgsMap = new Map();
|
|
63
|
-
this.msgsMap.set('en', regionMap);
|
|
64
|
-
this.lang = 'en';
|
|
65
|
-
this.msgs = enMsgs;
|
|
66
|
-
}
|
|
67
|
-
findMsgsByLang(langTag) {
|
|
68
|
-
// 检查表中是否支持指定语言,如果不支持则使用默认语言
|
|
69
|
-
const tag = (0, tag_1.parseLangTag)(langTag);
|
|
70
|
-
const regionMap = this.msgsMap.get(tag.lang);
|
|
71
|
-
if (!regionMap) {
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
// 查找顺序:
|
|
75
|
-
// 1. 如果有地区信息,查找地区标签对应的消息
|
|
76
|
-
// 2. 上一步没有找到,则查找默认地区标签对应的消息
|
|
77
|
-
// 3. 前面都没有找到,则取语言下的第一个地区的消息
|
|
78
|
-
let msgs = undefined;
|
|
79
|
-
if (tag.region) {
|
|
80
|
-
msgs = regionMap.get(tag.region);
|
|
81
|
-
}
|
|
82
|
-
if (!msgs) {
|
|
83
|
-
msgs = regionMap.get('-');
|
|
84
|
-
}
|
|
85
|
-
if (!msgs) {
|
|
86
|
-
msgs = regionMap.values().next().value;
|
|
87
|
-
}
|
|
88
|
-
return msgs;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* 设置一种语言对应的消息模板,支持异步,可以做动态加载
|
|
92
|
-
* @param langTag
|
|
93
|
-
* @param msgs
|
|
94
|
-
*/
|
|
95
|
-
setMsgs(langTag, msgs) {
|
|
96
|
-
const tag = (0, tag_1.parseLangTag)(langTag);
|
|
97
|
-
let regionMap = this.msgsMap.get(tag.lang);
|
|
98
|
-
if (!regionMap) {
|
|
99
|
-
regionMap = new Map();
|
|
100
|
-
this.msgsMap.set(tag.lang, regionMap);
|
|
101
|
-
}
|
|
102
|
-
regionMap.set(tag.region || '-', msgs);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* 给定一个语言标签列表,获得可以被支持的标签列表
|
|
106
|
-
* @param tags
|
|
107
|
-
*/
|
|
108
|
-
getSupportedLanguageTags(...tags) {
|
|
109
|
-
return tags.filter(tag => {
|
|
110
|
-
const langTag = (0, tag_1.parseLangTag)(tag);
|
|
111
|
-
return this.msgsMap.get(langTag.lang);
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* 设置当前语言,如果指定的语言不被支持,则修改无效
|
|
116
|
-
* @param lang 语言本标签,如 en-US
|
|
117
|
-
* @returns 是否成功,如果语言不支持则返回 false,不会改变现有语言
|
|
118
|
-
*/
|
|
119
|
-
setLang(lang) {
|
|
120
|
-
const msgs = this.findMsgsByLang(lang);
|
|
121
|
-
if (!msgs) {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
this.lang = lang;
|
|
125
|
-
this.msgs = msgs;
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* 获取当前语言
|
|
130
|
-
*/
|
|
131
|
-
getLang() {
|
|
132
|
-
return this.lang;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* 构建国际化消息.
|
|
136
|
-
* @param key 消息模板的 key
|
|
137
|
-
* @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
|
|
138
|
-
*/
|
|
139
|
-
buildMsg(key, ...args) {
|
|
140
|
-
const template = this.msgs[key];
|
|
141
|
-
if (!args || !args.length) {
|
|
142
|
-
return template;
|
|
143
|
-
}
|
|
144
|
-
let idx = 0;
|
|
145
|
-
return template.replace(/\{\}/g, () => `${args[idx++]}`);
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* 绑定一种语言,生成新的 i18n 对象,该对象仅能使用某一种语言.
|
|
149
|
-
* @param langTag 语言标签,无值则表示绑定当前语言
|
|
150
|
-
* @returns 返回一个语言受限的 i18n 对象.
|
|
151
|
-
*/
|
|
152
|
-
bindLang(langTag) {
|
|
153
|
-
if (!langTag) {
|
|
154
|
-
return new BoundI18n(this.lang, this.msgs);
|
|
155
|
-
}
|
|
156
|
-
const msgs = this.findMsgsByLang(langTag);
|
|
157
|
-
if (!msgs) {
|
|
158
|
-
throw new Error(`Unsupported language : ${langTag}`);
|
|
159
|
-
}
|
|
160
|
-
return new BoundI18n(langTag, msgs);
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* 根据请求进行语言切换,解析消息头 'accept-language' ,如果 'accept-language' 中没有包含能够支持的语言则使用默认的英文.
|
|
164
|
-
* @param headers 消息头
|
|
165
|
-
*/
|
|
166
|
-
switchByRequest(headers) {
|
|
167
|
-
const langs = this.parseAcceptLanguage(headers);
|
|
168
|
-
const tags = this.getSupportedLanguageTags(...langs);
|
|
169
|
-
if (tags.length) {
|
|
170
|
-
this.setLang(tags[0]);
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
this.setLang('en');
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
parseAcceptLanguage(headers) {
|
|
177
|
-
const acceptLang = headers['accept-language'];
|
|
178
|
-
if (!acceptLang) {
|
|
179
|
-
return [];
|
|
180
|
-
}
|
|
181
|
-
// zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
|
|
182
|
-
// 为了性能考虑,暂不支持 q 参数设定的优先级,否则还要排序
|
|
183
|
-
const tags = acceptLang.split(',');
|
|
184
|
-
const langs = [];
|
|
185
|
-
for (const tag of tags) {
|
|
186
|
-
const [t, q] = tag.split(';');
|
|
187
|
-
if ('*' !== t) {
|
|
188
|
-
langs.push(t);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return langs;
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* 根据请求进行语言绑定,解析消息头 'accept-language',绑定受支持的第一个语言,如果没有可以被支持的语言,则使用默认的英文.
|
|
195
|
-
* @param headers 消息头
|
|
196
|
-
*/
|
|
197
|
-
bindByRequest(headers) {
|
|
198
|
-
const langs = this.parseAcceptLanguage(headers);
|
|
199
|
-
const tags = this.getSupportedLanguageTags(...langs);
|
|
200
|
-
if (tags.length) {
|
|
201
|
-
return this.bindLang(tags[0]);
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
return this.bindLang('en');
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
exports.I18n = I18n;
|
|
209
|
-
/**
|
|
210
|
-
* 可扩展的 i18n ,增加扩展新 i18n 对象的功能,记录扩展的新对象,同步 setLang 操作
|
|
211
|
-
*/
|
|
212
|
-
class ExtensibleI18n extends I18n {
|
|
213
|
-
extendedI18ns = [];
|
|
214
|
-
setLang(lang) {
|
|
215
|
-
for (const ex of this.extendedI18ns) {
|
|
216
|
-
ex.setLang(lang);
|
|
217
|
-
}
|
|
218
|
-
return super.setLang(lang);
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* 扩展国际化内容,生成一个新的 i18n 对象,与当前的 i18n 对象语言保持一致,可在新对象中设置扩展部分的语言。
|
|
222
|
-
* <K> 新的消息模板类型
|
|
223
|
-
* @param enMsgs
|
|
224
|
-
*/
|
|
225
|
-
extend(enMsgs) {
|
|
226
|
-
const extendedI18n = new I18n(enMsgs);
|
|
227
|
-
this.extendedI18ns.push(extendedI18n);
|
|
228
|
-
return extendedI18n;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
exports.ExtensibleI18n = ExtensibleI18n;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtensibleI18n = exports.I18n = exports.BoundI18n = void 0;
|
|
4
|
+
const tag_1 = require("./tag");
|
|
5
|
+
/**
|
|
6
|
+
* 绑定语言的 i18n 类型,不可切换语言.
|
|
7
|
+
*/
|
|
8
|
+
class BoundI18n {
|
|
9
|
+
lang;
|
|
10
|
+
msgs;
|
|
11
|
+
constructor(lang, msgs) {
|
|
12
|
+
this.lang = lang;
|
|
13
|
+
this.msgs = msgs;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 获取当前语言
|
|
17
|
+
*/
|
|
18
|
+
getLang() {
|
|
19
|
+
return this.lang;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 构建国际化消息.
|
|
23
|
+
* @param key 消息模板的 key
|
|
24
|
+
* @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
|
|
25
|
+
*/
|
|
26
|
+
buildMsg(key, ...args) {
|
|
27
|
+
const template = this.msgs[key];
|
|
28
|
+
if (!args || !args.length) {
|
|
29
|
+
return template;
|
|
30
|
+
}
|
|
31
|
+
let idx = 0;
|
|
32
|
+
return template.replace(/\{\}/g, () => `${args[idx++]}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.BoundI18n = BoundI18n;
|
|
36
|
+
/**
|
|
37
|
+
* 国际化,提供不同语言消息构建的功能,默认英文.
|
|
38
|
+
*/
|
|
39
|
+
class I18n {
|
|
40
|
+
enMsgs;
|
|
41
|
+
/**
|
|
42
|
+
* 当前语言
|
|
43
|
+
*/
|
|
44
|
+
lang;
|
|
45
|
+
/**
|
|
46
|
+
* 消息模板表,与当前语言是对应的
|
|
47
|
+
*/
|
|
48
|
+
msgs;
|
|
49
|
+
/**
|
|
50
|
+
* 消息表,key 是语言,value 是一个 key 为地区,value 为 消息模板的 map,两层 map 为的是能够快速匹配.
|
|
51
|
+
* 地区为空的情况下,缺省值为 - 。语言和地区的 key 全转成小写存储。
|
|
52
|
+
*/
|
|
53
|
+
msgsMap;
|
|
54
|
+
/**
|
|
55
|
+
* 构造 i18n 对象,必须指定英文的消息模板作为默认。
|
|
56
|
+
* @param enMsgs 英文的消息模板
|
|
57
|
+
*/
|
|
58
|
+
constructor(enMsgs) {
|
|
59
|
+
this.enMsgs = enMsgs;
|
|
60
|
+
const regionMap = new Map();
|
|
61
|
+
regionMap.set('-', enMsgs);
|
|
62
|
+
this.msgsMap = new Map();
|
|
63
|
+
this.msgsMap.set('en', regionMap);
|
|
64
|
+
this.lang = 'en';
|
|
65
|
+
this.msgs = enMsgs;
|
|
66
|
+
}
|
|
67
|
+
findMsgsByLang(langTag) {
|
|
68
|
+
// 检查表中是否支持指定语言,如果不支持则使用默认语言
|
|
69
|
+
const tag = (0, tag_1.parseLangTag)(langTag);
|
|
70
|
+
const regionMap = this.msgsMap.get(tag.lang);
|
|
71
|
+
if (!regionMap) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
// 查找顺序:
|
|
75
|
+
// 1. 如果有地区信息,查找地区标签对应的消息
|
|
76
|
+
// 2. 上一步没有找到,则查找默认地区标签对应的消息
|
|
77
|
+
// 3. 前面都没有找到,则取语言下的第一个地区的消息
|
|
78
|
+
let msgs = undefined;
|
|
79
|
+
if (tag.region) {
|
|
80
|
+
msgs = regionMap.get(tag.region);
|
|
81
|
+
}
|
|
82
|
+
if (!msgs) {
|
|
83
|
+
msgs = regionMap.get('-');
|
|
84
|
+
}
|
|
85
|
+
if (!msgs) {
|
|
86
|
+
msgs = regionMap.values().next().value;
|
|
87
|
+
}
|
|
88
|
+
return msgs;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* 设置一种语言对应的消息模板,支持异步,可以做动态加载
|
|
92
|
+
* @param langTag
|
|
93
|
+
* @param msgs
|
|
94
|
+
*/
|
|
95
|
+
setMsgs(langTag, msgs) {
|
|
96
|
+
const tag = (0, tag_1.parseLangTag)(langTag);
|
|
97
|
+
let regionMap = this.msgsMap.get(tag.lang);
|
|
98
|
+
if (!regionMap) {
|
|
99
|
+
regionMap = new Map();
|
|
100
|
+
this.msgsMap.set(tag.lang, regionMap);
|
|
101
|
+
}
|
|
102
|
+
regionMap.set(tag.region || '-', msgs);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* 给定一个语言标签列表,获得可以被支持的标签列表
|
|
106
|
+
* @param tags
|
|
107
|
+
*/
|
|
108
|
+
getSupportedLanguageTags(...tags) {
|
|
109
|
+
return tags.filter(tag => {
|
|
110
|
+
const langTag = (0, tag_1.parseLangTag)(tag);
|
|
111
|
+
return this.msgsMap.get(langTag.lang);
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 设置当前语言,如果指定的语言不被支持,则修改无效
|
|
116
|
+
* @param lang 语言本标签,如 en-US
|
|
117
|
+
* @returns 是否成功,如果语言不支持则返回 false,不会改变现有语言
|
|
118
|
+
*/
|
|
119
|
+
setLang(lang) {
|
|
120
|
+
const msgs = this.findMsgsByLang(lang);
|
|
121
|
+
if (!msgs) {
|
|
122
|
+
return false;
|
|
123
|
+
}
|
|
124
|
+
this.lang = lang;
|
|
125
|
+
this.msgs = msgs;
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* 获取当前语言
|
|
130
|
+
*/
|
|
131
|
+
getLang() {
|
|
132
|
+
return this.lang;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 构建国际化消息.
|
|
136
|
+
* @param key 消息模板的 key
|
|
137
|
+
* @param args 参数,如果 key 对应的消息模板有占位符号({})可以使用参数来填充
|
|
138
|
+
*/
|
|
139
|
+
buildMsg(key, ...args) {
|
|
140
|
+
const template = this.msgs[key];
|
|
141
|
+
if (!args || !args.length) {
|
|
142
|
+
return template;
|
|
143
|
+
}
|
|
144
|
+
let idx = 0;
|
|
145
|
+
return template.replace(/\{\}/g, () => `${args[idx++]}`);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* 绑定一种语言,生成新的 i18n 对象,该对象仅能使用某一种语言.
|
|
149
|
+
* @param langTag 语言标签,无值则表示绑定当前语言
|
|
150
|
+
* @returns 返回一个语言受限的 i18n 对象.
|
|
151
|
+
*/
|
|
152
|
+
bindLang(langTag) {
|
|
153
|
+
if (!langTag) {
|
|
154
|
+
return new BoundI18n(this.lang, this.msgs);
|
|
155
|
+
}
|
|
156
|
+
const msgs = this.findMsgsByLang(langTag);
|
|
157
|
+
if (!msgs) {
|
|
158
|
+
throw new Error(`Unsupported language : ${langTag}`);
|
|
159
|
+
}
|
|
160
|
+
return new BoundI18n(langTag, msgs);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* 根据请求进行语言切换,解析消息头 'accept-language' ,如果 'accept-language' 中没有包含能够支持的语言则使用默认的英文.
|
|
164
|
+
* @param headers 消息头
|
|
165
|
+
*/
|
|
166
|
+
switchByRequest(headers) {
|
|
167
|
+
const langs = this.parseAcceptLanguage(headers);
|
|
168
|
+
const tags = this.getSupportedLanguageTags(...langs);
|
|
169
|
+
if (tags.length) {
|
|
170
|
+
this.setLang(tags[0]);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.setLang('en');
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
parseAcceptLanguage(headers) {
|
|
177
|
+
const acceptLang = headers['accept-language'];
|
|
178
|
+
if (!acceptLang) {
|
|
179
|
+
return [];
|
|
180
|
+
}
|
|
181
|
+
// zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
|
|
182
|
+
// 为了性能考虑,暂不支持 q 参数设定的优先级,否则还要排序
|
|
183
|
+
const tags = acceptLang.split(',');
|
|
184
|
+
const langs = [];
|
|
185
|
+
for (const tag of tags) {
|
|
186
|
+
const [t, q] = tag.split(';');
|
|
187
|
+
if ('*' !== t) {
|
|
188
|
+
langs.push(t);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return langs;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* 根据请求进行语言绑定,解析消息头 'accept-language',绑定受支持的第一个语言,如果没有可以被支持的语言,则使用默认的英文.
|
|
195
|
+
* @param headers 消息头
|
|
196
|
+
*/
|
|
197
|
+
bindByRequest(headers) {
|
|
198
|
+
const langs = this.parseAcceptLanguage(headers);
|
|
199
|
+
const tags = this.getSupportedLanguageTags(...langs);
|
|
200
|
+
if (tags.length) {
|
|
201
|
+
return this.bindLang(tags[0]);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
return this.bindLang('en');
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
exports.I18n = I18n;
|
|
209
|
+
/**
|
|
210
|
+
* 可扩展的 i18n ,增加扩展新 i18n 对象的功能,记录扩展的新对象,同步 setLang 操作
|
|
211
|
+
*/
|
|
212
|
+
class ExtensibleI18n extends I18n {
|
|
213
|
+
extendedI18ns = [];
|
|
214
|
+
setLang(lang) {
|
|
215
|
+
for (const ex of this.extendedI18ns) {
|
|
216
|
+
ex.setLang(lang);
|
|
217
|
+
}
|
|
218
|
+
return super.setLang(lang);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* 扩展国际化内容,生成一个新的 i18n 对象,与当前的 i18n 对象语言保持一致,可在新对象中设置扩展部分的语言。
|
|
222
|
+
* <K> 新的消息模板类型
|
|
223
|
+
* @param enMsgs
|
|
224
|
+
*/
|
|
225
|
+
extend(enMsgs) {
|
|
226
|
+
const extendedI18n = new I18n(enMsgs);
|
|
227
|
+
this.extendedI18ns.push(extendedI18n);
|
|
228
|
+
return extendedI18n;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
exports.ExtensibleI18n = ExtensibleI18n;
|
package/dist/i18n/index.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getI18n = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const ar_1 = require("./ar");
|
|
6
|
-
const de_1 = require("./de");
|
|
7
|
-
const en_us_1 = require("./en-us");
|
|
8
|
-
const es_1 = require("./es");
|
|
9
|
-
const fr_1 = require("./fr");
|
|
10
|
-
const i18n_1 = require("./i18n");
|
|
11
|
-
const ja_1 = require("./ja");
|
|
12
|
-
const ko_1 = require("./ko");
|
|
13
|
-
const pt_1 = require("./pt");
|
|
14
|
-
const ru_1 = require("./ru");
|
|
15
|
-
const zh_HK_1 = require("./zh-HK");
|
|
16
|
-
const zh_TW_1 = require("./zh-TW");
|
|
17
|
-
const zh_cn_1 = require("./zh-cn");
|
|
18
|
-
let I18N;
|
|
19
|
-
/**
|
|
20
|
-
* 获取 i18n 对象
|
|
21
|
-
* @returns
|
|
22
|
-
*/
|
|
23
|
-
function getI18n() {
|
|
24
|
-
if (I18N) {
|
|
25
|
-
return I18N;
|
|
26
|
-
}
|
|
27
|
-
// 如果 i18n 对象不存在,则创建,并进行初始化
|
|
28
|
-
I18N = new i18n_1.ExtensibleI18n(en_us_1.enUS);
|
|
29
|
-
I18N.setMsgs('zh-CN', zh_cn_1.zhCN);
|
|
30
|
-
I18N.setMsgs('zh-TW', zh_TW_1.zhTW);
|
|
31
|
-
I18N.setMsgs('zh-HK', zh_HK_1.zhHK);
|
|
32
|
-
I18N.setMsgs('ja', ja_1.ja);
|
|
33
|
-
I18N.setMsgs('ko', ko_1.ko);
|
|
34
|
-
I18N.setMsgs('es', es_1.es);
|
|
35
|
-
I18N.setMsgs('de', de_1.de);
|
|
36
|
-
I18N.setMsgs('fr', fr_1.fr);
|
|
37
|
-
I18N.setMsgs('ar', ar_1.ar);
|
|
38
|
-
I18N.setMsgs('pt', pt_1.pt);
|
|
39
|
-
I18N.setMsgs('ru', ru_1.ru);
|
|
40
|
-
// 当前语言
|
|
41
|
-
if (process.env.LANG) {
|
|
42
|
-
I18N.setLang(process.env.LANG);
|
|
43
|
-
}
|
|
44
|
-
else if (process.env.LC_CTYPE) {
|
|
45
|
-
const [tag] = process.env.LC_CTYPE.split('.');
|
|
46
|
-
I18N.setLang(tag);
|
|
47
|
-
}
|
|
48
|
-
return I18N;
|
|
49
|
-
}
|
|
50
|
-
exports.getI18n = getI18n;
|
|
51
|
-
tslib_1.__exportStar(require("./i18n"), exports);
|
|
52
|
-
tslib_1.__exportStar(require("./msg"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getI18n = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ar_1 = require("./ar");
|
|
6
|
+
const de_1 = require("./de");
|
|
7
|
+
const en_us_1 = require("./en-us");
|
|
8
|
+
const es_1 = require("./es");
|
|
9
|
+
const fr_1 = require("./fr");
|
|
10
|
+
const i18n_1 = require("./i18n");
|
|
11
|
+
const ja_1 = require("./ja");
|
|
12
|
+
const ko_1 = require("./ko");
|
|
13
|
+
const pt_1 = require("./pt");
|
|
14
|
+
const ru_1 = require("./ru");
|
|
15
|
+
const zh_HK_1 = require("./zh-HK");
|
|
16
|
+
const zh_TW_1 = require("./zh-TW");
|
|
17
|
+
const zh_cn_1 = require("./zh-cn");
|
|
18
|
+
let I18N;
|
|
19
|
+
/**
|
|
20
|
+
* 获取 i18n 对象
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
function getI18n() {
|
|
24
|
+
if (I18N) {
|
|
25
|
+
return I18N;
|
|
26
|
+
}
|
|
27
|
+
// 如果 i18n 对象不存在,则创建,并进行初始化
|
|
28
|
+
I18N = new i18n_1.ExtensibleI18n(en_us_1.enUS);
|
|
29
|
+
I18N.setMsgs('zh-CN', zh_cn_1.zhCN);
|
|
30
|
+
I18N.setMsgs('zh-TW', zh_TW_1.zhTW);
|
|
31
|
+
I18N.setMsgs('zh-HK', zh_HK_1.zhHK);
|
|
32
|
+
I18N.setMsgs('ja', ja_1.ja);
|
|
33
|
+
I18N.setMsgs('ko', ko_1.ko);
|
|
34
|
+
I18N.setMsgs('es', es_1.es);
|
|
35
|
+
I18N.setMsgs('de', de_1.de);
|
|
36
|
+
I18N.setMsgs('fr', fr_1.fr);
|
|
37
|
+
I18N.setMsgs('ar', ar_1.ar);
|
|
38
|
+
I18N.setMsgs('pt', pt_1.pt);
|
|
39
|
+
I18N.setMsgs('ru', ru_1.ru);
|
|
40
|
+
// 当前语言
|
|
41
|
+
if (process.env.LANG) {
|
|
42
|
+
I18N.setLang(process.env.LANG);
|
|
43
|
+
}
|
|
44
|
+
else if (process.env.LC_CTYPE) {
|
|
45
|
+
const [tag] = process.env.LC_CTYPE.split('.');
|
|
46
|
+
I18N.setLang(tag);
|
|
47
|
+
}
|
|
48
|
+
return I18N;
|
|
49
|
+
}
|
|
50
|
+
exports.getI18n = getI18n;
|
|
51
|
+
tslib_1.__exportStar(require("./i18n"), exports);
|
|
52
|
+
tslib_1.__exportStar(require("./msg"), exports);
|