diff --git a/kernel-d-i18n/i18n-api/src/main/java/cn/stylefeng/roses/kernel/i18n/api/TranslationApi.java b/kernel-d-i18n/i18n-api/src/main/java/cn/stylefeng/roses/kernel/i18n/api/TranslationApi.java index 8a2837f44..e421ff98a 100644 --- a/kernel-d-i18n/i18n-api/src/main/java/cn/stylefeng/roses/kernel/i18n/api/TranslationApi.java +++ b/kernel-d-i18n/i18n-api/src/main/java/cn/stylefeng/roses/kernel/i18n/api/TranslationApi.java @@ -25,12 +25,12 @@ public interface TranslationApi { /** * 获取某个语种下的所有多语言字典 * - * @param translationLanguages 语种字典 + * @param tranLanguageCode 语种字典 * @return key-翻译项标识,value-翻译的值TranslationApi * @author fengshuonan * @date 2021/1/24 19:01 */ - Map getTranslationDictByLanguage(String translationLanguages); + Map getTranslationDictByLanguage(String tranLanguageCode); /** * 添加一个翻译项到context @@ -44,11 +44,11 @@ public interface TranslationApi { /** * 删除某条翻译记录 * - * @param translationLanguages 语种字典 - * @param tranCode 具体翻译项编码 + * @param tranLanguageCode 语种字典 + * @param tranCode 具体翻译项编码 * @author fengshuonan * @date 2021/1/24 21:59 */ - void deleteTranslationDict(String translationLanguages, String tranCode); + void deleteTranslationDict(String tranLanguageCode, String tranCode); } diff --git a/kernel-d-i18n/i18n-sdk/pom.xml b/kernel-d-i18n/i18n-sdk/pom.xml index 907e6256b..29074e57f 100644 --- a/kernel-d-i18n/i18n-sdk/pom.xml +++ b/kernel-d-i18n/i18n-sdk/pom.xml @@ -24,6 +24,14 @@ 1.0.0 + + + + cn.stylefeng.roses + auth-api + 1.0.0 + + diff --git a/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/TranslationContainer.java b/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/TranslationContainer.java index 74b26b9af..5a5da4022 100644 --- a/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/TranslationContainer.java +++ b/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/TranslationContainer.java @@ -31,33 +31,33 @@ public class TranslationContainer implements TranslationApi { } @Override - public Map getTranslationDictByLanguage(String translationLanguages) { - return TRAN_DICT_CONTAINER.get(translationLanguages); + public Map getTranslationDictByLanguage(String tranLanguageCode) { + return TRAN_DICT_CONTAINER.get(tranLanguageCode); } @Override public void addTranslationDict(TranslationDict translationDict) { - String translationLanguages = translationDict.getTranLanguageCode(); + String tranLanguageCode = translationDict.getTranLanguageCode(); - Map languageDict = TRAN_DICT_CONTAINER.get(translationLanguages); + Map languageDict = TRAN_DICT_CONTAINER.get(tranLanguageCode); if (languageDict == null) { languageDict = new HashMap<>(); } languageDict.put(translationDict.getTranCode(), translationDict.getTranValue()); - TRAN_DICT_CONTAINER.put(translationLanguages, languageDict); + TRAN_DICT_CONTAINER.put(tranLanguageCode, languageDict); } @Override - public void deleteTranslationDict(String translationLanguages, String tranCode) { - Map languageDict = TRAN_DICT_CONTAINER.get(translationLanguages); + public void deleteTranslationDict(String tranLanguageCode, String tranCode) { + Map languageDict = TRAN_DICT_CONTAINER.get(tranLanguageCode); if (languageDict == null) { return; } languageDict.remove(tranCode); - TRAN_DICT_CONTAINER.put(translationLanguages, languageDict); + TRAN_DICT_CONTAINER.put(tranLanguageCode, languageDict); } } diff --git a/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/util/QuickTranslateUtil.java b/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/util/QuickTranslateUtil.java new file mode 100644 index 000000000..0421b5a73 --- /dev/null +++ b/kernel-d-i18n/i18n-sdk/src/main/java/cn/stylefeng/roses/kernel/i18n/util/QuickTranslateUtil.java @@ -0,0 +1,35 @@ +package cn.stylefeng.roses.kernel.i18n.util; + +import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; +import cn.stylefeng.roses.kernel.i18n.api.context.TranslationContext; + +import java.util.Map; + +/** + * 针对某个翻译项快速得出翻译结果 + * + * @author fengshuonan + * @date 2021/1/27 22:36 + */ +public class QuickTranslateUtil { + + /** + * 根据当前登陆用户选择的语言,翻译出指定项的译文值 + *

+ * 若查找不到code对应的值,则以第二个参数为准 + * + * @author fengshuonan + * @date 2021/1/27 22:41 + */ + public static String get(String tranCode, String defaultName) { + String tranLanguageCode = LoginContext.me().getLoginUser().getTranLanguageCode(); + Map dict = TranslationContext.me().getTranslationDictByLanguage(tranLanguageCode); + if (ObjectUtil.hasEmpty(dict, dict.get(tranCode))) { + return defaultName; + } else { + return dict.get(tranCode); + } + } + +}