From 4b8563fe7eaa2a9e50dfde802b92930c59877c61 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 14 Feb 2023 11:02:04 +0100 Subject: [PATCH] working --- .../fedilab/android/mastodon/helper/TranslateHelper.java | 6 +++++- .../ui/fragment/settings/FragmentTimelinesSettings.java | 8 +++++++- app/src/main/res/layouts/mastodon/values/strings.xml | 4 ++++ app/src/main/res/values/strings.xml | 4 ++++ app/src/main/res/xml/pref_timelines.xml | 7 +++++++ .../java/com/github/stom79/mytransl/async/TransAsync.java | 4 +++- 6 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/layouts/mastodon/values/strings.xml diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/TranslateHelper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/TranslateHelper.java index 1d514ba9..3e7e0da8 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/TranslateHelper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/TranslateHelper.java @@ -63,7 +63,11 @@ public class TranslateHelper { if (translator.compareToIgnoreCase("FEDILAB") == 0) { myTransL.setLibretranslateDomain("translate.fedilab.app"); } else if (translator.compareToIgnoreCase("LINGVA") == 0) { - myTransL.setLibretranslateDomain("lingva.ml"); + String host = sharedpreferences.getString(context.getString(R.string.SET_TRANSLATOR_DOMAIN), context.getString(R.string.SET_TRANSLATOR_HOST_LINGVA)); + if (host == null || host.trim().isEmpty()) { + host = context.getString(R.string.SET_TRANSLATOR_HOST_LINGVA); + } + myTransL.setLingvaDomain(host); } else { String translatorVersion = sharedpreferences.getString(context.getString(R.string.SET_TRANSLATOR_VERSION), "PRO"); params.setPro(translatorVersion.equals("PRO")); diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java index e9d5228d..059494ab 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/settings/FragmentTimelinesSettings.java @@ -47,7 +47,8 @@ public class FragmentTimelinesSettings extends PreferenceFragmentCompat implemen ListPreference SET_TRANSLATOR_VERSION = findPreference(getString(R.string.SET_TRANSLATOR_VERSION)); EditTextPreference SET_TRANSLATOR_API_KEY = findPreference(getString(R.string.SET_TRANSLATOR_API_KEY)); - if (SET_TRANSLATOR != null && SET_TRANSLATOR.getValue().equals("FEDILAB")) { + EditTextPreference SET_TRANSLATOR_DOMAIN = findPreference(getString(R.string.SET_TRANSLATOR_DOMAIN)); + if (SET_TRANSLATOR != null && !SET_TRANSLATOR.getValue().equals("DEEPL")) { if (SET_TRANSLATOR_API_KEY != null) { preferenceScreen.removePreferenceRecursively("SET_TRANSLATOR_API_KEY"); } @@ -55,6 +56,11 @@ public class FragmentTimelinesSettings extends PreferenceFragmentCompat implemen preferenceScreen.removePreferenceRecursively("SET_TRANSLATOR_VERSION"); } } + if (SET_TRANSLATOR != null && !SET_TRANSLATOR.getValue().equals("LINGVA")) { + if (SET_TRANSLATOR_DOMAIN != null) { + preferenceScreen.removePreferenceRecursively("SET_TRANSLATOR_DOMAIN"); + } + } SwitchPreferenceCompat SET_DISPLAY_BOOKMARK = findPreference(getString(R.string.SET_DISPLAY_BOOKMARK)); if (SET_DISPLAY_BOOKMARK != null) { boolean checked = sharedpreferences.getBoolean(getString(R.string.SET_DISPLAY_BOOKMARK) + MainActivity.currentUserID + MainActivity.currentInstance, true); diff --git a/app/src/main/res/layouts/mastodon/values/strings.xml b/app/src/main/res/layouts/mastodon/values/strings.xml new file mode 100644 index 00000000..28ece788 --- /dev/null +++ b/app/src/main/res/layouts/mastodon/values/strings.xml @@ -0,0 +1,4 @@ + + + Translator domain + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b0fc7f0f..2c29b22a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -796,6 +796,7 @@ Fedilab + Lingva DeepL @@ -805,6 +806,7 @@ FEDILAB + LINGVA DEEPL @@ -1097,6 +1099,8 @@ SET_POST_FORMAT SET_COMPOSE_LOCAL_ONLY + lingva.ml + SET_TRANSLATOR_DOMAIN SET_TRANSLATOR SET_TRANSLATOR_VERSION diff --git a/app/src/main/res/xml/pref_timelines.xml b/app/src/main/res/xml/pref_timelines.xml index 11ff6b3f..93fe06b1 100644 --- a/app/src/main/res/xml/pref_timelines.xml +++ b/app/src/main/res/xml/pref_timelines.xml @@ -93,6 +93,13 @@ app:key="@string/SET_TRANSLATOR_API_KEY" app:title="@string/api_key" app:useSimpleSummaryProvider="true" /> +