/* * Decompiled with CFR 0.152. */ package translation; import extension.Language; import java.util.List; import misc.MaybeConsumer; import translation.TranslationException; public abstract class Translator { protected abstract String translate(String var1, Language var2, Language var3) throws TranslationException; protected abstract List translate(List var1, Language var2, Language var3) throws TranslationException; public abstract boolean allowMultiLines(); public void translate(List text, Language source, Language target, MaybeConsumer, TranslationException> callback) { new Thread(() -> { try { List result = this.translate(text, source, target); callback.accept(result); } catch (TranslationException error) { callback.except(error); } }).start(); } public void translate(String text, Language source, Language target, MaybeConsumer callback) { new Thread(() -> { try { String result = this.translate(text, source, target); callback.accept(result); } catch (TranslationException error) { callback.except(error); } }).start(); } }