mirror of
https://github.com/m-xlsea/ruoyi-plus-soybean.git
synced 2025-09-24 07:49:47 +08:00
feat(projects): 增加i18n支持翻译菜单,tab,title
This commit is contained in:
@ -59,7 +59,8 @@ function transformBreadcrumbMenuToBreadcrumb(menu: App.GlobalMenuOption, rootPat
|
||||
label: menu.label as string,
|
||||
routeName: menu.routeName,
|
||||
disabled: menu.routePath === rootPath,
|
||||
hasChildren
|
||||
hasChildren,
|
||||
i18nTitle: menu.i18nTitle
|
||||
};
|
||||
if (menu.icon) {
|
||||
breadcrumb.icon = menu.icon;
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { useIconRender } from '@/composables';
|
||||
import { t } from '@/locales';
|
||||
|
||||
/**
|
||||
* 将权限路由转换成菜单
|
||||
@ -18,7 +19,8 @@ export function transformAuthRouteToMenu(routes: AuthRoute.Route[]): App.GlobalM
|
||||
key: routeName,
|
||||
label: meta.title,
|
||||
routeName,
|
||||
routePath: path
|
||||
routePath: path,
|
||||
i18nTitle: meta.i18nTitle
|
||||
},
|
||||
icon: meta.icon,
|
||||
localIcon: meta.localIcon,
|
||||
@ -33,6 +35,28 @@ export function transformAuthRouteToMenu(routes: AuthRoute.Route[]): App.GlobalM
|
||||
return globalMenu;
|
||||
}
|
||||
|
||||
/**
|
||||
* 翻译菜单
|
||||
* @param menus
|
||||
* @returns
|
||||
*/
|
||||
export function translateMenuLabel(menus: App.GlobalMenuOption[]): App.GlobalMenuOption[] {
|
||||
const globalMenu: App.GlobalMenuOption[] = [];
|
||||
menus.forEach(menu => {
|
||||
let menuChildren: App.GlobalMenuOption[] | undefined;
|
||||
if (menu.children && menu.children.length > 0) {
|
||||
menuChildren = translateMenuLabel(menu.children);
|
||||
}
|
||||
const menuItem: App.GlobalMenuOption = {
|
||||
...menu,
|
||||
children: menuChildren,
|
||||
label: menu.i18nTitle ? t(menu.i18nTitle) : menu.label
|
||||
};
|
||||
globalMenu.push(menuItem);
|
||||
});
|
||||
return globalMenu;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前路由所在菜单数据的paths
|
||||
* @param activeKey - 当前路由的key
|
||||
|
Reference in New Issue
Block a user