菜单

翻译指南

相关源文件

目的与范围

本文档提供了将“You Don't Know JS Yet”(YDKJSY)系列书籍翻译成非英语语言的全面指南。它涵盖了从启动到维护的完整翻译流程,包括技术要求、法律注意事项和最佳实践。这些指南特别适用于该系列书籍的第二版。

有关一般贡献流程的信息,请参阅 贡献流程

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md8-10

翻译流程概述

YDKJSY 系列书籍的翻译遵循结构化的工作流程,以确保一致性和质量。翻译仅接受系列书籍的第二版,并且最好在第二版完成后进行。

图示:翻译流程工作流

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md21-27

翻译先决条件

在开始翻译项目之前,请确保:

  1. 您正在处理书籍的第二版
  2. 您的目标语言中尚不存在翻译版本
  3. 您了解许可要求
  4. 您有能力翻译至少一整本书,最好是全部六本

现有翻译问题和请求可以在以下位置查看:

  • 标记为“foreign language translations”的存储库问题
  • 问题 #9、#900 和 #1378

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md10-19 CONTRIBUTING.md21-23

分步翻译流程

1. Fork 仓库

创建主存储库的个人分支,您将在其中执行翻译工作。

2. 翻译内容

在您的分支中完成翻译。您应该:

  • 翻译至少一整本书(而不是部分书籍)
  • 最好翻译系列中的所有六本书
  • 保持与原始版本相同的目录结构和文件名
  • 准确保留原始技术代码示例

3. 请求语言分支

翻译完成后:

  1. 在主存储库中提交一个 issue,请求创建分支
  2. 分支名称应使用目标语言的 ISO 语言代码
  3. 提供您在分支中完成的翻译链接

4. 提交 Pull Request

创建语言分支后:

  1. 创建一个 pull request,将翻译内容合并到指定语言分支
  2. 确保所有文件保持与原始英文内容相同的结构

5. 成为分支维护者

合并翻译后:

  1. 您将被提升为该语言分支的存储库维护者
  2. 您将负责随着原始内容的发展来维护翻译

图示:包含语言分支的存储库结构

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md21-27

技术翻译指南

文件和目录结构

原文翻译
/get-started/README.md语言分支中保持相同的路径
/get-started/ch1.md语言分支中保持相同的路径
/scope-closures/toc.md语言分支中保持相同的路径
/images/ 目录下的资源文件语言分支中保持相同的路径

翻译文件必须保持与原始英文内容相同的路径和文件名,以保持结构完整性。

需要保留的内容元素

以下元素在翻译中应保持不变:

  • 代码示例和片段
  • 代码中的函数名、变量名和其他标识符
  • 文本中提到的文件路径
  • 没有直接翻译的专业术语
  • 图像引用和链接

Markdown 格式

所有格式元素必须完全保留

  • 具有正确标题级别的节标题(### 等)
  • 带有适当语言标签的代码块
  • 列表(有序和无序)
  • 表格
  • 强调标记(粗体、斜体)
  • 链接和引用

来源:CONTRIBUTING.md3-5

所有翻译均受与原创作品相同的许可协议约束:署名-非商业性使用-禁止演绎 4.0 国际 (CC BY-NC-ND 4.0)。

对翻译人员的主要许可影响:

  1. 通过贡献翻译,您授予内容在书籍中使用的非排他性许可
  2. 根据许可,翻译被视为演绎作品
  3. 必须保留对原作者的署名
  4. 不允许对翻译进行商业用途
  5. 您的翻译的进一步演绎需要获得单独的许可

提交翻译 PR 时,您即表示同意这些许可条款。

图示:翻译的许可要求

来源:CONTRIBUTING.md5 LICENSE.txt1-5

翻译维护

作为指定语言分支的维护者,您将负责:

  1. 保持翻译与原始内容更新同步
  2. 审查和合并您的语言分支的 pull requests
  3. 处理与翻译相关的问题
  4. 确保术语和风格的一致性

维护过程通常包括:

  1. 监控主分支的变化
  2. 更新您的翻译以反映这些变化
  3. 审查您语言分支的社区贡献
  4. 合并已批准的更改

翻译更新流程

原始内容更改翻译响应
细微的修正及时更新翻译
新增章节翻译并添加新内容
技术示例更改更新翻译的周围文本,保持代码示例不变
结构重组在翻译分支中镜像更改

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md27

翻译质量最佳实践

术语一致性

维护一个技术术语及其翻译的词汇表,以确保整个书籍的一致性。对于可能没有标准化翻译的特定于 JavaScript 的术语尤其重要。

语境保留

确保解释保持原文的教学意图。技术概念应以与原文相同的详细程度和准确性进行解释。

文化适应

在保持技术准确性的同时,如有必要,将示例和解释改编为文化上相关的,前提是技术内容保持不变。

审查流程

实施翻译审查流程

  1. 技术准确性自我审查
  2. 由精通两种语言的其他 JavaScript 开发人员进行同行评审
  3. 由正在学习 JavaScript 的母语使用者进行用户测试

版本同步

原始版本翻译状态
已完成、已发布的书籍(1 和 2)准备翻译
稳定的草稿书籍(3 和 4)可以翻译,但可能需要更新
计划中的书籍(5 和 6)等待内容完成

来源:CONTRIBUTING.md21-23

沟通与支持

在进行翻译时:

  1. 使用 GitHub Issues 与项目维护者沟通
  2. 在 Pull Requests 中引用相关的 Issue 编号
  3. 加入社区讨论,与其他翻译人员协调
  4. 联系现有的翻译维护者寻求指导

遵循这些指南将有助于确保“You Don't Know JS Yet”系列书籍的翻译过程顺利且成功,使有价值的内容以其母语形式被全球开发者获取。

来源:.github/ISSUE_TEMPLATE/foreign-translation-request.md14-19