本文档全面概述了JavaScript Questions仓库中使用的翻译系统。该系统支持以多种语言呈现JavaScript面试问题,使其面向全球受众。本页涵盖了目录结构、文件命名约定、Markdown格式标准以及翻译管理流程。
本仓库中的翻译系统旨在
该仓库遵循清晰的目录结构,按语言/区域代码组织翻译
每个语言目录都包含一个带有翻译内容的README文件。命名约定遵循ISO语言和国家代码,格式为{language code}-{country code}。
来源:nl-NL/README.md1-44 id-ID/README.md1-43 zh-TW/README_zh-TW.md1-44 zh-CN/README-zh_CN.md1-45 ko-KR/README-ko_KR.md1-48
翻译文件遵循不同的命名模式,如下表所示
| 模式 | 示例 | 用途 |
|---|---|---|
README.md | nl-NL/README.md | 大多数翻译的默认模式 |
README-{lang_code}.md | es-ES/README-ES.md | 带有语言代码后缀的替代模式 |
README_{lang_code}.md | fr-FR/README_fr-FR.md | 带有下划线分隔符的替代模式 |
这种命名约定上的多样性似乎是为了保持历史兼容性而保留的,而非遵循严格的标准。
来源:nl-NL/README.md16-43 id-ID/README.md16-42 zh-TW/README_zh-TW.md20-46 ko-KR/README-ko_KR.md21-46
每个翻译文件都遵循一致的结构,以在各种语言中保持统一性
该结构确保所有翻译
来源:nl-NL/README.md1-169 id-ID/README.md1-170 zh-TW/README_zh-TW.md1-169 zh-CN/README-zh_CN.md1-169 ko-KR/README-ko_KR.md1-169
翻译系统的一个关键功能是能够在不同语言版本之间导航。每个翻译文件都包含一个可折叠部分,其中包含指向所有其他可用翻译的链接
交叉引用通过Markdown链接中的相对路径实现。例如
- <FileRef file-url="https://github.com/lydiahallie/javascript-questions/blob/a8b427b9/🇬🇧 English" undefined file-path="🇬🇧 English">Hii</FileRef>
- <FileRef file-url="https://github.com/lydiahallie/javascript-questions/blob/a8b427b9/🇨🇳 简体中文" undefined file-path="🇨🇳 简体中文">Hii</FileRef>
- <FileRef file-url="https://github.com/lydiahallie/javascript-questions/blob/a8b427b9/🇳🇱 Nederlands" undefined file-path="🇳🇱 Nederlands">Hii</FileRef>
该系统允许用户轻松切换语言,而无需返回到中央索引。
来源:nl-NL/README.md16-43 id-ID/README.md16-42 zh-TW/README_zh-TW.md20-46 ko-KR/README-ko_KR.md21-46
截至最新更新,该仓库支持以下语言
| 语言 | 目录 | 文件名 | 标志 |
|---|---|---|---|
| 阿拉伯语 | ar-AR | README_AR.md | 🇸🇦 |
| 阿拉伯语(埃及) | ar-EG | README_ar-EG.md | 🇪🇬 |
| 波斯尼亚语 | bs-BS | README-bs_BS.md | 🇧🇦 |
| 德语 | de-DE | README.md | 🇩🇪 |
| 英语 | 英语 | README.md | 🇬🇧 |
| 西班牙语 | es-ES | README-ES.md | 🇪🇸 |
| 法语 | fr-FR | README_fr-FR.md | 🇫🇷 |
| 印度尼西亚语 | id-ID | README.md | 🇮🇩 |
| 意大利语 | it-IT | README.md | 🇮🇹 |
| 日语 | ja-JA | README-ja_JA.md | 🇯🇵 |
| 韩语 | ko-KR | README-ko_KR.md | 🇰🇷 |
| 波兰语 | pl-PL | README.md | 🇵🇱 |
| 葡萄牙语(巴西) | pt-BR | README_pt_BR.md | 🇧🇷 |
| 罗马尼亚语 | ro-RO | README.ro.md | 🇷🇴 |
| 俄语 | ru-RU | README.md | 🇷🇺 |
| 阿尔巴尼亚语 | sq-KS | README_sq_KS.md | 🇽🇰 |
| 泰语 | th-TH | README-th_TH.md | 🇹🇭 |
| 土耳其语 | tr-TR | README-tr_TR.md | 🇹🇷 |
| 乌克兰语 | uk-UA | README.md | 🇺🇦 |
| 越南语 | vi-VI | README-vi.md | 🇻🇳 |
| 中文(简体) | zh-CN | README-zh_CN.md | 🇨🇳 |
| 中文(繁体) | zh-TW | README_zh-TW.md | 🇹🇼 |
此列表在每个翻译文件的顶部可折叠部分中也可用。
来源:nl-NL/README.md16-43 id-ID/README.md16-42 zh-TW/README_zh-TW.md20-46 ko-KR/README-ko_KR.md21-46
翻译系统确保所有语言的问题编号和内容映射一致。映射方式如下
这种结构确保
这种一致的映射便于在不同语言之间进行交叉引用和比较。
来源:nl-NL/README.md46-168 id-ID/README.md46-168 zh-TW/README_zh-TW.md46-168 zh-CN/README-zh_CN.md46-168 ko-KR/README-ko_KR.md46-168
翻译文件混合使用HTML和Markdown格式,以创建一致的外观和体验
<div align="center"> 用于居中标题和介绍--- 用于章节之间的水平分割线<details><summary> 标签用于可展开内容- A: ...)用于答案选项<img> 标签用于带有受控尺寸的图表可折叠答案部分示例
<details><summary><b>Answer</b></summary>
<p>
#### Answer: D
[Explanation in the respective language]
</p>
</details>
HTML和Markdown的这种组合确保文件在源代码形式下既可人工阅读,又能在GitHub上正确渲染。
来源:nl-NL/README.md65-76 id-ID/README.md65-76 zh-TW/README_zh-TW.md42-52 zh-CN/README-zh_CN.md30-39 ko-KR/README-ko_KR.md70-80
当原始英文版本中添加新问题或对现有内容进行更新时,会遵循一套系统化的流程来更新所有翻译
此工作流程确保
该仓库欢迎译者的贡献。以下是主要指南
README.md 或 README_{lang_code}.md在贡献新翻译时,建议
来源:nl-NL/README.md5-12 id-ID/README.md5-10 zh-TW/README_zh-TW.md6-14 zh-CN/README-zh_CN.md5-8 ko-KR/README-ko_KR.md7-13
并非所有翻译都得到同等程度的维护或完整。有些翻译可能缺少最新问题或原始英文版本的更新。仓库没有明确标明每个翻译的完整性状态,但用户通常可以通过以下方式判断:
翻译系统未来的改进可能包括
本仓库中的翻译系统为管理多种语言的JavaScript面试问题提供了一个强大的框架。通过一致的目录结构、文件格式和内容映射,它确保来自不同语言背景的用户能够访问相同的高质量内容。该系统还促进了社区的贡献,从而使可用翻译得到持续改进和扩展。