added translation language as argument
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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))] + ")")
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user