@dt-frames/ui 1.0.31 → 1.0.32

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 (31) hide show
  1. package/es/assets/locales/en.json +95 -1
  2. package/es/assets/locales/zh.json +96 -1
  3. package/es/components/curd/src/components/dialog.d.ts +24 -1
  4. package/es/components/forms/src/components/formButton.d.ts +8 -0
  5. package/es/components/forms/src/components/formIcon.d.ts +40 -0
  6. package/es/components/forms/src/components/formInputUseDialog.d.ts +8 -0
  7. package/es/components/forms/src/const/form.const.d.ts +2 -2
  8. package/es/components/forms/src/hooks/helper.d.ts +1 -1
  9. package/es/components/forms/src/types/form.type.d.ts +2 -0
  10. package/es/components/icons/src/pick-icon.d.ts +8 -0
  11. package/es/components/modal/src/components/close-icon.d.ts +8 -0
  12. package/es/components/modal/src/components/modalFooter.d.ts +16 -0
  13. package/es/components/modal/src/index.d.ts +24 -0
  14. package/es/components/table/src/components/setting/Column.d.ts +8 -0
  15. package/es/components/table/src/components/setting/Download.d.ts +40 -0
  16. package/es/components/table/src/components/setting/DownloadCtrl.d.ts +32 -0
  17. package/es/components/table/src/components/setting/Fullscreen.d.ts +8 -0
  18. package/es/components/upload/src/helper.d.ts +2 -2
  19. package/es/components/upload/src/props.d.ts +1 -1
  20. package/es/components/upload/src/upload.d.ts +14 -6
  21. package/es/index.js +252 -234
  22. package/es/theme/header/components/bread-crumb.d.ts +1 -0
  23. package/es/theme/header/components/logo.d.ts +8 -0
  24. package/es/theme/header/components/size.d.ts +8 -0
  25. package/es/theme/header/components/theme-drawer/feature.d.ts +22 -5
  26. package/es/theme/header/components/theme-drawer/switch-item.d.ts +8 -0
  27. package/package.json +1 -1
  28. package/es/assets/locales/en_US.json +0 -3
  29. package/es/assets/locales/zh_CN.json +0 -3
  30. package/es/components/table/src/components/setting/Size.d.ts +0 -1147
  31. package/es/theme/header/components/theme-drawer/enum.d.ts +0 -5
package/es/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, resolveComponent, openBlock, createBlock, computed, unref, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, ref, watch, Fragment, renderList, createTextVNode, toDisplayString, KeepAlive, createVNode, withCtx, reactive, toRaw, getCurrentInstance, watchEffect, nextTick, toRefs, isVNode, inject, onUnmounted, h, provide, onMounted, onBeforeUnmount, resolveDynamicComponent, renderSlot, createCommentVNode, mergeProps, readonly, isRef, useAttrs as useAttrs$1, normalizeProps, guardReactiveProps, withDirectives, resolveDirective, render, withKeys, createSlots, useSlots as useSlots$1, withModifiers, vShow, toRef, Transition } from "vue";
2
- import { isString, isArray as isArray$1, isObject, isFunction, error, useTimeoutFn, useAttrs, useSlots, dispatchResize, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, isNumber, useApp, isBoolean, isNull, DtCache, CacheKey, deepMerge, useHeader, http, getDynamicProps, getDictValueByCode, formatNumber, isVnode, getPopupContainer, isNullAndUnDef, useMessage, isEmpty, useTheme, useMenu, useGo, Pages, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, isUrl, openWindow, RouteReuseStore, menuList2Map } from "@dt-frames/core";
2
+ import { isString, isArray as isArray$1, isObject, isFunction, useI18n, error, useTimeoutFn, useAttrs, useSlots, dispatchResize, BAR_MAP, off, renderThumbStyle, on, useAppStore, addResizeListener, removeResizeListener, windowResizeFn, useHeader, isNumber, useApp, isBoolean, isNull, DtCache, CacheKey, deepMerge, http, getDynamicProps, getDictValueByCode, formatNumber, isVnode, getPopupContainer, isNullAndUnDef, useMessage, isEmpty, useTheme, useMenu, useGo, Pages, localeList, changeLocale, Theme, MenuMode, MenuType, useThemeStore, ContentMode, useMultipleTab, copyText, MenuSplitTye, isUrl, openWindow, RouteReuseStore, menuList2Map } from "@dt-frames/core";
3
3
  import { InputSearch, Tooltip, Modal as Modal$1, RadioGroup, RadioButton, InputGroup, Input, Button, Select, TreeSelect, Radio, Checkbox, AutoComplete, Cascader, DatePicker, InputNumber, Switch, TimePicker, Slider, Rate, Divider, Col, Form, FormItem, Row, Popover, Spin, Dropdown, Menu, MenuItem, CheckboxGroup, Table, Upload, Image, MenuDivider, Tree, Empty, BackTop, Breadcrumb, Avatar, Drawer, SubMenu, LayoutHeader, LayoutSider, Tabs, TabPane, LayoutFooter, LayoutContent, ConfigProvider, Layout } from "ant-design-vue";
4
4
  import { isEqual, omit, cloneDeep, upperFirst, set, uniqBy, difference, get, trim } from "lodash-es";
5
5
  import { tryOnUnmounted, isFunction as isFunction$1, useDebounceFn, useFullscreen, useThrottleFn } from "@vueuse/core";
@@ -91,7 +91,7 @@ const _sfc_main$Y = defineComponent({
91
91
  };
92
92
  }
93
93
  });
94
- const _hoisted_1$x = ["xlink:href", "fill"];
94
+ const _hoisted_1$v = ["xlink:href", "fill"];
95
95
  function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
96
96
  return _ctx.isSvgIcon ? (openBlock(), createElementBlock("svg", {
97
97
  key: 0,
@@ -106,7 +106,7 @@ function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) {
106
106
  createElementVNode("use", {
107
107
  "xlink:href": _ctx.iconName,
108
108
  fill: _ctx.color
109
- }, null, 8, _hoisted_1$x)
109
+ }, null, 8, _hoisted_1$v)
110
110
  ], 6)) : (openBlock(), createElementBlock("i", {
111
111
  key: 1,
112
112
  class: normalizeClass(["dt-icon i", [_ctx.iconName, _ctx.clsName]]),
@@ -1875,12 +1875,13 @@ const Icons = [
1875
1875
  children: Other
1876
1876
  }
1877
1877
  ];
1878
- const _hoisted_1$w = ["onClick"];
1879
- const _hoisted_2$k = ["onClick"];
1878
+ const _hoisted_1$u = ["onClick"];
1879
+ const _hoisted_2$h = ["onClick"];
1880
1880
  const _sfc_main$X = /* @__PURE__ */ defineComponent({
1881
1881
  __name: "pick-icon",
1882
1882
  emits: ["chooseIcon"],
1883
1883
  setup(__props, { emit: emits }) {
1884
+ const { t } = useI18n("UI");
1884
1885
  const clsPrefix = "dt-pick-icon";
1885
1886
  const activeIndex = ref(1);
1886
1887
  const filter2 = ref(null);
@@ -1944,7 +1945,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1944
1945
  createTextVNode(toDisplayString(menu.type), 1),
1945
1946
  createElementVNode("span", null, "(" + toDisplayString(menu.total) + ")", 1)
1946
1947
  ])
1947
- ], 10, _hoisted_1$w);
1948
+ ], 10, _hoisted_1$u);
1948
1949
  }), 128))
1949
1950
  ], 2),
1950
1951
  createElementVNode("div", {
@@ -1958,9 +1959,9 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1958
1959
  value: filter2.value,
1959
1960
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter2.value = $event),
1960
1961
  "enter-button": "",
1961
- placeholder: "\u8BF7\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6",
1962
+ placeholder: unref(t)("INPUT_FILTER"),
1962
1963
  onSearch: onFilter
1963
- }, null, 8, ["value"]),
1964
+ }, null, 8, ["value", "placeholder"]),
1964
1965
  (openBlock(true), createElementBlock(Fragment, null, renderList(currentIcons.value, (icon) => {
1965
1966
  return openBlock(), createElementBlock("a", {
1966
1967
  key: icon,
@@ -1981,7 +1982,7 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
1981
1982
  ]),
1982
1983
  _: 2
1983
1984
  }, 1024)
1984
- ], 10, _hoisted_2$k);
1985
+ ], 10, _hoisted_2$h);
1985
1986
  }), 128))
1986
1987
  ], 2)
1987
1988
  ], 1024))
@@ -2378,7 +2379,7 @@ var Bar = defineComponent({
2378
2379
  }));
2379
2380
  }
2380
2381
  });
2381
- const _hoisted_1$v = { class: "scrollbar" };
2382
+ const _hoisted_1$t = { class: "scrollbar" };
2382
2383
  const _sfc_main$W = /* @__PURE__ */ defineComponent({
2383
2384
  __name: "scroll-bar",
2384
2385
  props: {
@@ -2456,7 +2457,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
2456
2457
  }
2457
2458
  });
