added translation language as argument
This commit is contained in:
@@ -18,14 +18,14 @@ public abstract class BaseTranslator {
|
|||||||
private static final int DEEPL = 2;
|
private static final int DEEPL = 2;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public abstract String translate(String text);
|
public abstract String translate(String text, String tl);
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
public final String getTranslation(String text) {
|
public final String getTranslation(String text) {
|
||||||
var val = cache.get(text);
|
var val = cache.get(text);
|
||||||
if (val != null)
|
if (val != null)
|
||||||
return val;
|
return val;
|
||||||
var translation = translate(text);
|
var translation = translate(text, getToLanguage());
|
||||||
cache.put(text, translation);
|
cache.put(text, translation);
|
||||||
return translation;
|
return translation;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,11 +56,10 @@ public class DeepLTranslator extends BaseTranslator {
|
|||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String translate(String text) {
|
public String translate(String text, String tl) {
|
||||||
try {
|
try {
|
||||||
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
|
System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
|
||||||
|
|
||||||
var tl = getToLanguage();
|
|
||||||
if (tl.contains("-"))
|
if (tl.contains("-"))
|
||||||
tl = tl.toUpperCase();
|
tl = tl.toUpperCase();
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import androidx.annotation.NonNull;
|
|||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
import okhttp3.OkHttpClient;
|
import okhttp3.OkHttpClient;
|
||||||
import okhttp3.Request;
|
import okhttp3.Request;
|
||||||
@@ -46,13 +45,13 @@ public class GoogleTranslator extends BaseTranslator {
|
|||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String translate(String text) {
|
public String translate(String text, String tl) {
|
||||||
try {
|
try {
|
||||||
var request = new Request.a()
|
var request = new Request.a()
|
||||||
.b("https://translate.googleapis.com/translate_a/single?dj=1" +
|
.b("https://translate.googleapis.com/translate_a/single?dj=1" +
|
||||||
"&q=" + URLEncoder.encode(text, "UTF-8") +
|
"&q=" + URLEncoder.encode(text, "UTF-8") +
|
||||||
"&sl=auto" +
|
"&sl=auto" +
|
||||||
"&tl=" + getToLanguage() +
|
"&tl=" + tl +
|
||||||
"&ie=UTF-8&oe=UTF-8&client=at&dt=t&otf=2")
|
"&ie=UTF-8&oe=UTF-8&client=at&dt=t&otf=2")
|
||||||
.a("User-Agent",
|
.a("User-Agent",
|
||||||
"GoogleTranslate/6.28.0.05.421483610 (" + devices[(int) Math.round(Math.random() * (devices.length - 1))] + ")")
|
"GoogleTranslate/6.28.0.05.421483610 (" + devices[(int) Math.round(Math.random() * (devices.length - 1))] + ")")
|
||||||
|
|||||||
@@ -29,13 +29,13 @@ public class YandexTranslator extends BaseTranslator {
|
|||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public String translate(String text) {
|
public String translate(String text, String tl) {
|
||||||
try {
|
try {
|
||||||
var request = new Request.a()
|
var request = new Request.a()
|
||||||
.b("https://translate.yandex.net/api/v1/tr.json/translate?&srv=android&id=" + uuid + "-0-0")
|
.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("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"),
|
.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();
|
.a();
|
||||||
var payload = client.a(request).execute().a().g();
|
var payload = client.a(request).execute().a().g();
|
||||||
var json = new JSONObject(payload);
|
var json = new JSONObject(payload);
|
||||||
|
|||||||
Reference in New Issue
Block a user