How to declare the fallback language on Android for TalkBack? - android

I have an Android app that currently only has a fallback language, so all strings are in res/values/strings.xml and are in English. This works fine with TalkBack while the OS is also set to English. However, as soon as I change the OS language to anything other than English, TalkBack starts to speak those English words using the pronunciation of the OS language, which is weird and hard to understand.
How can I declare to the Android OS what the language of my fallback resources is so that TalkBack can choose the correct pronunciation to use?

Unfortunately, as far as I know Talkback doesn't support auto language switching. Google TTS seems to do some auto switching based on non-latin characters these days, but for latin languages it just doesn't do anything except keep the phone language. So, I'm afraid there's nothing you can do to facilitate this.

Create a strings.xml variation for english and leave it like this
<resources ...>
</resources>

According to the official doc:
https://developer.android.com/training/basics/supporting-devices/languages
https://developer.android.com/guide/topics/resources/providing-resources#AlternativeResources
You can create different values-xx folder to support different languages!
Hope this can help you!

Related

Android localization at runtime example shows empty strings for languages other than English

I'm trying to implement Android Localization (currently for Hindi Language). I found this tutorial. However, there is a problem that I'm facing with it.
When I click the Select Language option, I can see only English in the dropdown. The remaining two are invisible. Not quite sure as to what the issue could be.
The problem could be your used font missing hindi characters. There seems to be various similar questions on stackoverflow that might be related, perhaps they can help?.
Another option could possibly be the encoding, which you could change similar to (I don't know which is the default encoding though, or whether it already supports Hindi or not):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="string_name">text_string</string>
</resources>
#felix's answer helped me to understand the root cause.
Basically, the issue was that my emulator did not have Hindi language support. That's why it showed empty strings.
However, when I ran the same app on my phone, which apparently does have the Hindi language support since I'm in India, it worked like a charm.

Delphi Arabic character display issue on android

i am using arabic characters for the first time in my app
this is how they should look like :
But this is how they end up :
things i tried:
changed the phone language to arabic.
i chose this font :Arabic type settings. i found in the fonts list
things works well for windows, its only in Android i get the problem.
i believe i am missing something because i never used arabic in apps before.
i appreciate your help.
Fire Monkey does not support right-to-left languages like Arabic. Unfortunately your chosen framework is not capable of meeting your needs. You will need to find a different tool to write your app.

Android studio and localizing apps

I'm currently working on an app, which will be used (hopefully) by various tourist to my city. as such, i would like to complement as many languages as i can, and i have the appropriate translators to do so. I've read and started to implement the various different resources in the res folder, i already have some translated, i have a folder for each language as described in the guide from google.
How do I make the app initiate as non-English language in my phone while testing? for example Spanish. every time i run it, it's always English, and i would like to see that the app also works in the other languages, but i can't find anywhere how to initiate it.
I realize I might be simply overlooking something basic.
Thanks.
The language of the app is based on the system language. You need to change the language in Settings -> Language & input.
Change phone language from Settings->Language & input
If you use a physico-chimiques devices you have to change the languages of your device
If you use a emulator I think you can set the language on the creation.
If your tester have a android with spanish language, the app will be automatically on spanish. (if you create a filé string.xml in a values-es folder)

How can I detect system Chinese, Korean, and English fonts without embedding one for each? (AIR mobile on Android and IOS)

My learning app requires displaying Korean, English and Chinese. One solution I have is to embed a Korean/English font and a Chinese font. Then put together a string with different TextFormats.
The thing is, I'm positive that IOS and Android devices should contain native Chinese, Korean and English fonts already, and I'd much rather refer to and use those fonts instead of packing them.
I tried detecting fonts by using Font.enumerateFonts(true), but when I use font.hasGlyphs('你'), I don't get a true, or anything, so I don't know how to choose the proper device font.
If that doesn't work, is there a font that contains all of those Characters? Or maybe a font-builder program that'd allow me to customize a font to include
This was something that I wrote sometime back
http://blogs.adobe.com/airodynamics/2012/08/21/supporting-languages-with-unicode-characters/
Hopefully it helps you
You can always know the name of font specific to the language. May be this http://support.apple.com/kb/HT5878.
Now based on the language you want to show just change the value of font in the statement format.font and the correct language should come up.

Android how to display English for phone with any languages

I'm developing an app and would like to use only English (for now) for all different languages on a user phone.
Is that by default the (values/strings.xml) will be used for all or do I have to copy/replicate all the (values/strings.xml, values-es/strings.xml, values-fr/strings.xml, etc.) with English in them?
Thanks.
Just put your English strings in values/strings.xml and all users using your app will see English.
When you are ready to support additional languages, you can refer to Android doc on language support.

Categories

Resources