@etsoo/appscript 1.4.42 → 1.4.44

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.
@@ -413,19 +413,19 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
413
413
  /**
414
414
  * Get enum item number id list
415
415
  * @param em Enum
416
- * @param prefix Label prefix
416
+ * @param prefix Label prefix or callback
417
417
  * @param filter Filter
418
418
  * @returns List
419
419
  */
420
- getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType[];
420
+ getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType[];
421
421
  /**
422
422
  * Get enum item string id list
423
423
  * @param em Enum
424
- * @param prefix Label prefix
424
+ * @param prefix Label prefix or callback
425
425
  * @param filter Filter
426
426
  * @returns List
427
427
  */
428
- getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType1[];
428
+ getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType1[];
429
429
  /**
430
430
  * Get region label
431
431
  * @param id Region id
@@ -1023,20 +1023,23 @@ class CoreApp {
1023
1023
  /**
1024
1024
  * Get enum item number id list
1025
1025
  * @param em Enum
1026
- * @param prefix Label prefix
1026
+ * @param prefix Label prefix or callback
1027
1027
  * @param filter Filter
1028
1028
  * @returns List
1029
1029
  */
1030
1030
  getEnumList(em, prefix, filter) {
1031
1031
  var _a;
1032
1032
  const list = [];
1033
+ const getKey = typeof prefix === 'function'
1034
+ ? prefix
1035
+ : (key) => prefix + key;
1033
1036
  if (Array.isArray(filter)) {
1034
1037
  filter.forEach((id) => {
1035
1038
  var _a;
1036
1039
  if (typeof id !== 'number')
1037
1040
  return;
1038
1041
  const key = shared_1.DataTypes.getEnumKey(em, id);
1039
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1042
+ const label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1040
1043
  list.push({ id, label });
1041
1044
  });
1042
1045
  }
@@ -1052,7 +1055,7 @@ class CoreApp {
1052
1055
  }
1053
1056
  if (typeof id !== 'number')
1054
1057
  continue;
1055
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1058
+ const label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1056
1059
  list.push({ id, label });
1057
1060
  }
1058
1061
  }
