【i18n】新增一个翻译工具类

pull/3/head
fengshuonan 2021-01-27 22:45:38 +08:00
parent 29bb26b4f9
commit b0d64d951d
4 changed files with 56 additions and 13 deletions

View File

@ -25,12 +25,12 @@ public interface TranslationApi {
/** /**
* *
* *
* @param translationLanguages * @param tranLanguageCode
* @return key-value-TranslationApi * @return key-value-TranslationApi
* @author fengshuonan * @author fengshuonan
* @date 2021/1/24 19:01 * @date 2021/1/24 19:01
*/ */
Map<String, String> getTranslationDictByLanguage(String translationLanguages); Map<String, String> getTranslationDictByLanguage(String tranLanguageCode);
/** /**
* context * context
@ -44,11 +44,11 @@ public interface TranslationApi {
/** /**
* *
* *
* @param translationLanguages * @param tranLanguageCode
* @param tranCode * @param tranCode
* @author fengshuonan * @author fengshuonan
* @date 2021/1/24 21:59 * @date 2021/1/24 21:59
*/ */
void deleteTranslationDict(String translationLanguages, String tranCode); void deleteTranslationDict(String tranLanguageCode, String tranCode);
} }

View File

@ -24,6 +24,14 @@
<version>1.0.0</version> <version>1.0.0</version>
</dependency> </dependency>
<!--auth鉴权模块的api-->
<!--QuickTranslateUtil需要获取当前用户的多语言类型属性-->
<dependency>
<groupId>cn.stylefeng.roses</groupId>
<artifactId>auth-api</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -31,33 +31,33 @@ public class TranslationContainer implements TranslationApi {
} }
@Override @Override
public Map<String, String> getTranslationDictByLanguage(String translationLanguages) { public Map<String, String> getTranslationDictByLanguage(String tranLanguageCode) {
return TRAN_DICT_CONTAINER.get(translationLanguages); return TRAN_DICT_CONTAINER.get(tranLanguageCode);
} }
@Override @Override
public void addTranslationDict(TranslationDict translationDict) { public void addTranslationDict(TranslationDict translationDict) {
String translationLanguages = translationDict.getTranLanguageCode(); String tranLanguageCode = translationDict.getTranLanguageCode();
Map<String, String> languageDict = TRAN_DICT_CONTAINER.get(translationLanguages); Map<String, String> languageDict = TRAN_DICT_CONTAINER.get(tranLanguageCode);
if (languageDict == null) { if (languageDict == null) {
languageDict = new HashMap<>(); languageDict = new HashMap<>();
} }
languageDict.put(translationDict.getTranCode(), translationDict.getTranValue()); languageDict.put(translationDict.getTranCode(), translationDict.getTranValue());
TRAN_DICT_CONTAINER.put(translationLanguages, languageDict); TRAN_DICT_CONTAINER.put(tranLanguageCode, languageDict);
} }
@Override @Override
public void deleteTranslationDict(String translationLanguages, String tranCode) { public void deleteTranslationDict(String tranLanguageCode, String tranCode) {
Map<String, String> languageDict = TRAN_DICT_CONTAINER.get(translationLanguages); Map<String, String> languageDict = TRAN_DICT_CONTAINER.get(tranLanguageCode);
if (languageDict == null) { if (languageDict == null) {
return; return;
} }
languageDict.remove(tranCode); languageDict.remove(tranCode);
TRAN_DICT_CONTAINER.put(translationLanguages, languageDict); TRAN_DICT_CONTAINER.put(tranLanguageCode, languageDict);
} }
} }

View File

@ -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 {
/**
*
* <p>
* code
*
* @author fengshuonan
* @date 2021/1/27 22:41
*/
public static String get(String tranCode, String defaultName) {
String tranLanguageCode = LoginContext.me().getLoginUser().getTranLanguageCode();
Map<String, String> dict = TranslationContext.me().getTranslationDictByLanguage(tranLanguageCode);
if (ObjectUtil.hasEmpty(dict, dict.get(tranCode))) {
return defaultName;
} else {
return dict.get(tranCode);
}
}
}