如何添加新语言?


27

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

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

我可以访问其他ROM或AOSP项目来清除故障,但是我不知道从哪里开始。我需要哪些文件,需要进行哪些修改?有没有一种简单的方法可以说一口语言包,还是一路骇客?

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


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

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

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

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

Answers:


11

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

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

最好的解决方案是刷新一种新的rom,该rom可以保留您所需的语言,或者是设备制造商为您所在地区制造的库存rom,也可以是定制rom。Cyanogen很好,因为它可能支持符合unicode标准的所有语言(包括土耳其)。


谢谢。无论如何,Cyanogen无疑是我的首选,但实际上在我的其中一个单元上运行的ROM更好,主要缺点是缺乏语言支持。
Caleb 2012年

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

0

观看这部影片

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

  • 安装morelocale应用
  • 使用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-to-grant-permission-without-root

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.