Fix ComponentLocalizer '%' escape and error message

This commit is contained in:
NichtStudioCode 2024-01-12 09:05:12 +01:00
parent 02de62fca8
commit e4d24de018

@ -34,14 +34,14 @@ abstract class ComponentLocalizer<C> {
var end = matcher.end(); var end = matcher.end();
// check for escaped % // check for escaped %
var matchedStr = formatString.substring(i, start); var matchedStr = formatString.substring(start, end);
if ("%%".equals(matchedStr)) { if ("%%".equals(matchedStr)) {
sb.append('%'); sb.append('%');
} else { } else {
// check for invalid format, only %s is supported // check for invalid format, only %s is supported
var argType = matcher.group(2); var argType = matcher.group(2);
if (!"s".equals(argType)) { if (!"s".equals(argType)) {
throw new IllegalStateException("Unsupported format: '" + matchedStr + "'"); throw new IllegalStateException("Unsupported placeholder format: '" + matchedStr + "'");
} }
// retrieve argument index // retrieve argument index