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:
commit
feed9bc2b0
@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user