@@ -1061,13 +1064,16 @@ class CoreApp {
1061
1064
  /**
1062
1065
  * Get enum item string id list
1063
1066
  * @param em Enum
1064
- * @param prefix Label prefix
1067
+ * @param prefix Label prefix or callback
1065
1068
  * @param filter Filter
1066
1069
  * @returns List
1067
1070
  */
1068
1071
  getEnumStrList(em, prefix, filter) {
1069
1072
  var _a;
1070
1073
  const list = [];
1074
+ const getKey = typeof prefix === 'function'
1075
+ ? prefix
1076
+ : (key) => prefix + key;
1071
1077
  const keys = shared_1.DataTypes.getEnumKeys(em);
1072
1078
  for (const key of keys) {
1073
1079
  let id = em[key];
@@ -1077,7 +1083,7 @@ class CoreApp {
1077
1083
  continue;
1078
1084
  id = fid;
1079
1085
  }
1080
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1086
+ var label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1081
1087
  list.push({ id: id.toString(), label });
1082
1088
  }
1083
1089
  return list;
@@ -336,19 +336,19 @@ export interface IApp {
336
336
  /**
337
337
  * Get enum item number id list
338
338
  * @param em Enum
339
- * @param prefix Label prefix
339
+ * @param prefix Label prefix or callback
340
340
  * @param filter Filter
341
341
  * @returns List
342
342
  */
343
- getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType[];
343
+ getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType[];
344
344
  /**
345
345
  * Get enum item string id list
346
346
  * @param em Enum
347
- * @param prefix Label prefix
347
+ * @param prefix Label prefix or callback
348
348
  * @param filter Filter
349
349
  * @returns List
350
350
  */
351
- getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType1[];
351
+ getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType1[];
352
352
  /**
353
353
  * Get region label
354
354
  * @param id Region id
@@ -28,6 +28,7 @@
28
28
  "continentSA": "South America",
29
29
  "copy": "Copy",
30
30
  "creation": "Creation",
31
+ "culture": "Culture",
31
32
  "currentPassword": "Current password",
32
33
  "currentPasswordRequired": "Please enter your current password",
33
34
  "currency": "Currency",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "All users",
52
53
  "dataPrivacyPrivate": "Creator only",
53
54
  "dataPrivacyPublic": "Full public",
55
+ "defaultCulture": "Default culture",
56
+ "defaultCurrency": "Default currency",
54
57
  "defaultItem": "Default",
55
58
  "delete": "Delete",
56
59
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "复制",
30
30
  "creation": "登记时间",
31
+ "culture": "语言",
31
32
  "currentPassword": "当前密码",
32
33
  "currentPasswordRequired": "请输入现在使用的密码",
33
34
  "currency": "币种",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "创建者私有",
53
54
  "dataPrivacyPublic": "完全公开",
55
+ "defaultCulture": "默认语言",
56
+ "defaultCurrency": "默认币种",
54
57
  "defaultItem": "默认",
55
58
  "delete": "删除",
56
59
  "deleteConfirm": "确定要永久删除此{0}吗?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "複製",
30
30
  "creation": "登記時間",
31
+ "culture": "語言",
31
32
  "currentPassword": "當前密碼",
32
33
  "currentPasswordRequired": "請輸入現在使用的密碼",
33
34
  "currency": "幣種",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "創建者私有",
53
54
  "dataPrivacyPublic": "完全公開",
55
+ "defaultCulture": "默認語言",
56
+ "defaultCurrency": "默認幣種",
54
57
  "defaultItem": "默認",
55
58
  "delete": "刪除",
56
59
  "deleteConfirm": "確定要永久刪除此{0}嗎?",
@@ -413,19 +413,19 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
413
413
  /**
414
414
  * Get enum item number id list
415
415
  * @param em Enum
416
- * @param prefix Label prefix
416
+ * @param prefix Label prefix or callback
417
417
  * @param filter Filter
418
418
  * @returns List
419
419
  */
420
- getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType[];
420
+ getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType[];
421
421
  /**
422
422
  * Get enum item string id list
423
423
  * @param em Enum
424
- * @param prefix Label prefix
424
+ * @param prefix Label prefix or callback
425
425
  * @param filter Filter
426
426
  * @returns List
427
427
  */
428
- getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType1[];
428
+ getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType1[];
429
429
  /**
430
430
  * Get region label
431
431
  * @param id Region id
@@ -997,20 +997,23 @@ export class CoreApp {
997
997
  /**
998
998
  * Get enum item number id list
999
999
  * @param em Enum
1000
- * @param prefix Label prefix
1000
+ * @param prefix Label prefix or callback
1001
1001
  * @param filter Filter
1002
1002
  * @returns List
1003
1003
  */
1004
1004
  getEnumList(em, prefix, filter) {
1005
1005
  var _a;
1006
1006
  const list = [];
1007
+ const getKey = typeof prefix === 'function'
1008
+ ? prefix
1009
+ : (key) => prefix + key;
1007
1010
  if (Array.isArray(filter)) {
1008
1011
  filter.forEach((id) => {
1009
1012
  var _a;
1010
1013
  if (typeof id !== 'number')
1011
1014
  return;
1012
1015
  const key = DataTypes.getEnumKey(em, id);
1013
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1016
+ const label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1014
1017
  list.push({ id, label });
1015
1018
  });
1016
1019
  }
@@ -1026,7 +1029,7 @@ export class CoreApp {
1026
1029
  }
1027
1030
  if (typeof id !== 'number')
1028
1031
  continue;
1029
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1032
+ const label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1030
1033
  list.push({ id, label });
1031
1034
  }
1032
1035
  }
@@ -1035,13 +1038,16 @@ export class CoreApp {
1035
1038
  /**
1036
1039
  * Get enum item string id list
1037
1040
  * @param em Enum
1038
- * @param prefix Label prefix
1041
+ * @param prefix Label prefix or callback
1039
1042
  * @param filter Filter
1040
1043
  * @returns List
1041
1044
  */
1042
1045
  getEnumStrList(em, prefix, filter) {
1043
1046
  var _a;
1044
1047
  const list = [];
1048
+ const getKey = typeof prefix === 'function'
1049
+ ? prefix
1050
+ : (key) => prefix + key;
1045
1051
  const keys = DataTypes.getEnumKeys(em);
1046
1052
  for (const key of keys) {
1047
1053
  let id = em[key];
@@ -1051,7 +1057,7 @@ export class CoreApp {
1051
1057
  continue;
1052
1058
  id = fid;
1053
1059
  }
1054
- var label = (_a = this.get(prefix + key)) !== null && _a !== void 0 ? _a : key;
1060
+ var label = (_a = this.get(getKey(key))) !== null && _a !== void 0 ? _a : key;
1055
1061
  list.push({ id: id.toString(), label });
1056
1062
  }
1057
1063
  return list;
@@ -336,19 +336,19 @@ export interface IApp {
336
336
  /**
337
337
  * Get enum item number id list
338
338
  * @param em Enum
339
- * @param prefix Label prefix
339
+ * @param prefix Label prefix or callback
340
340
  * @param filter Filter
341
341
  * @returns List
342
342
  */
343
- getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType[];
343
+ getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: (id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined): ListType[];
344
344
  /**
345
345
  * Get enum item string id list
346
346
  * @param em Enum
347
- * @param prefix Label prefix
347
+ * @param prefix Label prefix or callback
348
348
  * @param filter Filter
349
349
  * @returns List
350
350
  */
351
- getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string, filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType1[];
351
+ getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(em: E, prefix: string | ((key: string) => string), filter?: ((id: E[keyof E], key: keyof E & string) => E[keyof E] | undefined) | E[keyof E][]): ListType1[];
352
352
  /**
353
353
  * Get region label
354
354
  * @param id Region id
@@ -28,6 +28,7 @@
28
28
  "continentSA": "South America",
29
29
  "copy": "Copy",
30
30
  "creation": "Creation",
31
+ "culture": "Culture",
31
32
  "currentPassword": "Current password",
32
33
  "currentPasswordRequired": "Please enter your current password",
33
34
  "currency": "Currency",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "All users",
52
53
  "dataPrivacyPrivate": "Creator only",
53
54
  "dataPrivacyPublic": "Full public",
55
+ "defaultCulture": "Default culture",
56
+ "defaultCurrency": "Default currency",
54
57
  "defaultItem": "Default",
55
58
  "delete": "Delete",
56
59
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "复制",
30
30
  "creation": "登记时间",
31
+ "culture": "语言",
31
32
  "currentPassword": "当前密码",
32
33
  "currentPasswordRequired": "请输入现在使用的密码",
33
34
  "currency": "币种",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "创建者私有",
53
54
  "dataPrivacyPublic": "完全公开",
55
+ "defaultCulture": "默认语言",
56
+ "defaultCurrency": "默认币种",
54
57
  "defaultItem": "默认",
55
58
  "delete": "删除",
56
59
  "deleteConfirm": "确定要永久删除此{0}吗?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "複製",
30
30
  "creation": "登記時間",
31
+ "culture": "語言",
31
32
  "currentPassword": "當前密碼",
32
33
  "currentPasswordRequired": "請輸入現在使用的密碼",
33
34
  "currency": "幣種",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "創建者私有",
53
54
  "dataPrivacyPublic": "完全公開",
55
+ "defaultCulture": "默認語言",
56
+ "defaultCurrency": "默認幣種",
54
57
  "defaultItem": "默認",
55
58
  "delete": "刪除",
56
59
  "deleteConfirm": "確定要永久刪除此{0}嗎?",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.4.42",
3
+ "version": "1.4.44",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@babel/cli": "^7.22.15",
62
- "@babel/core": "^7.22.15",
62
+ "@babel/core": "^7.22.17",
63
63
  "@babel/plugin-transform-runtime": "^7.22.15",
64
64
  "@babel/preset-env": "^7.22.15",
65
65
  "@babel/runtime-corejs3": "^7.22.15",
@@ -1359,13 +1359,13 @@ export abstract class CoreApp<
1359
1359
  /**
1360
1360
  * Get enum item number id list
1361
1361
  * @param em Enum
1362
- * @param prefix Label prefix
1362
+ * @param prefix Label prefix or callback
1363
1363
  * @param filter Filter
1364
1364
  * @returns List
1365
1365
  */
1366
1366
  getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(
1367
1367
  em: E,
1368
- prefix: string,
1368
+ prefix: string | ((key: string) => string),
1369
1369
  filter?:
1370
1370
  | ((
1371
1371
  id: E[keyof E],
@@ -1375,11 +1375,16 @@ export abstract class CoreApp<
1375
1375
  ): ListType[] {
1376
1376
  const list: ListType[] = [];
1377
1377
 
1378
+ const getKey =
1379
+ typeof prefix === 'function'
1380
+ ? prefix
1381
+ : (key: string) => prefix + key;
1382
+
1378
1383
  if (Array.isArray(filter)) {
1379
1384
  filter.forEach((id) => {
1380
1385
  if (typeof id !== 'number') return;
1381
1386
  const key = DataTypes.getEnumKey(em, id);
1382
- var label = this.get<string>(prefix + key) ?? key;
1387
+ const label = this.get<string>(getKey(key)) ?? key;
1383
1388
  list.push({ id, label });
1384
1389
  });
1385
1390
  } else {
@@ -1392,7 +1397,7 @@ export abstract class CoreApp<
1392
1397
  id = fid;
1393
1398
  }
1394
1399
  if (typeof id !== 'number') continue;
1395
- var label = this.get<string>(prefix + key) ?? key;
1400
+ const label = this.get<string>(getKey(key)) ?? key;
1396
1401
  list.push({ id, label });
1397
1402
  }
1398
1403
  }
@@ -1402,19 +1407,25 @@ export abstract class CoreApp<
1402
1407
  /**
1403
1408
  * Get enum item string id list
1404
1409
  * @param em Enum
1405
- * @param prefix Label prefix
1410
+ * @param prefix Label prefix or callback
1406
1411
  * @param filter Filter
1407
1412
  * @returns List
1408
1413
  */
1409
1414
  getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(
1410
1415
  em: E,
1411
- prefix: string,
1416
+ prefix: string | ((key: string) => string),
1412
1417
  filter?: (
1413
1418
  id: E[keyof E],
1414
1419
  key: keyof E & string
1415
1420
  ) => E[keyof E] | undefined
1416
1421
  ): ListType1[] {
1417
1422
  const list: ListType1[] = [];
1423
+
1424
+ const getKey =
1425
+ typeof prefix === 'function'
1426
+ ? prefix
1427
+ : (key: string) => prefix + key;
1428
+
1418
1429
  const keys = DataTypes.getEnumKeys(em);
1419
1430
  for (const key of keys) {
1420
1431
  let id = em[key as keyof E];
@@ -1423,7 +1434,7 @@ export abstract class CoreApp<
1423
1434
  if (fid == null) continue;
1424
1435
  id = fid;
1425
1436
  }
1426
- var label = this.get<string>(prefix + key) ?? key;
1437
+ var label = this.get<string>(getKey(key)) ?? key;
1427
1438
  list.push({ id: id.toString(), label });
1428
1439
  }
1429
1440
  return list;
package/src/app/IApp.ts CHANGED
@@ -450,13 +450,13 @@ export interface IApp {
450
450
  /**
451
451
  * Get enum item number id list
452
452
  * @param em Enum
453
- * @param prefix Label prefix
453
+ * @param prefix Label prefix or callback
454
454
  * @param filter Filter
455
455
  * @returns List
456
456
  */
457
457
  getEnumList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(
458
458
  em: E,
459
- prefix: string,
459
+ prefix: string | ((key: string) => string),
460
460
  filter?: (
461
461
  id: E[keyof E],
462
462
  key: keyof E & string
@@ -466,13 +466,13 @@ export interface IApp {
466
466
  /**
467
467
  * Get enum item string id list
468
468
  * @param em Enum
469
- * @param prefix Label prefix
469
+ * @param prefix Label prefix or callback
470
470
  * @param filter Filter
471
471
  * @returns List
472
472
  */
473
473
  getEnumStrList<E extends DataTypes.EnumBase = DataTypes.EnumBase>(
474
474
  em: E,
475
- prefix: string,
475
+ prefix: string | ((key: string) => string),
476
476
  filter?:
477
477
  | ((
478
478
  id: E[keyof E],
package/src/i18n/en.json CHANGED
@@ -28,6 +28,7 @@
28
28
  "continentSA": "South America",
29
29
  "copy": "Copy",
30
30
  "creation": "Creation",
31
+ "culture": "Culture",
31
32
  "currentPassword": "Current password",
32
33
  "currentPasswordRequired": "Please enter your current password",
33
34
  "currency": "Currency",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "All users",
52
53
  "dataPrivacyPrivate": "Creator only",
53
54
  "dataPrivacyPublic": "Full public",
55
+ "defaultCulture": "Default culture",
56
+ "defaultCurrency": "Default currency",
54
57
  "defaultItem": "Default",
55
58
  "delete": "Delete",
56
59
  "deleteConfirm": "Are you sure you want to permanently delete this {0}?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "复制",
30
30
  "creation": "登记时间",
31
+ "culture": "语言",
31
32
  "currentPassword": "当前密码",
32
33
  "currentPasswordRequired": "请输入现在使用的密码",
33
34
  "currency": "币种",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "创建者私有",
53
54
  "dataPrivacyPublic": "完全公开",
55
+ "defaultCulture": "默认语言",
56
+ "defaultCurrency": "默认币种",
54
57
  "defaultItem": "默认",
55
58
  "delete": "删除",
56
59
  "deleteConfirm": "确定要永久删除此{0}吗?",
@@ -28,6 +28,7 @@
28
28
  "continentSA": "南美洲",
29
29
  "copy": "複製",
30
30
  "creation": "登記時間",
31
+ "culture": "語言",
31
32
  "currentPassword": "當前密碼",
32
33
  "currentPasswordRequired": "請輸入現在使用的密碼",
33
34
  "currency": "幣種",
@@ -51,6 +52,8 @@
51
52
  "dataPrivacyInternal": "所有用户",
52
53
  "dataPrivacyPrivate": "創建者私有",
53
54
  "dataPrivacyPublic": "完全公開",
55
+ "defaultCulture": "默認語言",
56
+ "defaultCurrency": "默認幣種",
54
57
  "defaultItem": "默認",
55
58
  "delete": "刪除",
56
59
  "deleteConfirm": "確定要永久刪除此{0}嗎?",