From 229a70681e35518fc0a79b2304ce0198f5730133 Mon Sep 17 00:00:00 2001 From: rozhur Date: Mon, 24 Jul 2023 02:20:00 +0500 Subject: [PATCH] Detailed phrase fallback --- .../main/java/org/zhdev/language/Language.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/org/zhdev/language/Language.java b/common/src/main/java/org/zhdev/language/Language.java index d631be9..6146197 100644 --- a/common/src/main/java/org/zhdev/language/Language.java +++ b/common/src/main/java/org/zhdev/language/Language.java @@ -3,6 +3,7 @@ package org.zhdev.language; import org.zhdev.util.StringUtils; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; public class Language { @@ -15,7 +16,19 @@ public class Language { } String phrase = section.getOrDefault(phraseKey, phraseKey); - return phrase == null ? sectionKey + ':' + phraseKey : StringUtils.replaceKeyValue(phrase, params); + if (phrase == null) { + Map paramsMap = new LinkedHashMap<>(params.length / 2); + Object replacement = null; + for (int i = 0; i < params.length; i++) { + if (i % 2 == 0) { + replacement = params[i]; + } else { + paramsMap.put(String.valueOf(params[i]), replacement); + } + } + return sectionKey + ':' + phraseKey + ' ' + paramsMap; + } + return StringUtils.replaceKeyValue(phrase, params); } public String addPhrase(String sectionKey, String phraseKey, String phrase) {