本文是翻译 Android 软件的一个经验总结,也可做为入门教程 。后续会更新其他方法
当我们观察一个 Android 软件源码的时候,我们会发现目录底下有个res文件夹,而这里面就存放了软件的语言文件。
/res/values/
这个文件则是英文的语言文件。
<!--示例-->
<string name="navigation_actions_title">功能</string>
打开别被大片大片的英文吓倒,事实上,我们只需要对准这个格式,将括号内的内容给翻译成中文即可。
如果提交的是简体中文,我们需要将 values 文件夹复制一份将文件夹修改为 values-zh-rCN,然后在复制后的文件修改。其他语言的命名我会附在文后。
我的经验
手机端翻译可以使用这个开源软件https://github.com/sunilpaulmathew/Translator
翻译尽可能做到信达雅,直译不出来的也要对应效果。
多查看文档,会对你的翻译有帮助。
注意事项
本文不从安装包层次修改,而是从源码修改。
如果在 GitHub 提交,只需要提交文件夹及strings.xml文件即可
务必检测括号有没有匹配,符号有无缺失,如果是直接对着文件翻译极易出现此问题!
括号匹配可用以下Python脚本检测
file = input("$ Filename > ")
print("****Start Checking****")
with open(file, "r", encoding="utf8") as f:
lines = f.readlines()
status = 0
line_number = 0
errors = 0
for line in lines:
line_number += 1
for chara in line:
if chara == "<" and not status%2:
status +=1
elif chara == "<" and status%2:
print("Fatal at line {}".format(line_number))
errors += 1
elif chara == ">" and status%2:
status += 1
elif chara == ">" and not status%2:
print("Fatal at line {}".format(line_number))
errors += 1
if not errors:
errors = "no"
print("****There are {} errors****".format(errors))
print("****End Checking****")
中文(中國):values-zh-rCN 中文(台灣):values-zh-rTW 中文(香港):values-zh-rHK 英語(美國):values-en-rUS 英語(英國):values-en-rGB 英文(澳大利亞):values-en-rAU 英文(加拿大):values-e%
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。