feat(i18n): implement translate method with parameter substitution in LocalizationServiceImpl

This commit is contained in:
extio-de
2026-01-02 12:33:17 +01:00
parent 04a1127110
commit f9f4b3f170
2 changed files with 13 additions and 0 deletions

View File

@@ -21,6 +21,8 @@ public interface LocalizationService {
String translate(String id, String defaultText); String translate(String id, String defaultText);
String translate(String id, List<String> params);
void put(String lang, String id, String value); void put(String lang, String id, String value);
void remove(String id); void remove(String id);

View File

@@ -134,6 +134,17 @@ public class LocalizationServiceImpl implements LocalizationService {
return result; return result;
} }
@Override
public String translate(final String id, final List<String> params) {
String result = this.translate(id);
if (params != null && !params.isEmpty()) {
for (int i = 0; i < params.size(); i++) {
result = result.replace("{" + i + "}", params.get(i));
}
}
return result;
}
@Override @Override
public void put(final String lang, final String id, final String value) { public void put(final String lang, final String id, final String value) {
final Map<String, String> mapping = this.localizations.getLanguages().get(lang); final Map<String, String> mapping = this.localizations.getLanguages().get(lang);