Commit a0b05e776910d9e67f72c2449771a72d24b228ad

Authored by vben
1 parent 9bb75147

chore: update menu and route i18n

src/hooks/web/useI18n.ts
... ... @@ -31,3 +31,10 @@ export function useI18n(namespace?: string) {
31 31 },
32 32 };
33 33 }
  34 +
  35 +// Why write this function?
  36 +// Mainly to configure the vscode i18nn ally plugin. This function is only used for routing and menus. Please use useI18n for other places
  37 +
  38 +// 为什么要编写此函数?
  39 +// 主要用于配合vscode i18nn ally插件。此功能仅用于路由和菜单。请在其他地方使用useIs18n
  40 +export const t = (key: string) => key;
... ...
src/router/index.ts
... ... @@ -20,7 +20,7 @@ const router = createRouter({
20 20  
21 21 // reset router
22 22 export function resetRouter() {
23   - const resetWhiteNameList = ['Login', 'Root'];
  23 + const resetWhiteNameList = ['Login'];
24 24 router.getRoutes().forEach((route) => {
25 25 const { name } = route;
26 26 if (name && !resetWhiteNameList.includes(name as string)) {
... ...
src/router/menus/modules/dashboard.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 10,
5 6 menu: {
6   - name: 'routes.dashboard.dashboard',
  7 + name: t('routes.dashboard.dashboard'),
7 8 path: '/dashboard',
8 9 children: [
9 10 {
10 11 path: '/workbench',
11   - name: 'routes.dashboard.workbench',
  12 + name: t('routes.dashboard.workbench'),
12 13 },
13 14 {
14 15 path: '/analysis',
15   - name: 'routes.dashboard.analysis',
  16 + name: t('routes.dashboard.analysis'),
16 17 },
17 18 ],
18 19 },
... ...
src/router/menus/modules/demo/charts.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 500,
5 6 menu: {
6   - name: 'routes.demo.charts.charts',
  7 + name: t('routes.demo.charts.charts'),
7 8 path: '/charts',
8 9 children: [
9 10 {
10 11 path: 'apexChart',
11   - name: 'routes.demo.charts.apexChart',
  12 + name: t('routes.demo.charts.apexChart'),
12 13 },
13 14 {
14 15 path: 'echarts',
... ... @@ -16,15 +17,15 @@ const menu: MenuModule = {
16 17 children: [
17 18 {
18 19 path: 'map',
19   - name: 'routes.demo.charts.map',
  20 + name: t('routes.demo.charts.map'),
20 21 },
21 22 {
22 23 path: 'line',
23   - name: 'routes.demo.charts.line',
  24 + name: t('routes.demo.charts.line'),
24 25 },
25 26 {
26 27 path: 'pie',
27   - name: 'routes.demo.charts.pie',
  28 + name: t('routes.demo.charts.pie'),
28 29 },
29 30 ],
30 31 },
... ...
src/router/menus/modules/demo/comp.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 30,
5 6 menu: {
6   - name: 'routes.demo.comp.comp',
  7 + name: t('routes.demo.comp.comp'),
7 8 path: '/comp',
8 9 tag: {
9 10 dot: true,
... ... @@ -11,91 +12,91 @@ const menu: MenuModule = {
11 12 children: [
12 13 {
13 14 path: 'basic',
14   - name: 'routes.demo.comp.basic',
  15 + name: t('routes.demo.comp.basic'),
15 16 },
16 17 {
17 18 path: 'countTo',
18   - name: 'routes.demo.comp.countTo',
  19 + name: t('routes.demo.comp.countTo'),
19 20 },
20 21 {
21 22 path: 'transition',
22   - name: 'routes.demo.comp.transition',
  23 + name: t('routes.demo.comp.transition'),
23 24 },
24 25  
25 26 {
26 27 path: 'modal',
27   - name: 'routes.demo.comp.modal',
  28 + name: t('routes.demo.comp.modal'),
28 29 },
29 30 {
30 31 path: 'drawer',
31   - name: 'routes.demo.comp.drawer',
  32 + name: t('routes.demo.comp.drawer'),
32 33 },
33 34 {
34 35 path: 'desc',
35   - name: 'routes.demo.comp.desc',
  36 + name: t('routes.demo.comp.desc'),
36 37 },
37 38 {
38 39 path: 'qrcode',
39   - name: 'routes.demo.comp.qrcode',
  40 + name: t('routes.demo.comp.qrcode'),
40 41 },
41 42 {
42 43 path: 'strength-meter',
43   - name: 'routes.demo.comp.strength',
  44 + name: t('routes.demo.comp.strength'),
44 45 },
45 46 {
46 47 path: 'upload',
47   - name: 'routes.demo.comp.upload',
  48 + name: t('routes.demo.comp.upload'),
48 49 },
49 50 {
50 51 path: 'loading',
51   - name: 'routes.demo.comp.loading',
  52 + name: t('routes.demo.comp.loading'),
52 53 tag: {
53 54 content: 'new',
54 55 },
55 56 },
56 57 {
57 58 path: 'scroll',
58   - name: 'routes.demo.comp.scroll',
  59 + name: t('routes.demo.comp.scroll'),
59 60 children: [
60 61 {
61 62 path: 'basic',
62   - name: 'routes.demo.comp.scrollBasic',
  63 + name: t('routes.demo.comp.scrollBasic'),
63 64 },
64 65 {
65 66 path: 'action',
66   - name: 'routes.demo.comp.scrollAction',
  67 + name: t('routes.demo.comp.scrollAction'),
67 68 },
68 69 {
69 70 path: 'virtualScroll',
70   - name: 'routes.demo.comp.virtualScroll',
  71 + name: t('routes.demo.comp.virtualScroll'),
71 72 },
72 73 ],
73 74 },
74 75 {
75 76 path: 'lazy',
76   - name: 'routes.demo.comp.lazy',
  77 + name: t('routes.demo.comp.lazy'),
77 78 children: [
78 79 {
79 80 path: 'basic',
80   - name: 'routes.demo.comp.lazyBasic',
  81 + name: t('routes.demo.comp.lazyBasic'),
81 82 },
82 83 {
83 84 path: 'transition',
84   - name: 'routes.demo.comp.lazyTransition',
  85 + name: t('routes.demo.comp.lazyTransition'),
85 86 },
86 87 ],
87 88 },
88 89 {
89 90 path: 'verify',
90   - name: 'routes.demo.comp.verify',
  91 + name: t('routes.demo.comp.verify'),
91 92 children: [
92 93 {
93 94 path: 'drag',
94   - name: 'routes.demo.comp.verifyDrag',
  95 + name: t('routes.demo.comp.verifyDrag'),
95 96 },
96 97 {
97 98 path: 'rotate',
98   - name: 'routes.demo.comp.verifyRotate',
  99 + name: t('routes.demo.comp.verifyRotate'),
99 100 },
100 101 ],
101 102 },
... ...
src/router/menus/modules/demo/editor.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 500,
5 6 menu: {
6   - name: 'routes.demo.editor.editor',
  7 + name: t('routes.demo.editor.editor'),
7 8 path: '/editor',
8 9 children: [
9 10 {
10 11 path: 'markdown',
11   - name: 'routes.demo.editor.markdown',
  12 + name: t('routes.demo.editor.markdown'),
12 13 },
13 14 {
14 15 path: 'tinymce',
15   - name: 'routes.demo.editor.tinymce',
  16 + name: t('routes.demo.editor.tinymce'),
16 17 children: [
17 18 {
18 19 path: 'index',
19   - name: 'routes.demo.editor.tinymceBasic',
  20 + name: t('routes.demo.editor.tinymceBasic'),
20 21 },
21 22 {
22 23 path: 'editor',
23   - name: 'routes.demo.editor.tinymceForm',
  24 + name: t('routes.demo.editor.tinymceForm'),
24 25 },
25 26 ],
26 27 },
... ...
src/router/menus/modules/demo/excel.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 500,
5 6 menu: {
6   - name: 'routes.demo.excel.excel',
  7 + name: t('routes.demo.excel.excel'),
7 8 path: '/excel',
8 9 children: [
9 10 {
10 11 path: 'customExport',
11   - name: 'routes.demo.excel.customExport',
  12 + name: t('routes.demo.excel.customExport'),
12 13 },
13 14 {
14 15 path: 'jsonExport',
15   - name: 'routes.demo.excel.jsonExport',
  16 + name: t('routes.demo.excel.jsonExport'),
16 17 },
17 18 {
18 19 path: 'arrayExport',
19   - name: 'routes.demo.excel.arrayExport',
  20 + name: t('routes.demo.excel.arrayExport'),
20 21 },
21 22 {
22 23 path: 'importExcel',
23   - name: 'routes.demo.excel.importExcel',
  24 + name: t('routes.demo.excel.importExcel'),
24 25 },
25 26 ],
26 27 },
... ...
src/router/menus/modules/demo/feat.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 19,
5 6 menu: {
6   - name: 'routes.demo.feat.feat',
  7 + name: t('routes.demo.feat.feat'),
7 8 path: '/feat',
8 9  
9 10 children: [
10 11 {
11 12 path: 'icon',
12   - name: 'routes.demo.feat.icon',
  13 + name: t('routes.demo.feat.icon'),
13 14 },
14 15 {
15 16 path: 'tabs',
16   - name: 'routes.demo.feat.tabs',
  17 + name: t('routes.demo.feat.tabs'),
17 18 },
18 19 {
19 20 path: 'context-menu',
20   - name: 'routes.demo.feat.contextMenu',
  21 + name: t('routes.demo.feat.contextMenu'),
21 22 },
22 23 {
23 24 path: 'download',
24   - name: 'routes.demo.feat.download',
  25 + name: t('routes.demo.feat.download'),
25 26 },
26 27 {
27 28 path: 'click-out-side',
28   - name: 'routes.demo.feat.clickOutSide',
  29 + name: t('routes.demo.feat.clickOutSide'),
29 30 },
30 31 {
31 32 path: 'img-preview',
32   - name: 'routes.demo.feat.imgPreview',
  33 + name: t('routes.demo.feat.imgPreview'),
33 34 },
34 35 {
35 36 path: 'copy',
36   - name: 'routes.demo.feat.copy',
  37 + name: t('routes.demo.feat.copy'),
37 38 },
38 39 {
39 40 path: 'msg',
40   - name: 'routes.demo.feat.msg',
  41 + name: t('routes.demo.feat.msg'),
41 42 },
42 43 {
43 44 path: 'watermark',
44   - name: 'routes.demo.feat.watermark',
  45 + name: t('routes.demo.feat.watermark'),
45 46 },
46 47 {
47 48 path: 'full-screen',
48   - name: 'routes.demo.feat.fullScreen',
  49 + name: t('routes.demo.feat.fullScreen'),
49 50 },
50 51 {
51 52 path: 'error-log',
52   - name: 'routes.demo.feat.errorLog',
  53 + name: t('routes.demo.feat.errorLog'),
53 54 },
54 55 {
55 56 path: 'testTab',
56   - name: 'routes.demo.feat.tab',
  57 + name: t('routes.demo.feat.tab'),
57 58 children: [
58 59 {
59 60 path: 'id1',
60   - name: 'routes.demo.feat.tab1',
  61 + name: t('routes.demo.feat.tab1'),
61 62 },
62 63 {
63 64 path: 'id2',
64   - name: 'routes.demo.feat.tab2',
  65 + name: t('routes.demo.feat.tab2'),
65 66 },
66 67 ],
67 68 },
... ...
src/router/menus/modules/demo/form.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 40,
5 6 menu: {
6 7 path: '/form',
7   - name: 'routes.demo.form.form',
  8 + name: t('routes.demo.form.form'),
8 9  
9 10 children: [
10 11 {
11 12 path: 'basic',
12   - name: 'routes.demo.form.basic',
  13 + name: t('routes.demo.form.basic'),
13 14 },
14 15 {
15 16 path: 'useForm',
16   - name: 'routes.demo.form.useForm',
  17 + name: t('routes.demo.form.useForm'),
17 18 },
18 19 {
19 20 path: 'refForm',
20   - name: 'routes.demo.form.refForm',
  21 + name: t('routes.demo.form.refForm'),
21 22 },
22 23 {
23 24 path: 'advancedForm',
24   - name: 'routes.demo.form.advancedForm',
  25 + name: t('routes.demo.form.advancedForm'),
25 26 },
26 27 {
27 28 path: 'ruleForm',
28   - name: 'routes.demo.form.ruleForm',
  29 + name: t('routes.demo.form.ruleForm'),
29 30 },
30 31 {
31 32 path: 'dynamicForm',
32   - name: 'routes.demo.form.dynamicForm',
  33 + name: t('routes.demo.form.dynamicForm'),
33 34 },
34 35 {
35 36 path: 'customerForm',
36   - name: 'routes.demo.form.customerForm',
  37 + name: t('routes.demo.form.customerForm'),
37 38 },
38 39 ],
39 40 },
... ...
src/router/menus/modules/demo/iframe.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 1000,
5 6 menu: {
6   - name: 'routes.demo.iframe.frame',
  7 + name: t('routes.demo.iframe.frame'),
7 8 path: '/frame',
8 9 children: [
9 10 {
10 11 path: 'antv',
11   - name: 'routes.demo.iframe.antv',
  12 + name: t('routes.demo.iframe.antv'),
12 13 },
13 14 {
14 15 path: 'doc',
15   - name: 'routes.demo.iframe.doc',
  16 + name: t('routes.demo.iframe.doc'),
16 17 },
17 18 {
18 19 path: 'https://vvbin.cn/doc-next/',
19   - name: 'routes.demo.iframe.docExternal',
  20 + name: t('routes.demo.iframe.docExternal'),
20 21 },
21 22 ],
22 23 },
... ...
src/router/menus/modules/demo/level.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 2000,
5 6 menu: {
6   - name: 'routes.demo.level.level',
  7 + name: t('routes.demo.level.level'),
7 8 path: '/level',
8 9 tag: {
9 10 dot: true,
... ...
src/router/menus/modules/demo/page.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 20,
5 6 menu: {
6   - name: 'routes.demo.page.page',
  7 + name: t('routes.demo.page.page'),
7 8 path: '/page-demo',
8 9 tag: {
9 10 dot: true,
... ... @@ -11,111 +12,111 @@ const menu: MenuModule = {
11 12 children: [
12 13 {
13 14 path: 'form',
14   - name: 'routes.demo.page.form',
  15 + name: t('routes.demo.page.form'),
15 16  
16 17 children: [
17 18 {
18 19 path: 'basic',
19   - name: 'routes.demo.page.formBasic',
  20 + name: t('routes.demo.page.formBasic'),
20 21 },
21 22 {
22 23 path: 'step',
23   - name: 'routes.demo.page.formStep',
  24 + name: t('routes.demo.page.formStep'),
24 25 },
25 26 {
26 27 path: 'high',
27   - name: 'routes.demo.page.formHigh',
  28 + name: t('routes.demo.page.formHigh'),
28 29 },
29 30 ],
30 31 },
31 32 {
32 33 path: 'desc',
33   - name: 'routes.demo.page.desc',
  34 + name: t('routes.demo.page.desc'),
34 35  
35 36 children: [
36 37 {
37 38 path: 'basic',
38   - name: 'routes.demo.page.descBasic',
  39 + name: t('routes.demo.page.descBasic'),
39 40 },
40 41 {
41 42 path: 'high',
42   - name: 'routes.demo.page.descHigh',
  43 + name: t('routes.demo.page.descHigh'),
43 44 },
44 45 ],
45 46 },
46 47 {
47 48 path: 'result',
48   - name: 'routes.demo.page.result',
  49 + name: t('routes.demo.page.result'),
49 50  
50 51 children: [
51 52 {
52 53 path: 'success',
53   - name: 'routes.demo.page.resultSuccess',
  54 + name: t('routes.demo.page.resultSuccess'),
54 55 },
55 56 {
56 57 path: 'fail',
57   - name: 'routes.demo.page.resultFail',
  58 + name: t('routes.demo.page.resultFail'),
58 59 },
59 60 ],
60 61 },
61 62 {
62 63 path: 'exception',
63   - name: 'routes.demo.page.exception',
  64 + name: t('routes.demo.page.exception'),
64 65 children: [
65 66 {
66 67 path: '403',
67   - name: '403',
  68 + name: t('403'),
68 69 },
69 70 {
70 71 path: '404',
71   - name: '404',
  72 + name: t('404'),
72 73 },
73 74 {
74 75 path: '500',
75   - name: '500',
  76 + name: t('500'),
76 77 },
77 78 {
78 79 path: 'net-work-error',
79   - name: 'routes.demo.page.netWorkError',
  80 + name: t('routes.demo.page.netWorkError'),
80 81 },
81 82 {
82 83 path: 'not-data',
83   - name: 'routes.demo.page.notData',
  84 + name: t('routes.demo.page.notData'),
84 85 },
85 86 ],
86 87 },
87 88 {
88 89 path: 'account',
89   - name: 'routes.demo.page.account',
  90 + name: t('routes.demo.page.account'),
90 91 children: [
91 92 {
92 93 path: 'center',
93   - name: 'routes.demo.page.accountCenter',
  94 + name: t('routes.demo.page.accountCenter'),
94 95 },
95 96 {
96 97 path: 'setting',
97   - name: 'routes.demo.page.accountSetting',
  98 + name: t('routes.demo.page.accountSetting'),
98 99 },
99 100 ],
100 101 },
101 102 {
102 103 path: 'list',
103   - name: 'routes.demo.page.list',
  104 + name: t('routes.demo.page.list'),
104 105 tag: {
105 106 content: 'new',
106 107 },
107 108 children: [
108 109 {
109 110 path: 'basic',
110   - name: 'routes.demo.page.listBasic',
  111 + name: t('routes.demo.page.listBasic'),
111 112 },
112 113 {
113 114 path: 'card',
114   - name: 'routes.demo.page.listCard',
  115 + name: t('routes.demo.page.listCard'),
115 116 },
116 117 {
117 118 path: 'search',
118   - name: 'routes.demo.page.listSearch',
  119 + name: t('routes.demo.page.listSearch'),
119 120 },
120 121 ],
121 122 },
... ...
src/router/menus/modules/demo/permission.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 15,
5 6 menu: {
6   - name: 'routes.demo.permission.permission',
  7 + name: t('routes.demo.permission.permission'),
7 8 path: '/permission',
8 9 children: [
9 10 {
10 11 path: 'front',
11   - name: 'routes.demo.permission.front',
  12 + name: t('routes.demo.permission.front'),
12 13 children: [
13 14 {
14 15 path: 'page',
15   - name: 'routes.demo.permission.frontPage',
  16 + name: t('routes.demo.permission.frontPage'),
16 17 },
17 18 {
18 19 path: 'btn',
19   - name: 'routes.demo.permission.frontBtn',
  20 + name: t('routes.demo.permission.frontBtn'),
20 21 },
21 22 {
22 23 path: 'auth-pageA',
23   - name: 'routes.demo.permission.frontTestA',
  24 + name: t('routes.demo.permission.frontTestA'),
24 25 },
25 26 {
26 27 path: 'auth-pageB',
27   - name: 'routes.demo.permission.frontTestB',
  28 + name: t('routes.demo.permission.frontTestB'),
28 29 },
29 30 ],
30 31 },
31 32 {
32 33 path: 'back',
33   - name: 'routes.demo.permission.back',
  34 + name: t('routes.demo.permission.back'),
34 35 children: [
35 36 {
36 37 path: 'page',
37   - name: 'routes.demo.permission.backPage',
  38 + name: t('routes.demo.permission.backPage'),
38 39 },
39 40 {
40 41 path: 'btn',
41   - name: 'routes.demo.permission.backBtn',
  42 + name: t('routes.demo.permission.backBtn'),
42 43 },
43 44 ],
44 45 },
... ...
src/router/menus/modules/demo/table.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 30,
5 6 menu: {
6 7 path: '/table',
7   - name: 'routes.demo.table.table',
  8 + name: t('routes.demo.table.table'),
8 9 children: [
9 10 {
10 11 path: 'basic',
11   - name: 'routes.demo.table.basic',
  12 + name: t('routes.demo.table.basic'),
12 13 },
13 14 {
14 15 path: 'treeTable',
15   - name: 'routes.demo.table.treeTable',
  16 + name: t('routes.demo.table.treeTable'),
16 17 },
17 18 {
18 19 path: 'fetchTable',
19   - name: 'routes.demo.table.fetchTable',
  20 + name: t('routes.demo.table.fetchTable'),
20 21 },
21 22 {
22 23 path: 'fixedColumn',
23   - name: 'routes.demo.table.fixedColumn',
  24 + name: t('routes.demo.table.fixedColumn'),
24 25 },
25 26 {
26 27 path: 'customerCell',
27   - name: 'routes.demo.table.customerCell',
  28 + name: t('routes.demo.table.customerCell'),
28 29 },
29 30 {
30 31 path: 'formTable',
31   - name: 'routes.demo.table.formTable',
  32 + name: t('routes.demo.table.formTable'),
32 33 },
33 34 {
34 35 path: 'useTable',
35   - name: 'routes.demo.table.useTable',
  36 + name: t('routes.demo.table.useTable'),
36 37 },
37 38 {
38 39 path: 'refTable',
39   - name: 'routes.demo.table.refTable',
  40 + name: t('routes.demo.table.refTable'),
40 41 },
41 42 {
42 43 path: 'multipleHeader',
43   - name: 'routes.demo.table.multipleHeader',
  44 + name: t('routes.demo.table.multipleHeader'),
44 45 },
45 46 {
46 47 path: 'mergeHeader',
47   - name: 'routes.demo.table.mergeHeader',
  48 + name: t('routes.demo.table.mergeHeader'),
48 49 },
49 50 {
50 51 path: 'expandTable',
51   - name: 'routes.demo.table.expandTable',
  52 + name: t('routes.demo.table.expandTable'),
52 53 },
53 54 {
54 55 path: 'fixedHeight',
55   - name: 'routes.demo.table.fixedHeight',
  56 + name: t('routes.demo.table.fixedHeight'),
56 57 },
57 58 {
58 59 path: 'footerTable',
59   - name: 'routes.demo.table.footerTable',
  60 + name: t('routes.demo.table.footerTable'),
60 61 },
61 62 {
62 63 path: 'editCellTable',
63   - name: 'routes.demo.table.editCellTable',
  64 + name: t('routes.demo.table.editCellTable'),
64 65 },
65 66 {
66 67 path: 'editRowTable',
67   - name: 'routes.demo.table.editRowTable',
  68 + name: t('routes.demo.table.editRowTable'),
68 69 },
69 70 ],
70 71 },
... ...
src/router/menus/modules/demo/tree.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 50,
5 6 menu: {
6 7 path: '/tree',
7   - name: 'routes.demo.tree.tree',
  8 + name: t('routes.demo.tree.tree'),
8 9 children: [
9 10 {
10 11 path: 'basic',
11   - name: 'routes.demo.tree.basic',
  12 + name: t('routes.demo.tree.basic'),
12 13 },
13 14 {
14 15 path: 'editTree',
15   - name: 'routes.demo.tree.editTree',
  16 + name: t('routes.demo.tree.editTree'),
16 17 },
17 18 {
18 19 path: 'actionTree',
19   - name: 'routes.demo.tree.actionTree',
  20 + name: t('routes.demo.tree.actionTree'),
20 21 },
21 22 ],
22 23 },
... ...
src/router/menus/modules/home.ts
1 1 import type { MenuModule } from '/@/router/types.d';
  2 +import { t } from '/@/hooks/web/useI18n';
2 3  
3 4 const menu: MenuModule = {
4 5 orderNo: 0,
5 6 menu: {
6 7 path: '/home/welcome',
7   - name: 'routes.dashboard.welcome',
  8 + name: t('routes.dashboard.welcome'),
8 9 },
9 10 };
10 11 export default menu;
... ...
src/router/routes/index.ts
1 1 import type { AppRouteRecordRaw, AppRouteModule } from '/@/router/types';
2 2  
3   -import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE, LAYOUT } from '../constant';
4   -import { PageEnum } from '/@/enums/pageEnum';
  3 +import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '../constant';
5 4  
6 5 import modules from 'globby!/@/router/routes/modules/**/*.@(ts)';
7 6  
  7 +import { t } from '/@/hooks/web/useI18n';
  8 +
8 9 const routeModuleList: AppRouteModule[] = [];
9 10  
10 11 Object.keys(modules).forEach((key) => {
... ... @@ -14,25 +15,14 @@ Object.keys(modules).forEach((key) => {
14 15  
15 16 export const asyncRoutes = [PAGE_NOT_FOUND_ROUTE, ...routeModuleList];
16 17  
17   -const MainRoute: AppRouteModule = {
18   - path: '/',
19   - name: 'MainRoute',
20   - component: LAYOUT,
21   - redirect: PageEnum.BASE_HOME,
22   - meta: {
23   - icon: 'bx:bx-home',
24   - title: 'routes.dashboard.dashboard',
25   - },
26   -};
27   -
28 18 export const LoginRoute: AppRouteRecordRaw = {
29 19 path: '/login',
30 20 name: 'Login',
31 21 component: () => import('/@/views/sys/login/Login.vue'),
32 22 meta: {
33   - title: 'routes.basic.login',
  23 + title: t('routes.basic.login'),
34 24 },
35 25 };
36 26  
37 27 // 基础路由 不用权限
38   -export const basicRoutes = [LoginRoute, MainRoute, REDIRECT_ROUTE];
  28 +export const basicRoutes = [LoginRoute, REDIRECT_ROUTE];
... ...
src/router/routes/modules/dashboard.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const dashboard: AppRouteModule = {
6 7 path: '/dashboard',
... ... @@ -9,7 +10,7 @@ const dashboard: AppRouteModule = {
9 10 redirect: '/dashboard/welcome',
10 11 meta: {
11 12 icon: 'bx:bx-home',
12   - title: 'routes.dashboard.dashboard',
  13 + title: t('routes.dashboard.dashboard'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const dashboard: AppRouteModule = {
17 18 name: 'Workbench',
18 19 component: () => import('/@/views/dashboard/workbench/index.vue'),
19 20 meta: {
20   - title: 'routes.dashboard.workbench',
  21 + title: t('routes.dashboard.workbench'),
21 22 },
22 23 },
23 24 {
... ... @@ -25,7 +26,7 @@ const dashboard: AppRouteModule = {
25 26 name: 'Analysis',
26 27 component: () => import('/@/views/dashboard/analysis/index.vue'),
27 28 meta: {
28   - title: 'routes.dashboard.analysis',
  29 + title: t('routes.dashboard.analysis'),
29 30 },
30 31 },
31 32 ],
... ...
src/router/routes/modules/demo/charts.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const charts: AppRouteModule = {
6 7 path: '/charts',
... ... @@ -9,7 +10,7 @@ const charts: AppRouteModule = {
9 10 redirect: '/charts/apexChart',
10 11 meta: {
11 12 icon: 'vaadin:spline-area-chart',
12   - title: 'routes.demo.charts.charts',
  13 + title: t('routes.demo.charts.charts'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -25,7 +26,7 @@ const charts: AppRouteModule = {
25 26 name: 'Map',
26 27 component: () => import('/@/views/demo/echarts/Map.vue'),
27 28 meta: {
28   - title: 'routes.demo.charts.map',
  29 + title: t('routes.demo.charts.map'),
29 30 },
30 31 },
31 32 {
... ... @@ -33,7 +34,7 @@ const charts: AppRouteModule = {
33 34 name: 'Line',
34 35 component: () => import('/@/views/demo/echarts/Line.vue'),
35 36 meta: {
36   - title: 'routes.demo.charts.line',
  37 + title: t('routes.demo.charts.line'),
37 38 },
38 39 },
39 40 {
... ... @@ -41,7 +42,7 @@ const charts: AppRouteModule = {
41 42 name: 'Pie',
42 43 component: () => import('/@/views/demo/echarts/Pie.vue'),
43 44 meta: {
44   - title: 'routes.demo.charts.pie',
  45 + title: t('routes.demo.charts.pie'),
45 46 },
46 47 },
47 48 ],
... ... @@ -50,7 +51,7 @@ const charts: AppRouteModule = {
50 51 path: 'apexChart',
51 52 name: 'ApexChart',
52 53 meta: {
53   - title: 'routes.demo.charts.apexChart',
  54 + title: t('routes.demo.charts.apexChart'),
54 55 },
55 56 component: () => import('/@/views/demo/echarts/apex/index.vue'),
56 57 },
... ...
src/router/routes/modules/demo/comp.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const comp: AppRouteModule = {
6 7 path: '/comp',
... ... @@ -9,7 +10,7 @@ const comp: AppRouteModule = {
9 10 redirect: '/comp/basic',
10 11 meta: {
11 12 icon: 'ic:outline-settings-input-component',
12   - title: 'routes.demo.comp.comp',
  13 + title: t('routes.demo.comp.comp'),
13 14 },
14 15  
15 16 children: [
... ... @@ -18,7 +19,7 @@ const comp: AppRouteModule = {
18 19 name: 'BasicDemo',
19 20 component: () => import('/@/views/demo/comp/button/index.vue'),
20 21 meta: {
21   - title: 'routes.demo.comp.basic',
  22 + title: t('routes.demo.comp.basic'),
22 23 },
23 24 },
24 25 {
... ... @@ -26,7 +27,7 @@ const comp: AppRouteModule = {
26 27 name: 'transitionDemo',
27 28 component: () => import('/@/views/demo/comp/transition/index.vue'),
28 29 meta: {
29   - title: 'routes.demo.comp.transition',
  30 + title: t('routes.demo.comp.transition'),
30 31 },
31 32 },
32 33 {
... ... @@ -34,7 +35,7 @@ const comp: AppRouteModule = {
34 35 name: 'CountTo',
35 36 component: () => import('/@/views/demo/comp/count-to/index.vue'),
36 37 meta: {
37   - title: 'routes.demo.comp.countTo',
  38 + title: t('routes.demo.comp.countTo'),
38 39 },
39 40 },
40 41  
... ... @@ -44,7 +45,7 @@ const comp: AppRouteModule = {
44 45 redirect: '/comp/scroll/basic',
45 46 component: getParentLayout('ScrollDemo'),
46 47 meta: {
47   - title: 'routes.demo.comp.scroll',
  48 + title: t('routes.demo.comp.scroll'),
48 49 },
49 50 children: [
50 51 {
... ... @@ -52,7 +53,7 @@ const comp: AppRouteModule = {
52 53 name: 'BasicScrollDemo',
53 54 component: () => import('/@/views/demo/comp/scroll/index.vue'),
54 55 meta: {
55   - title: 'routes.demo.comp.scrollBasic',
  56 + title: t('routes.demo.comp.scrollBasic'),
56 57 },
57 58 },
58 59 {
... ... @@ -60,7 +61,7 @@ const comp: AppRouteModule = {
60 61 name: 'ActionScrollDemo',
61 62 component: () => import('/@/views/demo/comp/scroll/Action.vue'),
62 63 meta: {
63   - title: 'routes.demo.comp.scrollAction',
  64 + title: t('routes.demo.comp.scrollAction'),
64 65 },
65 66 },
66 67 {
... ... @@ -68,7 +69,7 @@ const comp: AppRouteModule = {
68 69 name: 'VirtualScrollDemo',
69 70 component: () => import('/@/views/demo/comp/scroll/VirtualScroll.vue'),
70 71 meta: {
71   - title: 'routes.demo.comp.virtualScroll',
  72 + title: t('routes.demo.comp.virtualScroll'),
72 73 },
73 74 },
74 75 ],
... ... @@ -79,7 +80,7 @@ const comp: AppRouteModule = {
79 80 name: 'ModalDemo',
80 81 component: () => import('/@/views/demo/comp/modal/index.vue'),
81 82 meta: {
82   - title: 'routes.demo.comp.modal',
  83 + title: t('routes.demo.comp.modal'),
83 84 },
84 85 },
85 86 {
... ... @@ -87,7 +88,7 @@ const comp: AppRouteModule = {
87 88 name: 'DrawerDemo',
88 89 component: () => import('/@/views/demo/comp/drawer/index.vue'),
89 90 meta: {
90   - title: 'routes.demo.comp.drawer',
  91 + title: t('routes.demo.comp.drawer'),
91 92 },
92 93 },
93 94 {
... ... @@ -95,7 +96,7 @@ const comp: AppRouteModule = {
95 96 name: 'DescDemo',
96 97 component: () => import('/@/views/demo/comp/desc/index.vue'),
97 98 meta: {
98   - title: 'routes.demo.comp.desc',
  99 + title: t('routes.demo.comp.desc'),
99 100 },
100 101 },
101 102  
... ... @@ -105,7 +106,7 @@ const comp: AppRouteModule = {
105 106 component: getParentLayout('LazyDemo'),
106 107 redirect: '/comp/lazy/basic',
107 108 meta: {
108   - title: 'routes.demo.comp.lazy',
  109 + title: t('routes.demo.comp.lazy'),
109 110 },
110 111 children: [
111 112 {
... ... @@ -113,7 +114,7 @@ const comp: AppRouteModule = {
113 114 name: 'BasicLazyDemo',
114 115 component: () => import('/@/views/demo/comp/lazy/index.vue'),
115 116 meta: {
116   - title: 'routes.demo.comp.lazyBasic',
  117 + title: t('routes.demo.comp.lazyBasic'),
117 118 },
118 119 },
119 120 {
... ... @@ -121,7 +122,7 @@ const comp: AppRouteModule = {
121 122 name: 'BasicTransitionDemo',
122 123 component: () => import('/@/views/demo/comp/lazy/Transition.vue'),
123 124 meta: {
124   - title: 'routes.demo.comp.lazyTransition',
  125 + title: t('routes.demo.comp.lazyTransition'),
125 126 },
126 127 },
127 128 ],
... ... @@ -132,7 +133,7 @@ const comp: AppRouteModule = {
132 133 component: getParentLayout('VerifyDemo'),
133 134 redirect: '/comp/verify/drag',
134 135 meta: {
135   - title: 'routes.demo.comp.verify',
  136 + title: t('routes.demo.comp.verify'),
136 137 },
137 138 children: [
138 139 {
... ... @@ -140,7 +141,7 @@ const comp: AppRouteModule = {
140 141 name: 'VerifyDragDemo',
141 142 component: () => import('/@/views/demo/comp/verify/index.vue'),
142 143 meta: {
143   - title: 'routes.demo.comp.verifyDrag',
  144 + title: t('routes.demo.comp.verifyDrag'),
144 145 },
145 146 },
146 147 {
... ... @@ -148,7 +149,7 @@ const comp: AppRouteModule = {
148 149 name: 'VerifyRotateDemo',
149 150 component: () => import('/@/views/demo/comp/verify/Rotate.vue'),
150 151 meta: {
151   - title: 'routes.demo.comp.verifyRotate',
  152 + title: t('routes.demo.comp.verifyRotate'),
152 153 },
153 154 },
154 155 ],
... ... @@ -160,7 +161,7 @@ const comp: AppRouteModule = {
160 161 name: 'QrCodeDemo',
161 162 component: () => import('/@/views/demo/comp/qrcode/index.vue'),
162 163 meta: {
163   - title: 'routes.demo.comp.qrcode',
  164 + title: t('routes.demo.comp.qrcode'),
164 165 },
165 166 },
166 167 {
... ... @@ -168,7 +169,7 @@ const comp: AppRouteModule = {
168 169 name: 'StrengthMeterDemo',
169 170 component: () => import('/@/views/demo/comp/strength-meter/index.vue'),
170 171 meta: {
171   - title: 'routes.demo.comp.strength',
  172 + title: t('routes.demo.comp.strength'),
172 173 },
173 174 },
174 175 {
... ... @@ -176,7 +177,7 @@ const comp: AppRouteModule = {
176 177 name: 'UploadDemo',
177 178 component: () => import('/@/views/demo/comp/upload/index.vue'),
178 179 meta: {
179   - title: 'routes.demo.comp.upload',
  180 + title: t('routes.demo.comp.upload'),
180 181 },
181 182 },
182 183 {
... ... @@ -184,7 +185,7 @@ const comp: AppRouteModule = {
184 185 name: 'LoadingDemo',
185 186 component: () => import('/@/views/demo/comp/loading/index.vue'),
186 187 meta: {
187   - title: 'routes.demo.comp.loading',
  188 + title: t('routes.demo.comp.loading'),
188 189 },
189 190 },
190 191 ],
... ...
src/router/routes/modules/demo/editor.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const editor: AppRouteModule = {
6 7 path: '/editor',
... ... @@ -9,7 +10,7 @@ const editor: AppRouteModule = {
9 10 redirect: '/editor/markdown',
10 11 meta: {
11 12 icon: 'carbon:table-split',
12   - title: 'routes.demo.editor.editor',
  13 + title: t('routes.demo.editor.editor'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const editor: AppRouteModule = {
17 18 name: 'MarkdownDemo',
18 19 component: () => import('/@/views/demo/editor/Markdown.vue'),
19 20 meta: {
20   - title: 'routes.demo.editor.markdown',
  21 + title: t('routes.demo.editor.markdown'),
21 22 },
22 23 },
23 24 {
... ... @@ -25,7 +26,7 @@ const editor: AppRouteModule = {
25 26 component: getParentLayout('TinymceDemo'),
26 27 name: 'TinymceDemo',
27 28 meta: {
28   - title: 'routes.demo.editor.tinymce',
  29 + title: t('routes.demo.editor.tinymce'),
29 30 },
30 31 redirect: '/editor/tinymce/index',
31 32 children: [
... ... @@ -34,7 +35,7 @@ const editor: AppRouteModule = {
34 35 name: 'TinymceBasicDemo',
35 36 component: () => import('/@/views/demo/editor/tinymce/index.vue'),
36 37 meta: {
37   - title: 'routes.demo.editor.tinymceBasic',
  38 + title: t('routes.demo.editor.tinymceBasic'),
38 39 },
39 40 },
40 41 {
... ... @@ -42,7 +43,7 @@ const editor: AppRouteModule = {
42 43 name: 'TinymceFormDemo',
43 44 component: () => import('/@/views/demo/editor/tinymce/Editor.vue'),
44 45 meta: {
45   - title: 'routes.demo.editor.tinymceForm',
  46 + title: t('routes.demo.editor.tinymceForm'),
46 47 },
47 48 },
48 49 ],
... ...
src/router/routes/modules/demo/excel.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const excel: AppRouteModule = {
6 7 path: '/excel',
... ... @@ -9,7 +10,7 @@ const excel: AppRouteModule = {
9 10 redirect: '/excel/customExport',
10 11 meta: {
11 12 icon: 'mdi:microsoft-excel',
12   - title: 'routes.demo.excel.excel',
  13 + title: t('routes.demo.excel.excel'),
13 14 },
14 15  
15 16 children: [
... ... @@ -18,7 +19,7 @@ const excel: AppRouteModule = {
18 19 name: 'CustomExport',
19 20 component: () => import('/@/views/demo/excel/CustomExport.vue'),
20 21 meta: {
21   - title: 'routes.demo.excel.customExport',
  22 + title: t('routes.demo.excel.customExport'),
22 23 },
23 24 },
24 25 {
... ... @@ -26,7 +27,7 @@ const excel: AppRouteModule = {
26 27 name: 'JsonExport',
27 28 component: () => import('/@/views/demo/excel/JsonExport.vue'),
28 29 meta: {
29   - title: 'routes.demo.excel.jsonExport',
  30 + title: t('routes.demo.excel.jsonExport'),
30 31 },
31 32 },
32 33 {
... ... @@ -34,7 +35,7 @@ const excel: AppRouteModule = {
34 35 name: 'ArrayExport',
35 36 component: () => import('/@/views/demo/excel/ArrayExport.vue'),
36 37 meta: {
37   - title: 'routes.demo.excel.arrayExport',
  38 + title: t('routes.demo.excel.arrayExport'),
38 39 },
39 40 },
40 41 {
... ... @@ -42,7 +43,7 @@ const excel: AppRouteModule = {
42 43 name: 'ImportExcel',
43 44 component: () => import('/@/views/demo/excel/ImportExcel.vue'),
44 45 meta: {
45   - title: 'routes.demo.excel.importExcel',
  46 + title: t('routes.demo.excel.importExcel'),
46 47 },
47 48 },
48 49 ],
... ...
src/router/routes/modules/demo/feat.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const feat: AppRouteModule = {
6 7 path: '/feat',
... ... @@ -9,7 +10,7 @@ const feat: AppRouteModule = {
9 10 redirect: '/feat/icon',
10 11 meta: {
11 12 icon: 'ic:outline-featured-play-list',
12   - title: 'routes.demo.feat.feat',
  13 + title: t('routes.demo.feat.feat'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const feat: AppRouteModule = {
17 18 name: 'IconDemo',
18 19 component: () => import('/@/views/demo/feat/icon/index.vue'),
19 20 meta: {
20   - title: 'routes.demo.feat.icon',
  21 + title: t('routes.demo.feat.icon'),
21 22 },
22 23 },
23 24 {
... ... @@ -25,7 +26,7 @@ const feat: AppRouteModule = {
25 26 name: 'TabsDemo',
26 27 component: () => import('/@/views/demo/feat/tabs/index.vue'),
27 28 meta: {
28   - title: 'routes.demo.feat.tabs',
  29 + title: t('routes.demo.feat.tabs'),
29 30 },
30 31 },
31 32  
... ... @@ -34,7 +35,7 @@ const feat: AppRouteModule = {
34 35 name: 'ContextMenuDemo',
35 36 component: () => import('/@/views/demo/feat/context-menu/index.vue'),
36 37 meta: {
37   - title: 'routes.demo.feat.contextMenu',
  38 + title: t('routes.demo.feat.contextMenu'),
38 39 },
39 40 },
40 41 {
... ... @@ -42,7 +43,7 @@ const feat: AppRouteModule = {
42 43 name: 'DownLoadDemo',
43 44 component: () => import('/@/views/demo/feat/download/index.vue'),
44 45 meta: {
45   - title: 'routes.demo.feat.download',
  46 + title: t('routes.demo.feat.download'),
46 47 },
47 48 },
48 49 {
... ... @@ -50,7 +51,7 @@ const feat: AppRouteModule = {
50 51 name: 'ClickOutSideDemo',
51 52 component: () => import('/@/views/demo/feat/click-out-side/index.vue'),
52 53 meta: {
53   - title: 'routes.demo.feat.clickOutSide',
  54 + title: t('routes.demo.feat.clickOutSide'),
54 55 },
55 56 },
56 57 {
... ... @@ -58,7 +59,7 @@ const feat: AppRouteModule = {
58 59 name: 'ImgPreview',
59 60 component: () => import('/@/views/demo/feat/img-preview/index.vue'),
60 61 meta: {
61   - title: 'routes.demo.feat.imgPreview',
  62 + title: t('routes.demo.feat.imgPreview'),
62 63 },
63 64 },
64 65 {
... ... @@ -66,7 +67,7 @@ const feat: AppRouteModule = {
66 67 name: 'CopyDemo',
67 68 component: () => import('/@/views/demo/feat/copy/index.vue'),
68 69 meta: {
69   - title: 'routes.demo.feat.copy',
  70 + title: t('routes.demo.feat.copy'),
70 71 },
71 72 },
72 73 {
... ... @@ -74,7 +75,7 @@ const feat: AppRouteModule = {
74 75 name: 'MsgDemo',
75 76 component: () => import('/@/views/demo/feat/msg/index.vue'),
76 77 meta: {
77   - title: 'routes.demo.feat.msg',
  78 + title: t('routes.demo.feat.msg'),
78 79 },
79 80 },
80 81 {
... ... @@ -82,7 +83,7 @@ const feat: AppRouteModule = {
82 83 name: 'WatermarkDemo',
83 84 component: () => import('/@/views/demo/feat/watermark/index.vue'),
84 85 meta: {
85   - title: 'routes.demo.feat.watermark',
  86 + title: t('routes.demo.feat.watermark'),
86 87 },
87 88 },
88 89 {
... ... @@ -90,7 +91,7 @@ const feat: AppRouteModule = {
90 91 name: 'FullScreenDemo',
91 92 component: () => import('/@/views/demo/feat/full-screen/index.vue'),
92 93 meta: {
93   - title: 'routes.demo.feat.fullScreen',
  94 + title: t('routes.demo.feat.fullScreen'),
94 95 },
95 96 },
96 97 {
... ... @@ -98,7 +99,7 @@ const feat: AppRouteModule = {
98 99 name: 'ErrorLog',
99 100 component: () => import('/@/views/sys/error-log/index.vue'),
100 101 meta: {
101   - title: 'routes.demo.feat.errorLog',
  102 + title: t('routes.demo.feat.errorLog'),
102 103 },
103 104 },
104 105 {
... ... @@ -106,7 +107,7 @@ const feat: AppRouteModule = {
106 107 name: 'TestTab',
107 108 component: () => import('/@/views/demo/feat/tab-params/index.vue'),
108 109 meta: {
109   - title: 'routes.demo.feat.tab',
  110 + title: t('routes.demo.feat.tab'),
110 111 carryParam: true,
111 112 },
112 113 },
... ...
src/router/routes/modules/demo/form.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const form: AppRouteModule = {
6 7 path: '/form',
... ... @@ -9,7 +10,7 @@ const form: AppRouteModule = {
9 10 redirect: '/form/basic',
10 11 meta: {
11 12 icon: 'mdi:form-select',
12   - title: 'routes.demo.form.form',
  13 + title: t('routes.demo.form.form'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const form: AppRouteModule = {
17 18 name: 'FormBasicDemo',
18 19 component: () => import('/@/views/demo/form/index.vue'),
19 20 meta: {
20   - title: 'routes.demo.form.basic',
  21 + title: t('routes.demo.form.basic'),
21 22 },
22 23 },
23 24 {
... ... @@ -25,7 +26,7 @@ const form: AppRouteModule = {
25 26 name: 'UseFormDemo',
26 27 component: () => import('/@/views/demo/form/UseForm.vue'),
27 28 meta: {
28   - title: 'routes.demo.form.useForm',
  29 + title: t('routes.demo.form.useForm'),
29 30 },
30 31 },
31 32 {
... ... @@ -33,7 +34,7 @@ const form: AppRouteModule = {
33 34 name: 'RefFormDemo',
34 35 component: () => import('/@/views/demo/form/RefForm.vue'),
35 36 meta: {
36   - title: 'routes.demo.form.refForm',
  37 + title: t('routes.demo.form.refForm'),
37 38 },
38 39 },
39 40 {
... ... @@ -41,7 +42,7 @@ const form: AppRouteModule = {
41 42 name: 'AdvancedFormDemo',
42 43 component: () => import('/@/views/demo/form/AdvancedForm.vue'),
43 44 meta: {
44   - title: 'routes.demo.form.advancedForm',
  45 + title: t('routes.demo.form.advancedForm'),
45 46 },
46 47 },
47 48 {
... ... @@ -49,7 +50,7 @@ const form: AppRouteModule = {
49 50 name: 'RuleFormDemo',
50 51 component: () => import('/@/views/demo/form/RuleForm.vue'),
51 52 meta: {
52   - title: 'routes.demo.form.ruleForm',
  53 + title: t('routes.demo.form.ruleForm'),
53 54 },
54 55 },
55 56 {
... ... @@ -57,7 +58,7 @@ const form: AppRouteModule = {
57 58 name: 'DynamicFormDemo',
58 59 component: () => import('/@/views/demo/form/DynamicForm.vue'),
59 60 meta: {
60   - title: 'routes.demo.form.dynamicForm',
  61 + title: t('routes.demo.form.dynamicForm'),
61 62 },
62 63 },
63 64 {
... ... @@ -65,7 +66,7 @@ const form: AppRouteModule = {
65 66 name: 'CustomerFormDemo',
66 67 component: () => import('/@/views/demo/form/CustomerForm.vue'),
67 68 meta: {
68   - title: 'routes.demo.form.customerForm',
  69 + title: t('routes.demo.form.customerForm'),
69 70 },
70 71 },
71 72 ],
... ...
src/router/routes/modules/demo/iframe.ts
... ... @@ -2,6 +2,7 @@ import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
4 4 const IFrame = () => import('/@/views/sys/iframe/FrameBlank.vue');
  5 +import { t } from '/@/hooks/web/useI18n';
5 6  
6 7 const iframe: AppRouteModule = {
7 8 path: '/frame',
... ... @@ -10,7 +11,7 @@ const iframe: AppRouteModule = {
10 11 redirect: '/frame/antv',
11 12 meta: {
12 13 icon: 'mdi:page-next-outline',
13   - title: 'routes.demo.iframe.frame',
  14 + title: t('routes.demo.iframe.frame'),
14 15 },
15 16  
16 17 children: [
... ... @@ -20,7 +21,7 @@ const iframe: AppRouteModule = {
20 21 component: IFrame,
21 22 meta: {
22 23 frameSrc: 'https://2x.antdv.com/docs/vue/introduce-cn/',
23   - title: 'routes.demo.iframe.antv',
  24 + title: t('routes.demo.iframe.antv'),
24 25 },
25 26 },
26 27 {
... ... @@ -29,7 +30,7 @@ const iframe: AppRouteModule = {
29 30 component: IFrame,
30 31 meta: {
31 32 frameSrc: 'https://vvbin.cn/doc-next/',
32   - title: 'routes.demo.iframe.doc',
  33 + title: t('routes.demo.iframe.doc'),
33 34 },
34 35 },
35 36 {
... ... @@ -38,7 +39,7 @@ const iframe: AppRouteModule = {
38 39 component: IFrame,
39 40 meta: {
40 41 externalLink: true,
41   - title: 'routes.demo.iframe.docExternal',
  42 + title: t('routes.demo.iframe.docExternal'),
42 43 },
43 44 },
44 45 ],
... ...
src/router/routes/modules/demo/level.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const permission: AppRouteModule = {
6 7 path: '/level',
... ... @@ -9,7 +10,7 @@ const permission: AppRouteModule = {
9 10 redirect: '/level/menu1/menu1-1',
10 11 meta: {
11 12 icon: 'carbon:user-role',
12   - title: 'routes.demo.level.level',
  13 + title: t('routes.demo.level.level'),
13 14 },
14 15  
15 16 children: [
... ...
src/router/routes/modules/demo/page.ts
... ... @@ -2,6 +2,7 @@ import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
4 4 import { ExceptionEnum } from '/@/enums/exceptionEnum';
  5 +import { t } from '/@/hooks/web/useI18n';
5 6  
6 7 const ExceptionPage = () => import('/@/views/sys/exception/Exception');
7 8  
... ... @@ -12,7 +13,7 @@ const page: AppRouteModule = {
12 13 redirect: '/page-demo/exception',
13 14 meta: {
14 15 icon: 'mdi:page-next-outline',
15   - title: 'routes.demo.page.page',
  16 + title: t('routes.demo.page.page'),
16 17 },
17 18 children: [
18 19 // =============================form start=============================
... ... @@ -22,7 +23,7 @@ const page: AppRouteModule = {
22 23 redirect: '/page-demo/form/basic',
23 24 component: getParentLayout('FormPage'),
24 25 meta: {
25   - title: 'routes.demo.page.form',
  26 + title: t('routes.demo.page.form'),
26 27 },
27 28 children: [
28 29 {
... ... @@ -30,7 +31,7 @@ const page: AppRouteModule = {
30 31 name: 'FormBasicPage',
31 32 component: () => import('/@/views/demo/page/form/basic/index.vue'),
32 33 meta: {
33   - title: 'routes.demo.page.formBasic',
  34 + title: t('routes.demo.page.formBasic'),
34 35 },
35 36 },
36 37 {
... ... @@ -38,7 +39,7 @@ const page: AppRouteModule = {
38 39 name: 'FormStepPage',
39 40 component: () => import('/@/views/demo/page/form/step/index.vue'),
40 41 meta: {
41   - title: 'routes.demo.page.formStep',
  42 + title: t('routes.demo.page.formStep'),
42 43 },
43 44 },
44 45 {
... ... @@ -46,7 +47,7 @@ const page: AppRouteModule = {
46 47 name: 'FormHightPage',
47 48 component: () => import('/@/views/demo/page/form/high/index.vue'),
48 49 meta: {
49   - title: 'routes.demo.page.formHigh',
  50 + title: t('routes.demo.page.formHigh'),
50 51 },
51 52 },
52 53 ],
... ... @@ -59,7 +60,7 @@ const page: AppRouteModule = {
59 60 component: getParentLayout('DescPage'),
60 61 redirect: '/page-demo/desc/basic',
61 62 meta: {
62   - title: 'routes.demo.page.desc',
  63 + title: t('routes.demo.page.desc'),
63 64 },
64 65 children: [
65 66 {
... ... @@ -67,7 +68,7 @@ const page: AppRouteModule = {
67 68 name: 'DescBasicPage',
68 69 component: () => import('/@/views/demo/page/desc/basic/index.vue'),
69 70 meta: {
70   - title: 'routes.demo.page.descBasic',
  71 + title: t('routes.demo.page.descBasic'),
71 72 },
72 73 },
73 74 {
... ... @@ -75,7 +76,7 @@ const page: AppRouteModule = {
75 76 name: 'DescHighPage',
76 77 component: () => import('/@/views/demo/page/desc/high/index.vue'),
77 78 meta: {
78   - title: 'routes.demo.page.descHigh',
  79 + title: t('routes.demo.page.descHigh'),
79 80 },
80 81 },
81 82 ],
... ... @@ -90,7 +91,7 @@ const page: AppRouteModule = {
90 91 component: getParentLayout('ResultPage'),
91 92  
92 93 meta: {
93   - title: 'routes.demo.page.result',
  94 + title: t('routes.demo.page.result'),
94 95 },
95 96 children: [
96 97 {
... ... @@ -98,7 +99,7 @@ const page: AppRouteModule = {
98 99 name: 'ResultSuccessPage',
99 100 component: () => import('/@/views/demo/page/result/success/index.vue'),
100 101 meta: {
101   - title: 'routes.demo.page.resultSuccess',
  102 + title: t('routes.demo.page.resultSuccess'),
102 103 },
103 104 },
104 105 {
... ... @@ -106,7 +107,7 @@ const page: AppRouteModule = {
106 107 name: 'ResultFailPage',
107 108 component: () => import('/@/views/demo/page/result/fail/index.vue'),
108 109 meta: {
109   - title: 'routes.demo.page.resultFail',
  110 + title: t('routes.demo.page.resultFail'),
110 111 },
111 112 },
112 113 ],
... ... @@ -120,7 +121,7 @@ const page: AppRouteModule = {
120 121 component: getParentLayout('AccountPage'),
121 122 redirect: '/page-demo/account/setting',
122 123 meta: {
123   - title: 'routes.demo.page.account',
  124 + title: t('routes.demo.page.account'),
124 125 },
125 126 children: [
126 127 {
... ... @@ -128,7 +129,7 @@ const page: AppRouteModule = {
128 129 name: 'AccountCenterPage',
129 130 component: () => import('/@/views/demo/page/account/center/index.vue'),
130 131 meta: {
131   - title: 'routes.demo.page.accountCenter',
  132 + title: t('routes.demo.page.accountCenter'),
132 133 },
133 134 },
134 135 {
... ... @@ -136,7 +137,7 @@ const page: AppRouteModule = {
136 137 name: 'AccountSettingPage',
137 138 component: () => import('/@/views/demo/page/account/setting/index.vue'),
138 139 meta: {
139   - title: 'routes.demo.page.accountSetting',
  140 + title: t('routes.demo.page.accountSetting'),
140 141 },
141 142 },
142 143 ],
... ... @@ -149,7 +150,7 @@ const page: AppRouteModule = {
149 150 component: getParentLayout('ExceptionPage'),
150 151 redirect: '/page-demo/exception/404',
151 152 meta: {
152   - title: 'routes.demo.page.exception',
  153 + title: t('routes.demo.page.exception'),
153 154 },
154 155 children: [
155 156 {
... ... @@ -193,7 +194,7 @@ const page: AppRouteModule = {
193 194 status: ExceptionEnum.NET_WORK_ERROR,
194 195 },
195 196 meta: {
196   - title: 'routes.demo.page.netWorkError',
  197 + title: t('routes.demo.page.netWorkError'),
197 198 },
198 199 },
199 200 {
... ... @@ -204,7 +205,7 @@ const page: AppRouteModule = {
204 205 status: ExceptionEnum.PAGE_NOT_DATA,
205 206 },
206 207 meta: {
207   - title: 'routes.demo.page.notData',
  208 + title: t('routes.demo.page.notData'),
208 209 },
209 210 },
210 211 ],
... ... @@ -217,7 +218,7 @@ const page: AppRouteModule = {
217 218 component: getParentLayout('ListPage'),
218 219 redirect: '/page-demo/list/card',
219 220 meta: {
220   - title: 'routes.demo.page.list',
  221 + title: t('routes.demo.page.list'),
221 222 },
222 223 children: [
223 224 {
... ... @@ -225,7 +226,7 @@ const page: AppRouteModule = {
225 226 name: 'ListBasicPage',
226 227 component: () => import('/@/views/demo/page/list/basic/index.vue'),
227 228 meta: {
228   - title: 'routes.demo.page.listBasic',
  229 + title: t('routes.demo.page.listBasic'),
229 230 },
230 231 },
231 232 {
... ... @@ -233,7 +234,7 @@ const page: AppRouteModule = {
233 234 name: 'ListCardPage',
234 235 component: () => import('/@/views/demo/page/list/card/index.vue'),
235 236 meta: {
236   - title: 'routes.demo.page.listCard',
  237 + title: t('routes.demo.page.listCard'),
237 238 },
238 239 },
239 240 {
... ... @@ -241,7 +242,7 @@ const page: AppRouteModule = {
241 242 name: 'ListSearchPage',
242 243 component: () => import('/@/views/demo/page/list/search/index.vue'),
243 244 meta: {
244   - title: 'routes.demo.page.listSearch',
  245 + title: t('routes.demo.page.listSearch'),
245 246 },
246 247 },
247 248 ],
... ...
src/router/routes/modules/demo/permission.ts
... ... @@ -2,6 +2,7 @@ import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { getParentLayout, LAYOUT } from '/@/router/constant';
4 4 import { RoleEnum } from '/@/enums/roleEnum';
  5 +import { t } from '/@/hooks/web/useI18n';
5 6  
6 7 const permission: AppRouteModule = {
7 8 path: '/permission',
... ... @@ -10,7 +11,7 @@ const permission: AppRouteModule = {
10 11 redirect: '/permission/front/page',
11 12 meta: {
12 13 icon: 'carbon:user-role',
13   - title: 'routes.demo.permission.permission',
  14 + title: t('routes.demo.permission.permission'),
14 15 },
15 16  
16 17 children: [
... ... @@ -19,7 +20,7 @@ const permission: AppRouteModule = {
19 20 name: 'PermissionFrontDemo',
20 21 component: getParentLayout('PermissionFrontDemo'),
21 22 meta: {
22   - title: 'routes.demo.permission.front',
  23 + title: t('routes.demo.permission.front'),
23 24 },
24 25 children: [
25 26 {
... ... @@ -27,7 +28,7 @@ const permission: AppRouteModule = {
27 28 name: 'FrontPageAuth',
28 29 component: () => import('/@/views/demo/permission/front/index.vue'),
29 30 meta: {
30   - title: 'routes.demo.permission.frontPage',
  31 + title: t('routes.demo.permission.frontPage'),
31 32 },
32 33 },
33 34 {
... ... @@ -35,7 +36,7 @@ const permission: AppRouteModule = {
35 36 name: 'FrontBtnAuth',
36 37 component: () => import('/@/views/demo/permission/front/Btn.vue'),
37 38 meta: {
38   - title: 'routes.demo.permission.frontBtn',
  39 + title: t('routes.demo.permission.frontBtn'),
39 40 },
40 41 },
41 42 {
... ... @@ -43,7 +44,7 @@ const permission: AppRouteModule = {
43 44 name: 'FrontAuthPageA',
44 45 component: () => import('/@/views/demo/permission/front/AuthPageA.vue'),
45 46 meta: {
46   - title: 'routes.demo.permission.frontTestA',
  47 + title: t('routes.demo.permission.frontTestA'),
47 48 roles: [RoleEnum.SUPER],
48 49 },
49 50 },
... ... @@ -52,7 +53,7 @@ const permission: AppRouteModule = {
52 53 name: 'FrontAuthPageB',
53 54 component: () => import('/@/views/demo/permission/front/AuthPageB.vue'),
54 55 meta: {
55   - title: 'routes.demo.permission.frontTestB',
  56 + title: t('routes.demo.permission.frontTestB'),
56 57 roles: [RoleEnum.TEST],
57 58 },
58 59 },
... ... @@ -63,7 +64,7 @@ const permission: AppRouteModule = {
63 64 name: 'PermissionBackDemo',
64 65 component: getParentLayout('PermissionBackDemo'),
65 66 meta: {
66   - title: 'routes.demo.permission.back',
  67 + title: t('routes.demo.permission.back'),
67 68 },
68 69 children: [
69 70 {
... ... @@ -71,7 +72,7 @@ const permission: AppRouteModule = {
71 72 name: 'BackAuthPage',
72 73 component: () => import('/@/views/demo/permission/back/index.vue'),
73 74 meta: {
74   - title: 'routes.demo.permission.backPage',
  75 + title: t('routes.demo.permission.backPage'),
75 76 },
76 77 },
77 78 {
... ... @@ -79,7 +80,7 @@ const permission: AppRouteModule = {
79 80 name: 'BackAuthBtn',
80 81 component: () => import('/@/views/demo/permission/back/Btn.vue'),
81 82 meta: {
82   - title: 'routes.demo.permission.backBtn',
  83 + title: t('routes.demo.permission.backBtn'),
83 84 },
84 85 },
85 86 ],
... ...
src/router/routes/modules/demo/table.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const table: AppRouteModule = {
6 7 path: '/table',
... ... @@ -9,7 +10,7 @@ const table: AppRouteModule = {
9 10 redirect: '/table/basic',
10 11 meta: {
11 12 icon: 'carbon:table-split',
12   - title: 'routes.demo.table.table',
  13 + title: t('routes.demo.table.table'),
13 14 },
14 15  
15 16 children: [
... ... @@ -18,7 +19,7 @@ const table: AppRouteModule = {
18 19 name: 'TableBasicDemo',
19 20 component: () => import('/@/views/demo/table/Basic.vue'),
20 21 meta: {
21   - title: 'routes.demo.table.basic',
  22 + title: t('routes.demo.table.basic'),
22 23 },
23 24 },
24 25 {
... ... @@ -26,7 +27,7 @@ const table: AppRouteModule = {
26 27 name: 'TreeTableDemo',
27 28 component: () => import('/@/views/demo/table/TreeTable.vue'),
28 29 meta: {
29   - title: 'routes.demo.table.treeTable',
  30 + title: t('routes.demo.table.treeTable'),
30 31 },
31 32 },
32 33 {
... ... @@ -34,7 +35,7 @@ const table: AppRouteModule = {
34 35 name: 'FetchTableDemo',
35 36 component: () => import('/@/views/demo/table/FetchTable.vue'),
36 37 meta: {
37   - title: 'routes.demo.table.fetchTable',
  38 + title: t('routes.demo.table.fetchTable'),
38 39 },
39 40 },
40 41 {
... ... @@ -42,7 +43,7 @@ const table: AppRouteModule = {
42 43 name: 'FixedColumnDemo',
43 44 component: () => import('/@/views/demo/table/FixedColumn.vue'),
44 45 meta: {
45   - title: 'routes.demo.table.fixedColumn',
  46 + title: t('routes.demo.table.fixedColumn'),
46 47 },
47 48 },
48 49 {
... ... @@ -50,7 +51,7 @@ const table: AppRouteModule = {
50 51 name: 'CustomerCellDemo',
51 52 component: () => import('/@/views/demo/table/CustomerCell.vue'),
52 53 meta: {
53   - title: 'routes.demo.table.customerCell',
  54 + title: t('routes.demo.table.customerCell'),
54 55 },
55 56 },
56 57 {
... ... @@ -58,7 +59,7 @@ const table: AppRouteModule = {
58 59 name: 'FormTableDemo',
59 60 component: () => import('/@/views/demo/table/FormTable.vue'),
60 61 meta: {
61   - title: 'routes.demo.table.formTable',
  62 + title: t('routes.demo.table.formTable'),
62 63 },
63 64 },
64 65 {
... ... @@ -66,7 +67,7 @@ const table: AppRouteModule = {
66 67 name: 'UseTableDemo',
67 68 component: () => import('/@/views/demo/table/UseTable.vue'),
68 69 meta: {
69   - title: 'routes.demo.table.useTable',
  70 + title: t('routes.demo.table.useTable'),
70 71 },
71 72 },
72 73 {
... ... @@ -74,7 +75,7 @@ const table: AppRouteModule = {
74 75 name: 'RefTableDemo',
75 76 component: () => import('/@/views/demo/table/RefTable.vue'),
76 77 meta: {
77   - title: 'routes.demo.table.refTable',
  78 + title: t('routes.demo.table.refTable'),
78 79 },
79 80 },
80 81 {
... ... @@ -82,7 +83,7 @@ const table: AppRouteModule = {
82 83 name: 'MultipleHeaderDemo',
83 84 component: () => import('/@/views/demo/table/MultipleHeader.vue'),
84 85 meta: {
85   - title: 'routes.demo.table.multipleHeader',
  86 + title: t('routes.demo.table.multipleHeader'),
86 87 },
87 88 },
88 89 {
... ... @@ -90,7 +91,7 @@ const table: AppRouteModule = {
90 91 name: 'MergeHeaderDemo',
91 92 component: () => import('/@/views/demo/table/MergeHeader.vue'),
92 93 meta: {
93   - title: 'routes.demo.table.mergeHeader',
  94 + title: t('routes.demo.table.mergeHeader'),
94 95 },
95 96 },
96 97 {
... ... @@ -98,7 +99,7 @@ const table: AppRouteModule = {
98 99 name: 'ExpandTableDemo',
99 100 component: () => import('/@/views/demo/table/ExpandTable.vue'),
100 101 meta: {
101   - title: 'routes.demo.table.expandTable',
  102 + title: t('routes.demo.table.expandTable'),
102 103 },
103 104 },
104 105 {
... ... @@ -106,7 +107,7 @@ const table: AppRouteModule = {
106 107 name: 'FixedHeightDemo',
107 108 component: () => import('/@/views/demo/table/FixedHeight.vue'),
108 109 meta: {
109   - title: 'routes.demo.table.fixedHeight',
  110 + title: t('routes.demo.table.fixedHeight'),
110 111 },
111 112 },
112 113 {
... ... @@ -114,7 +115,7 @@ const table: AppRouteModule = {
114 115 name: 'FooterTableDemo',
115 116 component: () => import('/@/views/demo/table/FooterTable.vue'),
116 117 meta: {
117   - title: 'routes.demo.table.footerTable',
  118 + title: t('routes.demo.table.footerTable'),
118 119 },
119 120 },
120 121 {
... ... @@ -122,7 +123,7 @@ const table: AppRouteModule = {
122 123 name: 'EditCellTableDemo',
123 124 component: () => import('/@/views/demo/table/EditCellTable.vue'),
124 125 meta: {
125   - title: 'routes.demo.table.editCellTable',
  126 + title: t('routes.demo.table.editCellTable'),
126 127 },
127 128 },
128 129 {
... ... @@ -130,7 +131,7 @@ const table: AppRouteModule = {
130 131 name: 'EditRowTableDemo',
131 132 component: () => import('/@/views/demo/table/EditRowTable.vue'),
132 133 meta: {
133   - title: 'routes.demo.table.editRowTable',
  134 + title: t('routes.demo.table.editRowTable'),
134 135 },
135 136 },
136 137 ],
... ...
src/router/routes/modules/demo/tree.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const tree: AppRouteModule = {
6 7 path: '/tree',
... ... @@ -9,7 +10,7 @@ const tree: AppRouteModule = {
9 10 redirect: '/tree/basic',
10 11 meta: {
11 12 icon: 'clarity:tree-view-line',
12   - title: 'routes.demo.tree.tree',
  13 + title: t('routes.demo.tree.tree'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const tree: AppRouteModule = {
17 18 name: 'BasicTreeDemo',
18 19 component: () => import('/@/views/demo/tree/index.vue'),
19 20 meta: {
20   - title: 'routes.demo.tree.basic',
  21 + title: t('routes.demo.tree.basic'),
21 22 },
22 23 },
23 24 {
... ... @@ -25,7 +26,7 @@ const tree: AppRouteModule = {
25 26 name: 'EditTreeDemo',
26 27 component: () => import('/@/views/demo/tree/EditTree.vue'),
27 28 meta: {
28   - title: 'routes.demo.tree.editTree',
  29 + title: t('routes.demo.tree.editTree'),
29 30 },
30 31 },
31 32 {
... ... @@ -33,7 +34,7 @@ const tree: AppRouteModule = {
33 34 name: 'ActionTreeDemo',
34 35 component: () => import('/@/views/demo/tree/ActionTree.vue'),
35 36 meta: {
36   - title: 'routes.demo.tree.actionTree',
  37 + title: t('routes.demo.tree.actionTree'),
37 38 },
38 39 },
39 40 ],
... ...
src/router/routes/modules/home.ts
1 1 import type { AppRouteModule } from '/@/router/types';
2 2  
3 3 import { LAYOUT } from '/@/router/constant';
  4 +import { t } from '/@/hooks/web/useI18n';
4 5  
5 6 const dashboard: AppRouteModule = {
6 7 path: '/home',
... ... @@ -9,7 +10,7 @@ const dashboard: AppRouteModule = {
9 10 redirect: '/home/welcome',
10 11 meta: {
11 12 icon: 'bx:bx-home',
12   - title: 'routes.dashboard.welcome',
  13 + title: t('routes.dashboard.welcome'),
13 14 },
14 15 children: [
15 16 {
... ... @@ -17,7 +18,7 @@ const dashboard: AppRouteModule = {
17 18 name: 'Welcome',
18 19 component: () => import('/@/views/dashboard/welcome/index.vue'),
19 20 meta: {
20   - title: 'routes.dashboard.welcome',
  21 + title: t('routes.dashboard.welcome'),
21 22 affix: true,
22 23 icon: 'bx:bx-home',
23 24 },
... ...