本文档详细介绍了支持 ML-For-Beginners 存储库的技术基础设施组件。这些组件支持课程交付、评估和多语言支持,而不是学习内容本身的一部分。
主要基础设施要素包括
有关课程结构的信息,请参阅 概述。有关更广泛的多语言支持系统的信息,请参阅 多语言支持。
下图说明了基础设施组件与课程内容之间的关系
来源:.gitignore TRANSLATIONS.md quiz-app/src/assets/translations/it.json quiz-app/src/assets/translations/ja.json
测验应用程序(quiz-app/)是基于 Vue.js 的系统,为每个课程主题提供交互式的课前和课后评估。
来源:quiz-app/src/assets/translations/it.json quiz-app/src/assets/translations/ja.json
测验内容存储在 quiz-app/src/assets/translations/ 目录的 JSON 文件中,每种语言都有自己的文件,遵循 ISO 639-1 语言代码(例如,意大利语为 it.json)。
每个测验翻译文件遵循此结构
[
{
"title": String, // Overall quiz application title
"complete": String, // Completion message
"error": String, // Error message
"quizzes": [ // Array of quiz objects
{
"id": Number, // Unique quiz identifier
"title": String, // Quiz title
"quiz": [ // Array of question objects
{
"questionText": String, // Question text
"answerOptions": [ // Array of answer options
{
"answerText": String, // Answer text
"isCorrect": String // "true" or "false" as strings
},
// More answer options...
]
},
// More questions...
]
},
// More quizzes...
]
}
]
关键代码实体
title:应用程序主标题(例如,意大利语中的“Machine Learning per principianti: Quiz”)complete:测验完成后显示的成功消息error:错误答案的错误消息quizzes:测验对象的数组,每个对象都有一个唯一的 id 和一组问题来源:quiz-app/src/assets/translations/it.json1-115 quiz-app/src/assets/translations/ja.json1-115
测验应用程序通过一致的 JSON 结构支持多种语言,该结构为每种支持的语言进行了翻译。实现需要
quiz-app/src/assets/translations/ 中的翻译文件,遵循命名模式 [language-code].jsonindex.js 中注册语言App.vue 中将语言添加到下拉选择器?loc=it)意大利语翻译的示例 JSON 结构
来源:quiz-app/src/assets/translations/it.json1-58 TRANSLATIONS.md22-30
该存储库实施了全面的翻译系统,以使课程内容在全球范围内可用。
来源:TRANSLATIONS.md quiz-app/src/assets/translations/it.json quiz-app/src/assets/translations/ja.json
TRANSLATIONS.md 文件定义了翻译内容的技术要求和流程
文件名约定
README.[language-code].mdassignment.[language-code].md[language-code].json语言代码遵循 ISO 639-1 标准(例如,西班牙语为 es,荷兰语为 nl)
测验翻译流程
quiz-app/src/assets/translations/(保持 JSON 结构)App.vue 的下拉菜单中index.js 文件?loc=id)实施限制
该存储库使用 Git 配置来保持不同开发环境之间的一致性。
.gitignore 文件控制哪些文件被排除在版本控制之外,确保只有必需的源代码和文档被提交。
.gitignore 文件中的关键类别和模式
| 类别 | 模式示例 | 目的 |
|---|---|---|
| 构建输出 | dist/、[Dd]ebug/、[Rr]elease/ | 排除编译后的代码和构建工件 |
| IDE 文件 | .vs/、.vscode/ | 排除特定于编辑器的设置 |
| 用户特定 | *.rsuser、*.suo、*.user | 排除个人配置文件 |
| 依赖项 | node_modules/ | 排除第三方库 |
| 特定语言 | *.pyc、.Rhistory | 排除语言运行时伪影 |
| 环境 | .env、.venv、venv | 排除虚拟环境和本地设置 |
| 特定于操作系统 | .DS_Store | 排除操作系统元数据文件 |
.gitignore 配置非常全面,涵盖了 Visual Studio、Visual Studio Code、Python、R 和 Node.js 开发环境,确保了跨不同平台和工具的一致性。
ML-For-Beginners 存储库的基础设施为跨多种语言交付教育内容提供了强大的支持。技术组件包括
测验应用程序:一个基于 Vue.js 的系统,具有 JSON 驱动的内容结构,通过系统的翻译方法支持多种语言
翻译系统:一个用于翻译课程内容和测验评估的定义明确的流程,由一致的命名约定和指南管理
存储库配置:确保开发环境之间干净一致的版本控制的 Git 设置
这些基础设施元素共同作用,为学习机器学习概念创建了一个可维护、可访问的平台,并着重于国际化以触达全球受众。