diff --git a/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java b/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java index e93f3835b..dfbf883e4 100644 --- a/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java +++ b/app/src/main/java/ru/vtosters/lite/translators/BaseTranslator.java @@ -18,14 +18,14 @@ public abstract class BaseTranslator { private static final int DEEPL = 2; @NonNull - public abstract String translate(String text); + public abstract String translate(String text, String tl); @NonNull public final String getTranslation(String text) { var val = cache.get(text); if (val != null) return val; - var translation = translate(text); + var translation = translate(text, getToLanguage()); cache.put(text, translation); return translation; } diff --git a/app/src/main/java/ru/vtosters/lite/translators/DeepLTranslator.java b/app/src/main/java/ru/vtosters/lite/translators/DeepLTranslator.java index 9383d66f5..fa5274a00 100644 --- a/app/src/main/java/ru/vtosters/lite/translators/DeepLTranslator.java +++ b/app/src/main/java/ru/vtosters/lite/translators/DeepLTranslator.java @@ -56,11 +56,10 @@ public class DeepLTranslator extends BaseTranslator { @NonNull @Override - public String translate(String text) { + public String translate(String text, String tl) { try { System.setProperty("sun.net.http.allowRestrictedHeaders", "true"); - var tl = getToLanguage(); if (tl.contains("-")) tl = tl.toUpperCase(); diff --git a/app/src/main/java/ru/vtosters/lite/translators/GoogleTranslator.java b/app/src/main/java/ru/vtosters/lite/translators/GoogleTranslator.java index 9c1f6f46a..f0bc87787 100644 --- a/app/src/main/java/ru/vtosters/lite/translators/GoogleTranslator.java +++ b/app/src/main/java/ru/vtosters/lite/translators/GoogleTranslator.java @@ -7,7 +7,6 @@ import androidx.annotation.NonNull; import org.json.JSONObject; import java.net.URLEncoder; -import java.util.Locale; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -46,13 +45,13 @@ public class GoogleTranslator extends BaseTranslator { @NonNull @Override - public String translate(String text) { + public String translate(String text, String tl) { try { var request = new Request.a() .b("https://translate.googleapis.com/translate_a/single?dj=1" + "&q=" + URLEncoder.encode(text, "UTF-8") + "&sl=auto" + - "&tl=" + getToLanguage() + + "&tl=" + tl + "&ie=UTF-8&oe=UTF-8&client=at&dt=t&otf=2") .a("User-Agent", "GoogleTranslate/6.28.0.05.421483610 (" + devices[(int) Math.round(Math.random() * (devices.length - 1))] + ")") diff --git a/app/src/main/java/ru/vtosters/lite/translators/YandexTranslator.java b/app/src/main/java/ru/vtosters/lite/translators/YandexTranslator.java index 85de14817..b1de3b144 100644 --- a/app/src/main/java/ru/vtosters/lite/translators/YandexTranslator.java +++ b/app/src/main/java/ru/vtosters/lite/translators/YandexTranslator.java @@ -29,13 +29,13 @@ public class YandexTranslator extends BaseTranslator { @NonNull @Override - public String translate(String text) { + public String translate(String text, String tl) { try { var request = new Request.a() .b("https://translate.yandex.net/api/v1/tr.json/translate?&srv=android&id=" + uuid + "-0-0") .a("User-Agent", "ru.yandex.translate/21.15.4.21402814 (Xiaomi Redmi K20 Pro; Android 11)") .a(RequestBody.a(MediaType.a("application/x-www-form-urlencoded"), - "lang=" + getToLanguage() + "&text=" + URLEncoder.encode(text, "UTF-8"))) + "lang=" + tl + "&text=" + URLEncoder.encode(text, "UTF-8"))) .a(); var payload = client.a(request).execute().a().g(); var json = new JSONObject(payload);