实现Recovery模式本地化显示文本定制(recovery_l10n工具的使用)

写在前面:

Recovery模式本地化文本显示我们了解到,recovery是支持恢复出厂设置(正在清楚...)和安装升级包(正在安装系统更新...)本地化文本显示的,除了这两种recovery同样支持“无命令。”和“出错了!”两种文本实现本地化显示,如下:

图1:

图2:

图3:

图4:

而且通过对前一篇博文的描述我们明白这四种文本本地化显示是通过图片合成的方式将各种语言的相关文本合成在同一张图片中,一般来说这四张图片是平台默认提供的,我们并不对其进行定制,但是谷歌提供给我们的四种文本中并不是支持所有语言,即便是支持了所有语言,但是如果有需要要求我们对这四种文本进行修改的时候我们该如何实现呢?

Android
5.x OTA Update官方文档(八、图说Recovery UI)
一文中我们提到,Google在源码的development/tools/目录下为我们提供了recovery_110工具来帮助我们对这些可实现本地化的图片进行修改和定制。

当我们拿到源码之后该如何使用该工具呢?

第一步:编译并生成APP,然后将生成的APP安装在我们需要支持本地化的产品中,这样合成的图片是完全匹配设备中主系统所支持的所有语言的。

第二步:点击“Go”按钮。

第三步:当合成操作完成之后,使用adb pull /data/data/com.android.recovery_l10n/files/text-out.png将设备中合成的图片导出。

第四步:使用“pngcrush -c 0 text-out.png output.png"命令对png图片进行处理(linux环境下,需要安装pngcrush工具),因为读取经pngcrush图片处理的png图片比普通的png图片快很多。

第五步:然后重命名output.png为我们需要的文件名,并放置到bootable/recovery/res/images/目录下。

这样在重新编译recoveryimage就可以生效了。

那么如果我们想要修改某种语言环境下的字符串可以直接在recovery_l10n目录下的res目录下修改对应目录的资源即可,这里举个例子。

例如在简体中文环境下,我们将”正在清除...“修改为”正在清除中..."该如何操作呢?

首先我们需要找到对应国家代码的资源,这里是values-zh-rCN/strings.xml,如下:

<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="recovery_installing" msgid="7864047928003865598">"正在安装系统更新…"</string>
    <string name="recovery_erasing" msgid="4612809744968710197">"正在清除…"</string>
    <string name="recovery_no_command" msgid="1915703879031023455">"无命令。"</string>
    <string name="recovery_error" msgid="4550265746256727080">"出错了!"</string>
</resources>

将上面的"正在清除..."直接修改为“正在清除中..."即可。当然我们如果想添加新的支持的语言,也只是重新创建一个资源目录,格式为res/values-国家代码。

我这里将已经编译好的工具与源码与大家分享,如果大家相对工具进行修改,可以自己尝试一下!

recovery_l10n

时间: 2024-10-01 01:07:37

实现Recovery模式本地化显示文本定制(recovery_l10n工具的使用)的相关文章

Recovery模式本地化文本显示(一、Framework层)

写在前面: 本系列博文所讨论的内容主要是与大家一起讨论Recovery模式本地化显示文本的原理,以及如何使用谷歌提供的recovery_l10n工具实现定制本地化显示的文本. 导读: 首先我们来讨论Recovery模式下本地化文本的显示是如何实现的. 先看两张图,相信很多人都很熟悉,第一张是我们恢复出厂设置操作,关机重启进入recovery模式之后所看到的界面,第二张是通过按键进入recovery模式,带有选项菜单的主界面.一般来说普通用户正常的操作是不会看到第二个界面的,而在第一张图片中我们看

FastBoot BootLoader Recovery 模式解释

理论上,所有的Android设备都存在着Fastboot/Bootloader模式,不过,由于Android操作系统的开源特性,各厂商的对 自家的相关Android设备都有着各自不同的Fastboot/Bootlader模式.当然,并非所有的厂商的都会对旗下设备的Fastboot /Bootloader模式进行锁定.然而,大多数情况下,它们的Fastboot/Bootloader模式是锁定的.但是,值得称道的是,现在越来越多的厂商已渐渐向开发的Fastboot/Bootloader模式过渡,如H

LG N4 进入Recovery 模式后,出现红色感叹号

show和set命令是两条用于维护SQLPlus系统变量的命令 : SQL> show all --查看所有系统变量值 SQL>show user --显示当前连接用户 SQL>show error --显示错误(编译function,procedure,package,pl/sql的时候,可以查看具体的错误提示) SQL>set sqlprompt SQL  --设置默认提示符,默认值就是SQL SQL>set linesize 1000 --设置屏幕显示行宽,默认100

应用程序本地化之文本本地化

一.概念 本地化就是使应用适合与本地区用户习惯的过程.本地化涉及多方面内容,包括文字.货币.日期和图片,甚至语音都需要本地化. 二.本地化分类 1.文本信息本地化 文本信息本地化占有很大的比例,其中包括应用名称本地化.系统按钮和信息本地化以及静态文本信息本地化. 2.nib和故事板文件本地化 3.资源文件本地化 三.下面我们就用genstrings和NSLocalizedString实现应用程序文本本地化.文本本地化就是使文本适合本地区用户习惯的过程.例如当你的iphone或者ipad设置语言为

MTK Recovery 模式横屏修改(适用于6.0 + 8.1)

修改前 修改后 6.0 Recovery 模式横屏修改方法 修改相关文件 bootable\recovery\minui\Android.mk bootable\recovery\minui\mt_graphic_rotate.cpp bootable\recovery\minui\mt_graphic_rotate.h bootable\recovery\minui\graphics_fbdev.cpp bootable\recovery\minui\minui.h 1.在 Android.m

【原】在Matplotlib绘图过程中设置X轴的刻度和显示文本

使用Matplotlib进行绘图时,当x轴的数据太多的时候,就需要设置x轴的刻度和显示文本,关键代码如下: 绘图结果如下:

Cocos2d-X中使用CCTextFieldTTF的简单应用显示文本和弹出软键盘

 学了几天Cocos2d-X后今天终于可以试试Cocos2d-X的跨平台开发了,由于条件的限制,我只会测试Cocos2d-X在Android平台上的开发,今天就以一个简单的文本测试Android上的效果,需要用到CCTextFieldTTF类,CCTextFieldTTF是一个显示文本控件的类用于输入文本和现实文本类似于Windows编程中的Static控件和Edit控件 程序实例:使用TextFieldTTF类创建一个文本,触摸文本弹出软键盘 首先创建一个TextFieldTTF.h的头文

POJ 3461 Oulipo (求模式串在文本串中出现的次数)

Oulipo Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 36128   Accepted: 14584 Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter 'e'. He was a member of the Oulipo group. A quot

Opencv中在图片上显示文本

1.cvPutText函数(在图像中加入文本) void cvPutText( CvArr* img, const char* text, CvPoint org, const CvFont* font, CvScalar color );img :输入图像.text :显示字符串. org:第一个字符左下角的坐标. font :字体结构初始化. color :文本的字体颜色.函数 cvPutText 将具有指定字体的和指定颜色的文本加载到图像中.加载到图像中的文本被感兴趣的矩形框圈定.