diff --git a/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js b/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js
index f1221540..f293fc75 100644
--- a/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js
+++ b/packages/fes-plugin-layout/src/runtime/helpers/pluginAccess.js
@@ -28,7 +28,7 @@ const _addAccessTag = (arr) => {
}
};
-export const addAccessTag = (menus) => {
+export const transform = (menus) => {
const originData = unref(menus);
_addAccessTag(originData);
return originData;
diff --git a/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js b/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js
new file mode 100644
index 00000000..279ea2d4
--- /dev/null
+++ b/packages/fes-plugin-layout/src/runtime/helpers/pluginLocale.js
@@ -0,0 +1,33 @@
+import { unref, computed } from 'vue';
+import { plugin } from '@@/core/coreExports';
+
+
+const transTitle = (name) => {
+ const sharedLocale = plugin.getShared('locale');
+ if (sharedLocale) {
+ const { t } = sharedLocale.useI18n();
+ return t(name);
+ }
+ return name;
+};
+
+
+const _transform = (arr) => {
+ if (Array.isArray(arr)) {
+ arr.forEach((item) => {
+ if (item.title) {
+ item._title = item.title;
+ item.title = computed(() => transTitle(item._title));
+ }
+ if (item.children && item.children.length > 0) {
+ _transform(item.children);
+ }
+ });
+ }
+};
+
+export const transform = (menus) => {
+ const originData = unref(menus);
+ _transform(originData);
+ return originData;
+};
diff --git a/packages/fes-plugin-layout/src/runtime/views/Menu.vue b/packages/fes-plugin-layout/src/runtime/views/Menu.vue
index ce330873..b5fcf0b8 100644
--- a/packages/fes-plugin-layout/src/runtime/views/Menu.vue
+++ b/packages/fes-plugin-layout/src/runtime/views/Menu.vue
@@ -7,7 +7,7 @@
>
-
+
- {{transTitle(item2.title)}}
+ {{item2.title}}
-
- {{transTitle(item1.title)}}
+
+ {{item1.title}}
-
+
- {{transTitle(item.title)}}
+ {{item.title}}
@@ -47,11 +47,12 @@