mirror of
				https://codeberg.org/tom79/Fedilab.git
				synced 2025-10-20 11:20:16 +03:00 
			
		
		
		
	change lib
This commit is contained in:
		
							parent
							
								
									5e4298c566
								
							
						
					
					
						commit
						4eb4c6eea5
					
				
					 4 changed files with 64 additions and 6 deletions
				
			
		|  | @ -49,6 +49,8 @@ public class TranslateHelper { | ||||||
|         MyTransL.translatorEngine et; |         MyTransL.translatorEngine et; | ||||||
|         if (translator.compareToIgnoreCase("FEDILAB") == 0) { |         if (translator.compareToIgnoreCase("FEDILAB") == 0) { | ||||||
|             et = MyTransL.translatorEngine.LIBRETRANSLATE; |             et = MyTransL.translatorEngine.LIBRETRANSLATE; | ||||||
|  |         } else if (translator.compareToIgnoreCase("LINGVA") == 0) { | ||||||
|  |             et = MyTransL.translatorEngine.LINGVA; | ||||||
|         } else { |         } else { | ||||||
|             et = MyTransL.translatorEngine.DEEPL; |             et = MyTransL.translatorEngine.DEEPL; | ||||||
|         } |         } | ||||||
|  | @ -60,6 +62,8 @@ public class TranslateHelper { | ||||||
|         params.setSource_lang("auto"); |         params.setSource_lang("auto"); | ||||||
|         if (translator.compareToIgnoreCase("FEDILAB") == 0) { |         if (translator.compareToIgnoreCase("FEDILAB") == 0) { | ||||||
|             myTransL.setLibretranslateDomain("translate.fedilab.app"); |             myTransL.setLibretranslateDomain("translate.fedilab.app"); | ||||||
|  |         } else if (translator.compareToIgnoreCase("LINGVA") == 0) { | ||||||
|  |             myTransL.setLibretranslateDomain("lingva.ml"); | ||||||
|         } else { |         } else { | ||||||
|             String translatorVersion = sharedpreferences.getString(context.getString(R.string.SET_TRANSLATOR_VERSION), "PRO"); |             String translatorVersion = sharedpreferences.getString(context.getString(R.string.SET_TRANSLATOR_VERSION), "PRO"); | ||||||
|             params.setPro(translatorVersion.equals("PRO")); |             params.setPro(translatorVersion.equals("PRO")); | ||||||
|  |  | ||||||
|  | @ -28,8 +28,9 @@ public class MyTransL { | ||||||
|     public static String TAG = "MyTrans_TAG"; |     public static String TAG = "MyTrans_TAG"; | ||||||
|     private static MyTransL myTransL; |     private static MyTransL myTransL; | ||||||
|     private static String libretranslateDomain; |     private static String libretranslateDomain; | ||||||
|  |     private static String lingvaDomain; | ||||||
|     private final translatorEngine te; |     private final translatorEngine te; | ||||||
|     private String yandexAPIKey, deeplAPIKey, systranAPIKey, libreTranslateAPIKey; |     private String yandexAPIKey, deeplAPIKey, systranAPIKey, libreTranslateAPIKey, lingvaAPIKey; | ||||||
|     private int timeout = 30; |     private int timeout = 30; | ||||||
|     private boolean obfuscation = false; |     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 |      * @return locale String | ||||||
|      */ |      */ | ||||||
|  | @ -52,6 +53,16 @@ public class MyTransL { | ||||||
|         return "https://" + libretranslateDomain + "/translate?"; |         return "https://" + libretranslateDomain + "/translate?"; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     /** | ||||||
|  |      * 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 |      * Allows to get the current locale of the device | ||||||
|      * |      * | ||||||
|  | @ -110,6 +121,15 @@ public class MyTransL { | ||||||
|         MyTransL.libretranslateDomain = libretranslateDomain; |         MyTransL.libretranslateDomain = libretranslateDomain; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     public String getingvaDomain() { | ||||||
|  |         return lingvaDomain; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setLingvaDomain(String lingvaDomain) { | ||||||
|  |         MyTransL.lingvaDomain = lingvaDomain; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public String getLibreTranslateAPIKey() { |     public String getLibreTranslateAPIKey() { | ||||||
|         return libreTranslateAPIKey; |         return libreTranslateAPIKey; | ||||||
|     } |     } | ||||||
|  | @ -118,6 +138,14 @@ public class MyTransL { | ||||||
|         this.libreTranslateAPIKey = libreTranslateAPIKey; |         this.libreTranslateAPIKey = libreTranslateAPIKey; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public String getLingvaAPIKey() { | ||||||
|  |         return lingvaAPIKey; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void setLingvaAPIKey(String lingvaAPIKey) { | ||||||
|  |         this.lingvaAPIKey = lingvaAPIKey; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     /** |     /** | ||||||
|      * Asynchronous call for the translation |      * Asynchronous call for the translation | ||||||
|      * |      * | ||||||
|  | @ -144,7 +172,8 @@ public class MyTransL { | ||||||
|         YANDEX, |         YANDEX, | ||||||
|         DEEPL, |         DEEPL, | ||||||
|         SYSTRAN, |         SYSTRAN, | ||||||
|         LIBRETRANSLATE |         LIBRETRANSLATE, | ||||||
|  |         LINGVA | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -146,6 +146,10 @@ public class TransAsync { | ||||||
|                     e.printStackTrace(); |                     e.printStackTrace(); | ||||||
|                 } |                 } | ||||||
|                 str_response = new Client().post(MyTransL.getLibreTranslateUrl(), this.timeout, params); |                 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) { |         } catch (IOException | NoSuchAlgorithmException | KeyManagementException err) { | ||||||
|             this.e = new HttpsConnectionException(-1, err.getMessage()); |             this.e = new HttpsConnectionException(-1, err.getMessage()); | ||||||
|  | @ -167,6 +171,8 @@ public class TransAsync { | ||||||
|                 translate.parseSystranlResult(result, listener); |                 translate.parseSystranlResult(result, listener); | ||||||
|             } else if (this.te == MyTransL.translatorEngine.LIBRETRANSLATE) { |             } else if (this.te == MyTransL.translatorEngine.LIBRETRANSLATE) { | ||||||
|                 translate.parseLibreTranslateResult(result, listener); |                 translate.parseLibreTranslateResult(result, listener); | ||||||
|  |             } else if (this.te == MyTransL.translatorEngine.LINGVA) { | ||||||
|  |                 translate.parseLingvaResult(result, listener); | ||||||
|             } |             } | ||||||
|             //Obfuscation if asked |             //Obfuscation if asked | ||||||
|             if (obfuscation) { |             if (obfuscation) { | ||||||
|  |  | ||||||
|  | @ -318,13 +318,12 @@ public class Translate { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /*** |     /*** | ||||||
|      * Method to parse result coming from the Deepl translator |      * Method to parse result coming from the Libre Translate | ||||||
|      * More about Deepl translate API - https://www.deepl.com/api-reference.html |  | ||||||
|      * @param response String - Response of the engine translator |      * @param response String - Response of the engine translator | ||||||
|      * @param listener - Results Listener |      * @param listener - Results Listener | ||||||
|      */ |      */ | ||||||
|     public void parseLibreTranslateResult(String response, Results listener) { |     public void parseLibreTranslateResult(String response, Results listener) { | ||||||
|         translate.setTranslatorEngine(MyTransL.translatorEngine.DEEPL); |         translate.setTranslatorEngine(MyTransL.translatorEngine.LIBRETRANSLATE); | ||||||
|         try { |         try { | ||||||
|             JSONObject translationJson = new JSONObject(response); |             JSONObject translationJson = new JSONObject(response); | ||||||
|             //Retrieves the translated content |             //Retrieves the translated content | ||||||
|  | @ -339,6 +338,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 |      * Method to parse result coming from the Deepl translator | ||||||
|      * More about Deepl translate API - https://www.deepl.com/api-reference.html |      * More about Deepl translate API - https://www.deepl.com/api-reference.html | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue