From 7fd55e380f2ae80c7310c2686fd910058b2ee35e Mon Sep 17 00:00:00 2001 From: mnasell Date: Sat, 19 Jul 2025 11:55:58 +0200 Subject: [PATCH 1/2] support intl by adding language selection --- .../com/termux/api/apis/SpeechToTextAPI.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java b/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java index c33d7a31a..1f19babdf 100644 --- a/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java +++ b/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java @@ -3,6 +3,8 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.IntentService; +import android.content.BroadcastReceiver; +import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -12,18 +14,22 @@ import android.speech.RecognitionListener; import android.speech.RecognizerIntent; import android.speech.SpeechRecognizer; +import android.widget.Toast; import com.termux.api.util.ResultReturner; import com.termux.shared.data.IntentUtils; import com.termux.shared.logger.Logger; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.concurrent.LinkedBlockingQueue; public class SpeechToTextAPI { private static final String LOG_TAG = "SpeechToTextAPI"; + private static String language; public static class SpeechToTextService extends IntentService { @@ -145,7 +151,7 @@ public void onBeginningOfSpeech() { recognizerIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Enter shell command"); recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); recognizerIntent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 10); - recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US"); + recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language); recognizerIntent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true); mSpeechRecognizer.startListening(recognizerIntent); } @@ -182,6 +188,16 @@ public void writeResult(PrintWriter out) throws Exception { public static void onReceive(final Context context, Intent intent) { Logger.logDebug(LOG_TAG, "onReceive"); + if (intent.hasExtra("language")) { + language = intent.getStringExtra("language"); + //Toast.makeText(context,"using language [from parameter]: " + language, Toast.LENGTH_SHORT).show(); + Logger.logDebug(LOG_TAG, "using language [from parameter]: " + language); + } else { + language = String.valueOf(Locale.getDefault()); + //Toast.makeText(context,"using language [from locale default]: " + language, Toast.LENGTH_SHORT).show(); + Logger.logDebug(LOG_TAG, "using language [from locale default]: " + language); + } + context.startService(new Intent(context, SpeechToTextService.class).putExtras(intent.getExtras())); } From 507a05069eb5e1c5410f522f043a6c13816e0d19 Mon Sep 17 00:00:00 2001 From: mnasell Date: Sun, 20 Jul 2025 11:20:28 +0200 Subject: [PATCH 2/2] support intl by adding language selection (cleanup) --- app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java b/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java index 1f19babdf..2ca9baa46 100644 --- a/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java +++ b/app/src/main/java/com/termux/api/apis/SpeechToTextAPI.java @@ -3,8 +3,6 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.IntentService; -import android.content.BroadcastReceiver; -import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -14,14 +12,12 @@ import android.speech.RecognitionListener; import android.speech.RecognizerIntent; import android.speech.SpeechRecognizer; -import android.widget.Toast; import com.termux.api.util.ResultReturner; import com.termux.shared.data.IntentUtils; import com.termux.shared.logger.Logger; import java.io.PrintWriter; -import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.concurrent.LinkedBlockingQueue;