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}`
|
// Replace the `%s` with numbered inserts `{0}`
|
||||||
Pattern p = stringReplacement;
|
Pattern p = stringReplacement;
|
||||||
Matcher m = p.matcher(localeString);
|
Matcher m = p.matcher(localeString);
|
||||||
|
@ -83,8 +90,7 @@ public class MinecraftTranslationRegistry extends TranslatableComponentRenderer<
|
||||||
}
|
}
|
||||||
m.appendTail(sb);
|
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
|
// 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