【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
* @author fengshuonan
* @date 2021/1/24 19:01
*/
Map<String, String> getTranslationDictByLanguage(String translationLanguages);
Map<String, String> 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);
}

View File

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

View File

@ -31,33 +31,33 @@ public class TranslationContainer implements TranslationApi {
}
@Override
public Map<String, String> getTranslationDictByLanguage(String translationLanguages) {
return TRAN_DICT_CONTAINER.get(translationLanguages);
public Map<String, String> getTranslationDictByLanguage(String tranLanguageCode) {
return TRAN_DICT_CONTAINER.get(tranLanguageCode);
}
@Override
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) {
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<String, String> languageDict = TRAN_DICT_CONTAINER.get(translationLanguages);
public void deleteTranslationDict(String tranLanguageCode, String tranCode) {
Map<String, String> 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);
}
}

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);
}
}
}