查看原文
其他

游戏本地化深度指南:如何高效翻译与处理多语言PO文件

可爱的冬梅 职业译员玩转翻译技术
2024-09-09

Hi,你好呀,我是May。

今天继续跟大家分享游戏本地化常见的源文档,PO文件~

(其实之前写过一篇简单的,这次更新为新内容~)

在进行游戏和应用程序本地化时,我们最常见的文档是多语言Excel文档,详见游戏本地化时,如何翻译多语言的Excel文档

此外,还有一种常见的语言包文档,就是 PO 文件。

比如我在电脑一搜,就找到很多语言包的 PO 文档,如剪映云的PO文件。

所以今天分享:如何翻译多语言的 PO 文档

1. 认识应用程序本地化中的 PO 文本

PO 是 portable object (可跨平台对象)的缩写,可以被 Java 程序、GNU gettext 或其他软件程序作为属性文件引用,是应用程序本地化时常见的文档。

我的观点还是:我们本地化人员不是程序员,不需要会写,只要认识就行!

我们来以一个demo文档认识一下,什么是 PO 文档:

这里的例子我就用我下载好的剪映云自带的 PO 文档做案例了,如有侵权,联系修改~

1.1 PO 文件的数据结构

PO 文件的数据结构长这样。其中:

  • # 井号后面一般是注释;

  • msgid ""——msgid空格引号,引号内是原文

  • msgstr ""——msgstr空格引号,引号内是原文翻译结束后的译文的内容

1.2 PO 中的占位符

根据编程语言不同,原文可能会含有HTML样式或其它占位符翻译时必须保留这些字符串

1.3 句段的注释

既然是注释,也注释的类型怎么区分呢?在PO 中,具体的注释类型由紧随井号的字符决定,比如:

  • #—— 井号后面紧跟空格,是译员的注释;

  • #.——井号后面紧跟紧跟句点,是额外注释,一般是从源代码注释生成

  • #:—— 井号后面紧跟冒号,表明待翻译语句的出处,一般标记源代码文件及行数

  • #,—— 井号后面紧跟逗号,一般是由编译器生成的格式注释。

1.4 上下文的场景

有时,同一个句子在不同的场景里要翻译成不同的意思。所以为了区分上下文的场景,在 PO 文件中也会通过 msgctxt 字段,来明确句子在程序中的具体位置和含义。

1.5 单复数区分

对于有单复数的语言而言,PO 支持设置单复数区分

CCJK(简中繁中日韩)是没有单复数的,就不行~

那,这样的文件如何翻译呢?

2. memoQ 如何帮助处理 PO 文档

memoQ 中支持直接导入 PO 文件

对于含有占位符或 HTML 样式的文档,还可以借助层叠过滤器实现。

层叠层叠嘛,第一层是PO gettext(也就是 PO) 过滤器,第二层是HTML过滤器,也可以再加一层正则表达式标注器

2.1 PO gettext(也就是 PO) 过滤器,帮助解析不同列。

直接将文件导入至项目即可。

2.2 添加正则标注器,帮助处理字符串和非译元素

如果原文中有想<color=yellow>{PropName}或者 \n 这样的字符串和非译元素,需要再加一层正则表达式标注器,并设置正则定义方式。

——这样的话原文中的非译元素可以固定为标签,译员就不会误翻译。

Step 1:在导入项目时,使用“选择性导入”;

Step 2:选择好原文后,默认用的过滤器是 PO gettext过滤器。因为原文有字符串,这里选择“更改过滤器和配置”;

Step 3:添加一层正则表达式标注器,并设置正则定义方式。

Step 4:设置完成过滤器,保存层叠过滤器,以供下次使用。然后,点击“确定”即可。

关于正则表达式如何写

我写过一篇应用程序本地化中常用字符串和正则表达式推荐,你可以来学习正则。

当然,memoQ 自带了一个 tags and entities 的标注器,内嵌了像 <color>这样的标签,也设置了哪些是开标签哪些是关闭标签,你也可以直接使用,还是不错的。

3. 在 memoQ 中进行翻译

导入完成文档后,即可在memoQ中进行翻译了。

在翻译过程中,你会发现:

  • msgid中的原文就提取出来了,可以安心做翻译。

  • 下方还可以预览原文和译文

4. 导出译文

翻译结束后,导出就OK啦

导出译文的操作可以参考如何在memoQ中导出最终译文

这里用了机器翻译的结果。

好啦,希望你上内容可以帮到你,有用可收藏~


更多翻译技术干货,欢迎关注职业译员玩转翻译技术公众号,嘻嘻~



喜欢可以星标哦~

下次见啦,拜~


往期精选

JSON 文件如何进行翻译与本地化

应用程序本地化如何翻译 PO 文件

解密预翻译的奥秘与技巧,提升翻译效率!

面向译员和PM的正则表达式指南

Everything中常用的4种搜索方法和应用场景

正则篇(一):认识正则表达式

正则篇(二):如何写一个正则表达式

正则篇(三):用正则在CAT中查找和替换

正则篇(四):源文件准备

正则篇(五):用正则进行文本解析

正则篇(六):用正则将文本标记为标签

正则篇(七):用正则检查译文质量

memoQ中的正则表达式助手

这是一篇关于正则表达式的汇总(新)

游戏本地化中常用字符串和正则表达式推荐

继续滑动看下一个
职业译员玩转翻译技术
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存