0
0
mirror of https://github.com/Wurst-Imperium/Wurst7.git synced 2024-09-19 17:02:13 +02:00

Merge #477 (ChatTranslator whitespace fix) into v7.45

This commit is contained in:
Alexander01998 2024-07-18 21:18:06 +02:00
commit feed9bc2b0

View File

@ -23,12 +23,16 @@ public enum GoogleTranslate
{
;
private static final Pattern ALL_WHITESPACE = Pattern.compile("\\s+");
public static String translate(String text, String langFrom, String langTo)
{
String html = getHTML(text, langFrom, langTo);
String translated = parseHTML(html);
if(text.equalsIgnoreCase(translated))
// Detect if Google translate returned the original text, maybe with
// some whitespace or capitalization changes, and return null if so
if(simplify(text).equals(simplify(translated)))
return null;
return translated;
@ -96,9 +100,10 @@ public enum GoogleTranslate
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(html);
matcher.find();
String match = matcher.group(1);
if(!matcher.find())
return null;
String match = matcher.group(1);
if(match == null || match.isEmpty())
return null;
@ -106,4 +111,9 @@ public enum GoogleTranslate
// which isn't bundled with Minecraft
return org.apache.commons.lang3.StringEscapeUtils.unescapeHtml4(match);
}
private static String simplify(String text)
{
return ALL_WHITESPACE.matcher(text).replaceAll("").toLowerCase();
}
}