Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android 软件翻译入门指北

Android 软件翻译入门指北

原创
作者头像
蛋黄
发布于 2022-03-02 14:57:25
发布于 2022-03-02 14:57:25
1.1K00
代码可运行
举报
文章被收录于专栏:蛋黄的部落格蛋黄的部落格
运行总次数:0
代码可运行

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

封面
封面

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

代码语言:txt
AI代码解释
复制
/res/values/

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

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

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

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

我的经验

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

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

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

注意事项

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

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

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

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

代码语言:python
代码运行次数:0
运行
AI代码解释
复制
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
代码运行次数:0
运行
AI代码解释
复制
中文(中國):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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
我们知道资源被注册到R.java我们通过R.java就可以读取到界面中的组件。跟我们.net一样,通过ID来读取组件 知识点: 通过R.java读取组件 MainActivity.java通过find
用户1149182
2018/01/16
5660
.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
Android实现多语言so easy
      最近,我们公司的业务已经拓展到了香港,我们都知道香港使用的是繁体中文,因此,我们的APP要可以设置繁体语言,这不我们要紧跟国际的步伐,实现多语言,产品定给我们的需求主要以实现简体中文、繁体中文、英文三种语言切换即可,具体的业务逻辑是:当用户第一次进入APP时,App的语言跟随当前系统语言,当用户设置了某种语言之后就切换为用户设置的语言,不管系统之后设置成哪种语言,都不会影响用户设置的语言,如果用户一直没有设置语言选项,只要系统语言改变时,APP的语言也要跟随系统语言设置改变。
程序员飞飞
2020/02/27
1.3K0
Android中的资源
Android中的资源是一种非常优秀的、高效的解耦设计,通过使用资源文件,Android应用可以把各种字符串、图片、颜色、界面布局等交给XML文件管理,可以避免在Java代码中以硬编码的方式直接定义这些内容。本章中我们就针对Android中的各种资源,包括字符串资源、尺寸资源、样式和主题资源、图片资源、布局资源等以及国际化和资源自适应等知识进行深入讲解。
张哥编程
2024/12/17
2480
Android中的资源
简单实现Android平台多语言
比方<string name=”quit_dlg_title”>提示</string> <string name=”quit_dlg_content”>累了吧!歇息一下吧!记得回来哦!</string> <string name=”quit_dlg_okbtn_title”>好的</string> <string name=”quit_dlg_cacelbtn_title”>点错了</string>
全栈程序员站长
2022/07/06
6310
Android studio项目引用三方aar出现,打包出来的app_name本替换掉了
最近接入三方渠道商的SDK出现打包出来的apk包,在手机安装后桌面显示的名称被强制成别的名称了
包子388321
2020/06/16
1.5K0
Android开发笔记(八十三)多语言支持
app中有许多场景要对汉字排序,例如通讯录姓名、商品名称、城市名称等等,这些汉字词汇通常是按照拼音排序,所以产生了把汉字转换为拼音的需求。
aqi00
2019/01/18
1.1K0
Android 国际化(多语言)兼容8.0
Android中实现国际化相对来说还是简单的,因为Android有很独特的资源管理方式,我们可以很轻松的创建资源支持不同语言.
用户1269200
2018/12/24
2.1K0
Python3调用Google翻译
想弄一个批量翻译的东西,奈何百度翻译别人根本不研究,所以只能看谷歌翻译的了;这份代码的作者写的太聪明了,是真的很棒,思路很好,看到这样的代码简直年轻10岁
Elapse
2020/08/17
1.5K1
Android 多语言应用(步骤+源码)
  什么样的应用需要多语言呢?应用国际化,比如你的应用同时要在国内和国外使用,因此你需要对你的应用增加不同的语言。
