aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2024-03-30 15:19:01 +0900
committerGitHub <noreply@github.com>2024-03-30 07:19:01 +0100
commit22679363bf69144a961e28b0ff516f21922195e8 (patch)
tree7330e8842caf2280fe1e8b18aa89942d67894f1b /src/main/java/gregtech/api/util
parent5c64e9b15d586eec66a4ce6738b02024bc8c6c29 (diff)
downloadGT5-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.java28
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) {