菜单

基础设施

相关源文件

目的与范围

本文档详细介绍了支持 ML-For-Beginners 存储库的技术基础设施组件。这些组件支持课程交付、评估和多语言支持,而不是学习内容本身的一部分。

主要基础设施要素包括

  • 测验应用程序:基于 Vue.js 的评估系统,具有 JSON 驱动的多语言内容
  • 存储库配置:管理版本控制行为的 Git 设置
  • 翻译基础设施:内容国际化的命名约定和流程

有关课程结构的信息,请参阅 概述。有关更广泛的多语言支持系统的信息,请参阅 多语言支持

整体基础设施架构

下图说明了基础设施组件与课程内容之间的关系

来源:.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 结构支持多种语言,该结构为每种支持的语言进行了翻译。实现需要

  1. 位于 quiz-app/src/assets/translations/ 中的翻译文件,遵循命名模式 [language-code].json
  2. 在翻译目录的 index.js 中注册语言
  3. App.vue 中将语言添加到下拉选择器
  4. 更新翻译的 README 文件中的测验链接,以包含区域设置参数(例如,意大利语为 ?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].md
    • 作业的 assignment.[language-code].md
    • 测验内容的 [language-code].json
  • 语言代码遵循 ISO 639-1 标准(例如,西班牙语为 es,荷兰语为 nl

  • 测验翻译流程

    1. 将翻译文件添加到 quiz-app/src/assets/translations/(保持 JSON 结构)
    2. 将语言代码添加到 App.vue 的下拉菜单中
    3. 更新翻译 index.js 文件
    4. 修改翻译的 README 文件中的测验链接,以包含区域设置参数(例如,印尼语为 ?loc=id
  • 实施限制

    • 不要翻译代码示例
    • 不要翻译测验 JSON 文件中的“true”或“false”
    • 不允许机器翻译

来源:TRANSLATIONS.md1-34

存储库配置

该存储库使用 Git 配置来保持不同开发环境之间的一致性。

.gitignore 配置

.gitignore 文件控制哪些文件被排除在版本控制之外,确保只有必需的源代码和文档被提交。

来源:.gitignore1-366

.gitignore 文件中的关键类别和模式

类别模式示例目的
构建输出dist/[Dd]ebug/[Rr]elease/排除编译后的代码和构建工件
IDE 文件.vs/.vscode/排除特定于编辑器的设置
用户特定*.rsuser*.suo*.user排除个人配置文件
依赖项node_modules/排除第三方库
特定语言*.pyc.Rhistory排除语言运行时伪影
环境.env.venvvenv排除虚拟环境和本地设置
特定于操作系统.DS_Store排除操作系统元数据文件

.gitignore 配置非常全面,涵盖了 Visual Studio、Visual Studio Code、Python、R 和 Node.js 开发环境,确保了跨不同平台和工具的一致性。

来源:.gitignore6-366

总结

ML-For-Beginners 存储库的基础设施为跨多种语言交付教育内容提供了强大的支持。技术组件包括

  1. 测验应用程序:一个基于 Vue.js 的系统,具有 JSON 驱动的内容结构,通过系统的翻译方法支持多种语言

  2. 翻译系统:一个用于翻译课程内容和测验评估的定义明确的流程,由一致的命名约定和指南管理

  3. 存储库配置:确保开发环境之间干净一致的版本控制的 Git 设置

这些基础设施元素共同作用,为学习机器学习概念创建了一个可维护、可访问的平台,并着重于国际化以触达全球受众。