1、菜单翻译新增支持目录类型的name翻译;2、菜单/字典翻译接口支持英文全单词大小写;3、语种工具zh识别优化;

This commit is contained in:
gaoqr
2025-11-14 14:26:36 +08:00
parent e87c4e8728
commit 4452029813
3 changed files with 21 additions and 3 deletions
@@ -38,6 +38,7 @@ import jakarta.annotation.Resource;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator;
import java.util.LinkedHashMap;
@@ -264,7 +265,14 @@ public class DictDataServiceImpl implements DictDataService {
DictDatai18nDO i18n = new DictDatai18nDO();
i18n.setDictDataId(dictDataDO.getId());
i18n.setLocale(to);
i18n.setLabel(name);
if (LanguageEnum.EN.getLanguage().equals(to)) {
i18n.setLabel(Arrays.stream(name.split("\\s+"))
.filter(s -> !s.isEmpty())
.map(s -> Character.toUpperCase(s.charAt(0)) + s.substring(1))
.collect(Collectors.joining(" ")));
} else {
i18n.setLabel(name);
}
i18nList.add(i18n);
}
@@ -20,6 +20,7 @@ import com.cf.imes.module.system.dal.dataobject.permission.MenuI18nDO;
import com.cf.imes.module.system.dal.mysql.permission.MenuMapper;
import com.cf.imes.module.system.dal.mysql.permission.MenuI18nMapper;
import com.cf.imes.module.system.dal.redis.RedisKeyConstants;
import com.cf.imes.module.system.enums.common.LanguageEnum;
import com.cf.imes.module.system.enums.permission.MenuSourceTypeEnum;
import com.cf.imes.module.system.enums.permission.MenuTypeEnum;
import com.cf.imes.module.system.framework.trans.config.TransApi;
@@ -41,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional;
import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
@@ -371,7 +373,7 @@ public class MenuServiceImpl implements MenuService {
// 查询所有有效的菜单类型 菜单
List<MenuDO> menuDOS = menuMapper.selectList(new LambdaQueryWrapper<MenuDO>()
.eq(MenuDO::getDeleted, false)
.eq(MenuDO::getType, MenuTypeEnum.MENU.getType()));
.in(MenuDO::getType, MenuTypeEnum.MENU.getType(), MenuTypeEnum.DIR.getType()));
// 转成有序 mapkey = 序号, value = MenuDO
Map<Integer, MenuDO> menuMap = IntStream.range(0, menuDOS.size())
@@ -416,6 +418,14 @@ public class MenuServiceImpl implements MenuService {
i18n.setMenuId(menuDO.getId());
i18n.setLocale(to);
i18n.setMenuName(name);
if (LanguageEnum.EN.getLanguage().equals(to)) {
i18n.setMenuName(Arrays.stream(name.split("\\s+"))
.filter(s -> !s.isEmpty())
.map(s -> Character.toUpperCase(s.charAt(0)) + s.substring(1))
.collect(Collectors.joining(" ")));
} else {
i18n.setMenuName(name);
}
i18nList.add(i18n);
}
@@ -24,7 +24,7 @@ public class LocaleUtils {
return null;
}
if (Locale.CHINA.equals(locale)) {
if (Locale.CHINESE.equals(locale)) {
return null;
}