五月份,我宣布了 Kotlin 官方参考文档翻译完毕的消息,其中有提到这也是唯一一份完整且最新的官方参考文档翻译。不仅如此,其中值得一提的还有翻译质量。
Kotlin 中文站良好的翻译质量跟很多不错的翻译实践是分不开的。这些实践对于其他文档翻译项目也有很高的参考价值,特单独拿出来分享。
直接 fork 外文源站
这个在 Kotlin 官方参考文档翻译完毕已经介绍过:这样做的显著优势是官方站有任何更新可以及时合并进来。虽然这可能会引入冲突解决环节,并可能会影响翻译完整度,但这些与所带来的优势相比都是微不足道的。毕竟很难想象错过勘误的文档甚至内容陈旧的文档如何称之为质量好。
行级对照翻译
Kotlin 中文站翻译参考文档时,我们要求翻译后的中文与英文原文能够行级对应,即每行都是一一对应的。如果英文的一段文字分作了多行,中文也要按照原文分作多行,如下图所示:
这样做有两点优势:
- 源站更新后合并过来时,能够减少冲突发生,并且在发生冲突时也便于解决。
- 能够逐行对照中英文,便于检查是否有遗漏或者失误的地方。
当然这样一来,会引出一个问题。比如上图的倒数第二段,英文加了两个断行,分别发生在 of
与 inside
之前。中文与之对应,分别断在函数
与中的
之前,而这样一来渲染出的网页就会在断词处多出空格,如下图红圈标注的地方:
当然,如果现在打开 https://www.kotlincn.net/docs/reference/classes.html,在文末并不会看到相应的空格,那是因为我们通过利用 HTML 注释的方式解决了这一问题,见下图:
小屏校对
我基于 Kotlin 中文站的参考文档制作了相应的 GitBook,之后发现用手机看 ePub 版电子书的时候更容易发现问题,因为手机屏幕尺寸较小,每屏的字数要比电脑屏少很多,更容易聚焦在局部。如果细读这页,就会发现第二段代码有些问题:
也许你已经看出来了,注释导入所有名为“goo”扩展
读起来不通顺,因为扩展
前面少了个的
。这样就发现了一处疏忽,加上之后就好了:
上图再往下看,会发现代码中还有问题。没错,括号不对称,fun usage
应该以大括号结尾,但是代码中却是圆括号。通过对比我发现源站就有这一拼写错误,修正后提 PR 给源站,然后再合并回来,就是现在的样子了:
统一术语
相信统一术语的重要性已经深入人心,这里只举一些实际的例子:
- “方法”还是“函数”:受既有 Java 术语影响,早期的翻译中很多本该译为“函数”的地方也翻译成了“方法”,因为 Java 中统一称“方法”。 但 Kotlin 不一样,它既有“方法”也有“函数”,甚至也可以像 C++ 那样将方法称为“成员函数”。 所以最好的翻译方式就是“忠于原文”,即原文用“function”则翻译为“函数”,原文用“method”则翻译为“方法”。
- “范围”不准确:在统一校对前,译文中有不少“范围”这一术语,其中有的原文是“range”也有的是“scope”。 对于“scope”更确切的译法应该是“作用域”。 而对于“range”更确切的译法应该是“区间”,尤其是“close range”自然应该译作“闭区间”。
- “型变”:泛型相关的术语“variance”译为“型变”、“covariant”译为“协变的”、“contravariant”译为“逆变的”。而“invariant”没有译为“不变的”, 为避免歧义,结合型变这一词根,将其翻译为“不型变的”。
- “注解”怎么办:通常注解的名词形式“annotation”很好翻译,即“注解”。而其动词形式如果也翻译为“注解”就比较麻烦了,尤其遇到
annotated with the annotation
这样的词句时。 因此,Kotlin 中文站通常将参考文档中的“annotate”翻译成“标注”或者“用注解标注”。这样刚刚提到的词句就翻译为“用该注解标注的”。 - “参见”与“参阅”:在统一校对前,“see … for”有多种译法,包括“查看”、“参见”、“参阅”等。统一校对后,将“see … for”统一译为“关于……请参见”。 而将“read … for”统一译为“关于……请参阅”。
注重细节
其实上面介绍的几条都包含了不少细节在里面。Kotlin 中文站参考部分在翻译过程中所注重的细节还有:
- “the”有时也要翻译。尤其用于特指上文中提到的一项事物时,通常译作“该”。
- 注释也翻译。参见上面的例图。
- 中文与英文之间留空格。
- 文中以及代码注释中出现的标点都替换为全角。
- 表示代码省略的
...
也替换为中文省略号……
。 - 英文中表示并列关系的逗号,翻译后转换为顿号。如
“The following escape sequences are supported:\t
,\b
,\n
,\r
,\'
,\"
,\\
and\$
.”
翻译为
“ 支持这几个转义序列:\t
、\b
、\n
、\r
、\'
、\"
、\\
与\$
。”
群策群力
- 翻译
一个人能力毕竟有限,Kotlin 中文站是由大家共同翻译的,参见贡献者名单。 - 校对
后期主要由我来统一校对,使用了行级比较、小屏校对等方法,还用到了一些脚本与小工具作为辅助。 但是即便如此,还是会有在所难免的疏漏之处。 这时多人的力量再次凸显:多人评审、读者反馈与协作改进这些实践中的多人参与让 Kotlin 中文站的翻译质量越来越好。
由衷感谢参与 Kotlin 中文站翻译与改进的每个人。 Kotlin 中文站的翻译工作还在进行中,教程部分还有很多章节需要翻译,另外随着官方参考文档的更新中文站也需及时更新,欢迎更多人参与进来。
相关推荐
此外,为了保证翻译质量,还需要考虑一些细节。例如,源码中的技术术语可能需要更准确的翻译,因此可能需要自定义词典或者设置专业领域。同时,注释的格式保持原样非常重要,不能因为翻译而破坏了原有的代码结构和...
- **背景与目的**:随着Google项目数量的增长,公司不断积累并提炼出了一系列优秀的工程实践,并将其以文档形式整理并公开发布,旨在帮助其他公司、组织及开源项目提升软件开发水平。 - **覆盖范围**:这些实践涉及...
总之,AnyLangDoc作为一个开源的文档翻译服务,体现了开源社区的力量,提供了与世界各地的用户分享信息的桥梁。通过深入理解和参与这样的项目,不仅可以学习到开源软件的开发实践,还能接触并掌握前沿的自然语言处理...
12. **单元测试与集成测试**:为了保证代码质量,开发者通常会编写测试用例,如JUnit测试和Espresso UI测试。 13. **开源许可证**:开源软件需遵循特定的许可证,如Apache 2.0、GPLv3等,确保代码的合法使用和分享...
AWTK开发手册-AWTK开发实践指南-中文手册.pdf AWTK = Toolkit AnyWhere 随着手机、智能手表等便携式设备的普及,用户对 GUI 的要求越来越高,嵌入式系统对高性能、高可靠性、低功耗、美观炫酷的 GUI 的需求也...
这份中文文档正是为了解决这一问题,尽管翻译质量可能不尽如人意,但仍然可以作为参考,帮助理解原版英文文档,尤其在遇到不清晰的部分时,可以结合英文原文进行对比阅读。 **一、项目暗星的核心特性** 1. **...
- 鼓励用户发现翻译或格式问题时提出PR(Pull Request),以便持续改进文档质量。 8. 开源项目和资源: - 提供了与MQTT相关的多个开源项目链接,包括MQTT中文翻译项目、Awesome-Kotlin、Kotlin-Koi、Next公共组件...
6. **质量保证**:提供质量检查工具,确保翻译的准确性和一致性。 7. **词汇库管理**:建立并维护术语库,保持品牌语言的一致性。 8. **导入导出**:支持多种格式的文件导入和导出,如`.PO`、`.XML`、`.JSON`等,...
3. 测试与质量保证:开源项目通常依赖自动化测试框架,如JUnit或pytest,以确保代码的质量和稳定性。 4. 集成与部署:持续集成/持续部署(CI/CD)工具,如Jenkins或GitHub Actions,可以自动构建、测试和部署SiteLock...
使用协同编辑工具(如GitHub的Pull Request或GitLab的Merge Request)进行代码审查和翻译校对,可以保证质量并减少错误。 9. **文档风格指南**:翻译规则可能还包括对文档排版、注释和示例代码的样式规定。遵循统一...
接着,进行校对和审查,确保翻译质量。此过程中,团队协作至关重要,以保证翻译的一致性和完整性。 【贡献与协作】 开源项目的成功往往依赖于社区成员的贡献。对于这个PHP手册的翻译项目,任何人都可以参与,无论...
《14从社区到企业-odoo 12.0文档.pdf》和《23Testing Odoo — odoo 12.0 documentation.pdf》可能分别涉及了Odoo从开源社区版本到企业版本的扩展和升级,以及测试策略和自动化测试的实施,这些都是确保软件质量的...
- 自动化测试是保证Web应用质量的关键环节。文档将提供如何在Django中编写测试用例的信息。 13. Django的类视图和基于函数的视图 - Django提供了两种编写视图的方式。文档会分别介绍类视图和函数视图的使用场景和...
4. **翻译与文档**:为软件编写文档,或将其本地化到不同语言。 5. **代码审查**:参与代码审查,确保代码质量和遵循最佳实践。 ### 四、总结 Wh32Edit作为一个开源的《黑暗预兆》游戏编辑器,不仅为玩家提供了...
在文档的许可证限制和保证方面,它规定了用户对软件和文档的使用权限,明确用户在没有明确许可或法律授权的情况下,不得复制、翻译、修改或传播软件和相关文档。同时,文档也提示用户在某些情况下,如法律要求实现互...
为了保证代码质量,开源项目通常会采用CI/CD流程,每次代码提交都会触发自动化测试和构建,确保新代码不会破坏现有功能,并能快速部署到生产环境。 8. **版本控制**: 开源软件的版本控制通常使用Git,这使得代码...
5. **质量保证(Quality Assurance,QA)**:检查翻译的完整性和一致性。 二、主流CAT工具介绍 市场上的CAT工具有很多,例如: 1. **Trados Studio**:全球最广泛使用的CAT工具之一,强大的TM和术语管理功能。 2....
社区成员可以通过提供建议、翻译文档、编写插件等方式参与进来。 七、文档与教程 为了让新用户快速上手,Numbrella应该有详尽的文档,包括安装指南、用户手册、开发者文档等。此外,教程和示例可以帮助用户了解...
10. **文档编写**:良好的文档是开源项目的关键组成部分。熟悉Markdown或LaTeX等格式编写技术,可以帮助创建清晰易懂的用户指南和开发者文档。 总的来说,Quizmaster 是一个涉及多种技术领域的开源项目,对希望提升...