refactor(localization): remove integer ID translation methods from LocalizationService and related tests

This commit is contained in:
extio-de
2025-12-26 19:14:19 +01:00
parent 22d99e75b9
commit b5448c3a55
3 changed files with 3 additions and 76 deletions

View File

@@ -17,10 +17,6 @@ public interface LocalizationService {
String getCurrentLanguage(); String getCurrentLanguage();
String translate(Integer id);
String translate(Integer id, String defaultText);
String translate(String id); String translate(String id);
String translate(String id, String defaultText); String translate(String id, String defaultText);

View File

@@ -1,7 +1,6 @@
package de.extio.game_engine.i18n; package de.extio.game_engine.i18n;
import java.io.InputStream; import java.io.InputStream;
import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -24,12 +23,9 @@ public class LocalizationServiceImpl implements LocalizationService {
private String currentLanguageName; private String currentLanguageName;
private final Map<Integer, String> intLookup = new HashMap<>();
@Override @Override
public void resetEntries() { public void resetEntries() {
this.localizations.getLanguages().forEach((lang, mapping) -> mapping.clear()); this.localizations.getLanguages().forEach((lang, mapping) -> mapping.clear());
this.intLookup.clear();
} }
@Override @Override
@@ -37,7 +33,6 @@ public class LocalizationServiceImpl implements LocalizationService {
this.localizations = new Localizations(); this.localizations = new Localizations();
this.currentLanguage = null; this.currentLanguage = null;
this.currentLanguageName = null; this.currentLanguageName = null;
this.intLookup.clear();
} }
@Override @Override
@@ -76,7 +71,7 @@ public class LocalizationServiceImpl implements LocalizationService {
this.localizations.setPrefix(localizations.getPrefix()); this.localizations.setPrefix(localizations.getPrefix());
this.intLookup.clear(); LOGGER.info("Loaded {} localizations for {} languages", localizations.getDescriptions().size(), localizations.getLanguages().size());
} }
if (this.currentLanguageName == null) { if (this.currentLanguageName == null) {
@@ -93,7 +88,6 @@ public class LocalizationServiceImpl implements LocalizationService {
this.currentLanguageName = lang; this.currentLanguageName = lang;
this.currentLanguage = this.localizations.getLanguages().get(lang); this.currentLanguage = this.localizations.getLanguages().get(lang);
this.intLookup.clear();
} }
@Override @Override
@@ -109,27 +103,6 @@ public class LocalizationServiceImpl implements LocalizationService {
return this.currentLanguageName; return this.currentLanguageName;
} }
@Override
public String translate(final Integer id) {
String result = this.intLookup.get(id);
if (result != null) {
return result;
}
result = this.translate(String.valueOf(id));
this.intLookup.put(id, result);
return result;
}
@Override
public String translate(final Integer id, final String defaultText) {
String result = this.translate(id);
if (result.startsWith(NOT_FOUND_PREFIX)) {
result = defaultText;
}
return result;
}
@Override @Override
public String translate(final String id) { public String translate(final String id) {
if (this.currentLanguage == null) { if (this.currentLanguage == null) {
@@ -158,14 +131,11 @@ public class LocalizationServiceImpl implements LocalizationService {
if (!this.localizations.getLanguagesInfo().containsKey(lang)) { if (!this.localizations.getLanguagesInfo().containsKey(lang)) {
this.localizations.getLanguagesInfo().put(lang, new Language(lang, lang)); this.localizations.getLanguagesInfo().put(lang, new Language(lang, lang));
} }
this.intLookup.clear();
} }
@Override @Override
public void remove(final String id) { public void remove(final String id) {
this.localizations.getLanguages().forEach((k, v) -> v.remove(id)); this.localizations.getLanguages().forEach((k, v) -> v.remove(id));
this.intLookup.clear();
} }
@Override @Override

View File

@@ -130,45 +130,6 @@ class LocalizationManagerTest {
assertEquals("en", this.localizationManager.getCurrentLanguage()); assertEquals("en", this.localizationManager.getCurrentLanguage());
} }
@Test
void testTranslateWithIntegerId() {
Localizations localizations = this.localizationManager.getLocalizations();
Language english = new Language("English", "en");
localizations.getLanguagesInfo().put("en", english);
localizations.getLanguages().put("en", new LinkedHashMap<>(Map.of("1", "Hello")));
this.localizationManager.setLanguage("en");
String result = this.localizationManager.translate(1);
assertEquals("Hello", result);
}
@Test
void testTranslateWithIntegerIdNotFound() {
Localizations localizations = this.localizationManager.getLocalizations();
Language english = new Language("English", "en");
localizations.getLanguagesInfo().put("en", english);
localizations.getLanguages().put("en", new LinkedHashMap<>());
this.localizationManager.setLanguage("en");
String result = this.localizationManager.translate(999);
assertTrue(result.startsWith(LocalizationServiceImpl.NOT_FOUND_PREFIX));
}
@Test
void testTranslateWithIntegerIdAndDefault() {
Localizations localizations = this.localizationManager.getLocalizations();
Language english = new Language("English", "en");
localizations.getLanguagesInfo().put("en", english);
localizations.getLanguages().put("en", new LinkedHashMap<>());
this.localizationManager.setLanguage("en");
String result = this.localizationManager.translate(999, "Default Text");
assertEquals("Default Text", result);
}
@Test @Test
void testTranslateWithStringId() { void testTranslateWithStringId() {
Localizations localizations = this.localizationManager.getLocalizations(); Localizations localizations = this.localizationManager.getLocalizations();
@@ -290,8 +251,8 @@ class LocalizationManagerTest {
localizations.getLanguages().put("en", new LinkedHashMap<>(Map.of("1", "Hello"))); localizations.getLanguages().put("en", new LinkedHashMap<>(Map.of("1", "Hello")));
this.localizationManager.setLanguage("en"); this.localizationManager.setLanguage("en");
String result1 = this.localizationManager.translate(1); String result1 = this.localizationManager.translate("1");
String result2 = this.localizationManager.translate(1); String result2 = this.localizationManager.translate("1");
assertEquals("Hello", result1); assertEquals("Hello", result1);
assertEquals("Hello", result2); assertEquals("Hello", result2);