本文是针对简体中文(zh-CN)文档的翻译指南。如果你所使用的语言尚未有翻译指南,而你又希望新建的话,欢迎你联系我们负责该语言的翻译团队。
同样地,如果你对本文的指南有任何改进的建议,请提出问题(issue)或发起 PR。我们对此表示欢迎。下面进入简体中文翻译指南的正文部分。
若你对 MDN 上使用的 Markdown 格式不熟悉,请参阅如何使用 markdown 来撰写文档。
每个文档的开头都会有元数据,但在翻译本地化文档时,我们不需要将上游文档中的所有元数据字段都复制到本地化文档中。对于 page-type
、browser-compat
和 spec-urls
等元数据被用于站点管理和自动化数据处理,本地化文档中无需包含它们。此外,出于追踪文档同步情况的目的,我们在基本的元数据类别的基础上引入了 l10n.sourceCommit
,用于记录对应英文文档的最新提交。本地化文档中应该使用的元数据说明如下:
title
(必须):为文档的大标题short-title
(可选):为显示在侧边栏和面包屑中的短标题,若本地化文档采用的短标题与英文文档相同,则无需添加该元数据slug
(必须):为与网页 URL 相关的元数据(URL path 部分的规则为:/<locale>/docs/<slug>
),请与对应的英文文档保持一致l10n.sourceCommit
(可选):为对应英文文档的最新提交的 SHA 值,请在完整同步英文文档翻译后更新或添加该元数据
最终在简体中文文档中呈现的元数据如下所示:
title: HTMLAnchorElement:hash 属性
slug: Web/API/HTMLAnchorElement/hash
l10n:
sourceCommit: a3d9f61a8990ba7b53bda9748d1f26a9e9810b18
文档中的目录导航、与代码块相关联的运行实例等会使用到 HTML ID。而对于 Markdown 文档,其渲染得到的 HTML 文件的 ID 则与 Markdown 文档中的标题相对应(但这并不意味着两者相等,yari 平台对于半角空格、标点等有特殊处理)。
例如,对于标题:
## Examples
在简体中文文档中的翻译应该是:
## 示例
对于英文的示例代码块,可以选择翻译其中的注释、字符串、输出结果等等,但不建议对变量、函数、方法等名称进行翻译。
一些示例代码块会有与之对应的“实例”(即对示例代码运行效果的实时展示)。这些实例是通过 {{EmbedLiveSample}}
等宏来实现的,因为在本地化文档中会翻译英文标题,请注意一并修改运行实例宏的第一个参数为相对应的中文标题(参见:运行实例)。
在翻译文档时,请记得将 MDN 站内网页的链接中的语言替换为 zh-CN
,以便读者能够访问与之对应的本地化文档。此外,对于站内链接,请只保留 URL 中的路径及其之后的部分(去除协议和域名)。
例如:
If you are new to HTML, CSS, JavaScript, etc., try our [Learn web development](/en-US/docs/Learn) tutorials.
在翻译时,应该将 URL 路径开头的 /en-US
替换为 /zh-CN
:
如果你刚刚开始了解 HTML、CSS、JavaScript 等相关知识,你可以试着完成我们的 [Web 开发教程](/zh-CN/docs/Learn)。
还需特别注意路径后带有片段标识(fragment)的站内链接,请同步更新片段标识为本地化文档中指定标题的 ID(若不清楚标题和 ID 之间的转换规则,可以在浏览器的开发者工具中查找对应标题的 ID)。
例如,对于以下链接:
Reference to [Live sample macros](/en-US/docs/MDN/Writing_guidelines/Page_structures/Live_samples#live_sample_macros).
请对应中文文档,更新其片段标识:
参考:[运行实例宏](/zh-CN/docs/MDN/Writing_guidelines/Page_structures/Live_samples#运行实例宏)。
请注意,无论指向的本地化文档是否存在,都请让链接指向本地化文档。yari 平台可以在指向本地化文档的链接不存在的情况下,自动将其回落到对应英文版本的链接。
为保证简体中文文档格式的一致性,翻译指南列出了部分规范。
除了代码中使用的符号以及一些特殊情况外,请将英文(半角)符号替换成中文(大部分为全角)符号。
但请注意,请不要使用全角数字(特殊情况除外)。
示例如下:
- 正确:
我们可以学习 JavaScript——一种很酷的语言
- 错误:
我们可以学习 JavaScript--一种很酷的语言
- 正确:
以下示例是“可交互的”
- 错误:
以下示例是"可交互的"
另外,请注意并列的词语间应使用顿号而非逗号:
- 原文:
a, b, and c
- 宜:
a、b 和 c
- 不宜:
a,b,和 c
名称 | 中文 | 英文 |
---|---|---|
括号 | () | () |
冒号 | : | : |
引号 | “” | "" |
破折号 | —— | -- 、 — |
简体中文标点符号参考资源:
对于简体中文文档,请在中文和拉丁语系文字之间保留一个空格,但在拉丁语系文字和中文标点之间,则无需保留空格。
示例如下:
- 正确:
学习 Web 开发
- 错误:
学习Web开发
- 正确:
学习 JavaScript、HTML、CSS 等
- 错误:
学习 JavaScript、 HTML、 CSS 等
- 正确:
应用程序接口(API)
- 错误:
应用程序接口( API )
对于链接文字和非链接文字部分,同样适用此规则:
- 正确:
它指向一个[示例](#示例)
- 错误:
它指向一个 [示例](#示例)
- 正确:
指向 [MDN 开发者文档](https://developer.mozilla.org/)的链接
- 错误:
指向[MDN开发者文档](https://developer.mozilla.org/)的链接
请注意,数字与中文之间也请保留空格:
- 正确:
需 10 个小时完成
- 错误:
需10个小时完成
英文文档中,对于较长的段落,会通过断行的形式截断,以方便维护文档。但在 Markdown 中,断行会引入空格,在简体中文翻译中,我们有如下约定:
- 在段落不是特别长的情况下(200 个字符以内),请不要断行。
- 若段落过长,也请在中文与拉丁语系文字、数字之间,或是句子末尾断行。
例如:
This is an example.
We usually write a paragraph into multiple lines.
Like this.
而在中文文档中,应该使它们在同一行内:
这是一个示例。我们不应该断行写这一段话。就像这样。
我们无需将“you”翻译为“您”,在文档正文部分的翻译中,请统一使用“你”。
英文文档中,为了使语句的语法正确,会使用大量的复数形式。在中文翻译中,则无需保留这些复数的形式(未翻译的英文名词也同理)。
- 原文:
Application Programming Interfaces (APIs)
- 宜:
应用程序接口(API)
- 不宜:
应用程序接口(APIs)
- 不宜:
应用程序接口们(APIs)
我们在仓库中维护了一个术语表,旨在统一目前还未有明确中文翻译的术语。在翻译文档时,请尽量使用术语表中的术语,以保证文档的一致性。
如果术语表中缺少某些术语,或者你对其中的术语翻译有任何疑问,欢迎提出议题或发起 PR。
英文文档中使用了一些常见标题,为了保持简体中文文档的一致性,请在翻译时参考术语表中的标题和表格的翻译。