mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Fix: using curly brackets in custom Minecraft locale overrides
This commit is contained in:
parent
b010c500d8
commit
5ebb6ef0d6
1 changed files with 8 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue