Skip to content

Commit e577cef

Browse files
committed
Initial implementation of Tatoeba
1 parent 7969333 commit e577cef

14 files changed

Lines changed: 1630 additions & 129 deletions

File tree

app/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,10 @@ dependencies {
125125
implementation "ai.djl.android:core:0.33.0"
126126
implementation "ai.djl.huggingface:tokenizers:0.33.0"
127127
implementation "ai.djl.android:tokenizer-native:0.33.0"
128+
//protobuf
129+
implementation "com.google.protobuf:protobuf-javalite:4.33.5"
130+
// bouncycastle crypto lib
131+
implementation "org.bouncycastle:bcprov-jdk15to18:1.83"
128132

129133
//implementation 'androidx.core:core-ktx:1.10.0'
130134
implementation 'androidx.work:work-runtime:2.7.1'

app/src/main/java/nie/translator/rtranslator/Global.java

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public enum RTranslatorMode {
8585
private Handler mainHandler;
8686
private static Handler mHandler = new Handler();
8787
private final Object lock = new Object();
88+
private boolean useTatoeba;
8889

8990
@Override
9091
public void onCreate() {
@@ -98,6 +99,8 @@ public void onCreate() {
9899
//initializeBluetoothCommunicator();
99100
getMicSensitivity();
100101
createNotificationChannel();
102+
SharedPreferences sharedPreferences = getSharedPreferences("default", Context.MODE_PRIVATE);
103+
useTatoeba = sharedPreferences.getBoolean("useTatoeba", false);
101104
}
102105

103106
public void initializeTranslator(Translator.GeneralListener initListener){
@@ -438,11 +441,7 @@ public void setFirstLanguage(CustomLocale language, @Nullable Translator.General
438441
SharedPreferences.Editor editor = sharedPreferences.edit();
439442
editor.putString("firstLanguage", language.getCode());
440443
editor.apply();
441-
if(translator.getMode() == Translator.MOZILLA) {
442-
translator.loadMozillaModels(language, getSecondLanguage(true), RTranslatorMode.WALKIE_TALKIE_MODE, listener);
443-
}else{
444-
if(listener != null) listener.onSuccess();
445-
}
444+
loadLanguagesResources(language, getSecondLanguage(true), RTranslatorMode.WALKIE_TALKIE_MODE, listener);
446445
}
447446

448447
public void setSecondLanguage(CustomLocale language, @Nullable Translator.GeneralListener listener) {
@@ -451,11 +450,7 @@ public void setSecondLanguage(CustomLocale language, @Nullable Translator.Genera
451450
SharedPreferences.Editor editor = sharedPreferences.edit();
452451
editor.putString("secondLanguage", language.getCode());
453452
editor.apply();
454-
if(translator.getMode() == Translator.MOZILLA) {
455-
translator.loadMozillaModels(getFirstLanguage(true), language, RTranslatorMode.WALKIE_TALKIE_MODE, listener);
456-
}else{
457-
if(listener != null) listener.onSuccess();
458-
}
453+
loadLanguagesResources(getFirstLanguage(true), language, RTranslatorMode.WALKIE_TALKIE_MODE, listener);
459454
}
460455

461456
public void setFirstTextLanguage(CustomLocale language, @Nullable Translator.GeneralListener listener) {
@@ -464,11 +459,7 @@ public void setFirstTextLanguage(CustomLocale language, @Nullable Translator.Gen
464459
SharedPreferences.Editor editor = sharedPreferences.edit();
465460
editor.putString("firstTextLanguage", language.getCode());
466461
editor.apply();
467-
if(translator.getMode() == Translator.MOZILLA) {
468-
translator.loadMozillaModels(language, getSecondTextLanguage(true), RTranslatorMode.TEXT_TRANSLATION_MODE, listener);
469-
}else{
470-
if(listener != null) listener.onSuccess();
471-
}
462+
loadLanguagesResources(language, getSecondTextLanguage(true), RTranslatorMode.TEXT_TRANSLATION_MODE, listener);
472463
}
473464

474465
public void setSecondTextLanguage(CustomLocale language, @Nullable Translator.GeneralListener listener) {
@@ -478,19 +469,15 @@ public void setSecondTextLanguage(CustomLocale language, @Nullable Translator.Ge
478469
SharedPreferences.Editor editor = sharedPreferences.edit();
479470
editor.putString("secondTextLanguage", language.getCode());
480471
editor.apply();
481-
if(translator.getMode() == Translator.MOZILLA) {
482-
translator.loadMozillaModels(getFirstTextLanguage(true), language, RTranslatorMode.TEXT_TRANSLATION_MODE, listener);
483-
}else{
484-
if(listener != null) listener.onSuccess();
485-
}
472+
loadLanguagesResources(getFirstTextLanguage(true), language, RTranslatorMode.TEXT_TRANSLATION_MODE, listener);
486473
}
487474

488-
public void switchTextLanguages(){
475+
public void switchTextLanguages() {
489476
CustomLocale firstLanguage = getFirstTextLanguage(true);
490477
CustomLocale secondLanguage = getSecondTextLanguage(true);
491478
this.firstTextLanguage = secondLanguage;
492479
this.secondTextLanguage = firstLanguage;
493-
if(translator.getMode() == Translator.MOZILLA) translator.loadMozillaModels(secondLanguage, firstLanguage, RTranslatorMode.TEXT_TRANSLATION_MODE, null);
480+
loadLanguagesResources(secondLanguage, firstLanguage, RTranslatorMode.TEXT_TRANSLATION_MODE, null);
494481
SharedPreferences sharedPreferences = this.getSharedPreferences("default", Context.MODE_PRIVATE);
495482
SharedPreferences.Editor editor = sharedPreferences.edit();
496483
editor.putString("firstTextLanguage", this.firstTextLanguage.getCode());
@@ -579,6 +566,18 @@ public void setBeamSize(int value) {
579566
editor.apply();
580567
}
581568

569+
public boolean isUseTatoeba(){
570+
return useTatoeba;
571+
}
572+
573+
public void setUseTatoeba(boolean useTatoeba) {
574+
this.useTatoeba = useTatoeba;
575+
final SharedPreferences sharedPreferences = this.getSharedPreferences("default", Context.MODE_PRIVATE);
576+
SharedPreferences.Editor editor = sharedPreferences.edit();
577+
editor.putBoolean("useTatoeba", useTatoeba);
578+
editor.apply();
579+
}
580+
582581
public String getName() {
583582
if (name.length() == 0) {
584583
final SharedPreferences sharedPreferences = this.getSharedPreferences("default", Context.MODE_PRIVATE);
@@ -594,7 +593,7 @@ public void setName(String savedName) {
594593
editor.putString("name", savedName);
595594
editor.apply();
596595
if(getBluetoothCommunicator() != null) {
597-
getBluetoothCommunicator().setName(savedName); //si aggiorna il nome anche per il comunicator
596+
getBluetoothCommunicator().setName(savedName); //we update the name also for communicator
598597
}
599598
}
600599

@@ -718,5 +717,26 @@ public boolean isNetworkOnWifi() {
718717
return false; // user turned off wifi
719718
}
720719
}
720+
721+
private void loadLanguagesResources(CustomLocale firstLanguage, CustomLocale secondLanguage, RTranslatorMode mode, Translator.GeneralListener listener){
722+
if(isUseTatoeba()) {
723+
translator.loadTatoeba(firstLanguage, secondLanguage, mode, new Translator.GeneralListener() {
724+
@Override
725+
public void onSuccess() {
726+
if (translator.getMode() == Translator.MOZILLA) {
727+
translator.loadMozillaModels(firstLanguage, secondLanguage, mode, listener);
728+
} else {
729+
if (listener != null) listener.onSuccess();
730+
}
731+
}
732+
});
733+
}else{
734+
if (translator.getMode() == Translator.MOZILLA) {
735+
translator.loadMozillaModels(firstLanguage, secondLanguage, mode, listener);
736+
} else {
737+
if (listener != null) listener.onSuccess();
738+
}
739+
}
740+
}
721741
}
722742

app/src/main/java/nie/translator/rtranslator/database/AppDatabase.java renamed to app/src/main/java/nie/translator/rtranslator/databases/general/AppDatabase.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
package nie.translator.rtranslator.database;
17+
package nie.translator.rtranslator.databases.general;
1818

1919
import androidx.room.RoomDatabase;
20-
import nie.translator.rtranslator.database.dao.MyDao;
21-
import nie.translator.rtranslator.database.entities.RecentPeerEntity;
20+
import nie.translator.rtranslator.databases.general.dao.MyDao;
21+
import nie.translator.rtranslator.databases.general.entities.RecentPeerEntity;
2222

2323

2424
@androidx.room.Database(version = 1, entities = {RecentPeerEntity.class})

app/src/main/java/nie/translator/rtranslator/database/dao/MyDao.java renamed to app/src/main/java/nie/translator/rtranslator/databases/general/dao/MyDao.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@
1414
* limitations under the License.
1515
*/
1616

17-
package nie.translator.rtranslator.database.dao;
17+
package nie.translator.rtranslator.databases.general.dao;
1818

1919
import androidx.room.Dao;
2020
import androidx.room.Delete;
2121
import androidx.room.Insert;
2222
import androidx.room.OnConflictStrategy;
2323
import androidx.room.Query;
2424
import androidx.room.Update;
25-
import nie.translator.rtranslator.database.entities.RecentPeerEntity;
25+
import nie.translator.rtranslator.databases.general.entities.RecentPeerEntity;
2626

2727
@Dao
2828
public interface MyDao{

app/src/main/java/nie/translator/rtranslator/database/entities/RecentPeerEntity.java renamed to app/src/main/java/nie/translator/rtranslator/databases/general/entities/RecentPeerEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package nie.translator.rtranslator.database.entities;
17+
package nie.translator.rtranslator.databases.general.entities;
1818

1919
import androidx.room.ColumnInfo;
2020
import androidx.room.Entity;

0 commit comments

Comments
 (0)