I am trying to test an app that contains Hebrew text. However, I cannot change the android OS to display the UI in hebrew. I don't see Hebrew as one of the language choices in the Language and Input settings.
I tried using persist.sys.language=iw and persist.sys.country=IL, which shows me Hebrew (Israel) in Hebrew text in the Language setting. But, the rest of the UI is in English and my app is in English as well.
I know that Hebrew shows up as a language choice in my friend's Samsung Android phone.
I am using 4.0 with API level 14 for the emulator.
Any help would be appreciated.
Marcelo
As far as I understand, support for various locales is dependent on the vendor.
Vendors could choose to remove certain locales for whatever reason. Did your friend get the phone from the same vendor/carrier as you did.
If all else fails, there are instructions for rooted phones here and apps on the Android Market that might help.
Android support huge variety of locales but it never means that you'll find all language support in all the devices.
In case you want any specific language support in your application you have to package the appropriate fonts for the same in your application.
Remember Android supports Open Type Fonts only.
In case you need to install specific font in your phone/ emulator then you need to either buy a device with that font support / root the device or build your own emulator with your specified fonts.
Related
According to official docs, on Android prior to 7.0 if application can't find exact combination of device's Country&Region, it will use default language.
I'm using Android 6.0 (Genymotion).
In application I have localization for next languages:
strings.xml - English - default<br>
de-rAT<br>
de-rCH<br>
de-rDE
On device I choose de-rLI and I expect to see my app in English, as my app has no such alternative resource.
But! My app is running under de-rDE translation.
Why is that happening?
I created an android phonegap application which displays information in multiple languages like Hindi, Fijian, etc. Hindi language content displays properly in properly in emulator but it is not working on actual android device. It displays a small square box.
I'll explain the steps:
I used web font converter and converted de.ttf, it generated 3 files.
I copied all theses files to folder named "font" in my project directory.
I added font-face in css.
I called the font-face in a div and added Hindi text.
Thanks in advance.
I am guessing Android emulator does not display Hindi font answer shows the issue.
Problem with Hindi keyboard on Android 2.3 emulator is another duplicate.
From what I understand the Hindi is not implemented fully in older phones. It likely works in your emulator due to your emulator's operating system version being higher than the phone. I suggest you change create a new emulator image with the same version as phone and test it. If it does not work on emulator then bump the OS version up until it does. This will have to be your apps minimum OS version.
If for some reason at the same version the text does display correctly, then something else is going on.
I have a free open source app that already supports multiple languages. To test the languages I switch the phone's setting | language and everything works just fine.
Once in a while I get requests from people that want to translate the app to a language that is not listed on my own device (CM 7.1 or US Nexus 7). For example, the last one was for Albanian. I presume that the language code is 'sq' so I can create res/values-sq with the translation they provide but how can I test it on my own phone?
Is there a way to force my app to use a specific language code (e.g. 'sq'), even if it is not listed in my phone's settings?
To clarify, I don't want to reinvent language switching, just to influence the resource selector to use res/values-sq.
If it matters, the app uses android:minSdkVersion="8".
Your phone vendor chose not to include the Albanian locale, so unfortunately you won't be able to choose it. This is usually vendor specific and depends greatly on your location. For example, Samsung will not include the Albanian locale in an Android build used for phones to be distributed in the US.
As for forcing your app directly to choose one of your locale's, it is not doable afaik. The best you could do (in case you want to test your resources) would be to recreate the project and remove all the other resources and leave the Albanian-specific ones. The system will "be forced" use them.
According to this Azerbaijani language is not supported by Android 2.2 - however they claim "Note: Android supports more locales than are listed above.".
So how it is actually ? Is there support for Azerbaijani language? Are there issues writing applicaiton which have to display text in Azerbaijani?
Try just writing a test application that just displays some Azerbaijani text in Unicode. If it looks right, then your Android device has a Unicode font that includes the characters used in Azerbaijani.
If the text is not rendered correctly, then your problem will be adding the right font. On Mac OS X you would just drag-and-drop a font file into the right folder, but on Android you will need it installed in the operating system's display server. That might not be possible if you want to run on handsets that are locked down by their manufacturer.
If the font isn't there, maybe you can find a good Open Source Unicode font for Azerbaijani. File a feature request with the Android developers to get the font into the next release of Android. Unfortunately you'll have to wait a long time and will only work with recent releases.
If you're really desperate and you're willing to go to a lot of effort, you could build a font rendering engine into your application. I don't think that has to be as hard as it sounds. Then you will be able to run on any Android release and you won't have to wait around for the handset manufacturers to pick up the response to your feature request.
Locale.getAvailableLocales()
That method returns an array of all supported locales.
I have selected some of the languages (like Hindi, English(India), English(United Kingdom) etc.) from Input languages option in Android keyboard settings in my emulator (Android 2.3 API). But the problem is that neither it is showing HINDI characters on Soft Keyboard nor displaying some of the Numbers on the keys e y u i o.
Problem is exactly shown in below given screenshot:
Also it is displaying rectangular boxes instead of characters.
Read this Android Feature Request. If you read towards the end (December 2010), you will see discussions of Gingerbread (Android v2.3) and that although it has gone some way to supporting Hindi language, it is still not providing full support 'out of the box'.
i tried changing fonts in platforms/android9/data/fonts folder and then created new avd.
please try krutidev010 font is it working then.