菜单

存储库结构

相关源文件

本文概述了 JavaScript Questions 仓库(位于 https://github.com/lydiahallie/javascript-questions)的组织方式。它解释了文件结构、命名约定以及原始英文内容与其翻译之间的关系。有关问题格式和内容的更多信息,请参阅 问题格式和结构

仓库的高层组织结构

该仓库遵循清晰的组织结构,其中英文版作为主要内容,多种语言翻译存储在专门的目录中。

来源:README.md22-47 nl-NL/README.md16-42 id-ID/README.md16-41

文件组织

主要内容

仓库的主要内容位于根目录下的 README.md 文件中,其中包含所有 JavaScript 问题的原始英文版本。这作为所有翻译的基础主内容。

语言目录

每种支持的语言都有其专用目录,遵循一致的命名模式

[language code]-[COUNTRY code]/

例如

  • nl-NL/ - 荷兰语(荷兰)
  • zh-CN/ - 中文(中国/简体)
  • ar-AR/ - 阿拉伯语

在每个语言目录中,都有一个包含翻译内容的 README 文件。但是,这些文件的命名约定有所不同

模式示例
README.mdnl-NL/README.md, de-DE/README.md
README-[lang_code].mdes-ES/README-ES.md, ko-KR/README-ko_KR.md
README_[lang_code].mdfr-FR/README_fr-FR.md, pt-BR/README_pt_BR.md
README.[lang_code].mdro-RO/README.ro.md

来源:README.md22-47 nl-NL/README.md16-42 id-ID/README.md16-41

语言间的交叉引用

该仓库维护了一个交叉引用网络,以方便在不同语言版本之间进行导航。

每个语言的 README 文件都包含一个列出所有可用翻译的部分,包括指向原始英文版本的链接。这创建了一个连接网络,允许用户轻松切换语言。

来源:README.md22-47 nl-NL/README.md16-42 id-ID/README.md16-41

内容同步

虽然仓库结构支持多种翻译,但在文件结构中没有可见的自动化同步机制。这意味着

  1. 原始英文 README.md 会更新新的问题
  2. 翻译维护者必须手动更新其各自的语言文件
  3. 不同的翻译可能在完整性和时效性上有所不同

这解释了为什么某些翻译可能比原始英文版本的问题数量少。

仓库增长模式

该仓库遵循递增的增长模式

  1. 新问题会添加到原始英文 README.md 的末尾
  2. 每个问题在所有翻译中都保持一致的 ID 号
  3. 随着社区成员贡献翻译,会添加新的语言目录

来源:README.md54-964 nl-NL/README.md48-1540 id-ID/README.md47-1607

问题编号系统

所有语言版本的问题都使用相同的标识符系统按顺序编号。这创建了一个无论语言如何都能保持一致的交叉引用

  • 原始英文:###### 1. What's the output?
  • 荷兰语:###### 1. Wat is de uitkomst?
  • 印尼语:###### 1. Apa yang akan tampil?

这种一致的编号对于在所有翻译中保持连贯结构以及确保对特定问题的引用始终有效至关重要。

来源:README.md54-964 nl-NL/README.md48-1540 id-ID/README.md47-1607

条件内容显示

仓库结构的一个重要方面是使用 GitHub 的可折叠部分功能来隐藏答案。这是通过 HTML <details><summary> 标签实现的

<details><summary><b>Answer</b></summary>
<p>

#### Answer: D

Within the function, we first declare the `name` variable with the `var` keyword...
[explanation continues]

</p>
</details>

这种结构确保读者在查看答案之前可以自我测试,同时将每种语言的所有内容保存在一个文件中。

来源:README.md72-81 nl-NL/README.md66-75 id-ID/README.md65-72

支持文件

该仓库主要由 Markdown 文件组成,不包含重要的支持代码或基础设施。唯一的非 Markdown 元素是

  1. 解释中引用的内联图片
  2. Markdown 文件中使用的基本 HTML 格式
  3. 仓库元数据文件(用户不可直接查看)

这种轻量级结构使得贡献者可以轻松添加新翻译,而无需 Markdown 格式之外的专业技术知识。

贡献模式

该仓库结构支持去中心化的贡献模式

  1. 原始英文内容由仓库所有者维护
  2. 每种语言翻译可以由不同的贡献者维护
  3. 可以添加新语言,而不影响现有内容

这种组织方式允许并行开发翻译,而不会出现协调瓶颈。

来源:README.md14-21 nl-NL/README.md11-13 id-ID/README.md9-10

总结

JavaScript Questions 仓库遵循按语言组织的逻辑结构,所有翻译的问题编号保持一致。原始英文内容作为规范来源,翻译内容则组织在特定语言的目录中。这种一致的结构和语言间的交叉引用,创建了一个对全球开发者而言,无论其母语如何,都可访问的连贯学习资源。