DeepL: added all languages

This commit is contained in:
M66B 2021-05-17 21:53:58 +02:00
parent 88bf6840ce
commit 900a48a61a
4 changed files with 152 additions and 40 deletions

View File

@ -0,0 +1,132 @@
[
{
"language": "BG",
"name": "Bulgarian",
"supports_formality": false
},
{
"language": "CS",
"name": "Czech",
"supports_formality": false
},
{
"language": "DA",
"name": "Danish",
"supports_formality": false
},
{
"language": "DE",
"name": "German",
"supports_formality": true
},
{
"language": "EL",
"name": "Greek",
"supports_formality": false
},
{
"language": "EN-GB",
"name": "English (British)",
"supports_formality": false
},
{
"language": "EN-US",
"name": "English (American)",
"supports_formality": false
},
{
"language": "ES",
"name": "Spanish",
"supports_formality": true
},
{
"language": "ET",
"name": "Estonian",
"supports_formality": false
},
{
"language": "FI",
"name": "Finnish",
"supports_formality": false
},
{
"language": "FR",
"name": "French",
"supports_formality": true
},
{
"language": "HU",
"name": "Hungarian",
"supports_formality": false
},
{
"language": "IT",
"name": "Italian",
"supports_formality": true
},
{
"language": "JA",
"name": "Japanese",
"supports_formality": false
},
{
"language": "LT",
"name": "Lithuanian",
"supports_formality": false
},
{
"language": "LV",
"name": "Latvian",
"supports_formality": false
},
{
"language": "NL",
"name": "Dutch",
"supports_formality": true
},
{
"language": "PL",
"name": "Polish",
"supports_formality": true
},
{
"language": "PT-BR",
"name": "Portuguese (Brazilian)",
"supports_formality": true
},
{
"language": "PT-PT",
"name": "Portuguese (European)",
"supports_formality": true
},
{
"language": "RO",
"name": "Romanian",
"supports_formality": false
},
{
"language": "RU",
"name": "Russian",
"supports_formality": true
},
{
"language": "SK",
"name": "Slovak",
"supports_formality": false
},
{
"language": "SL",
"name": "Slovenian",
"supports_formality": false
},
{
"language": "SV",
"name": "Swedish",
"supports_formality": false
},
{
"language": "ZH",
"name": "Chinese",
"supports_formality": false
}
]

View File

@ -1444,6 +1444,20 @@ public class FragmentCompose extends FragmentBase {
}
});
try (InputStream is = getContext().getAssets().open("deepl.json")) {
String json = Helper.readStream(is);
JSONArray jarray = new JSONArray(json);
for (int i = 0; i < jarray.length(); i++) {
JSONObject jlanguage = jarray.getJSONObject(i);
SubMenu smenu = menu.findItem(R.id.menu_translate).getSubMenu();
smenu.add(R.id.group_translate, i + 1, i + 1, jlanguage.getString("name"))
.setIntent(new Intent().putExtra("target", jlanguage.getString("language")));
}
} catch (Throwable ex) {
Log.e(ex);
}
super.onCreateOptionsMenu(menu, inflater);
}
@ -1497,11 +1511,9 @@ public class FragmentCompose extends FragmentBase {
menu.findItem(R.id.menu_image_dialog).setChecked(image_dialog);
menu.findItem(R.id.menu_media).setChecked(media);
menu.findItem(R.id.menu_compact).setChecked(compact);
menu.findItem(R.id.menu_translate_english).setEnabled(deepl != null);
menu.findItem(R.id.menu_translate_french).setEnabled(deepl != null);
menu.findItem(R.id.menu_translate_german).setEnabled(deepl != null);
menu.findItem(R.id.menu_translate_italian).setEnabled(deepl != null);
menu.findItem(R.id.menu_translate_spanish).setEnabled(deepl != null);
SubMenu smenu = menu.findItem(R.id.menu_translate).getSubMenu();
for (int i = 1; i < smenu.size(); i++)
smenu.getItem(i).setEnabled(deepl != null);
if (EntityMessage.PGP_SIGNONLY.equals(encrypt) ||
EntityMessage.SMIME_SIGNONLY.equals(encrypt))
@ -1559,20 +1571,8 @@ public class FragmentCompose extends FragmentBase {
} else if (itemId == R.id.menu_translate_key) {
onMenuTranslateKey();
return true;
} else if (itemId == R.id.menu_translate_english) {
onMenuTranslate("EN");
return true;
} else if (itemId == R.id.menu_translate_french) {
onMenuTranslate("FR");
return true;
} else if (itemId == R.id.menu_translate_german) {
onMenuTranslate("DE");
return true;
} else if (itemId == R.id.menu_translate_italian) {
onMenuTranslate("IT");
return true;
} else if (itemId == R.id.menu_translate_spanish) {
onMenuTranslate("ES");
} else if (item.getGroupId() == R.id.group_translate) {
onMenuTranslate(item.getIntent().getStringExtra("target"));
return true;
} else if (itemId == R.id.menu_clear) {
StyleHelper.apply(R.id.menu_clear, getViewLifecycleOwner(), null, etBody);

View File

@ -72,25 +72,10 @@
android:title="@string/title_translate"
app:showAsAction="never">
<menu>
<group>
<group android:id="@+id/group_translate">
<item
android:id="@+id/menu_translate_key"
android:title="@string/title_translate_key" />
<item
android:id="@+id/menu_translate_english"
android:title="@string/title_translate_english" />
<item
android:id="@+id/menu_translate_french"
android:title="@string/title_translate_french" />
<item
android:id="@+id/menu_translate_german"
android:title="@string/title_translate_german" />
<item
android:id="@+id/menu_translate_italian"
android:title="@string/title_translate_italian" />
<item
android:id="@+id/menu_translate_spanish"
android:title="@string/title_translate_spanish" />
</group>
</menu>
</item>

View File

@ -1109,11 +1109,6 @@
<string name="title_create_template">Create template</string>
<string name="title_translate" translatable="false">Translate</string>
<string name="title_translate_key" translatable="false">Enter auth key</string>
<string name="title_translate_english" translatable="false">English</string>
<string name="title_translate_french" translatable="false">French</string>
<string name="title_translate_german" translatable="false">German</string>
<string name="title_translate_italian" translatable="false">Italian</string>
<string name="title_translate_spanish" translatable="false">Spanish</string>
<string name="title_edit_plain_text">Edit as plain text</string>
<string name="title_edit_formatted_text">Edit as reformatted text</string>
<string name="title_select_certificate">Select public key</string>