JSON 文件如何进行翻译与本地化
Hi,你好呀,我是May。
昨天跟大家分享了应用程序本地化如何翻译 JSON 文件,然后有小伙伴问我说,那,JSON 文件格式可以直接导入memoQ进行翻译吗?当然可以。
所以,今天跟大家分享另一种常见的格式,JSON文件。
1. 认识应用程序本地化中的 JSON 文本
JSON (JavaScript Object Notation),是一种轻量级的数据交换格式,指的是用于在 JavaScript 处理中描述对象的格式。
json 文件的应用场景:
一般是与浏览器或本机移动应用程序通信的软件。
基本数据结构:
字符串:以双引号""括起来的零个或多个Unicode码位。支持反斜杠开始的转义字符序列。
布尔值:表示为true或者false。
数组:有序的零个或者多个值。
对象:若干无序的“键-值”(key-value pairs),其中键只能是字符串。键与值之间用冒号:分割。“key”: “text”
空值:值写为null
啊哈哈哈,其实上面我自己都不想懂,没关系,再说一遍,我们本地化人员不是程序员,不需要会写,只要认识就行!
所以你只需要知道:
(1)JSON 文件的数据结构长这样:
{"key": "text",
}
其中:
"key" 是键,可以理解为说明型文本不翻译;
"text" 是值,要翻译。
(2)原文可能会含有HTML样式或其它占位符,翻译时必须保留这些字符串。
2. memoQ 如何帮助处理 JSON 文档
memoQ 中支持直接导入 JSON 文件。
对于含有占位符或 HTML 样式的文档,还可以借助层叠过滤器实现。
层叠层叠嘛,第一层是 JSON 过滤器,第二层是HTML过滤器,也可以再加一层正则表达式标注器。
2.1 使用 JSON 过滤器,帮助待翻译的内容
直接将文件导入至项目即可,<span style='background:yellow;'>memoQ自动识别。
如果你的文件样式是JSON样式,但是文档格式是TXT或者其他文本格式,同样可以使用“选择性导入” -> 选择 JSON 过滤器。
2.3 添加正则标注器,帮助处理字符串和非译元素
如果原文中有想<color=yellow>
和{PropName}
这样的字符串和非译元素,需要再加一层正则表达式标注器,并设置正则定义方式。
——这样的话原文中的非译元素可以固定为标签,译员就不会误翻译。
Step 1:在导入项目时,使用“选择性导入”;
Step 2:选择好原文后,默认用的过滤器是 JSON 过滤器。因为原文有字符串,这里选择“更改过滤器和配置”;
Step 3:添加一层正则表达式标注器,并设置正则定义方式。
Step 4:设置完成过滤器,保存层叠过滤器,以供下次使用。然后,点击"确定"即可。
关于正则表达式如何写
我写过一篇应用程序本地化中常用字符串和正则表达式推荐,你可以来学习正则。
当然,memoQ 自带了一个 tags and entities 的标注器,内嵌了像 <color>
这样的标签,也设置了哪些是开标签哪些是关闭标签,你也可以直接使用,还是不错的。
3. 在 memoQ 中进行翻译
导入完成文档后,即可在memoQ中进行翻译了。
在翻译过程中,你会发现:
需要翻译的原文,也就是 key 值就提取出来了,可以安心做翻译。
下方还可以预览原文和译文。
4. 导出译文
翻译结束后,导出就OK啦。
导出译文的操作可以参考如何在memoQ中导出最终译文
这里用了机器翻译的结果。
好啦~今天到这里哦~
更多翻译技术干货,欢迎关注职业译员玩转翻译技术公众号,嘻嘻~
下次见啦,拜~