update Language.Enum

This commit is contained in:
Timi
2025-12-08 16:55:37 +08:00
parent eedc9ff7d9
commit 42dd04c2a5
9 changed files with 23 additions and 23 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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