1
0
mirror of https://github.com/GeyserMC/Geyser.git synced 2025-12-29 11:49:16 +00:00

Fix: using curly brackets in custom Minecraft locale overrides

This commit is contained in:
chris
2024-05-17 22:48:46 +02:00
committed by GitHub
parent b010c500d8
commit 5ebb6ef0d6

View File

@@ -63,6 +63,13 @@ public class MinecraftTranslationRegistry extends TranslatableComponentRenderer<
}
}
// replace single quote instances which get lost in MessageFormat otherwise
localeString = localeString.replace("'", "''");
// Wrap all curly brackets with single quote inserts - fixes https://github.com/GeyserMC/Geyser/issues/4662
localeString = localeString.replace("{", "'{")
.replace("}", "'}");
// Replace the `%s` with numbered inserts `{0}`
Pattern p = stringReplacement;
Matcher m = p.matcher(localeString);
@@ -83,8 +90,7 @@ public class MinecraftTranslationRegistry extends TranslatableComponentRenderer<
}
m.appendTail(sb);
// replace single quote instances which get lost in MessageFormat otherwise
// Locale shouldn't need to be specific - dates for example will not be handled
return new MessageFormat(sb.toString().replace("'", "''"), Locale.ROOT);
return new MessageFormat(sb.toString(), Locale.ROOT);
}
}