Krita 中文翻译工程参与指南
Krita 是一个自由、开源的软件项目,它的中文翻译是完全由志愿者完成的。
- 简体中文
- 要参加 Krita 的简体中文翻译,请通读本文、参与者手册及其相关页面。
- 要报告 Krita 的简体中文翻译缺陷,请到简体中文用户社区提出。
- Krita 的 G’MIC 插件的简体中文翻译目前由 Krita 的中国大陆用户社区志愿者维护,请到简体中文用户社区提出参与。
- 繁體中文
软件翻译是一个需要持续投入的艰辛过程。热情较高的业余翻译者每天能翻译 100 条左右,全职状态下每天大概能翻译 400 条。Krita 各关联项目的翻译规模如下 (2021 年):
- Krita 主程序 (约 14,000 条,35,000 词)
- kseexpr 库 (约 200 条,2,000 词)
- Krita 文档 (约 12,000 条,190,000 词)
- digiKam (约 9,000 条,60,000 词)
- Kdenlive (约 6,700 条,14,000 词)
- 部分关联翻译散落在 KDE Frameworks 和 Qt 中 (约 1,000 词)
在本文写作时,这些项目已经 100% 完成了简体中文翻译,且有专人维护。如果在未来发现这些项目开始无人维护翻译,请有志者及时接手,并利用本文记载的经验减少入门翻译时的困难。
1. 加入 KDE 简体中文翻译小组
KDE 是 Krita 的上级项目,KDE 社区维护着包括 Krita 在内的大量自由开源软件,它的简体中文翻译由 KDE 简体中文翻译小组 负责。这个小组完全由志愿者组成,不存在明显的组织分工。各人在业余时间翻译感兴趣的项目,并在能力允许的范围内为其他成员提供有限的互助。请前往 KDE 中国网站加入团队的微信群。
2. 列出 Krita 的可翻译文件
在 Crowdin 加入 KDE 简体中文翻译工程后,点击“Chinese Simplified”进入可翻译文件列表,在“Filter files”框输入“krita”,即可筛选出所有 Krita 项目的可翻译文件;Krita 使用的 Seexpr 表达式 Qt 扩展库 (主要用于填充图层) 的翻译是独立于 Krita 的另一个 KDE 子项目,在上述筛选框输入“kseexpr”即可列出相关项目:
- trunk (最近新增条目)
- messages
- krita (Krita 主程序)
- website-docs-krita-org (文档)
- _contributors_ (参与者手册)
- _general_concepts_ (数字绘画基础知识)
- _index_ (文档首页)
- _faq_ (常见问答)
- _reference_manual_ (参考手册)
- _resource_pages_ (资源下载)
- _tutorials_ (实例教程)
- _user_manual_ (使用手册)
- kseexpr (Seexpr Qt 扩展库)
- stable (长期稳定条目)
你可以参加其他 KDE 软件项目的翻译工作,本页面介绍的经验对它们而言也适用。目前尚未完全翻译的其他 KDE 知名项目有:
注意事项:
- krita.pot 有两个:trunk 版和 stable 版。trunk 版管理新增条目,stable 版管理稳定条目。如果在 trunk 版里看到灰色条目,请转到 stable 版中翻译,反之亦然。
- 进度条蓝色的部分代表已提交翻译,绿色的部分代表已审核翻译。
- 翻译文档时,术语应以 krita.pot 中的同名项目为准。它们往往会比已发布的软件的翻译更新一些。
- 下列内容需要在 Crowdin 网站之外翻译:
- 文档的插图翻译:
- 翻译人员需要自行制作新图像
- 然后在 GitLab 平台对原文档项目进行 fork
- 在 fork 中 Upload 新增图像到对应的文件名,每种语言都有固定的后缀
- 提交 Merge Request。
- 由于过程过于麻烦,在本文写作时 Krita 的文档插图尚未直接翻译。如果插图文字价值较高,则通过扩写插图配文的方式翻译插图文字。
- Gmic-Qt 滤镜扩展程序:位于 Gmic-Qt 源代码库 的 translations 文件夹
- Krita 安装程序专用翻译:位于 Krita 源代码库 的 /packaging/windows/installer/translations 文件夹
- Krita 安装程序公共翻译:位于 NSIS 源代码库 的 /NSIS/trunk/Contrib/Language files/ 文件夹
- 其他非 Krita 或者 KDE 管理的第三方扩展程序等请自行联系作者询问翻译手。
3. 翻译指导思想
Krita 是一个创意工具软件,逐字翻译原文的效果不理想。可按照中文习惯、界面操作等重新组织语言,做到流畅、易懂、易联想。译文应当简明扼要、平实规范,避免咬文嚼字、舞文弄墨和滥用流行语。
4. 翻译页面
- (1) 筛选条目
- 要查找某个条目,可在翻译页面左上的“Search in file”框中输入条件。
- (2) 筛选显示
- 筛选框右边有一个“Filter strings”按钮,它默认将未翻译条目置顶显示。
- 选择“All”将按照源文件顺序列出所有项目,有利于系统理解各个条目之间的联系。
- 还可以选择仅显示未翻译、已审核、未审核的项目。
- (3) 关联信息栏
- 页面中间上栏的 Context 显示了当前项目的关联信息。
- 以 Brush smoothing 为例,它的 context 是:#: plugins/tools/basictools/kis_tool_brush.cc:327。
- 你可以将 context 中的“basictools”或者“kis_tool_brush”粘贴到筛选框。
- 即可列出与它同类或者显示在软件界面同一位置的其他项目,方便理解它与相关项目的联系。
- action 类项目是可以分配快捷键的操作。
- 有些条目被多个位置引用。如果这样造成中文翻译困难,请报告缺陷到 translation 分类。
- 有些项目带有标记格式,请参考下文介绍翻译,切勿删除原标记。
- (4) 术语
- 参考现有翻译。
- 某些容易错翻的术语会带有下划虚线,鼠标悬停时可以显示术语解释参考。
- 拖黒任意原文单词/词组后可以创建术语解释。
- 谨慎创建新术语,不要给那些大家应该都懂的术语创建解释。
- 尽可能以行业规范、大学教材为准。
- (5) 翻译栏
- 切勿删除旧版翻译和错误的翻译,直接提交新翻译即可,否则有可能造成同步后新旧版翻译乱序。
- 未审核项将自动采用最新提交的版本。
- 已审核项不会自动采用最新提交的版本。只有 Proofreader (校对员) 和 Administrator (管理员) 两种用户才可以进行审核。
- 如果对当前已审核版本有异议,请先提交新翻译,然后在下面介绍的 Comment 栏提交 Issue。也可以通过 Vote 功能进行投票,以引起校对员的注意。
- (6) 翻译记忆
- 以前被翻译过,但因原文更改被丢弃的翻译依然会被保留在 TM (Translation Memory) 中。
- 只要原文相似度足够高,它们就会显示在翻译框下面的 TM 列表,可以用作新翻译的参考。
- (7) 注释和讨论
- 点击右上角的其中一个按钮可以展开右栏。
- 在 Comments 选项卡可以讨论,如需引起审核人员注意请勾选“Issue”框。
- 在 Comments 栏讨论时记得 @ 你的讨论对象。输入 @ 后会开始按照输入的文字推荐候选对象。
- 你也可以在页面右上角的对话泡泡按钮处向对方发送私信。
5. 具体格式
- (1) 标准用语
- 人名、软件名、组织名、英文缩写、指令等
- you
- (暂定) 软件采用“您”,不采用“你”。因为软件是用户的工具。
- (暂定) 文档采用“你”,不采用“您”。因为文档是用户的老师。
- coordination
- a/an
- 根据语境判断。原则上能省略就不翻译成“一个某某”而直接是“某某”
- the
- 根据语境判断。可以翻译成“该”、“此”、“原”、“其”等。
- 其他术语
- 参考现代汉语规范词典、相关大学教材、相关行业规范软件的惯例。
- (2) 标点符号
- 一般标点
- 采用全角中文标点。
- ,。!:;“”
- 注意:Krita 软件中的“:”和“;” 应使用半角。如果原文冒号后如果有空格,尤其是“行尾冒号+空格”时,空格不能省略。
- 括号
- 数字
- 采用半角阿拉伯数字,避免中文数字。
- 0 1 2 3 4 5 6 7 8 9
- 特殊符号
- 采用半角标点。
- | / \ + – * & % # @
- 有程序功能的分隔符
- (3) 中文/英文/数字/符号/标题
- 中文和英文/数字相邻时,插入一个半角空格。这是因为并非所有软件都会自动加宽中英文之间的间隙。
- 中文 English 中文
- 中文 123 中文
- 中文全角冒号:后面不用跟半角空格。
- 中文引号“”两侧不需要有半角空格。
- …这样的句子结尾酌情用:代替。
- 如果你发现原句没有句号,但按照语境应该加句号,那就加上句号。
- 如果字串是文章的标题、段落标题,应该去掉原文有时错误包含的 . 和 … 和 : 等结尾。
- (4) 换行
- 非特殊情况切勿改变原文换行换段
- 切勿在翻译框手动按回车换行,这是无效的
- 除非确定该条目为 XML ,否则切勿使用 <br/> 换行,因为文档将被截断显示
- (5) Krita 软件特有标记
- 在翻译时,根据前述的“关联信息栏”的介绍,打开软件观察实际界面,打开相关的文档页面查看介绍,三者结合判断。
- 在 Krita 软件的翻译中有时会遇到类似下面的标记:
- %
- 通常是 %1 %2 %3 这样的格式,软件会自动替换它们为动态数值。
- 保持原样,切勿翻译
- &
- 通常是 &Close 或者 E&xport… 这样的格式,
- 软件会将它们显示为 Close 或者 Export… ,在 & 后面的英文字母会自动加上下划线提示 Alt 组合键。
- 中文翻译为 关闭(&C) 或者 导出(&X)… ,英文大写,中文和括号间不插入半角空格。
- <>
- 这是 XML 标记,用于控制格式,不要翻译它们,翻译被一组标记包围的内容即可。
- 例如:<html><p> Chinese </p></html> 翻译为 <html><p> 中文 </p></html>
- …
- 采用 … (可以输入中文省略号……后删掉其中一半获得)
- 如果按钮或者菜单项的文本带有 … ,意味着它们会打开一个对话框。
- (6) Krita 文档特有 Sphinx 标记
- 完整介绍请参考相关指南。
- 在翻译时,根据前述的“关联信息栏”的介绍,打开软件观察实际界面,打开实际的文档中心网站查看实际效果,三者结合判断。
- 原文的标签有时杂乱影响阅读,可以删减并直接翻译为纯文字。
- Sphinx 标记与中文邻接时
- 插入半角空格区分,否则标记将损坏。
- 例如:中文 :ref:`label_name` 中文;中文 `url`_ 中文;中文 “代码片段“ 中文。
- 如果插入半角空格不符合中文习惯时,使用反斜杠+空格“\ ”对空格进行转义。通过 PO 文件和编辑器翻译时,需要用两个相邻反斜杠“\\ ”对空格进行转义。
- 例如:“床前\ `明月 <https://krita.org/>`_\ 光”会被连贯显示,而“明月”的链接依然有效。
- 固定标题内部链接
- :ref:`label_name`
- 不要翻译这种标记。它将被自动替换一个超链接,链接文字为带有 label_name 标签的页面的标题
- label_name 可在 docs.krita.org 网站目标页面右上角的 </> 图标打开源代码后,在文件头的 .. _label_name: 处找到
- 自定义标题内部链接
- :ref:`label_name` 与 :ref:`自定义标题 <label_name>` 的链接相同
- :term:`Paste`与 :term:`粘贴 <Paste>` 的链接相同
- “自定义标题”部分可翻译,它是链接实际显示的文字。
- 切勿改动其他部分,切勿删除中文与后面方括号之间的半角空格。可在半角空格前插入半角反斜杠“\ ”对空格进行转义,这样空格将不会显示出来。
- 外部链接
- 自定义标题外部链接
- `自定义标题 <url>`_
- “自定义标题”部分可翻译,它是链接实际显示的文字。
- 将“url”替换为实际网址。
- 界面标签
- :guilabel:`OK`
- 将在 OK 周围显示高亮色
- :menuselection:`File –> Save`
- 菜单项标签,将把 –> 转换为实心三角形。
- :program:`Krita`
- 程序名标签,实际效果是加粗。如果原文胡乱加粗搞得页面过于杂乱,可去除此标签,直接写软件名即可。
- 图像
- 目前原则上不翻译,具体翻译方式请参考此说明。
- 无标题图像
- .. image:: /images/sample.png
- 带标题图像
- .. figure:: /images/sample.png
- 斜体和加粗
- *斜体*
- **加粗**
- 前后星号外必须插入半角空格,否则标记将损坏。如:中文 **加粗** 中文。
- 英文为斜体的,中文以加粗代替。
- 英文不应翻译的,保持斜体。
- 速记标签
- | action | 会被自动文档源代码中指定的任何东西。
- 最常见的是鼠标按键图标:|mouseleft|、|mousemiddle|、|mousescroll| 和 |mouseright| 。
- 切勿翻译它们。
- 代码片段
- 手动断行
- 在每行前面加入“| ”,注意空格。此功能未经测试。
7. 消除歧义
- 如果在软件中发生英文原文存在一词多用的情况,有时会导致中文翻译困难。此时可以对源代码进行编辑以消除歧义 (Disambiguation)。方法如下:
- 在 4 (3) 小节提及的 Context 栏找到相关字符串源代码所在位置
- 前往 Krita 的开发网站编辑源代码。
- 开发网站 | 参与开发指南| 消除歧义指南
- .ui 文件:<string> 改为 <string comment=”语境”>
- .cpp 文件:i18n(“翻译”) 改为 i18nc(“语境”, “翻译”)
- 同名字符串只要语境不同,将被视为不同的字符串
8. 翻译人员署名
翻译人员署名会被显示在 Krita > 菜单栏 > 帮助 > 关于 > 翻译人员
- 如需新增翻译人员署名,打开 krita.pot 并找到:
- Your names (新增一个名字,用半角的逗号+空格区隔)
- Your emails (新增一个电邮,用半角的逗号+空格区隔)
- 注意:人名和电邮的数量必须相同,它们按顺序对应。匿名电邮请使用“用户名@kde.org”。
- 新增后,请联系 Proofreader 类人员进行审核,否则不会被默认采用。
- Krita 主程序和文档翻译人员目前不做区分。
- Krita 官方网站显示的署名信息由网站翻译人员手动更新。
- Crowdin 网站虽然会显示贡献了翻译的用户,但如果 pot 文件的名称或者项目名称发生了变化,就需要管理员帮忙移植。移植后条目显示的贡献用户就会变成 Crowdin 的管理员 (郭云鹤)。这不会影响 Krita 的关于对话框中的署名。
9. 审核批准
如果之前已经存在的译文是“已审核(Approved/Verified)”的话,你的新翻译将不会被自动采用。请联系在微信群中呼叫校对人员 (Proofreader) 协助审核。
10. 翻译生效流程
大致来说,只要你提交了翻译,后面的事情你就不用管了。新翻译迟早会生效,但不会立即生效。快的一两天,慢的一个季度,因为它要经过下面的流程:
- [当前] 你提交了新翻译。
- [+ 一周内] 找到 Proofreader (审核校对人员),让他批准 (Approve) 你提交的新翻译。
- [+ 一个月内] Crowdin 网站管理员构建整个 KDE 中文翻译 (在 Activity) 页面显示为“Built”)。构建的时机不定,取决于 KDE 整体翻译的维护需求。一个月一般会构建一两次,有时候会因为技术问题延后。如果翻译内容重要,或者正式版软件即将发布,可以在微信群呼叫管理员尽快构建。
- [+ 一天内] KDE 中文翻译项目的 SVN 代码库每天会从 Crowdin 自动拉取构建后的翻译文件。
- [+ 马上或者几个月内] 文档的翻译会在一天内生效,软件则要等待软件发布新的正式版。在发布前几天,它们会从 KDE 中文翻译项目中拉取构建后的翻译文件,将新版翻译打包到新版软件中。软件的发布周期为一到三个月。
11. 已知问题
- Krita 软件有少量虽然可以翻译,但不能显示翻译的地方。如“确定”、“取消”按钮等。此问题将在 Krita 5.0 解决。
- 文档的英文原文一旦更新,即使是订正了一个大小写或者标点符号,该改动所在的整段文字的翻译都将全部丢失。因此我们在文档网站的主页提供了稍旧的,翻译完整的离线 epub/PDF 文档的网盘链接。
- 如有问题,请联系 Tyson Tan / 钛山 ([email protected]),也可以在各个社区,如 QQ 群中咨询其他人的意见。