summaryrefslogtreecommitdiffstats
path: root/mytransl
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-02-14 10:45:23 +0100
committerThomas <tschneider.ac@gmail.com>2023-02-14 10:45:23 +0100
commit4eb4c6eea5fe63dfe9f0cebf80979134b7af57b3 (patch)
treed4a2bc3f6afd8cdc4ce735dbf3c74ae28dd0134f /mytransl
parent5e4298c56683fd2f200a5ec23aca27c3e1751b40 (diff)
change lib
Diffstat (limited to 'mytransl')
-rw-r--r--mytransl/src/main/java/com/github/stom79/mytransl/MyTransL.java35
-rw-r--r--mytransl/src/main/java/com/github/stom79/mytransl/async/TransAsync.java6
-rw-r--r--mytransl/src/main/java/com/github/stom79/mytransl/translate/Translate.java25
3 files changed, 60 insertions, 6 deletions
diff --git a/mytransl/src/main/java/com/github/stom79/mytransl/MyTransL.java b/mytransl/src/main/java/com/github/stom79/mytransl/MyTransL.java
index 4f96bc5c0..e2c997ec7 100644
--- a/mytransl/src/main/java/com/github/stom79/mytransl/MyTransL.java
+++ b/mytransl/src/main/java/com/github/stom79/mytransl/MyTransL.java
@@ -28,8 +28,9 @@ public class MyTransL {
public static String TAG = "MyTrans_TAG";
private static MyTransL myTransL;
private static String libretranslateDomain;
+ private static String lingvaDomain;
private final translatorEngine te;
- private String yandexAPIKey, deeplAPIKey, systranAPIKey, libreTranslateAPIKey;
+ private String yandexAPIKey, deeplAPIKey, systranAPIKey, libreTranslateAPIKey, lingvaAPIKey;
private int timeout = 30;
private boolean obfuscation = false;
@@ -44,7 +45,7 @@ public class MyTransL {
}
/**
- * Allows to get the current locale of the device
+ * Allows to get the current domain for libre translate
*
* @return locale String
*/
@@ -53,6 +54,16 @@ public class MyTransL {
}
/**
+ * Allows to get the current domain for lingva
+ *
+ * @return locale String
+ */
+ public static String getLingvaUrl() {
+ return "https://" + lingvaDomain + "/api/v1/";
+ }
+
+
+ /**
* Allows to get the current locale of the device
*
* @return locale String
@@ -110,6 +121,15 @@ public class MyTransL {
MyTransL.libretranslateDomain = libretranslateDomain;
}
+
+ public String getingvaDomain() {
+ return lingvaDomain;
+ }
+
+ public void setLingvaDomain(String lingvaDomain) {
+ MyTransL.lingvaDomain = lingvaDomain;
+ }
+
public String getLibreTranslateAPIKey() {
return libreTranslateAPIKey;
}
@@ -118,6 +138,14 @@ public class MyTransL {
this.libreTranslateAPIKey = libreTranslateAPIKey;
}
+ public String getLingvaAPIKey() {
+ return lingvaAPIKey;
+ }
+
+ public void setLingvaAPIKey(String lingvaAPIKey) {
+ this.lingvaAPIKey = lingvaAPIKey;
+ }
+
/**
* Asynchronous call for the translation
*
@@ -144,7 +172,8 @@ public class MyTransL {
YANDEX,
DEEPL,
SYSTRAN,
- LIBRETRANSLATE
+ LIBRETRANSLATE,
+ LINGVA
}
}
diff --git a/mytransl/src/main/java/com/github/stom79/mytransl/async/TransAsync.java b/mytransl/src/main/java/com/github/stom79/mytransl/async/TransAsync.java
index 7c9052199..c3654aa45 100644
--- a/mytransl/src/main/java/com/github/stom79/mytransl/async/TransAsync.java
+++ b/mytransl/src/main/java/com/github/stom79/mytransl/async/TransAsync.java
@@ -146,6 +146,10 @@ public class TransAsync {
e.printStackTrace();
}
str_response = new Client().post(MyTransL.getLibreTranslateUrl(), this.timeout, params);
+ } else if (te == MyTransL.translatorEngine.LINGVA) {
+ String key = MyTransL.getInstance(te).getLibreTranslateAPIKey();
+ String lingvaURL = MyTransL.getLingvaUrl() + this.params.getSource_lang() + "/" + toLanguage + "/" + contentToSend;
+ str_response = new Client().get(lingvaURL, this.timeout);
}
} catch (IOException | NoSuchAlgorithmException | KeyManagementException err) {
this.e = new HttpsConnectionException(-1, err.getMessage());
@@ -167,6 +171,8 @@ public class TransAsync {
translate.parseSystranlResult(result, listener);
} else if (this.te == MyTransL.translatorEngine.LIBRETRANSLATE) {
translate.parseLibreTranslateResult(result, listener);
+ } else if (this.te == MyTransL.translatorEngine.LINGVA) {
+ translate.parseLingvaResult(result, listener);
}
//Obfuscation if asked
if (obfuscation) {
diff --git a/mytransl/src/main/java/com/github/stom79/mytransl/translate/Translate.java b/mytransl/src/main/java/com/github/stom79/mytransl/translate/Translate.java
index 6bccabff0..38997b1f4 100644
--- a/mytransl/src/main/java/com/github/stom79/mytransl/translate/Translate.java
+++ b/mytransl/src/main/java/com/github/stom79/mytransl/translate/Translate.java
@@ -318,13 +318,12 @@ public class Translate {
}
/***
- * Method to parse result coming from the Deepl translator
- * More about Deepl translate API - https://www.deepl.com/api-reference.html
+ * Method to parse result coming from the Libre Translate
* @param response String - Response of the engine translator
* @param listener - Results Listener
*/
public void parseLibreTranslateResult(String response, Results listener) {
- translate.setTranslatorEngine(MyTransL.translatorEngine.DEEPL);
+ translate.setTranslatorEngine(MyTransL.translatorEngine.LIBRETRANSLATE);
try {
JSONObject translationJson = new JSONObject(response);
//Retrieves the translated content
@@ -340,6 +339,26 @@ public class Translate {
/***
+ * Method to parse result coming from the Lingva
+ * @param response String - Response of the engine translator
+ * @param listener - Results Listener
+ */
+ public void parseLingvaResult(String response, Results listener) {
+ translate.setTranslatorEngine(MyTransL.translatorEngine.LINGVA);
+ try {
+ JSONObject translationJson = new JSONObject(response);
+ //Retrieves the translated content
+ translate.setTranslatedContent(translationJson.getString("translation"));
+ //Retrieves the initial language
+ translate.setInitialLanguage(initialLanguage);
+ } catch (JSONException e1) {
+ e1.printStackTrace();
+ HttpsConnectionException httpsConnectionException = new HttpsConnectionException(-1, e1.getMessage());
+ listener.onFail(httpsConnectionException);
+ }
+ }
+
+ /***
* Method to parse result coming from the Deepl translator
* More about Deepl translate API - https://www.deepl.com/api-reference.html
* @param response String - Response of the engine translator