diff options
author | miozune <miozune@gmail.com> | 2024-03-30 15:19:01 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-30 07:19:01 +0100 |
commit | 22679363bf69144a961e28b0ff516f21922195e8 (patch) | |
tree | 7330e8842caf2280fe1e8b18aa89942d67894f1b /src/main/java/gregtech/api/util | |
parent | 5c64e9b15d586eec66a4ce6738b02024bc8c6c29 (diff) | |
download | GT5-Unofficial-22679363bf69144a961e28b0ff516f21922195e8.tar.gz GT5-Unofficial-22679363bf69144a961e28b0ff516f21922195e8.tar.bz2 GT5-Unofficial-22679363bf69144a961e28b0ff516f21922195e8.zip |
Fix GT lang not accepting en_US string updates (#2552)
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_LanguageManager.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java index 12e39eb774..b1bd45476a 100644 --- a/src/main/java/gregtech/api/util/GT_LanguageManager.java +++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java @@ -37,6 +37,11 @@ public class GT_LanguageManager { */ public static Configuration sEnglishFile; /** + * If the game is running with en_US language. This does not get updated when user changes language in game; + * GT lang system cannot handle that anyway. + */ + public static boolean isEN_US; + /** * If placeholder like %material should be used for writing lang entries to file. */ public static boolean i18nPlaceholder = true; @@ -125,14 +130,25 @@ public class GT_LanguageManager { sEnglishFile.save(); hasUnsavedEntry = false; } - if (!tProperty.wasRead()) { - if (GregTech_API.sPostloadFinished) { - sEnglishFile.save(); - } else { - hasUnsavedEntry = true; + String translation = tProperty.getString(); + if (tProperty.wasRead()) { + if (isEN_US && !aEnglish.equals(translation)) { + tProperty.set(aEnglish); + markFileDirty(); + return aEnglish; } + } else { + markFileDirty(); + } + return translation; + } + + private static synchronized void markFileDirty() { + if (GregTech_API.sPostloadFinished) { + sEnglishFile.save(); + } else { + hasUnsavedEntry = true; } - return tProperty.getString(); } public static String getTranslation(String aKey) { |