2458
2459
  return (_ctx, _cache) => {
2459
- return openBlock(), createElementBlock("div", _hoisted_1$v, [
2460
+ return openBlock(), createElementBlock("div", _hoisted_1$t, [
2460
2461
  createElementVNode("div", {
2461
2462
  ref_key: "wrap",
2462
2463
  ref: wrap,
@@ -2617,10 +2618,12 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
2617
2618
  });
2618
2619
  function useLabelWidth(schemaItemRef, propsRef) {
2619
2620
  return computed(() => {
2620
- const { labelWidth, labelCol = {}, wrapperCol = {} } = unref(schemaItemRef);
2621
+ const { labelWidth, enLabelWidth, labelCol = {}, wrapperCol = {} } = unref(schemaItemRef);
2621
2622
  const { appConf } = useAppStore();
2623
+ const { getIsZH } = useHeader();
2622
2624
  const {
2623
2625
  labelWidth: gLabelWidth,
2626
+ enLabelWidth: gEnLabelWidth,
2624
2627
  labelCol: glabelCol,
2625
2628
  wrapperCol: gwrapperCol,
2626
2629
  layout = appConf.ui.form.layout
@@ -2634,7 +2637,7 @@ function useLabelWidth(schemaItemRef, propsRef) {
2634
2637
  wrapperCol
2635
2638
  };
2636
2639
  }
2637
- let width = labelWidth || gLabelWidth;
2640
+ let width = (unref(getIsZH) ? labelWidth : enLabelWidth) || labelWidth || (unref(getIsZH) ? gLabelWidth : gEnLabelWidth) || gLabelWidth;
2638
2641
  const labelcol = { ...glabelCol, ...labelCol };
2639
2642
  const wrapcol = { ...gwrapperCol, ...wrapperCol };
2640
2643
  if (width) {
@@ -2750,10 +2753,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
2750
2753
  },
2751
2754
  setup(__props) {
2752
2755
  const props = __props;
2756
+ const { t } = useI18n("UI");
2753
2757
  const { getUiSize } = useApp();
2754
2758
  const iconRef = ref(null);
2755
2759
  const [register, { openModal, closeModal }] = useModal({
2756
- title: "\u9009\u62E9\u5B57\u4F53\u56FE\u6807",
2760
+ title: t("SELECT_ICON"),
2757
2761
  width: "70%",
2758
2762
  showSave: false,
2759
2763
  centered: true,
@@ -2810,10 +2814,11 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
2810
2814
  };
2811
2815
  }
2812
2816
  });
2813
- const _hoisted_1$u = { class: "input-with-dialog" };
2817
+ const _hoisted_1$s = { class: "input-with-dialog" };
2814
2818
  const _sfc_main$R = /* @__PURE__ */ defineComponent({
2815
2819
  __name: "formInputUseDialog",
2816
2820
  setup(__props) {
2821
+ const { t } = useI18n("UI");
2817
2822
  const attrs = useAttrs$1();
2818
2823
  const bindProps = computed(() => {
2819
2824
  return {
@@ -2826,7 +2831,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2826
2831
  function onClickInput() {
2827
2832
  const { model, schema = {} } = attrs.formValues;
2828
2833
  if (!schema.openDialog || !isFunction(schema.openDialog)) {
2829
- error("openDialog\u5FC5\u987B\u662F\u51FD\u6570");
2834
+ error(t("MUSE_FUNCTION"));
2830
2835
  return;
2831
2836
  }
2832
2837
  schema.openDialog(model);
@@ -2837,7 +2842,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2837
2842
  }
2838
2843
  return (_ctx, _cache) => {
2839
2844
  var _a, _b, _c;
2840
- return openBlock(), createElementBlock("div", _hoisted_1$u, [
2845
+ return openBlock(), createElementBlock("div", _hoisted_1$s, [
2841
2846
  createElementVNode("div", { onClick: onClickInput }, [
2842
2847
  createVNode(unref(Input), normalizeProps(guardReactiveProps(unref(bindProps))), null, 16)
2843
2848
  ]),
@@ -2883,14 +2888,15 @@ for (let item in components) {
2883
2888
  componentMap$1.set(item, components[item]);
2884
2889
  }
2885
2890
  function createPlaceholder(component) {
2891
+ const { t } = useI18n("UI");
2886
2892
  if (component.includes("Input") || component.includes("Complete")) {
2887
- return "\u8BF7\u8F93\u5165";
2893
+ return t("PLEASE_INPUT");
2888
2894
  }
2889
2895
  if (component.includes("Picker") || component.includes("Select") || component.includes("Cascader") || component.includes("Checkbox") || component.includes("Radio") || component.includes("Switch")) {
2890
- return "\u8BF7\u9009\u62E9";
2896
+ return t("PLEASE_SELECT");
2891
2897
  }
2892
2898
  if (component.includes("Icon")) {
2893
- return "\u8BF7\u8BBE\u7F6E\u56FE\u6807";
2899
+ return t("PLEASE_SET_ICON");
2894
2900
  }
2895
2901
  return "";
2896
2902
  }
@@ -2997,6 +3003,9 @@ var _sfc_main$Q = defineComponent({
2997
3003
  const {
2998
3004
  getSlot
2999
3005
  } = useSlots();
3006
+ const {
3007
+ t
3008
+ } = useI18n("UI");
3000
3009
  const {
3001
3010
  appConf
3002
3011
  } = useAppStore();
@@ -3040,8 +3049,7 @@ var _sfc_main$Q = defineComponent({
3040
3049
  var _a;
3041
3050
  const {
3042
3051
  schema: schema2,
3043
- formModel,
3044
- formActionType
3052
+ formModel
3045
3053
  } = props;
3046
3054
  let {
3047
3055
  props: cProps = {}
@@ -3298,7 +3306,7 @@ var _sfc_main$Q = defineComponent({
3298
3306
  if (!component) {
3299
3307
  let _slot2;
3300
3308
  if (!render2) {
3301
- error("\u8BF7\u914D\u7F6Erender\u51FD\u6570");
3309
+ error(t("NEED_RENDER"));
3302
3310
  return;
3303
3311
  }
3304
3312
  return unref(getShow) && createVNode(Col, {
@@ -3400,6 +3408,7 @@ const _sfc_main$P = defineComponent({
3400
3408
  "permission": authMounted
3401
3409
  },
3402
3410
  setup(props, { emit }) {
3411
+ const { t } = useI18n();
3403
3412
  const advancedRef = ref(props.isAdvanced);
3404
3413
  const showAdvanceRef = computed(() => {
3405
3414
  return props.mode === "search" ? props.showAdvancedButton : false;
@@ -3445,20 +3454,21 @@ const _sfc_main$P = defineComponent({
3445
3454
  advancedRef,
3446
3455
  showAdvanceRef,
3447
3456
  getAdvanceClass,
3457
+ t,
3448
3458
  toggleAdvanced,
3449
3459
  handleBtnClick
3450
3460
  };
3451
3461
  }
3452
3462
  });
3453
- const _hoisted_1$t = {
3463
+ const _hoisted_1$r = {
3454
3464
  key: 0,
3455
3465
  className: "preIcon"
3456
3466
  };
3457
- const _hoisted_2$j = {
3467
+ const _hoisted_2$g = {
3458
3468
  key: 0,
3459
3469
  className: "preIcon"
3460
3470
  };
3461
- const _hoisted_3$c = { class: "text" };
3471
+ const _hoisted_3$8 = { class: "text" };
3462
3472
  function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
3463
3473
  const _component_Button = resolveComponent("Button");
3464
3474
  const _component_DtIcon = resolveComponent("DtIcon");
@@ -3486,13 +3496,13 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
3486
3496
  onClick: ($event) => _ctx.handleBtnClick(button)
3487
3497
  }, {
3488
3498
  icon: withCtx(() => [
3489
- button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$t, null, 512)), [
3499
+ button.preIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$r, null, 512)), [
3490
3500
  [_directive_icon, button.preIcon]
3491
3501
  ]) : createCommentVNode("", true)
3492
3502
  ]),
3493
3503
  default: withCtx(() => [
3494
- createTextVNode(" " + toDisplayString(button.name) + " ", 1),
3495
- button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$j, null, 512)), [
3504
+ createTextVNode(" " + toDisplayString(_ctx.t(button.name)) + " ", 1),
3505
+ button.postIcon ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$g, null, 512)), [
3496
3506
  [_directive_icon, button.postIcon]
3497
3507
  ]) : createCommentVNode("", true)
3498
3508
  ]),
@@ -3509,7 +3519,7 @@ function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
3509
3519
  onClick: _ctx.toggleAdvanced
3510
3520
  }, {
3511
3521
  default: withCtx(() => [
3512
- createElementVNode("span", _hoisted_3$c, toDisplayString(_ctx.advancedRef ? "\u6536\u8D77" : "\u5C55\u5F00"), 1),
3522
+ createElementVNode("span", _hoisted_3$8, toDisplayString(_ctx.advancedRef ? _ctx.t("UI.ADVANCED") : _ctx.t("UI.EXPAND")), 1),
3513
3523
  createElementVNode("span", {
3514
3524
  class: normalizeClass(_ctx.getAdvanceClass)
3515
3525
  }, [
@@ -3860,8 +3870,8 @@ function useFormEvents({
3860
3870
  validateFields
3861
3871
  };
3862
3872
  }
3863
- const SEARCH_BTN_NAME = "\u67E5\u8BE2";
3864
- const RESET_BTN_NAME = "\u91CD\u7F6E";
3873
+ const SEARCH_BTN_NAME = "UI.SEARCH";
3874
+ const RESET_BTN_NAME = "UI.RESET";
3865
3875
  const SEARCH_BTNS = [
3866
3876
  { name: SEARCH_BTN_NAME, preIcon: "mdi:magnify", type: "primary" },
3867
3877
  { name: RESET_BTN_NAME, preIcon: "mdi:refresh", type: "default" }
@@ -4224,9 +4234,10 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
4224
4234
  ],
4225
4235
  setup(__props, { emit: emits }) {
4226
4236
  const props = __props;
4237
+ const { t } = useI18n("UI");
4227
4238
  const buttonActions = [
4228
- { name: "\u4FDD\u5B58", preIcon: "mdi:content-save", type: "primary", flag: "OK" },
4229
- { name: "\u5173\u95ED", preIcon: "mdi:close", flag: "CANCEL" }
4239
+ { t: "\u4FDD\u5B58", name: t("SAVE"), preIcon: "mdi:content-save", type: "primary", flag: "OK" },
4240
+ { t: "\u5173\u95ED", name: t("CLOSE"), preIcon: "mdi:close", flag: "CANCEL" }
4230
4241
  ];
4231
4242
  const buttonList = computed(() => {
4232
4243
  if (props.buttons && props.buttons.length)
@@ -4264,6 +4275,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
4264
4275
  emits: ["cancel", "fullscreen"],
4265
4276
  setup(__props, { emit }) {
4266
4277
  const props = __props;
4278
+ const { t } = useI18n("UI");
4267
4279
  const getClass = computed(() => {
4268
4280
  return [
4269
4281
  "dt-basic-modal-close",
@@ -4288,7 +4300,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
4288
4300
  __props.canFullscreen ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4289
4301
  __props.fullScreen ? (openBlock(), createBlock(unref(Tooltip), {
4290
4302
  key: 0,
4291
- title: "\u9000\u51FA\u5168\u5C4F",
4303
+ title: unref(t)("EXIT_FULLSCREEN"),
4292
4304
  placement: "bottom"
4293
4305
  }, {
4294
4306
  default: withCtx(() => [
@@ -4298,9 +4310,9 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
4298
4310
  })
4299
4311
  ]),
4300
4312
  _: 1
4301
- })) : (openBlock(), createBlock(unref(Tooltip), {
4313
+ }, 8, ["title"])) : (openBlock(), createBlock(unref(Tooltip), {
4302
4314
  key: 1,
4303
- title: "\u5168\u5C4F",
4315
+ title: unref(t)("FULLSCREEN"),
4304
4316
  placement: "bottom"
4305
4317
  }, {
4306
4318
  default: withCtx(() => [
@@ -4310,7 +4322,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
4310
4322
  })
4311
4323
  ]),
4312
4324
  _: 1
4313
- }))
4325
+ }, 8, ["title"]))
4314
4326
  ], 64)) : createCommentVNode("", true),
4315
4327
  createElementVNode("i", {
4316
4328
  class: "i mdi:close",
@@ -4564,6 +4576,9 @@ var _sfc_main$K = defineComponent({
4564
4576
  setup(props) {
4565
4577
  const table = getTableInstance();
4566
4578
  ref();
4579
+ const {
4580
+ t
4581
+ } = useI18n("UI");
4567
4582
  const {
4568
4583
  editRule,
4569
4584
  align = "left"
@@ -4588,9 +4603,9 @@ var _sfc_main$K = defineComponent({
4588
4603
  });
4589
4604
  const createPlaceholderMessage = (component) => {
4590
4605
  if (component.includes("Input")) {
4591
- return "\u8BF7\u8F93\u5165";
4606
+ return t("PLEASE_INPUT");
4592
4607
  }
4593
- return "\u8BF7\u9009\u62E9";
4608
+ return t("PLEASE_SELECT");
4594
4609
  };
4595
4610
  const setTableValue = () => {
4596
4611
  props.record[props.column.dataIndex] = unref(currentValueRef);
@@ -4692,11 +4707,11 @@ var _sfc_main$K = defineComponent({
4692
4707
  };
4693
4708
  }
4694
4709
  });
4695
- const _hoisted_1$s = { class: "editable-cell" };
4710
+ const _hoisted_1$q = { class: "editable-cell" };
4696
4711
  function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
4697
4712
  var _a;
4698
4713
  const _component_CellComponent = resolveComponent("CellComponent");
4699
- return openBlock(), createElementBlock("div", _hoisted_1$s, [
4714
+ return openBlock(), createElementBlock("div", _hoisted_1$q, [
4700
4715
  createVNode(_component_CellComponent, mergeProps({ ref: "elRef" }, _ctx.getComponentProps, {
4701
4716
  component: (_a = _ctx.column) == null ? void 0 : _a.editComponent,
4702
4717
  popoverVisible: _ctx.getRuleVisible,
@@ -5003,6 +5018,7 @@ function useLoading(props) {
5003
5018
  };
5004
5019
  }
5005
5020
  function usePagination(props) {
5021
+ const { t } = useI18n("UI");
5006
5022
  const paginationRef = ref({});
5007
5023
  const show = ref(true);
5008
5024
  watch(() => unref(props).pagination, (pagination) => {
@@ -5019,13 +5035,12 @@ function usePagination(props) {
5019
5035
  return false;
5020
5036
  }
5021
5037
  const { appConf } = useAppStore();
5022
- const { defaultPageSize, pageSizeOptions, size } = appConf.ui.table;
5038
+ const { defaultPageSize, pageSizeOptions } = appConf.ui.table;
5023
5039
  return {
5024
5040
  current: 1,
5025
5041
  pageSize: defaultPageSize,
5026
- size: size === "small" ? "small" : "default",
5027
5042
  defaultPageSize,
5028
- showTotal: (total, range) => `\u603B\u5171${total}\u6761`,
5043
+ showTotal: (total, range) => t("TOTAL_PAGE", { total }),
5029
5044
  showSizeChanger: true,
5030
5045
  pageSizeOptions,
5031
5046
  showQuickJumper: true,
@@ -5307,11 +5322,11 @@ var _sfc_main$J = defineComponent({
5307
5322
  return () => createVNode("span", null, [unref(renderText)]);
5308
5323
  }
5309
5324
  });
5310
- const _hoisted_1$r = {
5325
+ const _hoisted_1$p = {
5311
5326
  key: 0,
5312
5327
  class: "dt-table-action-btn"
5313
5328
  };
5314
- const _hoisted_2$i = ["color", "onClick"];
5329
+ const _hoisted_2$f = ["color", "onClick"];
5315
5330
  const _sfc_main$I = /* @__PURE__ */ defineComponent({
5316
5331
  __name: "TableActions",
5317
5332
  props: {
@@ -5374,7 +5389,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
5374
5389
  const _directive_auth = resolveDirective("auth");
5375
5390
  return props.expand ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(actionBtns.value, (item) => {
5376
5391
  return openBlock(), createElementBlock(Fragment, null, [
5377
- item.ifShow ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$r, [
5392
+ item.ifShow ? withDirectives((openBlock(), createElementBlock("span", _hoisted_1$p, [
5378
5393
  createVNode(unref(Tooltip), { placement: "bottom" }, {
5379
5394
  title: withCtx(() => [
5380
5395
  createTextVNode(toDisplayString(item.title), 1)
@@ -5383,7 +5398,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
5383
5398
  withDirectives(createElementVNode("span", {
5384
5399
  color: item.color,
5385
5400
  onClick: ($event) => handleAction(item)
5386
- }, null, 8, _hoisted_2$i), [
5401
+ }, null, 8, _hoisted_2$f), [
5387
5402
  [_directive_icon, item.icon]
5388
5403
  ])
5389
5404
  ]),
@@ -5489,6 +5504,7 @@ function sortFixedColumn(columns) {
5489
5504
  ];
5490
5505
  }
5491
5506
  function handleIndexColumn(propsRef, getPaginationRef, columns) {
5507
+ const { t } = useI18n("UI");
5492
5508
  const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef);
5493
5509
  let pushIndexColumns = false;
5494
5510
  if (unref(isTreeTable)) {
@@ -5508,7 +5524,7 @@ function handleIndexColumn(propsRef, getPaginationRef, columns) {
5508
5524
  columns.unshift({
5509
5525
  flag: INDEX_FLAG,
5510
5526
  width: 50,
5511
- title: "\u5E8F\u53F7",
5527
+ title: t("NUMBER"),
5512
5528
  align: "center",
5513
5529
  customRender: ({ index }) => {
5514
5530
  const getPagination = unref(getPaginationRef);
@@ -5527,6 +5543,7 @@ function handleIndexColumn(propsRef, getPaginationRef, columns) {
5527
5543
  });
5528
5544
  }
5529
5545
  function handleActionColumn(propsRef, columns) {
5546
+ const { t } = useI18n("UI");
5530
5547
  const { operations } = unref(propsRef);
5531
5548
  if (!operations || isObject(operations) && !(operations == null ? void 0 : operations.btns) || isArray$1(operations) && !operations)
5532
5549
  return;
@@ -5536,7 +5553,7 @@ function handleActionColumn(propsRef, columns) {
5536
5553
  let expand = column.expand ? column.expand : false;
5537
5554
  let columnObj = {
5538
5555
  fixed: "right",
5539
- title: "\u64CD\u4F5C",
5556
+ title: t("ACTIONS"),
5540
5557
  align: "center",
5541
5558
  expand,
5542
5559
  width: `${expand ? column.btns.length * 30 + 40 : 70}px`,
@@ -5692,23 +5709,17 @@ function useColumns(propsRef, getPaginationRef, tableElRef) {
5692
5709
  getCacheColumns
5693
5710
  };
5694
5711
  }
5695
- const _hoisted_1$q = /* @__PURE__ */ createElementVNode("span", null, "\u5217\u63A7\u5236", -1);
5696
- const _hoisted_2$h = /* @__PURE__ */ createTextVNode(" \u5217\u5C55\u793A ");
5697
- const _hoisted_3$b = /* @__PURE__ */ createTextVNode(" \u5E8F\u5217\u53F7 ");
5698
- const _hoisted_4$6 = /* @__PURE__ */ createTextVNode(" \u590D\u9009\u6846 ");
5699
- const _hoisted_5$4 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
5700
- const _hoisted_6$2 = {
5712
+ const _hoisted_1$o = {
5701
5713
  size: 16,
5702
5714
  className: "drag-icon"
5703
5715
  };
5704
- const _hoisted_7$1 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u5DE6\u4FA7");
5705
- const _hoisted_8 = /* @__PURE__ */ createTextVNode("\u56FA\u5B9A\u5230\u53F3\u4FA7");
5706
5716
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
5707
5717
  __name: "Column",
5708
5718
  emits: [
5709
5719
  "columns-change"
5710
5720
  ],
5711
5721
  setup(__props, { emit: emits }) {
5722
+ const { t } = useI18n("UI");
5712
5723
  const attrs = useAttrs$1();
5713
5724
  const prefixCls = "column-setting";
5714
5725
  const table = getTableInstance();
@@ -5882,7 +5893,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5882
5893
  const _directive_icon = resolveDirective("icon");
5883
5894
  return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
5884
5895
  title: withCtx(() => [
5885
- _hoisted_1$q
5896
+ createElementVNode("span", null, toDisplayString(unref(t)("COLUMN_CONTROL")), 1)
5886
5897
  ]),
5887
5898
  default: withCtx(() => [
5888
5899
  createVNode(unref(Popover), {
@@ -5903,7 +5914,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5903
5914
  onChange: onCheckAllChange
5904
5915
  }, {
5905
5916
  default: withCtx(() => [
5906
- _hoisted_2$h
5917
+ createTextVNode(toDisplayString(unref(t)("COLUMN_SHOW")), 1)
5907
5918
  ]),
5908
5919
  _: 1
5909
5920
  }, 8, ["indeterminate", "checked"]),
@@ -5913,7 +5924,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5913
5924
  onChange: handleIndexCheckChange
5914
5925
  }, {
5915
5926
  default: withCtx(() => [
5916
- _hoisted_3$b
5927
+ createTextVNode(toDisplayString(unref(t)("INDEX")), 1)
5917
5928
  ]),
5918
5929
  _: 1
5919
5930
  }, 8, ["checked"]),
@@ -5924,17 +5935,16 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5924
5935
  disabled: !unref(defaultRowSelection)
5925
5936
  }, {
5926
5937
  default: withCtx(() => [
5927
- _hoisted_4$6
5938
+ createTextVNode(toDisplayString(unref(t)("CHECKBOX")), 1)
5928
5939
  ]),
5929
5940
  _: 1
5930
5941
  }, 8, ["checked", "disabled"]),
5931
5942
  createVNode(unref(Button), {
5932
- size: "small",
5933
5943
  type: "link",
5934
5944
  onClick: reset
5935
5945
  }, {
5936
5946
  default: withCtx(() => [
5937
- _hoisted_5$4
5947
+ createTextVNode(toDisplayString(unref(t)("RESET")), 1)
5938
5948
  ]),
5939
5949
  _: 1
5940
5950
  })
@@ -5954,7 +5964,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5954
5964
  key: item.value,
5955
5965
  class: normalizeClass(`${prefixCls}__check-item`)
5956
5966
  }, [
5957
- withDirectives(createElementVNode("span", _hoisted_6$2, null, 512), [
5967
+ withDirectives(createElementVNode("span", _hoisted_1$o, null, 512), [
5958
5968
  [_directive_icon, "ant-design:drag-outlined"]
5959
5969
  ]),
5960
5970
  createVNode(unref(Checkbox), {
@@ -5971,7 +5981,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5971
5981
  getPopupContainer: getPopupContainer$1
5972
5982
  }, {
5973
5983
  title: withCtx(() => [
5974
- _hoisted_7$1
5984
+ createTextVNode(toDisplayString(unref(t)("FIXED_TO_LEFT")), 1)
5975
5985
  ]),
5976
5986
  default: withCtx(() => [
5977
5987
  createElementVNode("span", {
@@ -5997,7 +6007,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
5997
6007
  getPopupContainer: getPopupContainer$1
5998
6008
  }, {
5999
6009
  title: withCtx(() => [
6000
- _hoisted_8
6010
+ createTextVNode(toDisplayString(unref(t)("FIXED_TO_RIGHT")), 1)
6001
6011
  ]),
6002
6012
  default: withCtx(() => [
6003
6013
  createElementVNode("span", {
@@ -6035,12 +6045,13 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
6035
6045
  };
6036
6046
  }
6037
6047
  });
6038
- const _hoisted_1$p = { key: 0 };
6039
- const _hoisted_2$g = { key: 0 };
6040
- const _hoisted_3$a = { key: 1 };
6048
+ const _hoisted_1$n = { key: 0 };
6049
+ const _hoisted_2$e = { key: 0 };
6050
+ const _hoisted_3$7 = { key: 1 };
6041
6051
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
6042
6052
  __name: "Fullscreen",
6043
6053
  setup(__props) {
6054
+ const { t } = useI18n("UI");
6044
6055
  const table = getTableInstance();
6045
6056
  const wrapEl = ref(null);
6046
6057
  const { toggle, isFullscreen } = useFullscreen(wrapEl);
@@ -6061,15 +6072,15 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
6061
6072
  const _directive_icon = resolveDirective("icon");
6062
6073
  return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
6063
6074
  title: withCtx(() => [
6064
- !unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$p, "\u5168\u5C4F")) : createCommentVNode("", true)
6075
+ !unref(isFullscreen) ? (openBlock(), createElementBlock("span", _hoisted_1$n, toDisplayString(unref(t)("FULLSCREEN")), 1)) : createCommentVNode("", true)
6065
6076
  ]),
6066
6077
  default: withCtx(() => [
6067
6078
  createElementVNode("span", {
6068
6079
  onClick: _cache[0] || (_cache[0] = (...args) => unref(toggle) && unref(toggle)(...args))
6069
6080
  }, [
6070
- !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$g, null, 512)), [
6081
+ !unref(isFullscreen) ? withDirectives((openBlock(), createElementBlock("span", _hoisted_2$e, null, 512)), [
6071
6082
  [_directive_icon, "ic:baseline-fullscreen"]
6072
- ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$a, null, 512)), [
6083
+ ]) : withDirectives((openBlock(), createElementBlock("span", _hoisted_3$7, null, 512)), [
6073
6084
  [_directive_icon, "ic:baseline-fullscreen-exit"]
6074
6085
  ])
6075
6086
  ])
@@ -6079,11 +6090,11 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
6079
6090
  };
6080
6091
  }
6081
6092
  });
6082
- const _hoisted_1$o = { class: "column-select" };
6083
- const _hoisted_2$f = /* @__PURE__ */ createTextVNode("\u5168\u9009");
6093
+ const _hoisted_1$m = { class: "column-select" };
6084
6094
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
6085
6095
  __name: "DownloadCtrl",
6086
6096
  setup(__props) {
6097
+ const { t } = useI18n("UI");
6087
6098
  const { message } = useMessage();
6088
6099
  const state = reactive({
6089
6100
  indeterminate: false,
@@ -6096,7 +6107,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6096
6107
  };
6097
6108
  const [registerDialog, { closeModal }] = useModal({
6098
6109
  width: "60%",
6099
- title: "\u8BBE\u7F6E\u5BFC\u51FA\u5217"
6110
+ title: t("SETTING_EXPORT_COLUMN")
6100
6111
  }, (data) => {
6101
6112
  outRow.value = data;
6102
6113
  });
@@ -6118,7 +6129,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6118
6129
  var _a;
6119
6130
  let columns = (_a = unref(outRow)) == null ? void 0 : _a.columns.filter((it) => it.ifShow);
6120
6131
  if (!columns.length) {
6121
- message.error("\u6682\u65E0\u53EF\u5BFC\u51FA\u7684\u5217\uFF01");
6132
+ message.error(t("NO_EXPORT_COLUMN"));
6122
6133
  return;
6123
6134
  }
6124
6135
  closeModal(columns);
@@ -6129,7 +6140,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6129
6140
  onSave: save
6130
6141
  }, {
6131
6142
  default: withCtx(() => [
6132
- createElementVNode("div", _hoisted_1$o, [
6143
+ createElementVNode("div", _hoisted_1$m, [
6133
6144
  createVNode(unref(Checkbox), {
6134
6145
  checked: state.checkAll,
6135
6146
  "onUpdate:checked": _cache[0] || (_cache[0] = ($event) => state.checkAll = $event),
@@ -6137,7 +6148,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6137
6148
  onChange: onCheckAllChange
6138
6149
  }, {
6139
6150
  default: withCtx(() => [
6140
- _hoisted_2$f
6151
+ createTextVNode(toDisplayString(unref(t)("SELECT_ALL")), 1)
6141
6152
  ]),
6142
6153
  _: 1
6143
6154
  }, 8, ["checked", "indeterminate"]),
@@ -6173,13 +6184,10 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
6173
6184
  };
6174
6185
  }
6175
6186
  });
6176
- const _hoisted_1$n = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA", -1);
6177
- const _hoisted_2$e = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u5F53\u524D\u9875", -1);
6178
- const _hoisted_3$9 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u9009\u4E2D\u5217", -1);
6179
- const _hoisted_4$5 = /* @__PURE__ */ createElementVNode("span", null, "\u5BFC\u51FA\u6240\u6709\u5217", -1);
6180
6187
  const _sfc_main$E = /* @__PURE__ */ defineComponent({
6181
6188
  __name: "Download",
6182
6189
  setup(__props) {
6190
+ const { t } = useI18n("UI");
6183
6191
  const [registerDialog, { openModal }] = useModalOut();
6184
6192
  const table = getTableInstance();
6185
6193
  function handleTitleClick({ key }) {
@@ -6203,7 +6211,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
6203
6211
  const _directive_icon = resolveDirective("icon");
6204
6212
  return openBlock(), createBlock(unref(Tooltip), { placement: "top" }, {
6205
6213
  title: withCtx(() => [
6206
- _hoisted_1$n
6214
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT")), 1)
6207
6215
  ]),
6208
6216
  default: withCtx(() => [
6209
6217
  createVNode(unref(Dropdown), {
@@ -6216,19 +6224,19 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
6216
6224
  default: withCtx(() => [
6217
6225
  createVNode(unref(MenuItem), { key: "current" }, {
6218
6226
  default: withCtx(() => [
6219
- _hoisted_2$e
6227
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_CURRENT_PAGE")), 1)
6220
6228
  ]),
6221
6229
  _: 1
6222
6230
  }),
6223
6231
  createVNode(unref(MenuItem), { key: "select" }, {
6224
6232
  default: withCtx(() => [
6225
- _hoisted_3$9
6233
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_SELECT_COLUMN")), 1)
6226
6234
  ]),
6227
6235
  _: 1
6228
6236
  }),
6229
6237
  createVNode(unref(MenuItem), { key: "all" }, {
6230
6238
  default: withCtx(() => [
6231
- _hoisted_4$5
6239
+ createElementVNode("span", null, toDisplayString(unref(t)("EXPORT_ALL")), 1)
6232
6240
  ]),
6233
6241
  _: 1
6234
6242
  })
@@ -6336,34 +6344,34 @@ const _sfc_main$C = defineComponent({
6336
6344
  };
6337
6345
  }
6338
6346
  });
6339
- const _hoisted_1$m = { class: "dt-table-header" };
6347
+ const _hoisted_1$l = { class: "dt-table-header" };
6340
6348
  const _hoisted_2$d = { class: "dt-table-header-actions" };
6341
- const _hoisted_3$8 = { class: "dt-table-header-actions__left" };
6342
- const _hoisted_4$4 = {
6349
+ const _hoisted_3$6 = { class: "dt-table-header-actions__left" };
6350
+ const _hoisted_4$3 = {
6343
6351
  key: 0,
6344
6352
  class: "dt-table-header-actions__right"
6345
6353
  };
6346
- const _hoisted_5$3 = {
6354
+ const _hoisted_5$2 = {
6347
6355
  key: 0,
6348
6356
  style: { "margin": "5px" }
6349
6357
  };
6350
6358
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
6351
6359
  const _component_FormButtons = resolveComponent("FormButtons");
6352
6360
  const _component_TableSettinCom = resolveComponent("TableSettinCom");
6353
- return openBlock(), createElementBlock("div", _hoisted_1$m, [
6361
+ return openBlock(), createElementBlock("div", _hoisted_1$l, [
6354
6362
  createElementVNode("div", _hoisted_2$d, [
6355
- createElementVNode("div", _hoisted_3$8, [
6363
+ createElementVNode("div", _hoisted_3$6, [
6356
6364
  createVNode(_component_FormButtons, mergeProps(_ctx.getActionsProps, { onHandleMethod: _ctx.handleMethod }), null, 16, ["onHandleMethod"]),
6357
6365
  renderSlot(_ctx.$slots, "toolbar")
6358
6366
  ]),
6359
- _ctx.tableTools ? (openBlock(), createElementBlock("div", _hoisted_4$4, [
6367
+ _ctx.tableTools ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
6360
6368
  createVNode(_component_TableSettinCom, {
6361
6369
  setting: _ctx.tableTools,
6362
6370
  onColumnsChange: _ctx.handleColumnChange
6363
6371
  }, null, 8, ["setting", "onColumnsChange"])
6364
6372
  ])) : createCommentVNode("", true)
6365
6373
  ]),
6366
- _ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
6374
+ _ctx.$slots.headerTop ? (openBlock(), createElementBlock("div", _hoisted_5$2, [
6367
6375
  renderSlot(_ctx.$slots, "headerTop")
6368
6376
  ])) : createCommentVNode("", true)
6369
6377
  ]);
@@ -6523,11 +6531,9 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef) {
6523
6531
  bodyEl = tableEl.querySelector(".ant-table-body");
6524
6532
  createScrollWrap(bodyEl);
6525
6533
  calcScroll(bodyEl);
6526
- bodyEl.addEventListener("scroll", (e) => {
6527
- useDebounceFn(() => {
6528
- calcScroll(bodyEl);
6529
- }, 100)();
6530
- });
6534
+ bodyEl.addEventListener("scroll", useDebounceFn(() => {
6535
+ calcScroll(bodyEl);
6536
+ }, 100));
6531
6537
  }
6532
6538
  async function calcScroll(el) {
6533
6539
  var _a;
@@ -6638,7 +6644,6 @@ const _sfc_main$B = defineComponent({
6638
6644
  setup(props, { emit, attrs, slots }) {
6639
6645
  const tableElRef = ref(null);
6640
6646
  ref([]);
6641
- useApp();
6642
6647
  const innerPropsRef = ref();
6643
6648
  const getProps = computed(() => {
6644
6649
  return { ...props, ...unref(innerPropsRef) };
@@ -6746,7 +6751,7 @@ const _sfc_main$B = defineComponent({
6746
6751
  };
6747
6752
  }
6748
6753
  });
6749
- const _hoisted_1$l = /* @__PURE__ */ createElementVNode("img", { src: _imports_0$1 }, null, -1);
6754
+ const _hoisted_1$k = /* @__PURE__ */ createElementVNode("img", { src: _imports_0$1 }, null, -1);
6750
6755
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6751
6756
  const _component_TableRender = resolveComponent("TableRender");
6752
6757
  const _component_Table = resolveComponent("Table");
@@ -6764,7 +6769,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6764
6769
  }, null, 8, ["column", "record", "index"])) : createCommentVNode("", true)
6765
6770
  ]),
6766
6771
  emptyText: withCtx(() => [
6767
- _hoisted_1$l
6772
+ _hoisted_1$k
6768
6773
  ]),
6769
6774
  _: 2
6770
6775
  }, [
@@ -6890,6 +6895,7 @@ function useDownload(exportUrl, exportName) {
6890
6895
  }
6891
6896
  function useSource(opt) {
6892
6897
  var _a, _b, _c, _d;
6898
+ const { t } = useI18n("UI");
6893
6899
  const loading = {
6894
6900
  onSearch: ref(false),
6895
6901
  onReset: ref(false)
@@ -6986,7 +6992,7 @@ function useSource(opt) {
6986
6992
  let httpFetch = fetch(model, false);
6987
6993
  httpFetch.then((rsp) => {
6988
6994
  if ((rsp == null ? void 0 : rsp.code) === 0) {
6989
- message.success("\u65B0\u589E\u6210\u529F");
6995
+ message.success(t("ADD_SUCCESS"));
6990
6996
  search();
6991
6997
  }
6992
6998
  });
@@ -7005,7 +7011,7 @@ function useSource(opt) {
7005
7011
  let httpFetch = fetch(model, false);
7006
7012
  httpFetch.then((rsp) => {
7007
7013
  if ((rsp == null ? void 0 : rsp.code) === 0) {
7008
- message.success("\u66F4\u65B0\u6570\u636E\u6210\u529F");
7014
+ message.success(t("UPDATE_SUCCESS"));
7009
7015
  search();
7010
7016
  }
7011
7017
  });
@@ -7017,7 +7023,7 @@ function useSource(opt) {
7017
7023
  const { fetch } = useFetch(deletes, baseUrl);
7018
7024
  fetch(toRaw(ids), false).then((rsp) => {
7019
7025
  if ((rsp == null ? void 0 : rsp.code) === 0) {
7020
- message.success(`${ids.length > 1 ? "\u6279\u91CF" : ""} \u5220\u9664\u6210\u529F\uFF01`);
7026
+ message.success(`${ids.length > 1 ? t("MULTIFY") : ""} ${t("DELETE_SUCCESS")}`);
7021
7027
  search();
7022
7028
  }
7023
7029
  });
@@ -7112,7 +7118,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
7112
7118
  },
7113
7119
  setup(__props) {
7114
7120
  const props = __props;
7115
- const [registerDialog, { closeModal, setModalProps }] = useModal({
7121
+ const [registerDialog, { closeModal }] = useModal({
7116
7122
  ...omit(toRaw(props), [
7117
7123
  "curd",
7118
7124
  "formProps",
@@ -7169,6 +7175,9 @@ function useCurd(curdOpt) {
7169
7175
  confirm,
7170
7176
  message
7171
7177
  } = useMessage();
7178
+ const {
7179
+ t
7180
+ } = useI18n("UI");
7172
7181
  const actType = ref(null);
7173
7182
  const title = computed(() => unref(actType) + unref(curdOpt.title));
7174
7183
  const DtCurdModal = () => {
@@ -7182,7 +7191,7 @@ function useCurd(curdOpt) {
7182
7191
  }), null)]));
7183
7192
  };
7184
7193
  function add() {
7185
- actType.value = "\u65B0\u589E";
7194
+ actType.value = t("ADD");
7186
7195
  formsVal.value = null;
7187
7196
  openModal();
7188
7197
  }
@@ -7195,15 +7204,15 @@ function useCurd(curdOpt) {
7195
7204
  } = curdOpt;
7196
7205
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
7197
7206
  confirm({
7198
- title: "\u5220\u9664\u786E\u8BA4",
7199
- content: "\u786E\u8BA4\u8981\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
7207
+ title: t("DELETE_CONFIRM"),
7208
+ content: t("CONFIRM_DELETE"),
7200
7209
  iconType: "warning",
7201
7210
  onOk() {
7202
7211
  curd.onDeletes([row[primaryKey]]);
7203
7212
  }
7204
7213
  });
7205
7214
  } else {
7206
- error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
7215
+ error(t("NEED_CURD"));
7207
7216
  }
7208
7217
  }
7209
7218
  function update({
@@ -7213,7 +7222,7 @@ function useCurd(curdOpt) {
7213
7222
  primaryKey = "id",
7214
7223
  curd
7215
7224
  } = curdOpt;
7216
- actType.value = "\u7F16\u8F91";
7225
+ actType.value = t("EDIT");
7217
7226
  curd.onQueryById(row[primaryKey]).then((rsp) => {
7218
7227
  formsVal.value = rsp;
7219
7228
  nextTick(() => dispatchResize());
@@ -7222,7 +7231,7 @@ function useCurd(curdOpt) {
7222
7231
  }
7223
7232
  function dels(ids = []) {
7224
7233
  if (!ids.length) {
7225
- message.error("\u6682\u65E0\u9009\u4E2D\u7684\u6570\u636E!");
7234
+ message.error(t("EMPTY"));
7226
7235
  return;
7227
7236
  }
7228
7237
  const {
@@ -7230,15 +7239,15 @@ function useCurd(curdOpt) {
7230
7239
  } = curdOpt;
7231
7240
  if (curd && curd.onDeletes && isFunction(curd.onDeletes)) {
7232
7241
  confirm({
7233
- title: "\u6279\u91CF\u5220\u9664\u786E\u8BA4",
7234
- content: "\u786E\u8BA4\u8981\u6279\u91CF\u5220\u9664\u9009\u4E2D\u7684\u6570\u636E\uFF1F",
7242
+ title: t("MULTIFY_DELETE_CONFIRM"),
7243
+ content: t("CONFIRM_MULTIFY_DELETE"),
7235
7244
  iconType: "warning",
7236
7245
  onOk() {
7237
7246
  curd.onDeletes(ids);
7238
7247
  }
7239
7248
  });
7240
7249
  } else {
7241
- error(`\u7F3A\u5C11curd\u51FD\u6570\u914D\u7F6E, \u8BF7\u5C06useSource\u4E2D\u8FD4\u56DE\u7684curd\u53C2\u6570\u4F20\u5165useCurd\u914D\u7F6E\u9879\u4E2D!`);
7250
+ error(t("NEED_CURD"));
7242
7251
  }
7243
7252
  }
7244
7253
  function setFormValues(params) {
@@ -7258,7 +7267,7 @@ function useCurd(curdOpt) {
7258
7267
  setFormValues
7259
7268
  };
7260
7269
  }
7261
- const _hoisted_1$k = { class: "iframe-page" };
7270
+ const _hoisted_1$j = { class: "iframe-page" };
7262
7271
  const _hoisted_2$c = ["src"];
7263
7272
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
7264
7273
  __name: "index",
@@ -7282,7 +7291,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
7282
7291
  iframeWin.postMessage(props.postMsg, props.src);
7283
7292
  }
7284
7293
  return (_ctx, _cache) => {
7285
- return openBlock(), createElementBlock("div", _hoisted_1$k, [
7294
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [
7286
7295
  createVNode(unref(Spin), {
7287
7296
  spinning: loading.value,
7288
7297
  size: "large"
@@ -7345,6 +7354,7 @@ const basicUploadProps = {
7345
7354
  }
7346
7355
  };
7347
7356
  function useHelpers(acceptRef, helpTextRef, maxNumberRef, maxSizeRef) {
7357
+ const { t } = useI18n("UI");
7348
7358
  const getAccept = computed(() => {
7349
7359
  const accept = unref(acceptRef);
7350
7360
  if (accept && accept.length > 0) {
@@ -7371,17 +7381,17 @@ function useHelpers(acceptRef, helpTextRef, maxNumberRef, maxSizeRef) {
7371
7381
  const helpTexts = [];
7372
7382
  const accept = unref(acceptRef);
7373
7383
  if (accept.length > 0) {
7374
- helpTexts.push(`\u652F\u6301${accept.join(",")}\u683C\u5F0F`);
7384
+ helpTexts.push(t("SUPPORT_FILES", { message: accept.join(",") }));
7375
7385
  }
7376
7386
  const maxSize = unref(maxSizeRef);
7377
7387
  if (maxSize) {
7378
- helpTexts.push(`\u4E0D\u8D85\u8FC7${maxSize}M`);
7388
+ helpTexts.push(t("SUPPORT_FILES", { maxSize }));
7379
7389
  }
7380
7390
  const maxNumber = unref(maxNumberRef);
7381
7391
  if (maxNumber && maxNumber !== Infinity) {
7382
- helpTexts.push(`\u6700\u591A\u53EF\u9009\u62E9${maxNumber}\u4E2A\u6587\u4EF6`);
7392
+ helpTexts.push(t("SUPPORT_FILES", { maxNumber }));
7383
7393
  }
7384
- return helpTexts.join(",") || "\u8BF7\u4E0A\u4F20pptx\u3001doc\u3001jpg\u3001jpeg\u3001png\u3001bmp\u3001gif\u3001xls\u3001xlsx\u3001txt\u3001rar\u3001zip\u30017z\u3001tar\u3001gz\u683C\u5F0F\u6587\u4EF6";
7394
+ return helpTexts.join(",") || t("SUPPORT_TYPES");
7385
7395
  });
7386
7396
  return {
7387
7397
  getStringAccept,
@@ -7797,9 +7807,8 @@ var sparkMd5 = { exports: {} };
7797
7807
  return SparkMD5;
7798
7808
  });
7799
7809
  })(sparkMd5);
7800
- const _hoisted_1$j = { class: "dt-file" };
7801
- const _hoisted_2$b = /* @__PURE__ */ createTextVNode(" \u6A21\u677F\u4E0B\u8F7D ");
7802
- const _hoisted_3$7 = {
7810
+ const _hoisted_1$i = { class: "dt-file" };
7811
+ const _hoisted_2$b = {
7803
7812
  key: 0,
7804
7813
  class: "file-type-tips ant-alert-info"
7805
7814
  };
@@ -7808,6 +7817,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7808
7817
  props: basicUploadProps,
7809
7818
  setup(__props, { expose }) {
7810
7819
  const props = __props;
7820
+ const { t } = useI18n();
7811
7821
  const { message } = useMessage();
7812
7822
  const filesRef = ref([]);
7813
7823
  const historyFilesRef = ref([]);
@@ -7829,14 +7839,14 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7829
7839
  rowSelection: null,
7830
7840
  dataSource: allFilesRef,
7831
7841
  columns: [
7832
- { title: "\u6587\u4EF6\u540D\u79F0", dataIndex: "fileName" },
7833
- { title: "\u4E0A\u4F20\u72B6\u6001", dataIndex: "fileStatue", className: "orange" }
7842
+ { title: t("UI.FILE_NAME"), dataIndex: "fileName" },
7843
+ { title: t("UI.FILE_STATUS"), dataIndex: "fileStatue", className: "orange" }
7834
7844
  ],
7835
7845
  operations: {
7836
7846
  expand: true,
7837
7847
  btns: [
7838
7848
  {
7839
- title: "\u9884\u89C8",
7849
+ title: t("UI.PREVIEW"),
7840
7850
  icon: "ic:baseline-remove-red-eye",
7841
7851
  ifShow(row) {
7842
7852
  if (!props.showView)
@@ -7849,7 +7859,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7849
7859
  }
7850
7860
  }
7851
7861
  },
7852
- { title: "\u5220\u9664", icon: "mdi:delete-outline", ifShow: true, action: ({ row }) => {
7862
+ { title: t("UI.DELETE"), icon: "mdi:delete-outline", ifShow: true, action: ({ row }) => {
7853
7863
  if (!row.status)
7854
7864
  historyFilesRef.value = historyFilesRef.value.filter((it) => it.fileId !== row.fileId);
7855
7865
  else {
@@ -7867,7 +7877,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7867
7877
  fileId: file.fileId || index,
7868
7878
  fileName: file.fileName,
7869
7879
  status: 0,
7870
- fileStatue: "\u5386\u53F2\u4E0A\u4F20"
7880
+ fileStatue: t("UI.HISTORY_UPLOAD")
7871
7881
  };
7872
7882
  });
7873
7883
  }
@@ -7877,7 +7887,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7877
7887
  function beforeUpload(file) {
7878
7888
  const { maxSize: maxSize2 } = props;
7879
7889
  if (maxSize2 && file.size / 1024 / 1024 >= maxSize2) {
7880
- message.error(`\u53EA\u80FD\u4E0A\u4F20\u4E0D\u8D85\u8FC7${maxSize2}MB\u7684\u6587\u4EF6!`);
7890
+ message.error(t("UI.MAX_MB", { maxSize: maxSize2 }));
7881
7891
  return false;
7882
7892
  }
7883
7893
  addFile(file);
@@ -7897,7 +7907,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7897
7907
  fileId: spark.end(),
7898
7908
  file,
7899
7909
  status: 1,
7900
- fileStatue: "\u5F85\u4E0A\u4F20"
7910
+ fileStatue: t("UI.PRE_UPLOAD")
7901
7911
  };
7902
7912
  if (props.multiple) {
7903
7913
  filesRef.value.push(fileObj);
@@ -7918,7 +7928,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7918
7928
  });
7919
7929
  return (_ctx, _cache) => {
7920
7930
  const _directive_icon = resolveDirective("icon");
7921
- return openBlock(), createElementBlock("div", _hoisted_1$j, [
7931
+ return openBlock(), createElementBlock("div", _hoisted_1$i, [
7922
7932
  createElementVNode("div", {
7923
7933
  class: "file-header",
7924
7934
  style: normalizeStyle({
@@ -7938,7 +7948,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7938
7948
  withDirectives(createElementVNode("span", null, null, 512), [
7939
7949
  [_directive_icon, "ic:baseline-file-upload"]
7940
7950
  ]),
7941
- createTextVNode(" " + toDisplayString(_ctx.uploadText), 1)
7951
+ createTextVNode(" " + toDisplayString(unref(t)(_ctx.uploadText)), 1)
7942
7952
  ]),
7943
7953
  _: 1
7944
7954
  })
@@ -7954,14 +7964,14 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
7954
7964
  withDirectives(createElementVNode("span", null, null, 512), [
7955
7965
  [_directive_icon, "ic:baseline-file-download"]
7956
7966
  ]),
7957
- _hoisted_2$b
7967
+ createTextVNode(" " + toDisplayString(unref(t)("UI.DOWNLOAD_TEMPLATE")), 1)
7958
7968
  ]),
7959
7969
  _: 1
7960
7970
  }, 8, ["onClick"])) : createCommentVNode("", true)
7961
7971
  ]),
7962
7972
  renderSlot(_ctx.$slots, "default")
7963
7973
  ], 4),
7964
- unref(getHelpText) ? (openBlock(), createElementBlock("div", _hoisted_3$7, [
7974
+ unref(getHelpText) ? (openBlock(), createElementBlock("div", _hoisted_2$b, [
7965
7975
  withDirectives(createElementVNode("span", null, null, 512), [
7966
7976
  [_directive_icon, "ant-design:info-circle-outlined"]
7967
7977
  ]),
@@ -8095,20 +8105,20 @@ var ToolbarEnum = /* @__PURE__ */ ((ToolbarEnum2) => {
8095
8105
  ToolbarEnum2[ToolbarEnum2["CHECK_UN_STRICTLY"] = 5] = "CHECK_UN_STRICTLY";
8096
8106
  return ToolbarEnum2;
8097
8107
  })(ToolbarEnum || {});
8098
- const _hoisted_1$i = { class: "dt-tree-header" };
8108
+ const _hoisted_1$h = { class: "dt-tree-header" };
8099
8109
  const _hoisted_2$a = {
8100
8110
  key: 1,
8101
8111
  class: "headerTitle"
8102
8112
  };
8103
- const _hoisted_3$6 = {
8113
+ const _hoisted_3$5 = {
8104
8114
  key: 2,
8105
8115
  class: "dt-tree-search"
8106
8116
  };
8107
- const _hoisted_4$3 = {
8117
+ const _hoisted_4$2 = {
8108
8118
  key: 0,
8109
8119
  class: "dt-tree-search-input"
8110
8120
  };
8111
- const _hoisted_5$2 = /* @__PURE__ */ createElementVNode("i", { class: "i ic:baseline-more-vert" }, null, -1);
8121
+ const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("i", { class: "i ic:baseline-more-vert" }, null, -1);
8112
8122
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
8113
8123
  __name: "treeHeader",
8114
8124
  props: searchProps,
@@ -8119,6 +8129,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
8119
8129
  ],
8120
8130
  setup(__props, { emit: emits }) {
8121
8131
  const props = __props;
8132
+ const { t } = useI18n("UI");
8122
8133
  const slots = useSlots$1();
8123
8134
  const searchValue = ref("");
8124
8135
  function emitChange(value) {
@@ -8151,23 +8162,23 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
8151
8162
  const toolbarList = computed(() => {
8152
8163
  const { checkable } = props;
8153
8164
  const defaultToolbarList = [
8154
- { label: "\u5C55\u5F00\u5168\u90E8", value: ToolbarEnum.EXPAND_ALL },
8165
+ { label: t("EXPAND_ALL"), value: ToolbarEnum.EXPAND_ALL },
8155
8166
  {
8156
- label: "\u6298\u53E0\u5168\u90E8",
8167
+ label: t("COLLAPSE_ALL"),
8157
8168
  value: ToolbarEnum.UN_EXPAND_ALL,
8158
8169
  divider: checkable
8159
8170
  }
8160
8171
  ];
8161
8172
  return checkable ? [
8162
- { label: "\u9009\u62E9\u5168\u90E8", value: ToolbarEnum.SELECT_ALL },
8173
+ { label: t("SELECT_ALL1"), value: ToolbarEnum.SELECT_ALL },
8163
8174
  {
8164
- label: "\u53D6\u6D88\u9009\u62E9",
8175
+ label: t("CANCEL_SELECT_ALL"),
8165
8176
  value: ToolbarEnum.UN_SELECT_ALL,
8166
8177
  divider: checkable
8167
8178
  },
8168
8179
  ...defaultToolbarList,
8169
- { label: "\u5C42\u7EA7\u5173\u8054", value: ToolbarEnum.CHECK_STRICTLY },
8170
- { label: "\u5C42\u7EA7\u72EC\u7ACB", value: ToolbarEnum.CHECK_UN_STRICTLY }
8180
+ { label: t("LEVEL_CONNECTION"), value: ToolbarEnum.CHECK_STRICTLY },
8181
+ { label: t("LEVEL_SOLATE"), value: ToolbarEnum.CHECK_UN_STRICTLY }
8171
8182
  ] : defaultToolbarList;
8172
8183
  });
8173
8184
  const debounceEmitChange = useDebounceFn(emitChange, 200);
@@ -8175,18 +8186,18 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
8175
8186
  debounceEmitChange(v);
8176
8187
  });
8177
8188
  return (_ctx, _cache) => {
8178
- return openBlock(), createElementBlock("div", _hoisted_1$i, [
8189
+ return openBlock(), createElementBlock("div", _hoisted_1$h, [
8179
8190
  unref(slots).headerTitle ? renderSlot(_ctx.$slots, "headerTitle", { key: 0 }) : createCommentVNode("", true),
8180
8191
  !unref(slots).headerTitle && _ctx.title ? (openBlock(), createElementBlock("h4", _hoisted_2$a, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
8181
- _ctx.search || _ctx.toolbar ? (openBlock(), createElementBlock("div", _hoisted_3$6, [
8182
- _ctx.search ? (openBlock(), createElementBlock("div", _hoisted_4$3, [
8192
+ _ctx.search || _ctx.toolbar ? (openBlock(), createElementBlock("div", _hoisted_3$5, [
8193
+ _ctx.search ? (openBlock(), createElementBlock("div", _hoisted_4$2, [
8183
8194
  createVNode(unref(InputSearch), {
8184
8195
  size: "small",
8185
8196
  allowClear: "",
8186
8197
  value: searchValue.value,
8187
8198
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => searchValue.value = $event),
8188
- placeholder: "\u641C\u7D22"
8189
- }, null, 8, ["value"])
8199
+ placeholder: unref(t)("FILTER")
8200
+ }, null, 8, ["value", "placeholder"])
8190
8201
  ])) : createCommentVNode("", true),
8191
8202
  _ctx.toolbar ? (openBlock(), createBlock(unref(Dropdown), {
8192
8203
  key: 1,
@@ -8214,7 +8225,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
8214
8225
  })
8215
8226
  ]),
8216
8227
  default: withCtx(() => [
8217
- _hoisted_5$2
8228
+ _hoisted_5$1
8218
8229
  ]),
8219
8230
  _: 1
8220
8231
  })) : createCommentVNode("", true)
@@ -8451,6 +8462,9 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
8451
8462
  emit
8452
8463
  }) {
8453
8464
  const props = __props;
8465
+ const {
8466
+ t
8467
+ } = useI18n("UI");
8454
8468
  const attrs = useAttrs$1();
8455
8469
  const slots = useSlots$1();
8456
8470
  const {
@@ -8772,14 +8786,14 @@ var _sfc_main$w = /* @__PURE__ */ defineComponent({
8772
8786
  _: 1
8773
8787
  }, 8, ["title", "toolbar", "search", "checkable", "searchText"])) : createCommentVNode("", true), createVNode(unref(Spin), {
8774
8788
  spinning: _ctx.loading,
8775
- tip: "\u52A0\u8F7D\u4E2D..."
8789
+ tip: unref(t)("LOADING")
8776
8790
  }, {
8777
8791
  default: withCtx(() => [withDirectives(createElementVNode("div", null, [createVNode(unref(Tree), mergeProps(unref(getBindValues), {
8778
8792
  showIcon: false,
8779
8793
  treeData: unref(treeData)
8780
8794
  }), null, 16, ["treeData"])], 512), [[vShow, !unref(getNotFound)]]), withDirectives(createVNode(unref(Empty), null, null, 512), [[vShow, unref(getNotFound)]])]),
8781
8795
  _: 1
8782
- }, 8, ["spinning"])], 2);
8796
+ }, 8, ["spinning", "tip"])], 2);
8783
8797
  };
8784
8798
  }
8785
8799
  });
@@ -8821,7 +8835,6 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
8821
8835
  };
8822
8836
  }
8823
8837
  });
8824
- const _hoisted_1$h = { class: "dt-logo__title" };
8825
8838
  const _sfc_main$t = /* @__PURE__ */ defineComponent({
8826
8839
  __name: "logo",
8827
8840
  props: {
@@ -8830,7 +8843,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
8830
8843
  },
8831
8844
  setup(__props) {
8832
8845
  const props = __props;
8833
- const title = "\u9686\u57FA\u96C6\u56E2\u6D77\u5916\u7A0E\u52A1\u7CFB\u7EDF";
8846
+ const { t } = useI18n("UI");
8847
+ const title = t("COMPANY_NAME");
8834
8848
  const { getCollapsedShowTitle } = useMenu();
8835
8849
  const getLogoClass = computed(() => {
8836
8850
  return [
@@ -8848,7 +8862,7 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
8848
8862
  size: 42,
8849
8863
  "class-name": "brand-logo"
8850
8864
  }),
8851
- withDirectives(createElementVNode("div", _hoisted_1$h, toDisplayString(title), 512), [
8865
+ withDirectives(createElementVNode("div", { class: "dt-logo__title" }, toDisplayString(unref(title)), 513), [
8852
8866
  [vShow, __props.showTitle]
8853
8867
  ])
8854
8868
  ], 2);
@@ -8925,6 +8939,7 @@ const _hoisted_1$f = { class: "dt-breadcrumb" };
8925
8939
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
8926
8940
  __name: "bread-crumb",
8927
8941
  setup(__props) {
8942
+ const { getIsZH } = useHeader();
8928
8943
  let routes = ref([]);
8929
8944
  const { currentRoute } = useRouter();
8930
8945
  watchEffect(() => {
@@ -8938,7 +8953,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
8938
8953
  itemRender: withCtx(({ route }) => {
8939
8954
  var _a;
8940
8955
  return [
8941
- createElementVNode("span", null, toDisplayString(route.label || ((_a = route.meta) == null ? void 0 : _a.title)), 1)
8956
+ createElementVNode("span", null, toDisplayString((unref(getIsZH) ? route.label : route.enLabel) || ((_a = route.meta) == null ? void 0 : _a.title)), 1)
8942
8957
  ];
8943
8958
  }),
8944
8959
  _: 1
@@ -8998,14 +9013,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
8998
9013
  var _imports_0 = "data:image/png;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAG9AfQDASIAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAAAAECAwUEBgcI/8QASRAAAQQABAMFBAYJAQYEBwAAAQACAxEEBRIhMUFRBhMiYXEUMoGRFUJSobHBBxYjM2JyktHh8CRDRGOCkyU0U1QXc4Oio8Lx/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECAwQFBv/EACMRAQEAAgICAgMBAQEAAAAAAAABAhESEwMhBDEUQVFhIjL/2gAMAwEAAhEDEQA/AMZCSYX3XyQRso0rEtKCFJ0p0onjSKSSlSSATSKEQHihCEQVaYbSSlyQIpJoQACC1McUFGde0AnVqVIRoqRVKSRRESkFIpAIpp8kgmESoqQA4opHBGdAkJcuKDxTpDRX5qQ3CVIooaHNNCENEmhCGghCENBCEIaHNNKk0TQUlFNDQ5ppIQ0akFFCGkyUAgpct0BF0ldIQhDQQhCGghCENBAQhDR802lLmpDmjZpoCEELIQpaUIOSh0TpMJ0io0lR5lSpBCCBtHqmU0ESEgN1Kk6RESLSAU0Uio0kVOkUiIAFOlKkUilSVKVJIyKQhCKEIQgEk0+CCKQUikgKTQhAIQhAkUmhECEIQCEJoEhCaBJoTKJsghAKEU0IQjIUkhsnSCKEc1JFJMCimFJAkbIRSACaEIBCE0CQmhAqTCaECA3UggKSNEOKaKQgEKSEHKhCEUkJpoI6bSpSRSIiQkpI5oopFBCBuEZLmhHNCKSE0IpITKSMbCEIQCKTQhEUJlJGghCEAhCEAhNJAJ0gIQCSE0CTAQmiWiklJJGdgJpJ2ilSKTQhslKtlFSB5IhFNFIHBFFIohP0QCgOCklSaAQikIBOkIRAhCEUIQmgFIJBSRoJhIJoGjZJCA2QnQQg5qRSY4JhFCVhBUa80DQkhESoKKEIpEIATHFTAREKQQpUhBWmpEKKBVaKpSRVoliKFLSkQiaJATpCLoklIo2CCKE9k6CFqKEEboQlFITCCibJCaEAhHNCISE00CTQjjwQJCdJoFyST5pUiGEwEBSCKVJ1sjimio0gjdSpCACEJhAihSpIcUAmikIBJNCIE0k0U6TCN+aLRowmlYTQNCEIC/JCEIOfkhOikijilSaEEKRRU0IiFFFFTQgiAbUkIQCR2TSItEqNoTAKCDSJshxTKQTRdi0yEkEooI2SpCkEZ2ikUykgSYQUBECSkl6oEmEkwgEIISQNCAE6RLSQmkjJKQASrZMBGodIpPfki0UqQPRSKjRQFJ0gDgmlIQTtJOkUIQhAJhACaASTQiAIQikAhOkwECTCdJ1SKOKRGyYTRsgE00UgQTRwQpU2EIQs6NoUoEKaS0qFIpNNUQTpFJoIopNCIVboUqtFIIoTQgSE6QU2hUlW6aEQiFEhTQi1XW6mCikVuiIoTISQJCaaIje6CpJUmwgmEUnSbQqTpFJoQkJ+SKQRKdJ0mAiaRPBG6lSKRqEnW9opNEJNCECQik6RYSdIKaKKRSEUiGAmRSAgoEgKWyKCm1GnZIA2pUgDdNhUmAmhNgpBQhTYEIATpGoEIQgCE6QNynSRgUhCFUV0UVspJUjqrQp7JbKiKE6SpAIRSYG4QJMi0VXFHNERKFIhKkCpFJ0nSCFIUq2UaRAlSdIRSQmkiBKlKkkQqQVKkKbVBCnSVKoVJopCjNgQQnVIKoiAmik6QJNFJ1siUqTQikWCkUmhVSTrZOkKIVGklZdBQpFClSjSkCgRpKlIi0wKKJsqRQUkk2WlSAE6TUq7CEJrJskJoVkTZApopFJpdhSBCjVphpTS7M0ikBqelDYaKTKKQgVITQqK0UUwLTpG0NJS0q2lFVUaRVJoITYinSKQm0RJKjzVhCVJtCQpbUlsUCtFopFIBRKkUkCSpMoq0Z2SdIpMBFJKk0Im0UUpUilEtJCdJInIUlW6kikXaNbopTrdBCIhSkOCYaigFWSpClyRt0RSpKlKkqQFJ0nSDsgW6elQMzW8/ijvLIppPwWbTVSpSpJhD22OPRAIPBNnsUnsi0KApI8VInZJaCvyTRSdIhJoQgLQDaEwkCIQmnSKSE6RRKAATARRCYKVTGyEBNYaKkUmE6VKjSE6QqyiPEEI4BNJXSUioKylHSqqCEyN06URFKlKkUgimmQkqpEJUpIIQJIqVIKWpaiAik+CRU2zsUhMIpVKiQmikKUgpFIpOkibR0popNW1NoUnpUkgVNpsqpHEplATZsJ0jkhQ2XAJVe6ZCdK7TZAJbqVITZsqSUkiDRIF1upvXurjLldQi6gKok8AsGfP4HTOjidZa7T3h90eg5qeaZqYIS2G5Q6y+Rh2aLrj62B6LyEZMWKYWni67PBeXy/Jkvp7fH8W/eT2fexOojEEuP1tQ39AOHopsliFt7x5cebgvKywTuZ31FzQW2Rx3VXdStnMZDmnkL3vouU+U6/iV7iNwFU+M1xPAj4rqaTsCS41d0vneuZjxqeTW4B3HyXocgzDESGSLVTI26i0cK4bdOK1j8qVL8T09NRHEUik4iJIvCQADz+qUyC004URxC9WOfKPHn4+NKkJopdHMk06RSoigJ6VLSgjSadJUiaCaAE6RQmOKVKQCBEWigpUgBFKk6Ug21INpZaR0IIpTSJtBDSUJoVRXSNlOkqWY0SSnSRC0I0ik0FBDTaVUVMBMhNlV0igp0ilNm0CEqViKtXZtCikRSs0qJG5Ri1BFKekIApGUKQp0kWqqilSdJqJpFClSKoqIiik0IhUhNFIhITpJA0qKaKQKk06RSBWhOt0b8haVZNoPIZG97iA1g1OJ5BeQzLOZsZh8SY9bIe8DByscr9d/kpdpc9MkpwWHf8AsWkai0+84cfhy+Cwo5NMWmrFFwvejVL5/n8u7qPp/H8Uwm61MC4ZjlDcGHFr+8HeOI5Wa+CMJgLficM5ge+G5ATten3gfhRWNg8S7Duk0k29tceNb0t2PFDE5tC5hZqmjIJviSOfnyXkr2bdGVMbistbcgEbnmEuI901YPlsV05lhI5nRy4eN1OI0kHc7Wb+9Z/ZrxwZnhXcO7ErWHjqY69j6Wtrs/K2V0uCxIaS17Xxgi6uwfxHzWbHWfTMjwLcRghNRNF2wbxF/ipYZ2Iy7MJWRNAc9phLSRRttgrawOKwmXTY7CTDvBDiXVYrwu8viuPOJIZc2bNh2FzG4VwdX2hwPy3WFVZfmbmOayejy1hoFetcluume3u5dTdDyBdHw3wPoVhNwXfsLgCbeCHDzBP91oZa9roH4J5JEfgLeZb5f65L2/F8t3xrx/K8Prli0Q0jg4H4Keypw73SMIkNysOlzvtdD8R+a6AADwX05XyrNI0mpEJUqhAKVIA2TAUUiNkg1TSWgqRSlSEQgN0KQG6ZCWCICdKQRaypDZSSAtNRZQghCFVKkJoT2aRDdklOlBSKelGlS5BG60KyKNIpTQgroopWFGkIKqRSs07KNKIjSFPSo1ugSFKrRVFGUDwRxUiEUk2mkSEUnSKVEXNUdKmAnSCFIq1OkVSIr0opWVaVIiOlGlSpFIIkUoq0N2RShpWBaKVlIQVEFMDZWUgBBDSsjtHmf0blxEf76e42fwitz/rqttfPu1+KM+dOivwQMDAPM7n8Vy82XHF3+PhyzYLnlzrJs9SuvDlwgdK3cx7EeV/5XCuvCV3Uup2ztqHEGtj+XxXzK+oeKwhhghxDSCyRmrbluQunK7EzHBwuOng3y/uqIptUDIT7lFo8if8ANLnjPdSO1g2NtuqixoZLixh83MkosPLmkfzWD+K7xjhgcdG6MsJY3SL89ivPsP7Yb7Erqe3vzTW+ME209eoWbG5WjmGN77Mp5oydEwseuyjhMb3kohFuBj0H5gk/IV81lB5MO54FWYKYw4psjTRG1+SzYsvt9SghYyIYe6dpNu+s3YH/AAuR0TDjpDBRf3TJSWt92rbV/wCuCxoM3kkw+u2lk8niu9tgT8NvuW3kkrH4TEYvei5oFnc71/dT/wA3bf8A6mkzG7W2Ztjangcxf5H810ijwUWOa4vHujUCK5g0VIsOq21f4r7Hgy5YSvjfJw4Z6gSpWDccKRS7vOghTpKk0EEyEwN06VEKTATAtSQRCfFOkwlojWyYCZFopZ2AJ0gClIBRqRGikQVYAnWyqqqQrKQqqtAYpAbqZasiqtkUp0mGpRXSKU6RSCukbqdI0psQQpUjSKVEUqBKnpRpQQ0pFu6nSVJUsQpGlTpNTbKukiFbSWlXaKqQrNKC1BAC0iFaBSCERWG7cUlYWpaVRCkUp6UUgiAlSsDUtKCFJK7TsoFigjWyAFLSUw3ZDSqaRsMEkruDGlxXybEzyYnFSzyE65HlxtfUM5a76HxWkEkMJ24r5Vw2HJeP5d+o93w590iFdhXHU9gdWppG/DgqShpIcCOK8L26WuG/HZ3FVE1w3VwuWPQTw3CqdG5lEjwngeqbIY3pWuJcQ6zY+5Vaiask0KCRcb4qtL5S15LhQ1USByPNUt4pElJuymlaAxJbC2NpquY2tehyvNnx4SOBgpgdqJ9BQ/15ryjQTvyXbDO6PDvuqJFFZsWXT1mBzG8XGwgBznadN8uW69IwkgXV+S+Z4PFSOzGFznb940AjpfBfUNO5X0Pif+Xz/me7silSlSNK9u3iRRSlpRpTYjzTTpOk2EAmmAjTus7Ea3TTpSATYgFIC0y1MAhQFWilKkUm2keCFIhIBXabKvNClSE2bRDeClaYCNKioAbqRUw1BbslVWihSelOtlNptBOrRp3UqVES1RpWblGlNqhSKU9NhGilJRVpspFqu0qLm7rWxVSKVmlLSjKFIpSpCiI6UaVJCCOlGlSQiIkJUVNMBXYrpFKykUghSKUiEUVRGkqU6KVKfSI0ilLSildptB4Gg3w/FfLs8yp+XY2TSLw7nHQ4b1vwX1ReN+jZ24/MMLioXHCYiR0jXnZrDex+Nj4rx/Kl47j3fCs5ca8RSS7Mbg34LFPheN28PNch4rwbfRuNl9pxSd3I1xFgHcdQrsRLHK4iNrmx7U0nn1XMmDSJocCpPbW4Njqo8UcLWgAWeNJJptF6vIckVMFpGogANG/Vys74GOgPgT/rguetxSsALmk8AOaDry1wdmOHFf7wfcvrAJO+26+d9k8C3EZw2UjvGQDU6uANbDzPP4L6KANjt5Uvb8X6eD5f2NJ4pgWpXaVL1PGNKVKXJJIhEJKXFFKVCTCek9E9JRSpMBMNUiPJUQITClSelF0jSdKWmkUioEIDVIhMCkRCkKdIVNLO6PMI7s9Fs/R8n2QpNy2UngFw7Hq6axBE7opGJ3Qr0MWWADx8V1RYKKM7AfJZvmbngteVbhZX3TCfgpeySAbtr1XrjhmkbCvRROGadiL9VnvX8aft5IYR3RBgral6d2Xx7nelQ/K4zuCfkr3bPxv4wRhhSm3CtvcWtj6M6E/JTblpve0vlh0VkswbCd27K/6Nic3hS1G4At4K5mF6ilm+WfpueFhHKG1s4rlflsjd+K9UMMOgS9lUnmqXwSvHuwcrQTpUPZ3/AGV7J2DYRu0FVfRsH/pi1rurH4ryPs55qPc79F685ZC4UW/JVPyeI7iwrPMx+NXlDCo6COIXpzlIB2cUhlexDgHLXazfjZPM6Ewxek+hIjzIUHZGz6rz8k7Yn41ed0eSNK2n5Q5gNPN+YVD8C4buBWp5IzfBlGZpRpWkMI0t90hVuwJvwlXmxfFk4CEUul2HkBNsOyh3Z6H5LXJi4ZRTSKV3d+Sl3PknJONc+kpad11CFx4NKs9glIsAJyi9eTi0rO7QMJyPENAJJ0jj/EFuHBzA+6qMVl/teFlw8gIbI3SSOI81jOyyx18WNxylr552gwftDI8S0EOc0avXn968pJGWOIN+q+l5jgXyQuiIDZmm3t5B3OjzB4jycvOYjIiIXiXYEW1w+qfPyXxt8MrK/RXDHyeOZY/byiFbPh5cNMYpWkOHyPoq6C6y7eTVn2SLQhaBxVjvC2hxPHqrI5I20O4jI5k2T+KtczDFgeO8J38PCv8AX+igojkIAjeT3d2aaCR6WpyOEjgGB3px3XTh8uxOJbUcOltjdwIu/MrYynK48HKcXiS0OZ7uvcNJ51yrqs2/weh7J4D2PA6CP2u5kcNqJrb716JreN+qxchxLPa2OaSI5HPq+gA3+6l6BgLgXOFFxul7Pi/TxfL1tXpTpW1W1JaV7XhV6UaVZSKUNKy3ZAburNKYaomkNKWlW0npV2sVgKQaphiYapa1pWWoDFbpTAU2ulQZunoCtpFK7FOjySLT0V9JUmzSrShW0hORp67SrA0BRtTC8D60HFNJFoqYKdKI4IBWESoJaAjUkTaqw6ACYApRtAKKlQT07KKdrIdJ0FHUjVa0mjIBCjSkNkbFTRpGkqU6CV0qaQLVAgK4utVlJRAqJKmQo6VpixW5uoKDsO1w4q7SmGqbZscZwbOpVTsGAditLSomK1qZU4bZjsI6tiCqDhCeRW33SYhA5Ba5s3xRgjBNB9w/JWDCt+xXwW53Y6I7pvMBXsJ4oxhhGkVSl7LXAlbAib9kI7pv2Qs9q9cYpw8l7NUThXkbhbvdtrgFHu29E7Drjxef5S5+DOLYCJYRua4s6fBeUeDzX14wse0tcAWuFEdQvm+eZS/Kse+E2YnEuif9pv8AccCvF8ibu3t+Ndf8vHZvl8crQWt0+VbLzE+DMZtvyXvcTFriIXl8xgdGSa2tcsMnTy4S+2A5haaIVuHgbK4hxIAFk9B1V72Nc4auC7sKcPHAWRxBwLx3kzzsxvIVzPQLvK81jMkh7mNjntcNfAFA1REOAN2DwXVmuOjxuJGmPTEyPQwk0duBKrgIMMYsjUHAhx2FcP8AXkrb6R1QB+L21Eni7U7Zu/FauWZfPmFvleBDHIIw0Cg40TXnw4eazMHgw4kvm06SNTQOI6r6B2ew8UMbQJWyQwudIGu4uca4fh8SsTL/AKa4+ksty7/bW4drNsOzSQBW5r/XxXoRhpCfcK1MkysQQPnmY3vpSTdUQCfz/ILUdh2le7HPUeTPwzK+3mhgZnb6SEjgZR9Ur0ZhA4Kt8RHILpPK53wYvPjBzH6hR7DN9lbDmHoo11WuzbN8OMZPscg4hQMZaapazm2CFzuw5PBXmxfHP0zy3dGldjsPR3UO4dfBOTFwqgBPSujuq9Ud35JvZwqikUr+6R3aHFQGkp6CrhGR0R3ZTZxUaSjTSv7soLD0VONU6QhWaD0KEONenKNSnQUdK8j6ekgbRsgCtiE68lNqLRZ6pIUU0rQUIhotRTpFSsotRQmhK0WkhA7RaSYBcaAsoESgFS0OB3aVEjmmw0FJFpAIpFpqpYVJ0lraOYQZWN4kBSpo6TpXNjjc0EPq1W8CM8fms7EU0tQPNNFHFFIQm00fBFqKe6ho0UlYHFRMg5bqmllBcObZZDmuCMEuxB1MeBu0rq7wFRdKPM/BSyWaal17j5hmGWYjL8QYcRHpP1SODh1C8/jsIJWujI26r7Ri8PFj8P3M0IkZ0I3HoeS8D2oyD6JdHNGS6CYkDVxa4cj19V574+L0zPlHyvFQPwx0PadIPhd1C4w8N8JLg3nS9bi4g5rtTQ4caIWI/JsRiRI/CRPkDKLmt3oHyVxy0554XfpjPdqkcQKB4K8OrDt4mjw6hLE4SXCymOVha8bkFd2U5Zic4xkGX4VtyyF2m+e10tXKOcxu9O/L5hiYBq0Me1paaFEr6F2NwD8RMx72O7lg2a4Ub8+v/wDV5/Kf0d5gcY1k7ixrSdTwPdr8b/JfUcjy04HCYeMm3tYdW3GjQWMZvJ1u5NVpgUKHJFFWaU6Xq242KSkWF3AE/BdLYHP3AC6IW6Hi9q4rW2bHCMuklANADzXQ3J4NPie+/JdEmIp1R0VaJKjt3FTlVmM/bz78GGyOaHXRUfZD/oLXme158LAPNVhqvOpcMWScIbpAwh6LZ7sIDAOS12VnqjG9j8imMGeh+S2dI6KYiJHuqc16owzgXng1I5fJ0C3dFGiN0aPJO2nViwvo9/QKJy6Q8lv6QOKelo3Tup1R5/6Nl6JtyqY9Fulwum0TanpTup0Rg/REvVqFvafJCd1Xojh1hDZQDZ5Kq0WFK06TjWH6vDyVTsWZDVUq7A4o1BZFoOyLVYcApam8ym02d7pqOpn2ggOZ1T2bSSa/fxNcAnqZ9oJamn6wRUzJGRQYQepUQUgAVKgmwWVEkqYCNKbNKi4nalNmIbFvvqTIASIBQWsxpfZ/EKDpmPu6BHGlEUNtkvD0CgQlDuCldqIAUxSoQKe5BCLAUXWBabES3ZUvhL3XqV2oJd40c03UEYkYK1gqbi5w3NqIkaeYUrbyKII2EPF8F06RSo4KsCiTZ+JUWOkgclEkDcrnIvg771B5ICK6myMdwITtccZYeLwFZr1Cr2CoudpdxcgRt5Fc4furo9TiCXCvJQWiIKQY3oFIVSajUg0josLtjhRiOzU7vrQObKPnR+4rdL65LE7Q45seV4uJzHS64i3TGOF8yTsFLN+mt6fHMQ7iCVr9ls3weTYXFzTiR75HANZFHqdQHO9gFx4nBvi/eQOYTv4xWy5e7LjVH4K/jbn2535XG/S3tRjsH2ikDocsnw8mwErnajXmAKX1zIuyeV5XDhsVhcP3czomEu53pFlfKMHhf2gp1EniV91yFrX5Bgr8VRAWTa55eDi6YfI5/pF8ILaoXVDbkqWN0k7UNmj0C1X4dpGxIXNJg33qaLPkphLGsspXKdI4kBUTYhrBTCCevRWTxua8tkBaRyXI/DtdfGiuscquixuhp8YKuEgkYXGSr6LNdhHAeF/zUBDMRs8V0tb1GN1ojExtd4LPmrhMZdrWdHA5reIJ6Loia5pNrNXa4ceKsaKUGgcyp22veCRqRP1SMjAPeFqosY7cuPzVLsJEeEjh8UWulmIZr3NAK2THtYyxufJZZwe+0yPZHc5b+Cek9upuML3f3VonPQLjZhy03rB+CsDT1QXmVxKHyktohQFUpayBwHyUIrbIasDdWCdxO4KRcT0StNNLO8fyIQoWhNDg1J2qgUaq2XV591bqS1KDXAncgJGg7bgppd1ZqKLUNSNSaXaSdqGpRLzy4Ii3UlqUA6wkTSHtc1+ngVLvD1XPfBG6aV096eqXeEmrVPJIOIKaN1frKWs2qg/fdTe6MgabvmmjdS1p94qS5Acmktq0vtRs9Sok0kHBNG6tDvNT7w1S5y9Jrt00u1pNqKfeMI4UolwPBBIGlJrlWCEBwBTQv7x3VIyOvkqy5K1NLtZrJ6J2SOCq1UgYhzRQCaNpOoHglarL7UTKI2FzzTRzKaNuhtk0ASfJdMWExEvuxkDq40FHL8ZBodJdMYRb+p6Lc1cD13UWOGPLZyRqmaB5bq9uXtb70rnfCl1h4TtZ037Vtw8Ta8HzKjLhcPM0NlhY9oNgOFgHqrkrUT2yc+y2LH5RiYntGrTqa6twQvlD8mkMMkobuyQMIql9sc0PaQdwVguydkkGKjDdpZi4eS3jlYxlhMvt8yw2WTNcHafdIX2LLYTh8vgiNW1gBrgsbL+zww07zLT2EAfmvSAAAUFcstrjjMfo0kKKw3Cmw8eIaA8cOBHFYWLwsmGfTiSw8HL0ChNCyaMseLBQeZs9UA7q/E4WTCvp3un3Xciuc0Oi3GdLmuUtRBXOJQ3krBLq5UpUWl5UdYUL33TboLtyo1KmHKYDjvyUDoHAhS74kUapNGyJQCol7em6O8FJo2s1BGoLnL902ljvecbVV0/FImlQe7G4JtMSA81BfH4zV0m6mjja59ZB8JSdITxKCzvChU6/JCpt8yzV/assmxGImnhhjbq0xHR4euy4ML2vzjByMD8UZGB4aWzN1A+V8QvVT4JmMw8kT89xfdyf7s4YhrQP4RsVwt7MYBrHBuZs1uNl7sK/wmqsALPKscP438v7R4PHlsbCO/vxMYb8P2htw8juunOM6wOTta+X2h8b26mFkROra68ivPZbkkGV4v2lmbRSu0Ful8L6s+g6LRmlEwcyTG4d0BbpdE5sgDh0Oyc6sxZ8/b/BtgZ7PhJJMQ7ix7gA3oLHFcGJ7aZzFqecDHAxpFl0ZcG3w3VuI7O4OXECWDGYKFmk0DJINLuRaNOwvkVdHkpZDMfpXDvkkDRqEx94b72N05sXGuOTtnnWFkrFYaKIkA6JIC3Y7g8ea1MD2nzTG4L2qPLMLMy3NqLEFrgRw2I3tcUWWYlr+7nzDDyRkkOa7FahdVzCeF7P9zCWNmwcwq7GIDSCeI2IsKXNZi75e1WYYbDd7iOzmLaeNh9trzoWs/DduMzzCTRg8lBG51O1aQBxJNcFoS4TGufHNHicP3jYiyvaA2ugBB6DmqMThc7xgLHSwnwhrJPaG2xt78D0SZ1bh/GVN+kHMoi5smCw8Jb9trvzKsZ+kbEGrwMB9C4K76Hzc4hjzHE9ou9MrCQOW5P3K79Xu9HeYjK2STuaNTu8G21XsaVmf9Z41yu/SDii8Vh8IxtEkOLuCvi/SBO5rnHK2S1uRFKdh13BVkWS4iJggOTxyQt2cH1bx5kXv8lXLkWIkcZYsufhJtOlskDdVNHLzPJLnGuFXP7e3A0xZRO6Y7e/4fuFruwnbTL5sG+eVksLoxbmEA/AHms2DLs3jwjIvZcQ+QGyTFd1zXDmOT5tj3xtflTmMiNnRh/3nka5f3SZ7S46aGI/SNhY3ObBl0sg5F0obfnVLnP6Rw6PwZewP396UkeXJYWM7JZiGsdhstxWpjSHDuiCTxH4/gs79V+0JaHfRWJuiSDGQQFrmxZXpMR27zWeUHDMw8EYA8JZrN1vuVx/rfnT3ud7eQb4ANr4CleMgxT8iZg5cnmixTC0982I6z1FjjuVjN7N5qcxbE/K8a+Kx43wkBw6q8p/U41rQduc1wzw6fEMxEYNFr4xv5WOBXaP0jytGp2XxEHhUhC5JsTiMjihgMj4GUSyOXDsaDvysG1lTYA5k8Ow8Q1SuJc6NoAJ34m63sFSZbWyx6SH9JBPikyxobfKY3Vctl6PKu1GWZqGtZL3OId/uZdifQ8CvnDuyeIjZRfNHOGglk0Vb1uAQSCOipGR5pHLXdSnTThIwGgfVa2m6+zVRo7eqa8Zl+KxeEfhtWPnDXPAkifEa4cAXbX8VtYfPQXuZi2Mio7PDxuCdrF2PvTZLWxx5p2sqXtDlcTmt9ricXfZcDXqm3P8tdwxLONUrJsucn207tBq9lkHtBghK5ne+EC9e1HySHaLAGVsMcveyPOlrW1uVdJ2YtdYOe4wtlbA001u7vVdGMzTEYR1OwT9FWXteHC+mwO68/jp3YjFOe7i42o1t6OQPwfY3DS0WyYiTWfnf4L1OV4w4vIIJg7xN8DiCvOTXjuxhYwW/ByNJH8NV+al2RxoHe4J5GiTYXyPIrnldV3xnp6cTSYnLnPiNSt2rzC5sDnwedEzfIkcQqoJ3ZfmL2OHg5hZWe4OXL8WMbhnf7NNuCPqu5grNdNPaMkbLEHxu1NPNIu0jdeOynO3NkDX7E/Ir17HieAPbuCLUlYsWtIcLUiLXPC/w10VrXG6K0idIQhAIQhECEIRUZ4mzwOjeLDl5p8Bje5hPiBIIXp1g5w0xYwPvaQfeFqFcZjI5KQs8G/eqQ8hBebV1tja5zH9Eu7ceS5hM4yuYDRbWys7w1vxTVOUWFhCA4NBLjsFUXnqq5XksIvjsmjbuYQeKbmM5cVyCQkcUtRPNOJyjqDQTxU6aBuuIEjgU9R6pxOTrc1lKFUqdZA4o7w9U0vJ0BOgVy96VEYhrWlz5Gtb1caTjtOTs0hC4RjsK7cYmL+sIV605MFsmkeFnHopaz9kqmrQGjqvL2/46cP9XCT+A/cn3l/UcqNhzT26qd0/i9f+rNZ6OUQT9k/JRPlzQLrj96d3+HX/AKHMDxRDx5jYqsxNBO8pJ6gf2Vuo9UtZ6qzzSp1/6p7pp28X9Lf7IdC0iqI6bDZXA+ae3Wle6T9J1/65G4XYh0hfvfjY38gpdyxrvdbR4il0h9c0zL1NJ3yfo6v9cpiZvTAoDDtO0jAaNigaC7e95XaQeAOSfkY/xL4b/VBoCi6QdKKgKBsPk+a6w9reQQJmXuW/Ja78f4nTf65WyvaDU04H8yl7ZP8A+4xA/wCo/wB1094zo35J94z7LD8FO/C/o6cv6obmOKA8OMxI/wCsqQzXGN4Y3ED/AKyrNUf2G/JGuE8WNV7vH/F6s/655cxnmi7uad8rOOmUax8iqDM1zNBZEWj6phbX4LQacOfqNSIw5vwgKzzYfxL4s/64TiOAqPp+6H9lESMAIbDCATZ/ZgWu7RCTsB8UwyIbloKvbgxfFn/XP7WNIDoonerUhimNeX9xGJCA3WC4GhyXRogO2g/AqJgw/Jp+avbgdfk/rgxWGwmMa4+yhs5Fd6PEfvCqbl2AiGkYUabunuJo+W2w8lpezw8g75lP2eE83D1K1PJgxfDm4XYXASPEj8OHODaHi5dFEQYVrSBhomgyd5wJo8Numy7/AGSCv3jkvZIftkjzV7cE6c2TLl0Er2SMllw5bygNB2973auw0BxmYwwji+QALQdhoWtJBOy5Mrc5ucYcs2d3lN9VZlL9NcMp9vQdnJmMzCfBYg+CYOie09eC4vZ5cnzh8TxRY6r6jkVDF4guzd+JaBHJfjaNvEOJXpMdhm5/lbMXAB7ZA2nNA3cOY/Nc8npjtxAbjME3Fs3kaAHVzSwc0c8LsHiAHQSCqdyKz8hxpaO5fvXLqF2Y3C9w8Sw33Ttx5FZa28tiIZcszGSCT3mGvUcivW9nceHM7lx48PVZ+dYc4/Lm41jQZoPDJXEt5H4LIy7Fugl4nYqX0PeykwTi92O+5X9CFxsmbmGEDmEa2j5qzBzd7BTvebsVqXaWOprlNVA7qwG1pk0IQogQhCKFg9sPaosglxeCY18+HIfpc0utl06gOfP4LeSkjE0L4ne69pafiqV8ifn+cNwsmIfFCxkZ3aInaz8Cs7EZ3n2KhlxEL5WYQAHZgaR8t+K7sTFiMNiZIZJZdbHFp8Z5FQ1ztFDETAdNS6SV5cvJPpktizKbexsa7x7y0kn1Ujj87w7TG042m8dGpwHxWmHzg7YiUf8AUpDEYwNoYuWulrfGscooyzGZti5CybMJMG47h+IvSR8lE55nmDLW4h7JWXs7SN10DFYtp2xD760FTMJZzqkmluq8LtP4KaXsiX6z5r3wjPssJcLAkbqNddirW9pcxYblnwxAHKAi/vXPUhADpC+uGoAphjhxI/pCp2x0N7XYx9iGCCahdx3X3q53aPNmOAky5jCRfiB/uuENPIgH+Uf2UiJDv3hv0CL2LsT2lzVkDnHDNa0t95jLr7+KMJ2nxErIIW62E7OnmjDhXU1zXP3bgQQ4AjnpFq0SYgbid49AFNLzVsz7NsQCTiu6F1Qh39eC5MwklsOkl72hu6zutDvMTyxLwPgoufii6/bJQOgOysljNzlYjsWdt3VW3hKFvjE4wXeIcbN7tCFrdY3HT6UpD1UEL5b6UTNJX4edJUOSk2hxo/BNRRqPIlMmuLiUjd8TSidiFPQZ62SgCxs4j4o4i0rIO6ulGkji53zT35F3zUi5p+oAfUpXRUQCzzKC1wF6j80Bwvn8EO33F/FNQNpeSacT6p+McwotPDwt36hNwBA1bHyTjAiXXxS8X2vuCZ0k+GwPNFjkU1Ajq+3t6IBcPr/cmUk1FAe67v7kFxJum/0pgEA8Um6iTrodK/NNQAc4cNP9KduqyGEfy/5QTSqfGHOa8Ma5wrdzjtv06pqCR1WKawfAqQ1Vvp+CGt8I1SXXMt/IKu5O9q3kOuvCKZXU+fJUWDWN9vknbvJKn2C5wrT4vDuT19PJDgaoVZO2rgiDe+CDqGxpQkxIgk8YIiq9QGok9KG6jNPRY4ua6KQ0C36prYHnx6fFVFhDwNg35p+ICwAfiqnSueJGRtDZWjYPOx+I5eisLnaToovrbXdX8FFhkuDTYA9Cs5r+7xDXtJBa4EFdksz45o2tw8kjX+89tUz1srgeLcV38P7cvJ9t3OWtdJh8yiBMeJb+0aOTxx+fFduRZp7JOJGEkfWZfFcWUTMxMMuXTuAZM22E8GyDgVmjvMHiS1wIc004Lecaxr3Ga4RjDHmuCbUT6MgaNgevkuzDyNxeF0F3vbtPms7s9mbP3MjgYZdqPAHp8V3y4N2Xzks3wzz4T9g9FiVvblgf3ExbILY4Fr2novO4/CPwOYSR76Rux3Vp4L1GLa1zWzUCD4X+R6rLzRveYWPVZcw013keSX6E8lx/duawmxW62YJhFj6a645OXQryWHJikFLYbI46XtO43WJdD07wasFSikDjR2K5cJivacODzGxCYdpkK67Y00EKmKQuNFXIBCEKoEIQqr5/2mgiw+eTamgCUCQbdf8AKxScN1HyK9f21wYdHhcWG7gmN3pxH3rxpH8IXO+XKMdWNTvD/aaPgkRhzvqHwUQ0bGgm4WbofJTvyOrEEQXsW/Ep6YujUg3fgnSvfkdOJ6IvJPREfs/NRpHBPyMjpxS7qP8Ah+aBHFdW35qKYTuyOnFIMhHNqNMXVqN0FO7JOnEu7jrVtXkm2FjxbaI+SV9KS8XIp35L04rBh6+qhVgO6hCd+R0YGRVb38ExpvxEgeQtRLiVNsgaKLbPquDqZDfquJ9RSipmWMsI7sgnhzpQ1A/WA9WqqSLTJ/iafQUkXWeFKCQc4AgHYo5qAKeq+SKaE3PYTTWV8VE+RCBoUQU+aBotJPh5qgCYZtdtHqVEFhbqpxB3BtAqj9yIldHl80jxSo9a80yoGHGuJQW7XyUbPVLmgny2SQNuLmn0TsdUUgaUrPQBRuygGweSCVcr5cVGRjHgtcA9vRwtK65qTdJbZc0H1QQAq0MadbtZBYapoFV135qV7oVFb43Cdro4oy0gh7nOpwHKtt91I3oOgAu+qHGhfwU0iaRFGJd3TdZcWkCqB2N9fRZxfqN2tDEMbLpDhYXO7CM/3Zo9F6PHZI5ZTdThkcynN94bhbmawMxeEizOIe/TJgOTuR+K89G8teGlp40V6rs5EMXDicI7929tG/xVtXFmZdKYZQ0nYr3mWZgzGQiCYaiBW/NeAkhfBO6N4p7HEH4LZy7Fubokaac07rnft0et9kbE5zW7seKLTzCxcZhdPeQO3rgTz6Fb8ErcXAJGndcmZR3GyQDcbH0RHj3NLH0RRC78HI0tLHeoUMZGBLqHNVRO0kUs2e1a+GnOHlvfSeIWqXagHjgVigh8YPOlbDinRVG8nTyVlXTWZNocBa7myW0ELDfJbdQNc124DFCVrmOPiXRmxpB1prnjfpeWuPHgrwbVY0aEk1Rw53hRjMmxUP1tGpvqN18yO+6+tEAgg8DsV8ux+FdgsdPhnCu7eQPTl9y4ZxqOa0wQOVpUmGnofkuahx8kgUwK6/JP1JPqgOSSkNwjhyKBN2Oyk55IrS0bVYG/zUdV8kW7m2vVVUQKbWpxrmTZUrHmnR5gI07oECiwCmAQfdtS9okAotsegQIEdEJE2fdP3oQRCD62kNuaam0FWkrA1t7uoVyCTwz6hcf5gFVQQhOkCUgATRc1vqkmBR80Im6JoNd9ET5E/wBlBwrgQfRG9oPFFRQmOKYHmgSd7IpGlAGiOJ+SXJOkz5bII0pJgIJQTY4Ns2wGq8TbVbiTvt8BSCgV0RAGF3CuHM0mYw3Y7HpxSHxQfS0UAhpPVWx4fWbdKxg6mz+Cra10jgGtJPQBX+zaC32hxjaeFDUrJti0xDh2/wDGA+kRKRjwoBIxDyend1+aLwYsB7nk8CQgMhO4Y+uuj/K1qptQ8NB8NkeYTDQW+frsr6wwFuv00/5Q44OjUct/zLLUqimgfvG35NKi6utpupxOhrq6cUiK4/epVUTuDQCSuZsxsKzGbuLTyAIXGCQQvTJ/y5W/9adEh8QkHNbfZ/Huw+NYGuYGSHS7XwHyWGypGOaee4UoXdzJe6y1Hq8/h/21sj4u7c9lkggtd5grjwZ0O08jwWlHMc37Puju8RhTr83N5/d+CxonFstD1Cxk1HqsmxJjlMROzuHqtuWMTQPjP1hS8fh5vEx3mvX4KYSQizuPvVg8tONQII3B3XGditfNovZ8e8AeGTxN/NZTwLWcldMEtUCVe9utuyzmOpwNrQheHBSVpHvDHsTsRSsw+J7uVrkpIw4bcVzFpaVrY9OZBLE2Znx9V1xSB7Aeq89luL7l3dvFsdx8lqiTuX6CduR6rUrFjvHFSVTHahxVg2C2wa8V2wwhjzCLFNB0zN0u6ah/he1WXn+DGNymZrW6pI/2jPUcfmLWcptXzw6Byd/V/hMNDxs4D+Z4USAdxwKACOH4LjVAIBN7+hT1sI/dn+ophrpDxb03cAouaWkg18DaKiNneSZcUAHmmTtVD5KCIdXJSa87+LSD5WgMc7g1x9ArWwPawufBIR1ohFQLgdy8E+YKk0xfWc6/4W3+arGx4J7FGVxdHXO/5P8AKhaQCdI0NbhwND0QhsbnC9TB5F1IQVuOo3QHLwjZRCA8hmmh60hZSJKKkhXaoqxjGFvinYzyLSfwCiokkFUXOjjE8cbJmva4Euk001hHI3vv5BTdho9Q04qIj4j8ly3Q23UiRaCcjQx1a2v822o7UkDdopSqNgVLUSKLtlDe+CKtBNTETzyHxcFRvd0mAeiCwijSQNqPxTBafdI+CbEqUm62btcBfUKLQXnQwFzjtQ4lbeW9ndUbsTmAdFE1tht0a6nohpjuke8DU6/gogBZua5rBh8U9mBLpIg406TiR8FLDZlHNhHSv8Lm7FvX0W5hbdMZWSPQty/B4XANxmaYwwseLZHGLeR8VjYrPcnga57cJN3TOMk+I0ivgFj47HT46XvJnk17o5ALz3aMn6I0g+9M0fIFe7HwY44+3jvntuo9dB267NQvBkgaehY6R34ruZ+kjsZE4O+jZ5q46cMP/wBnL4wBVLTw2XYpmIY8d0HNcCNe4vzWOMv012cft9X/APi92egZqw3Z+YOvazEwfdaol/TS5tiDIIwP+ZP/AGC8rBkOYEWMRg4dhXdwA8PP71P9T+/eZsVjnOe86nFkYFlTgne1B+k6PMsYGZlk+Fw0LzTp8KT3kf8AEb2cOo4r0seXSzSlkJMoFHvGN8BB3BB6EbhfHszwf0fmEuHa4ua13hceJHIr6V+i/NsPmsbuz+Yl/exMc/BSh5BDeLo/hxHxC5+Tx2/Tr4vJyvt6aPIzCQ7F4gNB+rHsfmvRYHC4OLC91HAzSR4tVO1epXi+1cWY9noJsVDI7GQw+KSCT3gw/WaRxA5grTyPNG43ARTwvDo5Ggt34rzWWXT2zjZ6YnaIsj7Q4yKKNrI2Oa0NaKA8IWNIKcei1e0bS3PcS/8A9QteP6Qs14tq9mP/AJeLL/0i1xaQQuqRoBDhzXHS7YAZIK5tNLLri78nzCTA4pr2m2g05v2m8wuvGRCDHPDDcZOph/hO4WS6GSKnOaQDwscV2RzOlYGuJJaKF9FitRpQHgV6DKMU7eNx2HBeYwzySWlaWExJw8zXfVJ3Ui2N/PIDLgWztG8Rs+h4rzT917OFzZoKO7HCj6FeQxEJw+JkhdxY4j4KZJHOFdE/S7dUu4oDt1huNJr7CHNB3XLFJ1XQCtBAUVrYOYYiHuHkax7pKzBupNLmODgaITaWNiGWSA6SCQOIPJaTHh7bCy4cQMUzxCpWjfzXXhn1bTwK6ysWOrigJAhSoK72y+eZ3gnYPNpomxfsjT4y1tDSf82sl87I36HuDTxor2/a7AHEYJmKjA1wbOvm0/2K8VUgFNaB8Vwy9NQnTBrC4MBA4+IKtuLicQC1wNK0t23HyTIsAC1nbSr2xo2EU3qG7KAxYJBEMnqRS6PFzb/9yA4OsOjeBXqgqbjYr0nW2/4T+SubMx4rXt/ESPxUS1lVW3ok0RkVqr1QXhjKsOiIHLWgywsA1Mi24kuI/NVAx8A5ppS1RgbuZ6EhBK4TVSNHUWpgRAWZR6AhVtfG4GnMI50mTFxplenNBLU3kSUKADK4BCCqvIqXdu+y6hx2XrXZdlLiaYB5NkIR9F5W7iHbitpisc8XSeHJ5PQ4tsNNJaTuKK9X9EZWODpBfSUoOS5a7hLL/wBy/wAlOeJfFk8nSi8E7br1hyDL3b97N/WP7Jfq/gTwxM3luCnKJ115WFr492mT4lWEyScSa6UvS/q3g/8A3U33JO7NYUm/a5R8AkzXryeZMLtqbR6kqQhfQHhvpa9CezWHv/zr/wCkJDszCP8AjXf9v/KvKHXkwe4cD4nMA66lAta2/EP7rfPZhl2Mb/8Aj/yj9Wb4YxvxYf7pyhwyed3cSOXIhSb4RQjbfU7r0H6sG9sWwnoGEfmvJPz3KYu0L8pdinO0Sd0Zw2mF3T57K4+/pizX27HaWtc4gNaNzQXo8qwOTYrCslDe923LpCCD6clyvynCljmSF5BFHxUvKdqIz2YwceY5XiZhEJBHPhzJex4OaTvY6Hja3wpjnH1KKDDsruGsY0cAwALy/b7OH4LARYGE06c6nkH6o5fFeZyPtnOx0cpk7+B/nuFwdp86Oc5iZh7jWhrR0ST23lrXpjySlzr5Jd5L3bmxPLXndvQkcj5KknzQHUbB3Xqw9PJnbW3A9s+Gjma0jW0Oo8R1HzWH2kjccscW3UczXH0Nj8aWpgMwY0dzK2gbp3Q+auxOFZiGvjkoxytLSfI816Ln6eXhqvnJPJeiwUvfYVknOqPqF5+eGTDYiSCUVJG4td8Fp5PLTZI/MOC54XSeXH/l7TLM2c6BkYhMjme9vvp8vmt9hkNuLGNaHaQaNOrmvH5Xiu4kcA8N1deHReuila+FkgkLw4bHUSPgrftyxrwfavCmPF6wNgdJ9DuFy9lcydlPanLMbqIbFiWav5SaP3Fes7Q4SPHZbKWAvkq2lovgvnTXECwacNx6rNdsLqv0n21MMWHY99FskckbhXvCv8rB7D9mZcoyDCtzJ4GJou7kHaME2ATzPVec7RZ/jc5zHKRuzCQYSGUAHeWR7GkuPkOHqFou7Q5jOwCEOLBxe2MkfNeHK/8Aen1fFjrDk48wmOJx88pN2816A0Fz8WpE+Ljx3Tba9mtR5L7qNALpwhp5F7ELnKsg2eCuddY9jlUcOZZW/B4jcA+F3Np5ELCkhdg8bJBIPEw6fUdV1ZRiHRYoAH3jwXf2lw477D4sA/tG6XHzClVl4d1TDz2WhdiissECQLRY62rn9K38lzAD/Z3GnfV34qefYMOYMZH7zQA8dRyP5LFwrBLO1heWE8HDkV6CV7ntZHNRduyTo4EcVUeYO6hzUnDQ9zPskj5KCy0sa5dEcliiuIGlYx5VV3NfSuabXGDatY6tkHdE4xvDmncLXhmZNHrGzh7wCwmP3XXBIY3h7fiOq1tlsFxa0m1YyTW3zHFUgtfFrbwI4dFTBOGyV50VrbGnXNEzEwPgkFskaWu9F8wnDsNNJDIQHRvLT4SOBX1E8V4jtLhSzOHvDgO+aH79eB/BZzmyXTAEwNkOB9L2Q6Q3p1MB52VN0Ubvee5pH2SuYYWZsm2Lk0DfbZY4NbWiV2nZ8NdS/in3k17xtr+F9qp2FkcwtdIHgm/HHqN9U2YMBll7dfXugKV4z+m6vc5wApl31NILpSaA01/EFHuHOFmRwIGxAG/wT0y6A0PbtzIWbqLsqe4mwBvzAUixp20gHzAR4xx0HrdhBMnEMZ8HFRUDpbpHdtc53ADa/jWyk3DzOcA5sTgeV0R0Ck1x1eJh35hwNfcrBrLz+1kYAByAb8lvGT9s239KXNa00Y2/NCtlhdI+2zSAcPdbuhb44s7yeZ+i8yvwyj/vFTGUZxVte/1Ei9M1+9nikZJAfD8ybXLowdfyM3m/o/PIwP2slf8Azh/dLuM9B2lm+EoXo9r8MfiPU7IBceACnRis+Rm861vaFpFPxP8AUEGbtGzbvcUPiF6KrJFtJHKkjbSADR/hUvgxX8jJ58Y3tI3bvcUT/KE/pDtK3jJiv6R/Zeg8AFus+fO0Ncw+FrXndToiz5WTz4zbtMzbvcT/ANsf2Uvp7tGOM0/xiH9lvhzxtQPmFLW7w0Dvx34K9EPyr/Hnv1k7RN/30tD/AJP+EN7V5/f70n1iXpLN03fqSdkanl2528gn48T8q/xgN7XZ+3fWNv8Alr53iNftUpeTrLySTxu7X2QmzuvGdp+zWJxmOdj8vh7x0lCWIbG+GodduK3h45g5+Tzc5ptYDPXS5RhZHy+MxgON8xsvOdr85Zist9ka7U58jSd+Q3UsD2VzOSJkWMxYwkDd+7j8Tzf3Ba2G7I5JCLkw8mJfzM0hN/AUFvlI5SbfPcsx7sBiPFZgefG3mPMea9Q5mpoeHNcx27XDgV6iTJ8pkibH9HQRsG/7MaT8SOK81LmTZsY5r4I4cMKZG2NtBgHAnr5rncpt28eNy9RyvZSporUkw4P+FQcOCavjst4eTd0nk8WvbiIm0F8MLpK6cFns7QYyBzmNYGEGnNdZo/Feqa0NYGgUBtSzMZlTMZmsTqIDmEyOHQbV6mwvZwrxcnnMViRmmLMz2hs5ABLGGnVzPQ8lGIT4HENe+CQcdi0iwvo2T9nn4g91g4A2NvEMbt8177J+x2BghdLmEbZ3ng1xtrQrZjE1lk+AOzad7qZFE0jfxO/uuzDZ5mjIRE3MoYIw7kASPkCvs2Z5v2ay0vbluUYGbEcDMYGlvpuN14jFyjE4h87o4tTzZ/ZtAHwpJja55TGXUeKxGY4yZjWuzSeZ7veYCWj7uPyV+C7NZ3mFex5RjpgebYHV8zsve5Hn82SYpr2w4eVl+Jj4m2fR1WCvRZz+kCbFQnD4GKTDMe2nSah3g6hvIeqzcMm8eP7rz2EwuW5c3LsPneJPteFwrYsRh2bgOBcQ0uHQOAIC3My7UYSfKHYPLHNFkNcGCg1m9ivNeSGCy+V1+2Stcd/HRN+tJNihw0r2QSF7drc6uK8eHgz7N19DLz4Tx8ZXSHWrAdlztcNe5oK4GxsvXlHmxqXNWRe+FWpx7PBXKx1ldrHFrg4cRuF6rGBuO7MCSyXRkO9DzXlGOXqMikZiMsxeE+uWEjz2U01tgEHS3yXZCdQFLj37vztdGFdTg1c7Pax2sJa8OHI2t10veRxym6ewHf5LCC2Wn/w2DqCQgxcedGYTtrYuv5qlTzE6sa93WvwVLHclKqdJjZK0KKvY5WalQwqwFIq9j12wvL9uiy9RBXZhpKe08jxWka+Fn7l9O9x2xTkaWSmjfP1XPQK6GHvIqPvs3HmOi1ErvicXRA3usftFl0uYRQPw7QZGEg26tj/laOEfdtVGcYp+ByfF4mNmt0LNYbdXRF/cpl9MyTbyhyDMAKOHB9HgpDJMwr/y5+YXJ+v9Cjhnn0IUm/pAZW+GmB9QvJc3pnhdByjHgG8LJ5UAVX9GY4bHBzeuhNvb/DUCYpLUx2/wgI1RyjzpTmdKl2BxbTvhJx/9MqHs2Iad8PKPPuyu9vb7Ac3P+LVazt5lxdTpS0eYV7E6cmV3Mod+7eD5sKCx1bNcHDnpK2x22yo/8S371JvbHKT/AMRF8U5xOqvPeIWTpJP8PBJ5kLPA9oPk3cL0o7U5O7/fQH5Kbe0WUnYSYb5hXnDqrxgMsYDXTazzc6OyfPZC9sM5yetnYb5BCvOf06q8g3S1xGtgvlabSHXUgrjsLT0s67+oUnOYGihY5AL0fbzaQBo0LIvmKUiCRsDxUu8GkbeiRlANjcp6n7C7vUQb0lSEdkkv/wAKBmfRpoJ6JF7jfCk5YosMLC0BxuudpBzQ7bYdaVW6fNTmadHeAitQ38qUGygufYFDZvmoDekeSlzpo2ucCSCTfXkjvXnhp/NRoIo8qU51dBztTC02L5g0VLvXOO9JEbG1ECwpyppYJHE0dPTYJFx6ptbRJ4fFGlTaxEu0miDfJZ0mS4OR+osdvuWg7LTLDdhFPG9URzUals+nAcswwjaxkRj07DSs7M8E3B4T2nWC1rgCKo7mvzXoj4QbHFVyMZLGY3xhzHCnNduCPNJdXZcrlNV5ceOTUCNIFAeatwbmzvn0792Qwnz3JVOYdnsxwzJ/oqbvGFgMMTiNTHA7izxFcL3Cu7NSQYnAvfFIH3Rcbsg8CCvX+Rv04Tw/6+g4fH4XJclw4hGuaRoNDa+pPksjP+1E+KwrMFhyY43NBmcOLj09FnSOe7TrcTQoX0UTEHDdoXSZT9plLrTIJsqEjtI24ldMkelxAHNUhmpx+S9UeOzSpjAdyqMVJOXaIxQ4Wu54DIiTtQXPQ7vU7pZVrKvD4U92S52p3DyUGyOhlcx92TsurKnd7BK92/7Q16cl3uwkGJbXB3msXKR0xwtcDJA7iuhsgA4qqXLZot4zYva1V3WIbs5vyWLqus3HaJbPEK1r1yRxP40fkuyLCySCxwWLJG5bVjZTsQvS9lpgMxFjiKWLHhWtbR3Xdgn+yYiN0Zo6guWWWP6dscb+1uLjEeJmj+y8jb1VMFCQLszSm5niABsXX8wuKIVIuWTcaQ3HwW14fouMgblyxIzbR6LXw7ryvSeUn5KRWHjf31qhpFrpx7aeK57rlalVbakFWNlMFFTaVYCqwbUwVNBkqyJ+k0qigGjaDdjNxg2rIpO6kDqvdc2HdqhaVZe6sSu9hEWJ23a7dvoVLGwsxGDxMEm7JInNPxBVTTccD+ltV87tLHk/YP4FaZvp8wOVYA0RCQCBtqOyrOU4H/03b/xK3VPoBYCdrBqrU9M43dPuARs0dVjLw4/dWeXJzjJMC4bax18Sg7I8IOD5fmu/xNaRroql3tYa4hrSb8ILuS59WH9O3NyuyLC6RUkt8+CgcggO4mk+SvccwvS0jyJZw+STcXionASBzzyqM7p0+Otd3kUfq82v35/pUT2e2vvx6kFaEWYkhwlgew3wIuwrG4mKhGwFgHLSQAtfj4fo/Izn2yXdnSP+IZX8pUP1ecRtPGf+khbgnF/vWeQvdVT4vuTelzxXBqdGJ+RkyBkOJA8MkdfFC1Pa4ySdTR1tyFOmH5GSxu9jexX1dvmraaGtAPHj5IoXwQGhwvnxWGCbwOqj6CtkxXDa1MtDWjzUHNAdfOuKGiOwSAPLim4bWhpNkbUFQEOHFOthyS41ueA5qXO+aoXoh7GyRljrq+RpHIlMdUQmMDdgwEDqm/xVoJFHlz8kwN6S01uTaLoz5AEeZTFaqquarld3UL5KvQ266pRu70A1V8kFpLeVk9EtTia2UNOp/FMtPeEBx2V4ptZr35WomU3XL1QxtkOLiQb2Kg62gjYkEC64pxpyT1uPA0EhexJ8/VRa7UXbUrNNAi0mNJRqJ3aLVDMNh4Se5w8URd72hgBJ+CuYXGhdb9EprB2NO5GleNTlFb4qNHiFWfCr9BY0EuLr6qqQbtXXHZ6sZ8jDqNjdUxxHSNgFpStFE+Shh2NdDuN6XqnkefLx7ZmLFQub12VOKj04R38tLuxrBsP4gq8ZG04R46BdJluOVw04srcGsMYHErQ3G6x4HGORrhyK2ZBSzfbWK6LEloo7q9ssbuIAKzbU2uIXHLD+O+OTWY2MiwGlWlzQNhXos2ORwojZdDZHHiVxuNdZYv1JsdcjR5qq1KP3wVJjppoYh/ezvf1VIFO2UjxQD4laO+Fv7MLTjdpyx/8AOFmwe4F3A/8Ahk3k9n5rMGfjd3D0XIAr8UfG0eSqUqhASTRVjVJQarFaBAKDwSapRq4B+qAtPFpV90uDAOqYjq1djzurB2Md/szD0fSszKXu8sxUlbtgeR/SVzxk+ytH/MU82NZVifOKvnQWkfOMN7RoDmMZZHiLm18t1M4iaM3JExovjqpaPdgOq/CORSMbXcQD6hYucvqxzmLlinjkZqDmt9XBWRyNJ1CRhadr1WFN2HiJ1GNhI23aoMw8MbjoiYCOjaWK3IuI2O49Qo20cSDY4IcNOw6WFawNIHhCzVUgXvvw3UZMLDMAXxgkiiSu7u26QaScBVVdJummZNlmFc5pELS8HVd1v12TGAgjIcWuOp2/iJXbbdWkMAT0hXdTUcz8Oxzv3TD51aF0AoTdNR//2Q==";
8999
9014
  const _hoisted_1$c = { class: "user-operate" };
9000
9015
  const _hoisted_2$7 = ["onClick"];
9001
- const _hoisted_3$5 = /* @__PURE__ */ createTextVNode(" \u4FEE\u6539\u5BC6\u7801 ");
9002
- const _hoisted_4$2 = /* @__PURE__ */ createTextVNode(" \u9000\u51FA\u7CFB\u7EDF ");
9003
- const _hoisted_5$1 = { class: "userInfo" };
9004
- const _hoisted_6$1 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
9005
- const _hoisted_7 = { class: "name" };
9016
+ const _hoisted_3$4 = { class: "userInfo" };
9017
+ const _hoisted_4$1 = /* @__PURE__ */ createElementVNode("img", { src: _imports_0 }, null, -1);
9018
+ const _hoisted_5 = { class: "name" };
9006
9019
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
9007
9020
  __name: "user-info",
9008
9021
  setup(__props) {
9022
+ const { t } = useI18n("UI");
9009
9023
  const getUserInfo = DtCache.getLocal(CacheKey.USER_INFO);
9010
9024
  const { getUserActions } = useHeader();
9011
9025
  const { appConf } = useAppStore();
@@ -9042,7 +9056,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
9042
9056
  withDirectives(createElementVNode("span", null, null, 512), [
9043
9057
  [_directive_icon, "ic:baseline-key"]
9044
9058
  ]),
9045
- _hoisted_3$5
9059
+ createTextVNode(toDisplayString(unref(t)("MODIFY_PASSWORD")), 1)
9046
9060
  ]),
9047
9061
  createElementVNode("li", {
9048
9062
  onClick: _cache[0] || (_cache[0] = ($event) => signOut())
@@ -9050,21 +9064,21 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
9050
9064
  withDirectives(createElementVNode("span", null, null, 512), [
9051
9065
  [_directive_icon, "ant-design:logout-outlined"]
9052
9066
  ]),
9053
- _hoisted_4$2
9067
+ createTextVNode(toDisplayString(unref(t)("LOGIN_OUT")), 1)
9054
9068
  ])
9055
9069
  ])
9056
9070
  ]),
9057
9071
  default: withCtx(() => {
9058
9072
  var _a;
9059
9073
  return [
9060
- createElementVNode("div", _hoisted_5$1, [
9074
+ createElementVNode("div", _hoisted_3$4, [
9061
9075
  createVNode(unref(Avatar), { size: 28 }, {
9062
9076
  icon: withCtx(() => [
9063
- _hoisted_6$1
9077
+ _hoisted_4$1
9064
9078
  ]),
9065
9079
  _: 1
9066
9080
  }),
9067
- createElementVNode("span", _hoisted_7, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
9081
+ createElementVNode("span", _hoisted_5, toDisplayString((_a = unref(getUserInfo)) == null ? void 0 : _a.userNo), 1)
9068
9082
  ])
9069
9083
  ];
9070
9084
  }),
@@ -9075,7 +9089,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
9075
9089
  });
9076
9090
  const _hoisted_1$b = { class: "lang" };
9077
9091
  const _hoisted_2$6 = ["onClick"];
9078
- const _hoisted_3$4 = { fontSize: 16 };
9092
+ const _hoisted_3$3 = { fontSize: 16 };
9079
9093
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
9080
9094
  __name: "lang-picker",
9081
9095
  props: {
@@ -9120,7 +9134,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
9120
9134
  ])
9121
9135
  ]),
9122
9136
  default: withCtx(() => [
9123
- withDirectives(createElementVNode("span", _hoisted_3$4, null, 512), [
9137
+ withDirectives(createElementVNode("span", _hoisted_3$3, null, 512), [
9124
9138
  [_directive_icon, "ic:baseline-language"]
9125
9139
  ])
9126
9140
  ]),
@@ -9238,9 +9252,9 @@ function handler(event, value) {
9238
9252
  }
9239
9253
  const _hoisted_1$a = { class: "dt-menu-type__wrap" };
9240
9254
  const _hoisted_2$5 = ["onClick"];
9241
- const _hoisted_3$3 = /* @__PURE__ */ createElementVNode("div", { class: "dt-sidebar-menu-type" }, null, -1);
9242
- const _hoisted_4$1 = [
9243
- _hoisted_3$3
9255
+ const _hoisted_3$2 = /* @__PURE__ */ createElementVNode("div", { class: "dt-sidebar-menu-type" }, null, -1);
9256
+ const _hoisted_4 = [
9257
+ _hoisted_3$2
9244
9258
  ];
9245
9259
  const _sfc_main$m = /* @__PURE__ */ defineComponent({
9246
9260
  __name: "menu-type",
@@ -9269,7 +9283,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
9269
9283
  [`dt-menu-type__item--active`]: unref(getMenuType) === item.type && unref(getMenuMode) === item.mode
9270
9284
  }
9271
9285
  ])
9272
- }, _hoisted_4$1, 10, _hoisted_2$5)
9286
+ }, _hoisted_4, 10, _hoisted_2$5)
9273
9287
  ]),
9274
9288
  _: 2
9275
9289
  }, 1032, ["title"]);
@@ -9278,16 +9292,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
9278
9292
  };
9279
9293
  }
9280
9294
  });
9281
- const contentModeOptions = [
9282
- {
9283
- value: ContentMode.FULL,
9284
- label: "\u6D41\u5F0F"
9285
- },
9286
- {
9287
- value: ContentMode.FIXED,
9288
- label: "\u5B9A\u5BBD"
9289
- }
9290
- ];
9291
9295
  const _hoisted_1$9 = { class: "dt-feature-item" };
9292
9296
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
9293
9297
  __name: "switch-item",
@@ -9303,6 +9307,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9303
9307
  },
9304
9308
  setup(__props) {
9305
9309
  const props = __props;
9310
+ const { t } = useI18n("UI");
9306
9311
  const getBindValue = computed(() => {
9307
9312
  return props.def ? { checked: props.def } : {};
9308
9313
  });
@@ -9315,9 +9320,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
9315
9320
  createVNode(unref(Switch), mergeProps(unref(getBindValue), {
9316
9321
  disabled: __props.disabled,
9317
9322
  onChange: handleChange,
9318
- checkedChildren: "\u5F00",
9319
- unCheckedChildren: "\u5173"
9320
- }), null, 16, ["disabled"])
9323
+ checkedChildren: unref(t)("ON"),
9324
+ unCheckedChildren: unref(t)("OFF")
9325
+ }), null, 16, ["disabled", "checkedChildren", "unCheckedChildren"])
9321
9326
  ]);
9322
9327
  };
9323
9328
  }
@@ -9361,6 +9366,17 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
9361
9366
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
9362
9367
  __name: "feature",
9363
9368
  setup(__props) {
9369
+ const { t } = useI18n("UI");
9370
+ const contentModeOptions = [
9371
+ {
9372
+ value: ContentMode.FULL,
9373
+ label: t("FULL")
9374
+ },
9375
+ {
9376
+ value: ContentMode.FIXED,
9377
+ label: t("FIXED")
9378
+ }
9379
+ ];
9364
9380
  const {
9365
9381
  getShowBread,
9366
9382
  getShowSearch,
@@ -9377,63 +9393,62 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
9377
9393
  return (_ctx, _cache) => {
9378
9394
  return openBlock(), createElementBlock(Fragment, null, [
9379
9395
  createVNode(_sfc_main$l, {
9380
- title: "\u9762\u5305\u5C51",
9396
+ title: unref(t)("BREAD_CURB"),
9381
9397
  event: unref(HandlerEnum).SHOW_BREADCRUMB,
9382
9398
  def: unref(unref(getShowBread))
9383
- }, null, 8, ["event", "def"]),
9399
+ }, null, 8, ["title", "event", "def"]),
9384
9400
  createVNode(_sfc_main$l, {
9385
- title: "\u83DC\u5355\u68C0\u7D22",
9401
+ title: unref(t)("MENU_FILTER"),
9386
9402
  event: unref(HandlerEnum).SHOW_SEARCH,
9387
9403
  def: unref(unref(getShowSearch)) ? true : false
9388
- }, null, 8, ["event", "def"]),
9404
+ }, null, 8, ["title", "event", "def"]),
9389
9405
  createVNode(_sfc_main$l, {
9390
- title: "\u901A\u77E5\u516C\u544A",
9406
+ title: unref(t)("NOTICE"),
9391
9407
  event: unref(HandlerEnum).SHOW_NOTICY,
9392
9408
  def: unref(unref(getShowNotice)) ? true : false
9393
- }, null, 8, ["event", "def"]),
9409
+ }, null, 8, ["title", "event", "def"]),
9394
9410
  createVNode(_sfc_main$l, {
9395
- title: "\u9875\u9762\u5168\u5C4F",
9411
+ title: unref(t)("SHOW_FULLE"),
9396
9412
  event: unref(HandlerEnum).SHOW_FULL_SCREEN,
9397
9413
  def: unref(unref(getShowFullScreen))
9398
- }, null, 8, ["event", "def"]),
9414
+ }, null, 8, ["title", "event", "def"]),
9399
9415
  createVNode(_sfc_main$l, {
9400
- title: "\u56FD\u9645\u5316",
9416
+ title: unref(t)("LOCAL"),
9401
9417
  event: unref(HandlerEnum).SHOW_LOCAL,
9402
9418
  def: unref(unref(getShowLocale))
9403
- }, null, 8, ["event", "def"]),
9419
+ }, null, 8, ["title", "event", "def"]),
9404
9420
  createVNode(_sfc_main$l, {
9405
- title: "\u8DEF\u7531\u590D\u7528",
9421
+ title: unref(t)("ROUTE_REUSE"),
9406
9422
  event: unref(HandlerEnum).SHOW_ROUTE_REUSE,
9407
9423
  def: unref(unref(getShowMultipleTab))
9408
- }, null, 8, ["event", "def"]),
9424
+ }, null, 8, ["title", "event", "def"]),
9409
9425
  createVNode(_sfc_main$l, {
9410
- title: "\u663E\u793A\u5E95\u90E8",
9426
+ title: unref(t)("SHOW_FOOTER"),
9411
9427
  event: unref(HandlerEnum).SHOW_FOOTER,
9412
9428
  def: unref(unref(showFooter))
9413
- }, null, 8, ["event", "def"]),
9429
+ }, null, 8, ["title", "event", "def"]),
9414
9430
  createVNode(_sfc_main$k, {
9415
- title: "\u5185\u5BB9\u533A\u57DF\u5BBD\u5EA6",
9431
+ title: unref(t)("CONTENT_FIXED_WIDTH"),
9416
9432
  event: unref(HandlerEnum).CONTENT_MODE,
9417
9433
  def: unref(getContentMode),
9418
- options: unref(contentModeOptions)
9419
- }, null, 8, ["event", "def", "options"])
9434
+ options: contentModeOptions
9435
+ }, null, 8, ["title", "event", "def"])
9420
9436
  ], 64);
9421
9437
  };
9422
9438
  }
9423
9439
  });
9424
- const _hoisted_1$7 = /* @__PURE__ */ createTextVNode("\u5BFC\u822A\u680F\u6A21\u5F0F");
9425
- const _hoisted_2$4 = /* @__PURE__ */ createTextVNode("\u754C\u9762\u663E\u793A");
9426
- const _hoisted_3$2 = {
9440
+ const _hoisted_1$7 = {
9427
9441
  class: "dt-setting-theme-footer"
9428
9442
  };
9429
- const _hoisted_4 = /* @__PURE__ */ createTextVNode("\u62F7\u8D1D");
9430
- const _hoisted_5 = /* @__PURE__ */ createTextVNode("\u91CD\u7F6E");
9431
- const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
9443
+ const _hoisted_2$4 = {
9432
9444
  class: "setting-theme-tips"
9433
- }, " \u8BE5\u529F\u80FD\u4E3B\u8981\u5B9E\u65F6\u9884\u89C8\u5404\u79CD\u5E03\u5C40\u6548\u679C\uFF0C\u66F4\u591A\u5B8C\u6574\u914D\u7F6E\u5728 src/core/settings/theme.ts \u4E2D\u8BBE\u7F6E\uFF0C\u5728\u751F\u4EA7\u73AF\u5883\u8BE5\u5E03\u5C40\u9884\u89C8\u529F\u80FD\u5C06\u88AB\u5173\u95ED\u3002 ", -1);
9445
+ };
9434
9446
  var _sfc_main$i = /* @__PURE__ */ defineComponent({
9435
9447
  __name: "setting-theme",
9436
9448
  setup(__props) {
9449
+ const {
9450
+ t
9451
+ } = useI18n("UI");
9437
9452
  const themeStore = useThemeStore();
9438
9453
  const {
9439
9454
  getMenuType,
@@ -9526,41 +9541,41 @@ var _sfc_main$i = /* @__PURE__ */ defineComponent({
9526
9541
  const _directive_icon = resolveDirective("icon");
9527
9542
  return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(Tooltip), {
9528
9543
  placement: "bottom",
9529
- title: "\u98CE\u683C\u8BBE\u7F6E"
9544
+ title: unref(t)("SETTING_THEME")
9530
9545
  }, {
9531
9546
  default: withCtx(() => [withDirectives(createElementVNode("span", {
9532
9547
  onClick: _cache[0] || (_cache[0] = ($event) => visible.value = true)
9533
9548
  }, null, 512), [[_directive_icon, "ant-design:setting-outlined"]])]),
9534
9549
  _: 1
9535
- }), createVNode(unref(Drawer), {
9550
+ }, 8, ["title"]), createVNode(unref(Drawer), {
9536
9551
  visible: visible.value,
9537
9552
  "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => visible.value = $event),
9538
- title: "\u9879\u76EE\u914D\u7F6E",
9553
+ title: unref(t)("PROJECT_SETTING"),
9539
9554
  placement: "right",
9540
9555
  width: "320"
9541
9556
  }, {
9542
9557
  default: withCtx(() => [createVNode(unref(Divider), null, {
9543
- default: withCtx(() => [_hoisted_1$7]),
9558
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("NAV_MODE")), 1)]),
9544
9559
  _: 1
9545
9560
  }), createVNode(unref(_sfc_main$m)), createVNode(unref(Divider), null, {
9546
- default: withCtx(() => [_hoisted_2$4]),
9561
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("PAGE_SHOW")), 1)]),
9547
9562
  _: 1
9548
- }), createVNode(unref(_sfc_main$j)), createVNode(unref(Divider)), createElementVNode("div", _hoisted_3$2, [createVNode(unref(Button), {
9563
+ }), createVNode(unref(_sfc_main$j)), createVNode(unref(Divider)), createElementVNode("div", _hoisted_1$7, [createVNode(unref(Button), {
9549
9564
  onClick: copy,
9550
9565
  type: "primary",
9551
9566
  block: ""
9552
9567
  }, {
9553
- default: withCtx(() => [_hoisted_4]),
9568
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("COPY")), 1)]),
9554
9569
  _: 1
9555
9570
  }), createVNode(unref(Button), {
9556
9571
  onClick: reset,
9557
9572
  block: ""
9558
9573
  }, {
9559
- default: withCtx(() => [_hoisted_5]),
9574
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(t)("RESET")), 1)]),
9560
9575
  _: 1
9561
- })]), _hoisted_6]),
9576
+ })]), createElementVNode("div", _hoisted_2$4, toDisplayString(unref(t)("DRAWER_TIPS")), 1)]),
9562
9577
  _: 1
9563
- }, 8, ["visible"])], 64);
9578
+ }, 8, ["visible", "title"])], 64);
9564
9579
  };
9565
9580
  }
9566
9581
  });
@@ -9573,10 +9588,11 @@ const _hoisted_3$1 = { key: 0 };
9573
9588
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
9574
9589
  __name: "menu-search",
9575
9590
  setup(__props) {
9591
+ const { t } = useI18n("UI");
9576
9592
  const menuList = ref([]);
9577
9593
  const router = useRouter();
9578
9594
  const filter2 = ref("");
9579
- const { getShowSearch } = useHeader();
9595
+ const { getShowSearch, getIsZH } = useHeader();
9580
9596
  const isUseDef = computed(() => {
9581
9597
  return isBoolean(getShowSearch.value);
9582
9598
  });
@@ -9609,7 +9625,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
9609
9625
  (openBlock(true), createElementBlock(Fragment, null, renderList(menuList.value, (menu) => {
9610
9626
  return openBlock(), createElementBlock("p", {
9611
9627
  onClick: ($event) => navigation(menu.url)
9612
- }, toDisplayString(menu.label), 9, _hoisted_2$3);
9628
+ }, toDisplayString(unref(getIsZH) ? menu.label : menu.enLabel), 9, _hoisted_2$3);
9613
9629
  }), 256)),
9614
9630
  !menuList.value.length ? (openBlock(), createElementBlock("div", _hoisted_3$1, [
9615
9631
  createVNode(unref(Empty), {
@@ -9622,9 +9638,9 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
9622
9638
  createVNode(unref(InputSearch), {
9623
9639
  value: filter2.value,
9624
9640
  "onUpdate:value": _cache[0] || (_cache[0] = ($event) => filter2.value = $event),
9625
- placeholder: "\u641C\u7D22...",
9641
+ placeholder: unref(t)("FILTER_MORE"),
9626
9642
  onInput: filterMenu
9627
- }, null, 8, ["value"])
9643
+ }, null, 8, ["value", "placeholder"])
9628
9644
  ]),
9629
9645
  _: 1
9630
9646
  })
@@ -9638,19 +9654,20 @@ const _hoisted_3 = { fontSize: 16 };
9638
9654
  const _sfc_main$g = /* @__PURE__ */ defineComponent({
9639
9655
  __name: "size",
9640
9656
  setup(__props) {
9657
+ const { t } = useI18n("UI");
9641
9658
  const { setAppConf } = useAppStore();
9642
9659
  const { getUiSize } = useApp();
9643
9660
  const sizeList = [
9644
9661
  {
9645
- text: "\u5927\u5C3A\u5BF8",
9662
+ text: t("LARGE_SIZE"),
9646
9663
  event: "large"
9647
9664
  },
9648
9665
  {
9649
- text: "\u4E2D\u5C3A\u5BF8",
9666
+ text: t("MIDDLE_SIZE"),
9650
9667
  event: "middle"
9651
9668
  },
9652
9669
  {
9653
- text: "\u5C0F\u5C3A\u5BF8",
9670
+ text: t("SMALL_SIZE"),
9654
9671
  event: "small"
9655
9672
  }
9656
9673
  ];
@@ -10469,6 +10486,7 @@ function useTabDropdown() {
10469
10486
  currentIndex: 0
10470
10487
  });
10471
10488
  const getDropMenuList = computed(() => {
10489
+ const { t } = useI18n("UI");
10472
10490
  const { path, meta } = unref(currentRoute);
10473
10491
  const curItem = state.current;
10474
10492
  const isCurItem = curItem ? curItem.path === path : false;
@@ -10479,34 +10497,34 @@ function useTabDropdown() {
10479
10497
  const dropMenuList = [
10480
10498
  {
10481
10499
  icon: "ic:baseline-close",
10482
- text: "\u5173\u95ED\u5F53\u524D\u6807\u7B7E\u9875",
10500
+ text: t("CLOSE_CURRENT_TAG"),
10483
10501
  onClick: () => tabStore.closeTab(path, router),
10484
10502
  disabled: !!(meta == null ? void 0 : meta.affix) || disabled,
10485
10503
  divider: true
10486
10504
  },
10487
10505
  {
10488
10506
  icon: "mdi:arrow-collapse-left",
10489
- text: "\u5173\u95ED\u5DE6\u4FA7\u6807\u7B7E\u9875",
10507
+ text: t("CLOSE_LEFT_TAGS"),
10490
10508
  onClick: () => tabStore.closeLeftTabs(path),
10491
10509
  disabled: closeLeftDisabled,
10492
10510
  divider: false
10493
10511
  },
10494
10512
  {
10495
10513
  icon: "mdi:arrow-collapse-right",
10496
- text: "\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E\u9875",
10514
+ text: t("CLOSE_RIGHT_TAGS"),
10497
10515
  onClick: () => tabStore.closeRightTabs(path),
10498
10516
  disabled: closeRightDisabled,
10499
10517
  divider: true
10500
10518
  },
10501
10519
  {
10502
10520
  icon: "ic:baseline-sync-alt",
10503
- text: "\u5173\u95ED\u5176\u4ED6\u6807\u7B7E\u9875",
10521
+ text: t("CLOSE_OTHER_TAGS"),
10504
10522
  onClick: () => tabStore.closeOtherTabs(path),
10505
10523
  disabled: disabled || !isCurItem
10506
10524
  },
10507
10525
  {
10508
10526
  icon: "ic:baseline-horizontal-rule",
10509
- text: "\u5173\u95ED\u5168\u90E8\u6807\u7B7E\u9875",
10527
+ text: t("CLOSE_ALL_TAGE"),
10510
10528
  onClick: () => tabStore.closeAllTab(currentRoute, router),
10511
10529
  disabled
10512
10530
  }