晨曦_LLW
2020/12/09
1.2K0
Android 多语言应用(步骤+源码)
Python3 动手自己写谷歌翻译(学员作品)
本篇为实现谷歌翻译的功能,在编写的时候以为只是一个接口的问题。 没想到的是每次翻译都会触发一次JS的执行,在请求参数中生成一个tk。 文中tk的实现是复用的网上大神的代码生成tk。 好了,不说了直接看代码吧! # /usr/bin/env python # -*- coding: utf-8 -*- import urllib.parse import execjs,requests,termcolor class Return_tk(): def __init__(self):
IT苦逼一枚
2020/11/25
8590
Python3 动手自己写谷歌翻译(学员作品)
基于jQuery.i18n.properties 实现前端页面的资源国际化
哎_小羊
2018/01/02
4K0
基于jQuery.i18n.properties 实现前端页面的资源国际化
Android App 国际化
前言 internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化),简称L10n。一般用语言_地区的形式表示一种语言,如zh_
QQ音乐技术团队
2017/11/01
4.9K0
Android App 国际化
如何使用poedit翻译?
简单介绍下,把po文件直接导入poedit 就可以编辑了。不过有时候根据软件的使用语言不通,编辑后的po文件不一定能直接读取。 举例:下面是我汉化的主题languages文件夹,把en_US.po导入poedit翻译后,因为我的wordpress主语言是中文简体,所以最后保存的时候要另存为zh_CN.po文件才能被识别出来。
陌涛
2019/03/01
3.2K0
Android 百度翻译API(详细步骤+源码)
  百度翻译开放平台也是属于百度智能云的一部分,所以你如果注册过百度的账号都是可以直接登录,当然最好做一下开发者认证,这样一些API的开放力度会大一些,再来说一下写这篇文章的初衷吧,首先我是弄过百度的翻译的,我之前并没有写过这方面的博客,而有读者看过我之前写的关于百度语音识别和百度文字识别的博客,于是问我百度翻译的相关问题,其他突然这么问我,我也是很懵逼的(´⊙ω⊙`)。因为你光凭一个问题现在不足以解决这个问题,一般来说按着官方文档来做基本上没问题,剩下的就是细节上的处理了,所以借着这个机会,索性写一篇这样的文章,就当是做个记录把。   熟悉我写百度类似文章思路的朋友肯定知道,第一步是创建平台应用,点击百度翻译开放平台进入,至于登录和注册以及实名认证和开发者认证就没有讲述的必要了,如果你自己连这几步都无法独立完成的话,我也没有什么好说的了。如下图所示,我已经登录好了。
晨曦_LLW
2020/12/01
2.5K0
Android 百度翻译API(详细步骤+源码)
手把手教你用Python脚本调用 DeepL API Pro 进电子书的行进行中英文自动翻译
前几天有个叫【张茜】的粉丝找我看了一个代码,关于电子书中英文自动翻译的,感觉挺有意思,这里拿出来给大家分享下。
Python进阶者
2021/12/13
2.5K0
手把手教你用Python脚本调用 DeepL API Pro 进电子书的行进行中英文自动翻译
Android入门基础教程(小白速成1)
编译工具:Android Studio 各种工具其实大同小异 开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(Empty Activity)和Android 4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。 话不多说,进入正题吧!
全栈程序员站长
2022/08/22
1.2K0
Android入门基础教程(小白速成1)
使用AI翻译电影字幕
本文介绍了如何使用 Python 调用 ffmpeg 和 Gemini 实现电影字幕的翻译。效果可以看“效果展示”部分。
云云众生s
2024/04/24
2690
[314]谷歌翻译
首先在github上我们找到了这篇链接 https://github.com/ssut/py-googletrans 然后运行 pip install googletrans 这个命令,去下载提供的这个库。
周小董
2022/04/12
1.5K0
[314]谷歌翻译
项目里文件名永远不要用中文!永远不要!
最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行。
崔庆才
2019/05/06
3.5K0
项目里文件名永远不要用中文!永远不要!
【Hexo】自定义 Hexo 配置文件
上一篇里,介绍了使用 Hexo + github pages + travis ci 实现自动化博客部署,我们已经收获了一个属于自己的博客,但现在还比较简陋,里面的设置信息都是默认的数据,所以我们需要把它们改成我们想要的内容。
弗兰克的猫
2020/05/09
1.2K0
相关推荐
.Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验