27

The aftermarket ROM I use seems to have the language list parred down to just a couple selections, probably to save space.

I would like to add a language back into the system. I can already set the locale using programs such as MoreLocale 2 so that applications with my language support start with the right locale code, however that doesn't add missing system languages. Having the system in another language would be nice, but the main thing is getting the dictionary files for the keyboard auto-complete. How does one go about adding the language support files for an input language to a system or ROM?

I can access other ROM's or the AOSP project to rip things out, but I don't know where to start. What files do I need and what modifications need to be made? Is there an easy way to do this with say a language-pack or is it hackery all the way?

My ROM is fully rooted and I have adb access if necessary. It's Android 2.3.7 (Unofficial CM 7.1 port for Dream/Sapphire) and I'm using the stock Android keyboard. The language I want is Turkish, although unless somebody has a download to point me to it's mostly the process I'm looking for here.

4
  • 3
    As far as I know, 3rd party keyboards should provide their own language sets. If you can find a 3rd party keyboard you like that supports Turkish, then that might be the easiest way to go. Additionally, it does not seem CM supports Turkish: github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread/… (Look under "Translators") But you could always help translate for them.
    – Bryan Denny
    Commented Nov 7, 2011 at 19:17
  • @BryanDenny: Full CyanogenROM's (which I have on another phone) do have native support for Turkish, it's only some stripped versions for the Dream (and others) that are short-changed. I know lots about alternate keyboards with Turkish support, but really want it for the stock Android keyboard (some Market keyboards work great but use too much RAM for the Dream and the lighter ones don't work very well at all). I know it's harder to get setup for the stock keyboard, but that's my question (and why I'm asking).
    – Caleb
    Commented Nov 7, 2011 at 19:22
  • @BryanDenny: The github thing you linked to shows the translators for the Cyanogen specific interface stuff. CyanogenMod ROMs usually have the full language set offered from the AOSP, which includes Turkish. Only a few ROM specific addons don't have translated strings ... but when the ROM isn't compiled with the full locale list, there must be a way to add support for a specific language. What can I pull out of another ROM to add a language?
    – Caleb
    Commented Nov 7, 2011 at 19:36
  • I have no idea, I've done Android dev (even supporting multiple languages in an app), but I haven't done any dev with ROMs. Sorry, wish I could help more. I'd also look on the CM forums or XDA too.
    – Bryan Denny
    Commented Nov 8, 2011 at 2:19

2 Answers 2

11

Adding full language support for a device is done at rom level, the languages that the default keyboard will support are added before compilation and the android keyboard will only give you the option to download dictionaries for the languages it supports. A good workaround is to download a keyboard app (such as GOKeyboard) that supports adding languages unto it.

Locale changing apps are nice but they may not be as thorough in their translation as a rom that was made or specially translated to a specific/your desired language. If your language is Bi-Di (Bidirectional, such as hebrew or arab) and the rom doesn't support it, it may introduce bugs as well!

The best solution will be to flash a new rom that holds your desired language, either a stock rom made for your area by your device manufacturer or a custom rom, Cyanogen is good because it probably supports every language that complies to the unicode standard (including turkish).

2
  • Thanks. Cyanogen is certainly my first choice anyway, but there are actually ROMs that run better on one of my units, the major downside being lack of language support.
    – Caleb
    Commented Jun 25, 2012 at 3:04
  • 2
    but how come the official ROM doesn't have hebrew for instance, and an older samsung s4 with official ROM i have which i have bought half a year ago has it? could it just be a hidden option?
    – Elad Benda
    Commented May 2, 2014 at 13:43
0

See this video

https://www.google.com/search?ei=MLpoXaXLLYHykwXjwqHADQ&q=android+setting+language+missing&oq=android+setting+language+mis&gs_l=psy-ab.3.0.33i22i29i30l2.271266.274795..276526...0.2..0.208.2395.0j13j2......0....1..gws-wiz.......0i71j35i39j0i67j0j0i20i263j0i203j0i22i30.5sRaXAommog#kpvalbx=_R7toXaWQEdHxkwWXnIv4CA22

TL;DW

  • install morelocale app
  • use abd to change the app permission pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
  • use the app to change the locale

NOTE: if you get

Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS

see this answer https://stackoverflow.com/questions/52079343/how-can-i-use-adb-to-grant-permission-without-root

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .