update Language.Enum
This commit is contained in:
@ -14,15 +14,15 @@ public abstract class AbstractLanguageMapper implements LanguageMapping {
|
|||||||
|
|
||||||
protected final StringInterpolator INTERPOLATOR = StringInterpolator.createDollarInterpolator();
|
protected final StringInterpolator INTERPOLATOR = StringInterpolator.createDollarInterpolator();
|
||||||
|
|
||||||
protected final Language language;
|
protected final Language.Enum language;
|
||||||
|
|
||||||
protected boolean isDebugging = false;
|
protected boolean isDebugging = false;
|
||||||
|
|
||||||
public AbstractLanguageMapper(Language language) {
|
public AbstractLanguageMapper(Language.Enum language) {
|
||||||
this.language = language;
|
this.language = language;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Language getLanguage() {
|
public Language.Enum getLanguage() {
|
||||||
return language;
|
return language;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ public class FileLanguageMap extends PropertiesLanguageMap {
|
|||||||
*
|
*
|
||||||
* @param language 所属语言
|
* @param language 所属语言
|
||||||
*/
|
*/
|
||||||
public FileLanguageMap(Language language) {
|
public FileLanguageMap(Language.Enum language) {
|
||||||
super(language);
|
super(language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,7 @@ public class LanguageMap extends AbstractLanguageMapper {
|
|||||||
*
|
*
|
||||||
* @param language 所属语言
|
* @param language 所属语言
|
||||||
*/
|
*/
|
||||||
public LanguageMap(Language language) {
|
public LanguageMap(Language.Enum language) {
|
||||||
super(language);
|
super(language);
|
||||||
this.map = new HashMap<>();
|
this.map = new HashMap<>();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@ public class PropertiesLanguageMap extends LanguageMap {
|
|||||||
*
|
*
|
||||||
* @param language 所属语言
|
* @param language 所属语言
|
||||||
*/
|
*/
|
||||||
public PropertiesLanguageMap(Language language) {
|
public PropertiesLanguageMap(Language.Enum language) {
|
||||||
super(language);
|
super(language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ public class ResourcesLanguageMap extends PropertiesLanguageMap {
|
|||||||
*
|
*
|
||||||
* @param language 所属语言
|
* @param language 所属语言
|
||||||
*/
|
*/
|
||||||
public ResourcesLanguageMap(Language language) {
|
public ResourcesLanguageMap(Language.Enum language) {
|
||||||
super(language);
|
super(language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import com.imyeyu.lang.mapper.LanguageMap;
|
|||||||
public class FileMultilingual extends Multilingual {
|
public class FileMultilingual extends Multilingual {
|
||||||
|
|
||||||
public void addAll(String path) {
|
public void addAll(String path) {
|
||||||
Language[] values = Language.values();
|
Language.Enum[] values = Language.Enum.values();
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
FileLanguageMap mapper = new FileLanguageMap(values[i]);
|
FileLanguageMap mapper = new FileLanguageMap(values[i]);
|
||||||
mapper.load(path);
|
mapper.load(path);
|
||||||
|
|||||||
@ -42,11 +42,11 @@ import java.util.Objects;
|
|||||||
*/
|
*/
|
||||||
public class Multilingual implements LanguageMapping {
|
public class Multilingual implements LanguageMapping {
|
||||||
|
|
||||||
protected final Map<Language, AbstractLanguageMapper> multilingualMap;
|
protected final Map<Language.Enum, AbstractLanguageMapper> multilingualMap;
|
||||||
protected final List<CallbackArg<Language>> updateActiveListeners;
|
protected final List<CallbackArg<Language.Enum>> updateActiveListeners;
|
||||||
|
|
||||||
/** 当前激活语言 */
|
/** 当前激活语言 */
|
||||||
protected Language activated;
|
protected Language.Enum activated;
|
||||||
|
|
||||||
protected boolean isDebugging = false;
|
protected boolean isDebugging = false;
|
||||||
|
|
||||||
@ -54,14 +54,14 @@ public class Multilingual implements LanguageMapping {
|
|||||||
multilingualMap = new HashMap<>();
|
multilingualMap = new HashMap<>();
|
||||||
updateActiveListeners = new ArrayList<>();
|
updateActiveListeners = new ArrayList<>();
|
||||||
|
|
||||||
activated = Ref.toType(Language.class, Locale.getDefault().toString());
|
activated = Ref.toType(Language.Enum.class, Locale.getDefault().toString());
|
||||||
|
|
||||||
if (activated == null) {
|
if (activated == null) {
|
||||||
activated = Language.zh_CN;
|
activated = Language.Enum.zh_CN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void add(Language language, AbstractLanguageMapper mapper) {
|
public void add(Language.Enum language, AbstractLanguageMapper mapper) {
|
||||||
mapper.setDebugging(isDebugging);
|
mapper.setDebugging(isDebugging);
|
||||||
multilingualMap.put(language, mapper);
|
multilingualMap.put(language, mapper);
|
||||||
}
|
}
|
||||||
@ -71,7 +71,7 @@ public class Multilingual implements LanguageMapping {
|
|||||||
*
|
*
|
||||||
* @param callback 回调
|
* @param callback 回调
|
||||||
*/
|
*/
|
||||||
public void addUpdateActiveListeners(CallbackArg<Language> callback) {
|
public void addUpdateActiveListeners(CallbackArg<Language.Enum> callback) {
|
||||||
updateActiveListeners.add(callback);
|
updateActiveListeners.add(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ public class Multilingual implements LanguageMapping {
|
|||||||
* @param languageName 激活语言
|
* @param languageName 激活语言
|
||||||
*/
|
*/
|
||||||
public void setActivated(String languageName) {
|
public void setActivated(String languageName) {
|
||||||
setActivated(Ref.toType(Language.class, languageName));
|
setActivated(Ref.toType(Language.Enum.class, languageName));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -98,7 +98,7 @@ public class Multilingual implements LanguageMapping {
|
|||||||
*
|
*
|
||||||
* @param activated 激活语言
|
* @param activated 激活语言
|
||||||
*/
|
*/
|
||||||
public void setActivated(Language activated) {
|
public void setActivated(Language.Enum activated) {
|
||||||
Objects.requireNonNull(activated);
|
Objects.requireNonNull(activated);
|
||||||
this.activated = activated;
|
this.activated = activated;
|
||||||
|
|
||||||
@ -110,13 +110,13 @@ public class Multilingual implements LanguageMapping {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Language getActivated() {
|
public Language.Enum getActivated() {
|
||||||
return activated;
|
return activated;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDebugging(boolean debugging) {
|
public void setDebugging(boolean debugging) {
|
||||||
isDebugging = debugging;
|
isDebugging = debugging;
|
||||||
for (Map.Entry<Language, AbstractLanguageMapper> item : multilingualMap.entrySet()) {
|
for (Map.Entry<Language.Enum, AbstractLanguageMapper> item : multilingualMap.entrySet()) {
|
||||||
item.getValue().setDebugging(true);
|
item.getValue().setDebugging(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -128,7 +128,7 @@ public class Multilingual implements LanguageMapping {
|
|||||||
* @return 映射表
|
* @return 映射表
|
||||||
*/
|
*/
|
||||||
public AbstractLanguageMapper map(String lang) {
|
public AbstractLanguageMapper map(String lang) {
|
||||||
Language language = Ref.toType(Language.class, lang);
|
Language.Enum language = Ref.toType(Language.Enum.class, lang);
|
||||||
if (language == null) {
|
if (language == null) {
|
||||||
throw new RuntimeException("not support language: " + lang);
|
throw new RuntimeException("not support language: " + lang);
|
||||||
}
|
}
|
||||||
@ -141,7 +141,7 @@ public class Multilingual implements LanguageMapping {
|
|||||||
* @param lang 语言
|
* @param lang 语言
|
||||||
* @return 映射表
|
* @return 映射表
|
||||||
*/
|
*/
|
||||||
public AbstractLanguageMapper map(Language lang) {
|
public AbstractLanguageMapper map(Language.Enum lang) {
|
||||||
return multilingualMap.get(lang);
|
return multilingualMap.get(lang);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import com.imyeyu.lang.mapper.ResourcesLanguageMap;
|
|||||||
public class ResourcesMultilingual extends Multilingual {
|
public class ResourcesMultilingual extends Multilingual {
|
||||||
|
|
||||||
public void addAll(String path) {
|
public void addAll(String path) {
|
||||||
Language[] values = Language.values();
|
Language.Enum[] values = Language.Enum.values();
|
||||||
for (int i = 0; i < values.length; i++) {
|
for (int i = 0; i < values.length; i++) {
|
||||||
ResourcesLanguageMap mapper = new ResourcesLanguageMap(values[i]);
|
ResourcesLanguageMap mapper = new ResourcesLanguageMap(values[i]);
|
||||||
mapper.load(path);
|
mapper.load(path);
|
||||||
|
|||||||
@ -14,7 +14,7 @@ public class TestLang {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testArgs() {
|
public void testArgs() {
|
||||||
ResourcesLanguageMap map = new ResourcesLanguageMap(Language.zh_CN);
|
ResourcesLanguageMap map = new ResourcesLanguageMap(Language.Enum.zh_CN);
|
||||||
map.load("zh_CN.lang");
|
map.load("zh_CN.lang");
|
||||||
System.out.println(map.textArgs("test", Map.of("msg", "hello world")));
|
System.out.println(map.textArgs("test", Map.of("msg", "hello world")));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user