Доступность Android для TextView в разных локалях
В моем приложении я установил android:text="@string/myText" для TextView. Этот myText выбирается из strings.xml в зависимости от локализации (английский / немецкий).
Для английского: НАСТРОЙКИ
Для немецкого: EINSTELLUNGEN
Когда TalkBack включен, Android объявляет о НАСТРОЙКАХ (локаль - английский), но не объявляет EINSTELLUNGEN (локаль - немецкий).
В чем будет причина?
Имеет ли КАПИТАЛЬНЫЕ ПИСЬМА текста какое-либо отношение к этому?
Ниже мой TextView в XML:
<TextView
android:id="@+id/settings_text"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:gravity="center_vertical"
android:text="@string/settings"
android:textColor="@color/st_white"
android:textStyle="bold"
android:textSize="15sp"/>
Строка "settings" присутствует в двух разных файлах strings.xml для английской (по умолчанию) и немецкой версии.
Английский: values /strings.xml<string name="settings">SETTINGS</string>
Немецкий: values-de/strings.xml <string name="settings">EINSTELLUNGEN</string>
Я вижу дисплей, если включена настройка "Отображать речевой вывод" (Настройки TalkBack -> Настройки разработчика), но не может слышать то же самое.
1 ответ
Эта проблема была решена путем обновления Google Talkback и Google Text-to-Speech из Playstore.
После обновления обоих я должен выключить Talkback (если он уже включен), изменить локаль устройства (в моем случае на Deutsch для немецкого), а затем включить Talkback. Это автоматически загрузит обновления для языка преобразования текста в речь.