opt:菜单国际化

This commit is contained in:
2026-01-14 20:25:51 +08:00
parent 391f574a2e
commit 80e7f24845
26 changed files with 157 additions and 72 deletions

View File

@@ -60,6 +60,19 @@ public class SysMenu implements Serializable {
*/
private String title;
/**
* 菜单标题
*/
private String zh_title;
/**
* 菜单标题
*/
private String en_title;
/**
* 菜单标题
*/
private String id_title;
/**
* 组件名称
*/

View File

@@ -40,6 +40,10 @@ public class MenuDto extends BaseDTO implements Serializable {
private String title;
private String zh_title;
private String en_title;
private String id_title;
private Integer menu_sort;
private String path;
@@ -95,4 +99,22 @@ public class MenuDto extends BaseDTO implements Serializable {
public int hashCode() {
return Objects.hash(menu_id);
}
public String getLocalTitle(String local){
String in = "in";
String en = "en";
String zh = "zh";
if (in.equals(local)){
return id_title;
}
if (en.equals(local)){
return en_title;
}
if (zh.equals(local)){
return zh_title;
}
return title;
}
}

View File

@@ -28,6 +28,7 @@ import org.nl.system.service.menu.dto.MenuDto;
import org.nl.system.service.menu.dto.MenuQuery;
import org.nl.wms.util.IdUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -226,6 +227,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
menu.setPid(resources.getPid());
menu.setMenu_sort(resources.getMenu_sort());
menu.setCache(resources.getCache());
menu.setEn_title(resources.getEn_title());
menu.setZh_title(resources.getZh_title());
menu.setId_title(resources.getId_title());
menu.setHidden(resources.getHidden());
menu.setComponent_name(resources.getComponent_name());
menu.setPermission(resources.getPermission());
@@ -266,11 +270,12 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public List<MenuVo> buildMenus(List<MenuDto> menuDtos) {
List<MenuVo> list = new LinkedList<>();
String lang = LocaleContextHolder.getLocale().getLanguage();
menuDtos.forEach(menuDTO -> {
if (menuDTO != null) {
List<MenuDto> menuDtoList = menuDTO.getChildren();
MenuVo menuVo = new MenuVo();
menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponent_name()) ? menuDTO.getComponent_name() : menuDTO.getTitle());
menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponent_name()) ? menuDTO.getComponent_name() :menuDTO.getLocalTitle(lang));
// 一级目录需要加斜杠,不然会报警告
menuVo.setPath(ObjectUtil.isEmpty(menuDTO.getPid()) ? "/" + menuDTO.getPath() : menuDTO.getPath());
menuVo.setHidden(menuDTO.getHidden());
@@ -285,7 +290,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
menuVo.setComponent(menuDTO.getComponent());
}
}
menuVo.setMeta(new MenuMetaVo(menuDTO.getTitle(), menuDTO.getIcon(), !menuDTO.getCache()));
menuVo.setMeta(new MenuMetaVo(menuDTO.getLocalTitle(lang), menuDTO.getIcon(), !menuDTO.getCache()));
if (menuDtoList != null && menuDtoList.size() != 0) {
menuVo.setAlwaysShow(true);
menuVo.setRedirect("noredirect");
@@ -358,6 +363,9 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
if (ObjectUtil.isEmpty(entity)) {
return menuDto;
}
menuDto.setEn_title(entity.getEn_title());
menuDto.setId_title(entity.getId_title());
menuDto.setZh_title(entity.getZh_title());
menuDto.setMenu_id(entity.getMenu_id());
menuDto.setType(entity.getType());
menuDto.setPermission(entity.getPermission());
@@ -404,12 +412,13 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
@Override
public List<MenuVo> buildMenus(List<MenuDto> menuDtos, String pid) {
List<MenuVo> list = new LinkedList<>();
String lang = LocaleContextHolder.getLocale().getLanguage();
//剔除系统级菜单
menuDtos.forEach(menuDTO -> {
if (menuDTO != null) {
List<MenuDto> menuDtoList = menuDTO.getChildren();
MenuVo menuVo = new MenuVo();
menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponent_name()) ? menuDTO.getComponent_name() : menuDTO.getTitle());
menuVo.setName(ObjectUtil.isNotEmpty(menuDTO.getComponent_name()) ? menuDTO.getComponent_name() : menuDTO.getLocalTitle(lang));
// 一级目录需要加斜杠,不然会报警告
menuVo.setPath(pid.equals(menuDTO.getPid()) ? "/" + menuDTO.getPath() : menuDTO.getPath());
menuVo.setHidden(menuDTO.getHidden());
@@ -424,7 +433,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
menuVo.setComponent(menuDTO.getComponent());
}
}
menuVo.setMeta(new MenuMetaVo(menuDTO.getTitle(), menuDTO.getIcon(), !menuDTO.getCache()));
menuVo.setMeta(new MenuMetaVo(menuDTO.getLocalTitle(lang), menuDTO.getIcon(), !menuDTO.getCache()));
if (menuDtoList != null && menuDtoList.size() != 0) {
menuVo.setAlwaysShow(true);
menuVo.setRedirect("noredirect");

View File

@@ -48,6 +48,11 @@ var config = {
"load_text5": "Hanya dapat mengunggah satu file excel!"
},
"common": {
"enterNameOrDescriptionToSearch":"Masukkan nama atau deskripsi untuk pencarian",
"virtualStor": "Gudang Virtual",
"stor_type": "Tipe Gudang",
"storType": "Tipe Gudang",
"saveAndPrint": "Simpan dan cetak",
"businessForceConfirm": "Konfirmasi Paksa Bisnis",
"forceConfirm": "Konfirmasi Paksa",
"jobTask": "Tugas Operasional",

View File

@@ -48,6 +48,13 @@ var config = {
"load_text5": "只能上传一个excel文件"
},
"common": {
"enterNameOrDescriptionToSearch":"输入名称或者描述搜索",
"virtualStor": "虚拟仓",
"stor_type": "仓库类型",
"storType": "仓库类型",
"saveAndPrint": "保存并打印",
"cancel":"取消",
"confirm":"确认",
"businessForceConfirm":"业务强制确认",
"forceConfirm": "强制确认",
"jobTask":"作业任务",
@@ -313,7 +320,7 @@ var config = {
"inventoryChange": "库存变更",
"changePerson": "变更人",
"changeDate": "变更日期",
"taskDistribution": "任务下发"
"taskDistribution": "任务下发",
"code_name": "输入账号或名称",
"fuzzy_search": "模糊搜索",
@@ -4181,6 +4188,7 @@ var config = {
"isSecondLashing": "是否二次捆扎"
},
"boxInfo": {
"vehicleTypePlaceholder": "请选择载具类型",
"boxInfo": "木箱信息",
"boxNo": "木箱号",
"boxSpec": "木箱规格",