我使用的售后ROM似乎将语言列表简化为几个选择,可能是为了节省空间。

我想将语言重新添加到系统中。我已经可以使用诸如MoreLocale 2之类的程序来设置语言环境,以便具有我的语言支持的应用程序从正确的语言环境代码开始,但是不会添加缺少的系统语言。用另一种语言来安装系统会很好,但是最主要的是让字典文件自动完成。如何将一种输入语言的语言支持文件添加到系统或ROM中?

我可以访问其他ROM或AOSP项目来提取内容,但是我不知道该去哪里。开始。我需要哪些文件,需要进行哪些修改?是否有一种简单的方法可以说一个语言包,还是一路骇客?

我的ROM已完全扎根,如有必要,我可以访问adb。它是Android 2.3.7(用于Dream / Sapphire的非官方CM 7.1端口),而我使用的是库存的Android键盘。我想要的语言是土耳其语,尽管除非有人下载以指向我,否则这主要是我在这里寻找的过程。

评论

据我所知,第三方键盘应该提供自己的语言集。如果您找到喜欢的支持土耳其语的第三方键盘,那么这可能是最简单的方法。此外,CM似乎不支持土耳其语:github.com/CyanogenMod/android_vendor_cyanogen/blob/gingerbread / ...(在“译者”下查看),但您始终可以为他们提供翻译。

@BryanDenny:完整的CyanogenROM(我在另一部手机上拥有)的确对土耳其语提供了本地支持,只是对Dream(和其他)的一些剥离版本进行了短暂更改。我对支持土耳其语的备用键盘了解很多,但确实希望将其用于库存的Android键盘(某些Market键盘工作得很好,但Dream占用了太多内存,而轻巧的键盘根本无法很好地工作)。我知道很难为股票键盘进行设置,但这是我的问题(也是我问的原因)。

@BryanDenny:您链接到的github东西显示了针对Cyanogen特定界面的东西的翻译器。 CyanogenMod ROM通常具有AOSP提供的完整语言集,其中包括土耳其语。只有几个特定于ROM的插件没有翻译过的字符串...但是,当ROM未使用完整的语言环境列表进行编译时,必须有一种添加对特定语言的支持的方法。我可以从其他ROM中提取些什么来添加语言?

我不知道,我已经做过Android开发(甚至在一个应用程序中支持多种语言),但是我还没有完成过ROM的开发。抱歉,希望我能提供更多帮助。我也会在CM论坛或XDA上查看。

#1 楼

在rom级别添加对设备的完整语言支持,在编译之前添加了默认键盘将支持的语言,而android键盘只会为您提供下载其所支持语言的字典的选项。
解决方法是下载一个支持向其中添加语言的键盘应用程序(例如GOKeyboard)。

更改区域设置的应用程序虽然不错,但它们的翻译可能不如专门制作的rom那样彻底。翻译成特定/所需的语言。如果您的语言是Bi-Di(双向,例如希伯来语或阿拉伯语),并且rom不支持它,则它也可能会引入错误!

最好的解决方案是刷新一个新rom Cyanogen可以满足您所需语言的要求,无论是设备制造商为您所在地区生产的现货rom还是定制rom,因为它可能支持符合unicode标准的所有语言(包括土耳其语),因此非常有用。

评论


谢谢。无论如何,Cyanogen无疑是我的首选,但是实际上ROM在我的一个设备上运行得更好,主要缺点是缺乏语言支持。

–卡莱布
2012年6月25日在3:04

但是,举例来说,官方ROM为何没有希伯来语,而我半年前购买的带有旧版ROM的三星s4呢?难道只是一个隐藏的选择?

– Elad Benda
2014年5月2日13:43

#2 楼

观看此视频

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 = _R7toXaWQEdHxkwWXn22
; TL; DW


安装更多语言环境应用程序
使用abd更改应用程序权限pm grant dogfooderz.com.morelocales android.permission.CHANGE_CONFIGURATION
使用应用程序更改语言环境

注意:如果得到

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

请参见以下答案https://stackoverflow.com/questions/52079343/how-can-i-use-adb-授予无根权限