# 汉化应用
我们前面已经去除了签名校验,现在开始进行汉化。
点击 MTestApp_kill.apk 选择查看 进入安装包内,点击 resources.arsc 文件,选择翻译模式,进入后会看到非常多的语言包,着实有点碍眼,让我们删掉没用的语言包,只保留默认语言和简体中文。

# 精简语言包
要精简语言包的话,需要使用 Arsc 编辑器。让我们退出翻译模式,再次点击 resources.arsc 文件,选择 Arsc 编辑器,进入 cn.mt2.mtestapp。

字符串资源一般存在于 string、array、plurals 三个类型中,在这边我们只看到 string 类型,所以我们只需要精简 string 里面的配置就行了。
点击 string 进入配置列表,因为我们只保留默认语言和简体中文,所以把除了 string 和 string-zh-rCN 之外的配置都删掉(点击右上角菜单可批量删除)。

如果你在汉化其它 app 时没有找到 string-zh-rCN,你可以自己新建一个,或者干脆把默认语言包内的文本都翻译成中文。
看到这边你可能会问,明明有 string-zh-rCN 这个简体中文语言包,为什么这个 app 的界面还是英文的?
我们可以对比两个语言包来寻找原因,进入默认语言包往下拉,可以看到从 001C 到 0025 的文本,基本都是主界面上显示的那些文字,但进入 zh-rCN 后会发现从 001C 到 0025 的文本大部分都缺失了。
也就是主界面上的那些文字只存在于默认语言包,而在简体中文语言包中没有对应的条目。
所以我们在 string-zh-rCN 中点击右上角的添加菜单,选择 string 来源,把缺失的从 001C 到 0025 的条目添加进来。

现在,我们完成了语言包的精简,并且把简体中文语言包中缺少的词条添加进去了。
点击菜单保存文件,退出 Arsc 编辑器。返回主界面后 MT 会提示你更新文件,点击确定。
# 安装翻译插件
在正式开始翻译之前,需要先在 主页面侧边栏 - 工具 - 插件管理 - 插件中心 里面选一个翻译插件安装。

# 开始汉化
再次点击 resources.arsc 文件,选择翻译模式,这次只看到 [DEFAULT] 和 zh-rCN 了,即默认语言和简体中文。
选择 zh-rCN 进入,我们需要翻译的是这几个文本:

点击界面底部的地球图标按钮进行自动翻译,下面是谷歌翻译结果:

有些地方翻译得不太通顺,稍微调整一下:

补充一下,一些词条中会存在如:
%s、%d、%1$s之类的格式化占位符,这些符号在翻译后必须保留原样,而使用自动翻译可能会破坏格式化占位符,你可以在翻译之后使用右上角菜单的检查功能进行检查。
翻译完成后点击菜单保存翻译结果,返回后再点击菜单保存文件,退出翻译模式。(注意两次保存)
返回主界面后会提示 "resources.arsc" 文件已被修改是否更新,这里记得勾选自动签名,避免后续还得对 apk 文件手动进行签名。

# 效果测试
更新完文件后,点击同步按钮(底部第四个按钮⇄)即可在另一窗口定位我们当前打开的 MTestApp_kill.apk 文件,点击并安装它。

安装完打开你会发现,大部分已经完成汉化。
点击下面的按钮,显示的数字会不断增加,更新提示中会显示“新版本:1100”,如果这两处显示不正确,说明格式化占位符被破坏了。

欢迎页面的 Welcome!、输入框的 Password、第一个按钮的 OK,这三处文本没有完成汉化,我们要去其它地方找找。
# XML 翻译
让我们再次打开 MT,点击 MTestApp_kill.apk 选择 功能 - XML 翻译模式,进入后可以找到刚刚没翻译的三个词条,直接进行翻译。

# 效果测试
翻译完成后保存(勾选自动签名)并退出,安装 MTestApp_kill.apk。

这次没问题了,但我们已经完成了所有的文字汉化。
假如在 Arsc 和 Xml 中都没有找到要翻译的词条,那么可以试试去 Dex 文件中查找。