forked from organicmaps/organicmaps
[android] Add voice test in settings menu
Signed-off-by: Gonzalo Pesquero <gpesquero@yahoo.es>
This commit is contained in:
parent
a8590022df
commit
286d016a24
6 changed files with 177 additions and 4 deletions
|
@ -40,6 +40,8 @@ import app.organicmaps.util.Utils;
|
|||
import app.organicmaps.util.log.LogsManager;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -57,6 +59,11 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
private ListPreference mTtsPrefLanguages;
|
||||
@Nullable
|
||||
private Preference mTtsLangInfo;
|
||||
@Nullable
|
||||
private Preference mTtsVoiceTest;
|
||||
|
||||
private List<String> mTtsTestStringArray;
|
||||
private int mTestStringIndex;
|
||||
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
|
||||
|
@ -79,6 +86,8 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mTtsPrefLanguages.setEnabled(false);
|
||||
if (mTtsLangInfo != null)
|
||||
mTtsLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
if (mTtsVoiceTest != null)
|
||||
mTtsVoiceTest.setEnabled(false);
|
||||
|
||||
root.setSummary(R.string.off);
|
||||
|
||||
|
@ -92,6 +101,8 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
root.setSummary(R.string.on);
|
||||
if (mTtsPrefEnabled != null)
|
||||
mTtsPrefEnabled.setTitle(R.string.on);
|
||||
if (mTtsVoiceTest != null)
|
||||
mTtsVoiceTest.setEnabled(true);
|
||||
|
||||
if (mCurrentLanguage != null && mCurrentLanguage.downloaded)
|
||||
{
|
||||
|
@ -144,7 +155,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
updateTts();
|
||||
}
|
||||
|
||||
// Use this method only on TTS screen. Prerequisites: mTtsPrefEnabled, mTtsPrefLanguages and mTtsLangInfo are not null.
|
||||
// Use this method only on TTS screen. Prerequisites: mTtsPrefEnabled, mTtsPrefLanguages, mTtsVoiceTest and mTtsLangInfo are not null.
|
||||
private void updateTts()
|
||||
{
|
||||
enableListeners(false);
|
||||
|
@ -163,6 +174,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mTtsPrefEnabled.setTitle(R.string.off);
|
||||
mTtsPrefLanguages.setEnabled(false);
|
||||
mTtsPrefLanguages.setSummary(null);
|
||||
mTtsVoiceTest.setEnabled(false);
|
||||
mTtsLangInfo.setSummary(R.string.prefs_languages_information_off);
|
||||
root.setSummary(R.string.off);
|
||||
|
||||
|
@ -174,6 +186,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mTtsPrefEnabled.setChecked(enabled);
|
||||
mTtsPrefEnabled.setSummary(null);
|
||||
mTtsPrefEnabled.setTitle(enabled ? R.string.on : R.string.off);
|
||||
mTtsVoiceTest.setEnabled(enabled);
|
||||
mTtsLangInfo.setSummary(enabled ? R.string.prefs_languages_information
|
||||
: R.string.prefs_languages_information_off);
|
||||
|
||||
|
@ -200,6 +213,7 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mTtsPrefLanguages.setSummary(available ? mCurrentLanguage.name : null);
|
||||
mTtsPrefLanguages.setValue(available ? mCurrentLanguage.internalCode : null);
|
||||
mTtsPrefEnabled.setChecked(available && TtsPlayer.isEnabled());
|
||||
mTtsVoiceTest.setEnabled(enabled && available && TtsPlayer.isEnabled());
|
||||
|
||||
enableListeners(true);
|
||||
}
|
||||
|
@ -263,6 +277,25 @@ public class SettingsPrefsFragment extends BaseXmlSettingsFragment
|
|||
mTtsPrefEnabled = getPreference(getString(R.string.pref_tts_enabled));
|
||||
mTtsPrefLanguages = getPreference(getString(R.string.pref_tts_language));
|
||||
mTtsLangInfo = getPreference(getString(R.string.pref_tts_info));
|
||||
mTtsVoiceTest = getPreference(getString(R.string.pref_tts_test_voice));
|
||||
|
||||
// Initialize TTS test strings.
|
||||
mTtsTestStringArray = Arrays.asList(getResources().getStringArray(R.array.app_tips));
|
||||
Collections.shuffle(mTtsTestStringArray);
|
||||
mTestStringIndex = 0;
|
||||
|
||||
if (mTtsVoiceTest != null)
|
||||
{
|
||||
mTtsVoiceTest.setOnPreferenceClickListener(pref -> {
|
||||
Utils.showSnackbar(getView(), getString(R.string.pref_tts_playing_test_voice));
|
||||
TtsPlayer.INSTANCE.speak(mTtsTestStringArray.get(mTestStringIndex));
|
||||
mTestStringIndex++;
|
||||
if (mTestStringIndex >= mTtsTestStringArray.size())
|
||||
mTestStringIndex = 0;
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
initTtsLangInfoLink();
|
||||
updateTts();
|
||||
}
|
||||
|
|
|
@ -186,7 +186,7 @@ public enum TtsPlayer implements Initializable<Context>
|
|||
return (INSTANCE.mTts != null && !INSTANCE.mUnavailable && !INSTANCE.mInitializing);
|
||||
}
|
||||
|
||||
private void speak(String textToSpeak)
|
||||
public void speak(String textToSpeak)
|
||||
{
|
||||
if (Config.isTtsEnabled())
|
||||
try
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<string name="pref_tts_screen" translatable="false">TtsScreen</string>
|
||||
<string name="pref_tts_enabled" translatable="false">TtsEnabled</string>
|
||||
<string name="pref_tts_language" translatable="false">TtsLanguage</string>
|
||||
<string name="pref_tts_test_voice" translatable="false">TtsTestVoice</string>
|
||||
<string name="pref_tts_info" translatable="false">TtsInfo</string>
|
||||
<string name="pref_tts_info_link" translatable="false">TtsInfoLink</string>
|
||||
<string name="pref_speed_cameras" translatable="false">SpeedCameras</string>
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="app_tips">
|
||||
<item>@string/app_tip_00</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="measument_units">
|
||||
<item>@string/kilometres</item>
|
||||
<item>@string/miles</item>
|
||||
|
|
|
@ -136,20 +136,24 @@
|
|||
android:title="@string/pref_tts_language_title"
|
||||
app:singleLineTitle="false"
|
||||
android:order="2"/>
|
||||
<Preference
|
||||
android:key="@string/pref_tts_test_voice"
|
||||
android:title="@string/pref_tts_test_voice_title"
|
||||
android:order="3"/>
|
||||
<Preference
|
||||
android:key="@string/pref_tts_info"
|
||||
android:selectable="false"
|
||||
android:persistent="false"
|
||||
android:enabled="false"
|
||||
android:summary="@string/prefs_languages_information"
|
||||
android:order="3"/>
|
||||
android:order="4"/>
|
||||
<Preference
|
||||
android:key="@string/pref_tts_info_link"
|
||||
android:selectable="true"
|
||||
android:persistent="false"
|
||||
android:enabled="true"
|
||||
android:summary="@string/prefs_languages_information_off_link"
|
||||
android:order="4"/>
|
||||
android:order="5"/>
|
||||
</androidx.preference.PreferenceScreen>
|
||||
<ListPreference
|
||||
android:key="@string/pref_speed_cameras"
|
||||
|
|
|
@ -5256,6 +5256,94 @@
|
|||
zh-Hans = 语音语言
|
||||
zh-Hant = 語音語言
|
||||
|
||||
[pref_tts_test_voice_title]
|
||||
comment = Settings «Route» category: «Test Voice Directions» title
|
||||
tags = android
|
||||
en = Test Voice Directions (TTS, Text-To-Speech)
|
||||
ar = اختبار الاتجاهات الصوتية (TTS، تحويل النص إلى كلام)
|
||||
be = Тэставыя галасавыя ўказанні (TTS, Text-To-Speech)
|
||||
bg = Тестване на гласови указания (TTS, Text-To-Speech)
|
||||
ca = Prova les indicacions de veu (TTS, Text-To-Speech)
|
||||
cs = Testování hlasových pokynů (TTS, Text-To-Speech)
|
||||
da = Test stemmeanvisninger (TTS, Text-To-Speech)
|
||||
de = Teste Sprachanweisungen (TTS, Text-To-Speech)
|
||||
el = Δοκιμή φωνητικών οδηγιών (TTS, Text-To-Speech)
|
||||
es = Probar indicaciones de voz (TTS, Text-To-Speech)
|
||||
es-MX = Pruebe las instrucciones de voz (TTS, Text-To-Speech)
|
||||
et = Testi hääljuhised (TTS, Text-To-Speech)
|
||||
eu = Probatu ahots bidezko jarraibideak (TTS, Text-To-Speech)
|
||||
fa = تست مسیرهای صوتی (TTS، تبدیل متن به گفتار)
|
||||
fi = Testaa puheohjeita (TTS, Text-To-Speech).
|
||||
fr = Teste les instructions vocales (TTS, Text-To-Speech)
|
||||
he = בדיקת הנחיות קוליות (TTS, טקסט לדיבור)
|
||||
hi = ध्वनि निर्देशों का परीक्षण करें (टीटीएस, टेक्स्ट-टू-स्पीच)
|
||||
hu = Hangutasítások tesztelése (TTS, Text-To-Speech)
|
||||
id = Menguji petunjuk suara (TTS, Text-To-Speech)
|
||||
it = Prova le indicazioni vocali (TTS, Text-To-Speech)
|
||||
ja = 音声案内をテストする(TTS、Text-To-Speech)
|
||||
ko = 음성 길 안내 테스트(TTS, 텍스트 음성 변환)
|
||||
mr = चाचणी आवाज दिशानिर्देश (TTS, टेक्स्ट-टू-स्पीच)
|
||||
nb = Test taleanvisninger (TTS, tekst-til-tale)
|
||||
nl = Test gesproken aanwijzingen (TTS, Text-To-Speech)
|
||||
pl = Testuj wskazówki głosowe (TTS, Text-To-Speech)
|
||||
pt = Testa as direcções de voz (TTS, Text-To-Speech)
|
||||
pt-BR = Testar instruções de voz (TTS, Text-To-Speech)
|
||||
ro = Testarea indicațiilor vocale (TTS, Text-To-Speech)
|
||||
ru = Проверить голосовые подсказки (TTS, Text-To-Speech).
|
||||
sk = Testovanie hlasových pokynov (TTS, Text-To-Speech)
|
||||
sv = Testa röstinstruktioner (TTS, Text-To-Speech)
|
||||
sw = Jaribu maelekezo ya sauti (TTS, maandishi-kwa-hotuba)
|
||||
th = ทดสอบเส้นทางด้วยเสียง (TTS, การอ่านออกเสียงข้อความ)
|
||||
tr = Sesli yönlendirmeleri test edin (TTS, Text-To-Speech)
|
||||
uk = Тестування голосових підказок (TTS, Text-To-Speech)
|
||||
vi = Kiểm tra chỉ đường bằng giọng nói (TTS, chuyển văn bản thành giọng nói)
|
||||
zh-Hans = 测试语音指令(TTS,Text-To-Speech)
|
||||
zh-Hant = 測試語音指令(TTS、文本轉語音
|
||||
|
||||
[pref_tts_playing_test_voice]
|
||||
comment = Settings «Route» category: Pop-up message when clicking «Test Voice Directions»
|
||||
tags = android
|
||||
en = Check the volume or system Text-To-Speech settings if you don't hear the voice now.
|
||||
ar = تحقق من مستوى الصوت أو إعدادات تحويل النص إلى كلام في النظام إذا كنت لا تسمع الصوت الآن.
|
||||
be = Праверце гучнасць або сістэмныя налады пераўтварэння тэксту ў маўленне, калі вы зараз не чуеце голас.
|
||||
bg = Проверете силата на звука или системните настройки за преобразуване на текст в реч, ако сега не чувате гласа.
|
||||
ca = Comproveu el volum o la configuració de text a veu del sistema si ara no escolteu la veu.
|
||||
cs = Pokud nyní hlas neslyšíte, zkontrolujte nastavení hlasitosti nebo převodu textu na řeč v systému.
|
||||
da = Tjek lydstyrken eller systemets tekst-til-tale-indstillinger, hvis du ikke kan høre stemmen nu.
|
||||
de = Überprüfe die Lautstärke oder die Text-to-speech Einstellungen des Systems, wenn du die Stimme jetzt nicht hörst.
|
||||
el = Ελέγξτε την ένταση ήχου ή τις ρυθμίσεις του συστήματος text-to-speech αν δεν ακούτε τη φωνή τώρα.
|
||||
es = Compruebe el volumen o la configuración de texto a voz del sistema si ahora no oye la voz.
|
||||
es-MX = Verifique el volumen o la configuración de texto a voz del sistema si no escucha la voz ahora.
|
||||
et = Kontrollige helitugevust või süsteemi teksti kõnetamise seadeid, kui te ei kuule nüüd häält.
|
||||
eu = Egiaztatu bolumena edo sistemaren testu-ahotsaren ezarpenak ahotsa entzuten ez baduzu.
|
||||
fa = اگر اکنون صدا را نمی شنوید، میزان صدا یا تنظیمات تبدیل متن به گفتار سیستم را بررسی کنید.
|
||||
fi = Tarkista äänenvoimakkuus tai järjestelmän tekstistä puheeksi -asetukset, jos ääni ei kuulu nyt.
|
||||
fr = Vérifie le volume ou les paramètres de synthèse vocale du système si tu n'entends pas la voix maintenant.
|
||||
he = בדוק את עוצמת הקול או את הגדרות הטקסט לדיבור של המערכת אם אינך שומע את הקול כעת.
|
||||
hi = यदि आपको अभी आवाज नहीं सुनाई देती है तो वॉल्यूम या सिस्टम टेक्स्ट-टू-स्पीच सेटिंग्स की जांच करें।
|
||||
hu = Ellenőrizze a hangerőt vagy a rendszer szöveg-beszéd beállításait, ha most nem hallja a hangot.
|
||||
id = Periksa pengaturan volume atau pengaturan teks-ke-ucapan sistem jika anda tidak mendengar suara sekarang.
|
||||
it = Controlla il volume o le impostazioni del sistema di sintesi vocale se ora non senti la voce.
|
||||
ja = 音声が聞こえない場合は、音量またはシステムの音声合成設定を確認する。
|
||||
ko = 지금 음성이 들리지 않으면 볼륨 또는 시스템 텍스트 음성 변환 설정을 확인하세요.
|
||||
mr = तुम्हाला आता आवाज ऐकू येत नसल्यास व्हॉल्यूम किंवा सिस्टम टेक्स्ट-टू-स्पीच सेटिंग्ज तपासा.
|
||||
nb = Kontroller volumet eller systeminnstillingene for tekst-til-tale hvis du ikke hører stemmen nå.
|
||||
nl = Controleer het volume of de tekst-naar-spraak instellingen van het systeem als je de stem nu niet hoort.
|
||||
pl = Jeśli nie słyszysz głosu, sprawdź głośność lub systemowe ustawienia zamiany tekstu na mowę.
|
||||
pt = Verifica o volume ou as definições de conversão de texto em voz do sistema se não ouvires a voz agora.
|
||||
pt-BR = Verifique o volume ou as configurações de conversão de texto em fala do sistema se você não estiver ouvindo a voz agora.
|
||||
ro = Dacă nu auziți vocea acum, verificați volumul sau setările sistemului text-to-speech.
|
||||
ru = Проверьте громкость или системные настройки преобразования текста в речь, если сейчас ничего не слышно.
|
||||
sk = Ak teraz nepočujete hlas, skontrolujte hlasitosť alebo systémové nastavenia prevodu textu na reč.
|
||||
sv = Kontrollera volymen eller systemets text-till-tal-inställningar om du inte hör rösten nu.
|
||||
sw = Angalia mipangilio ya sauti au ya mfumo ya kubadilisha maandishi-hadi-hotuba ikiwa husikii sauti sasa.
|
||||
th = ตรวจสอบระดับเสียงหรือการตั้งค่าการอ่านออกเสียงข้อความของระบบหากคุณไม่ได้ยินเสียงในตอนนี้
|
||||
tr = Sesi şimdi duymuyorsanız ses seviyesini veya sistem metin okuma ayarlarını kontrol edin.
|
||||
uk = Якщо ви не чуєте голос, перевірте гучність або налаштування системи перетворення тексту на мовлення.
|
||||
vi = Kiểm tra cài đặt âm lượng hoặc chuyển văn bản sang giọng nói của hệ thống nếu bây giờ bạn không nghe thấy giọng nói.
|
||||
zh-Hans = 如果现在听不到语音,请检查音量或系统文本到语音设置。
|
||||
zh-Hant = 如果您現在聽不到聲音,請檢查音量或系統文本轉語音設置。
|
||||
|
||||
[pref_tts_unavailable]
|
||||
comment = Settings «Route» category: «Tts unavailable» subtitle
|
||||
tags = android
|
||||
|
@ -26763,3 +26851,46 @@
|
|||
comment = A number of bookmarks and a number of tracks, separated by comma, like: 1 bookmark, 5 tracks
|
||||
tags = android
|
||||
en = %@, %@
|
||||
|
||||
[app_tip_00]
|
||||
comment = Tip #00
|
||||
tags = android
|
||||
en = Thank you for using our community-built maps!
|
||||
ar = شكرًا لك على استخدام الخرائط التي أنشأها مجتمعنا!
|
||||
be = Дзякуй за выкарыстанне нашых карт, створаных супольнасцю!
|
||||
bg = Благодарим ви, че използвате нашите карти, създадени от общността!
|
||||
ca = Gràcies per utilitzar els nostres mapes creats per la comunitat!
|
||||
cs = Děkujeme, že používáte naše komunitní mapy!
|
||||
da = Tak, fordi du bruger vores community-byggede kort!
|
||||
de = Danke, dass du unsere von der Gemeinschaft erstellten Karten benutzt!
|
||||
el = Σας ευχαριστούμε που χρησιμοποιείτε τους χάρτες μας που δημιουργήθηκαν από την κοινότητα!
|
||||
es = ¡Gracias por utilizar nuestros mapas creados por la comunidad!
|
||||
et = Aitäh, et kasutate meie kogukonna koostatud kaarte!
|
||||
eu = Eskerrik asko gure komunitateak eraikitako mapak erabiltzeagatik!
|
||||
fa = از شما برای استفاده از نقشه های ساخته شده توسط جامعه سپاسگزاریم!
|
||||
fi = Kiitos, että käytät yhteisön laatimia karttojamme!
|
||||
fr = Merci d'utiliser nos cartes créées par la communauté !
|
||||
he = תודה על השימוש במפות שנבנו בקהילה שלנו!
|
||||
hi = हमारे समुदाय-निर्मित मानचित्रों का उपयोग करने के लिए धन्यवाद!
|
||||
hu = Köszönjük, hogy használja a közösség által készített térképeinket!
|
||||
id = Terima kasih telah menggunakan peta buatan komunitas kami!
|
||||
it = Grazie per aver utilizzato le nostre mappe costruite dalla comunità!
|
||||
ja = 私たちのコミュニティが作った地図をご利用いただき、ありがとうございます!
|
||||
ko = 커뮤니티에서 제작한 지도를 이용해 주셔서 감사합니다!
|
||||
mr = आमचे समुदाय-निर्मित नकाशे वापरल्याबद्दल धन्यवाद!
|
||||
nb = Takk for at du bruker kartene vi har laget i fellesskap!
|
||||
nl = Bedankt voor het gebruik van onze door de community gemaakte kaarten!
|
||||
pl = Dziękujemy za korzystanie z naszych map stworzonych przez społeczność!
|
||||
pt = Obrigado por utilizares os nossos mapas construídos pela comunidade!
|
||||
pt-BR = Obrigado por você usar nossos mapas criados pela comunidade!
|
||||
ro = Vă mulțumim că utilizați hărțile create de comunitatea noastră!
|
||||
ru = Спасибо, что пользуетесь нашими картами, созданными сообществом!
|
||||
sk = Ďakujeme, že používate naše mapy vytvorené komunitou!
|
||||
sv = Tack för att du använder våra gemenskapsbyggda kartor!
|
||||
sw = Asante kwa kutumia ramani zetu zilizojengwa na jumuiya!
|
||||
th = ขอขอบคุณที่ใช้แผนที่ที่สร้างโดยชุมชนของเรา!
|
||||
tr = Topluluk tarafından oluşturulan haritalarımızı kullandığınız için teşekkür ederiz!
|
||||
uk = Дякуємо, що користуєтесь нашими мапами, створеними спільнотою!
|
||||
vi = Cảm ơn bạn đã sử dụng bản đồ do cộng đồng xây dựng của chúng tôi!
|
||||
zh-Hans = 感谢您使用我们的社区地图!
|
||||
zh-Hant = 感謝您使用我們社區構建的地圖!
|
||||
|
|
Loading…
Add table
Reference in a new issue