aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2024-03-02 22:57:28 +0900
committerGitHub <noreply@github.com>2024-03-02 22:57:28 +0900
commit131bd9cad6cc1dc28421d592263f446a35530f1e (patch)
treec35f8df67eb077658a01f67c5ba1c0a00ec20800 /src/main/java/gregtech/api/util
parent824f6e4c91ef8dc874db4df0cc792389f15b13a3 (diff)
downloadGT5-Unofficial-131bd9cad6cc1dc28421d592263f446a35530f1e.tar.gz
GT5-Unofficial-131bd9cad6cc1dc28421d592263f446a35530f1e.tar.bz2
GT5-Unofficial-131bd9cad6cc1dc28421d592263f446a35530f1e.zip
Fix translations added before config init not being loaded (#2519)
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index f2c5e2a2d4..12e39eb774 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -95,26 +95,30 @@ public class GT_LanguageManager {
// Lang file is now set up, resolve all the buffers
// This won't be visited twice
for (Entry<String, String> tEntry : BUFFERMAP.entrySet()) {
- writeToLangFile(tEntry.getKey(), tEntry.getValue());
+ storeTranslation(tEntry.getKey(), tEntry.getValue());
}
BUFFERMAP.clear();
}
if (!LANGMAP.containsKey(trimmedKey)) {
- String translation = writeToLangFile(trimmedKey, aEnglish);
- LANGMAP.put(trimmedKey, translation);
- addToMCLangList(trimmedKey, translation);
- TEMPMAP.put(trimmedKey, translation);
- LanguageRegistry.instance()
- // If we use the actual user configured locale here, switching lang to others while running game
- // turns everything into unlocalized string. So we make it "default" and call it a day.
- .injectLanguage("en_US", TEMPMAP);
- TEMPMAP.clear();
- return translation;
+ return storeTranslation(trimmedKey, aEnglish);
}
return LANGMAP.get(trimmedKey);
}
+ private static synchronized String storeTranslation(String trimmedKey, String english) {
+ String translation = writeToLangFile(trimmedKey, english);
+ LANGMAP.put(trimmedKey, translation);
+ addToMCLangList(trimmedKey, translation);
+ TEMPMAP.put(trimmedKey, translation);
+ LanguageRegistry.instance()
+ // If we use the actual user configured locale here, switching lang to others while running game
+ // turns everything into unlocalized string. So we make it "default" and call it a day.
+ .injectLanguage("en_US", TEMPMAP);
+ TEMPMAP.clear();
+ return translation;
+ }
+
private static synchronized String writeToLangFile(String trimmedKey, String aEnglish) {
Property tProperty = sEnglishFile.get("LanguageFile", trimmedKey, aEnglish);
if (hasUnsavedEntry && GregTech_API.sPostloadFinished) {