本文档概述了 ML-For-Beginners 仓库中的多语言支持系统。它描述了翻译的组织、管理和集成方式,以使课程内容能够惠及全球受众。
ML-For-Beginners 仓库实现了一个全面的翻译系统,使内容能够以多种语言提供。该系统同时支持主要的课程内容(课程、作业)和交互式测验应用程序。
来源
仓库中的翻译遵循特定的文件结构和命名约定
translations/ 目录中translations/ 子目录中quiz-app/src/assets/translations/ 目录中所有翻译文件都遵循一致的命名模式
README._[语言]_.md - 用于内容翻译assignment._[语言]_.md - 用于作业翻译[语言].json - 用于测验翻译语言代码遵循 ISO 639-1 标准(两个字母的代码),并在需要时带有可选的地区限定符(例如,简体中文使用 zh-cn)。
来源
测验应用程序通过 JSON 文件实现自己的翻译机制。每种语言都有一个对应的 JSON 文件,其中包含该语言的所有测验问题、选项和 UI 文本。
测验翻译系统包括
quiz-app/src/assets/translations/quiz-app/src/assets/translations/index.jsquiz-app/src/App.vue在测验应用程序中,当用户访问带有 ?loc=fr 等 URL 参数的测验时,应用程序将加载相应的语言文件(fr.json),并以该语言显示测验问题。
带有语言参数的测验 URL 示例
https://gray-sand-07a10f403.1.azurestaticapps.net/quiz/1?loc=zh-cn
来源
翻译流程遵循特定的工作流程,以确保质量和一致性
仓库在 TRANSLATIONS.md 中提供了翻译者的具体指南
README.es.md)来源
ML-For-Beginners 课程目前支持多种语言,处于不同的完成阶段
| 语言 | 代码 | 主 README | 课程 | 测验 |
|---|---|---|---|---|
| 英语(原文) | en | ✓ | ✓ | ✓ |
| 中文 | zh-cn | ✓ | ✓ | ✓ |
| 日语 | ja | ✓ | ✓ | ✓ |
| 西班牙语 | es | ✓ | ✓ | ✓ |
| 葡萄牙语 | pt | ✓ | 部分 | ✓ |
| 意大利语 | it | ✓ | 部分 | ✓ |
| 土耳其语 | tr | ✓ | 部分 | ✓ |
| 韩语 | ko | ✓ | 部分 | ✓ |
| 葡萄牙语(巴西) | pt-br | ✓ | 部分 | ✓ |
| 印地语 | hi | ✓ | 部分 | 部分 |
| Tamil | ta | ✓ | 部分 | 部分 |
| 马来语 | ms | ✓ | 部分 | 部分 |
来源
通过一系列链接将翻译集成到主课程中
这种集成确保学生可以以他们偏好的语言浏览整个课程,从主 README 到课程、作业和测验。
来源
该仓库积极鼓励翻译贡献,以扩大课程的影响力。 TRANSLATIONS.md 文件为贡献者提供了详细的指南,社区通过 GitHub issue 协调翻译工作。
贡献翻译的步骤
TRANSLATIONS.md 中的翻译指南来源
在底层,多语言支持系统利用了多种技术机制
?loc= 参数来指定语言该系统设计为可扩展的,允许添加新语言,而无需修改课程或测验应用程序的核心功能。
来源