前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 软件翻译入门指北

Android 软件翻译入门指北

原创
作者头像
蛋黄
发布2022-03-02 22:57:25
1K0
发布2022-03-02 22:57:25
举报

本文是翻译 Android 软件的一个经验总结,也可做为入门教程 。后续会更新其他方法

封面
封面

当我们观察一个 Android 软件源码的时候,我们会发现目录底下有个res文件夹,而这里面就存放了软件的语言文件。

代码语言:txt
复制
/res/values/

这个文件则是英文的语言文件。

代码语言:html
复制
<!--示例-->
 <string name="navigation_actions_title">功能</string>

打开别被大片大片的英文吓倒,事实上,我们只需要对准这个格式,将括号内的内容给翻译成中文即可。

如果提交的是简体中文,我们需要将 values 文件夹复制一份将文件夹修改为 values-zh-rCN,然后在复制后的文件修改。其他语言的命名我会附在文后。

我的经验

手机端翻译可以使用这个开源软件https://github.com/sunilpaulmathew/Translator

翻译尽可能做到信达雅,直译不出来的也要对应效果。

多查看文档,会对你的翻译有帮助。

注意事项

本文不从安装包层次修改,而是从源码修改。

如果在 GitHub 提交,只需要提交文件夹及strings.xml文件即可

务必检测括号有没有匹配,符号有无缺失,如果是直接对着文件翻译极易出现此问题!

括号匹配可用以下Python脚本检测

代码语言: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****")
代码语言:javascript
复制
中文(中國):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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档