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) public static String translate(String text, String langFrom, String langTo)
{ {
String html = getHTML(text, langFrom, langTo); String html = getHTML(text, langFrom, langTo);
String translated = parseHTML(html); 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 null;
return translated; return translated;
@ -96,9 +100,10 @@ public enum GoogleTranslate
Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
Matcher matcher = pattern.matcher(html); Matcher matcher = pattern.matcher(html);
matcher.find(); if(!matcher.find())
String match = matcher.group(1); return null;
String match = matcher.group(1);
if(match == null || match.isEmpty()) if(match == null || match.isEmpty())
return null; return null;
@ -106,4 +111,9 @@ public enum GoogleTranslate
// which isn't bundled with Minecraft // which isn't bundled with Minecraft
return org.apache.commons.lang3.StringEscapeUtils.unescapeHtml4(match); return org.apache.commons.lang3.StringEscapeUtils.unescapeHtml4(match);
} }
private static String simplify(String text)
{
return ALL_WHITESPACE.matcher(text).replaceAll("").toLowerCase();
}
} }