菜单

测验内容与翻译

相关源文件

本文档介绍了“Web 开发入门”课程中测验内容的结构、组织和管理。它特别关注测验问题的结构、它们如何组织成测验,以及翻译系统如何支持所有测验内容的多种语言。

有关整体测验应用程序架构的信息,请参阅 测验应用程序架构

概述

测验评估系统使用结构化的 JSON 格式来存储测验内容,每种支持的语言都有单独的文件。这种方法实现了

  • 所有翻译中的一致测验结构
  • 轻松添加新语言
  • 将测验内容与应用程序代码分离
  • 按课程和类型进行测验的可扩展组织

测验内容结构

测验内容以分层的 JSON 结构组织,在所有语言文件中遵循一致的模式。

来源: quiz-app/src/assets/translations/en.json1-100 quiz-app/src/assets/translations/hi.json1-100

顶层结构

每个语言文件包含一个顶层数组,其中包含测验集元数据和完整的测验数组。

[
  {
    "title": "Web Development for Beginners: Quizzes",
    "complete": "Congratulations, you completed the quiz!",
    "error": "Sorry, try again",
    "quizzes": [
      // Array of individual quizzes
    ]
  }
]

来源: quiz-app/src/assets/translations/en.json1-6

单个测验结构

每个测验都有一个唯一的 ID,一个描述课程和测验类型的标题(课前或课后),以及一个问题数组。

{
  "id": 1,
  "title": "Lesson 1 - Intro to Programming Languages: Pre-Lecture Quiz",
  "quiz": [
    // Array of questions
  ]
}

来源: quiz-app/src/assets/translations/en.json7-59

问题结构

每个问题包括问题文本和答案选项数组,其中一个选项标记为正确。

{
  "questionText": "A program can be created without the creator writing any code",
  "answerOptions": [
    {
      "answerText": "true",
      "isCorrect": "true"
    },
    {
      "answerText": "false",
      "isCorrect": "false"
    }
  ]
}

来源: quiz-app/src/assets/translations/en.json11-23

测验组织

测验按课程进行组织,并进一步分为课前测验和课后测验,以评估每节课之前和之后的理解程度。

来源: quiz-app/src/assets/translations/en.json7-425

每个测验按顺序编号,遵循此模式

  • 奇数(1、3、5 等)是课前测验
  • 偶数(2、4、6 等)是课后测验
  • 随着课程内容的前进,数字会增加

这种组织方式使测验应用程序可以轻松地根据课程和测验类型(课前或课后)获取相应的测验。

翻译系统

翻译系统使用基于文件的方​​法,其中每种支持的语言都有自己的完整翻译文件,其中包含所有测验内容。

语言文件

所有语言文件都存储在 quiz-app/src/assets/translations/ 目录中,文件名对应语言的 ISO 代码。

文件语言
en.json英语
es.json西班牙语
ja.json日语
ko.json韩语
hi.json印地语
id.json印度尼西亚语
ms.json马来语
nl.json荷兰语
el.json希腊语
it.json意大利语

来源: quiz-app/src/assets/translations/en.json quiz-app/src/assets/translations/es.json quiz-app/src/assets/translations/ja.json quiz-app/src/assets/translations/ko.json quiz-app/src/assets/translations/hi.json quiz-app/src/assets/translations/id.json quiz-app/src/assets/translations/ms.json quiz-app/src/assets/translations/nl.json quiz-app/src/assets/translations/el.json quiz-app/src/assets/translations/it.json

翻译结构

每个语言文件都遵循完全相同的结构,包含以下内容的翻译:

  1. 整体测验应用程序 UI 字符串

    • 标题
    • 完成消息
    • 错误消息
  2. 完整的测验集

    • 测验标题
    • 问题文本
    • 答案选项

来源: quiz-app/src/assets/translations/en.json quiz-app/src/assets/translations/es.json quiz-app/src/assets/translations/hi.json

JSON 模式

所有测验翻译文件的 JSON 结构遵循此模式

[
  {
    "title": String,           // Main title for the quiz collection
    "complete": String,        // Message shown on quiz completion
    "error": String,           // Error message for incorrect answers
    "quizzes": [
      {
        "id": Number,          // Unique identifier for the quiz
        "title": String,       // Title of the specific quiz
        "quiz": [
          {
            "questionText": String,    // The question itself
            "answerOptions": [
              {
                "answerText": String,  // Option text
                "isCorrect": String    // "true" or "false" as strings
              },
              // More answer options...
            ]
          },
          // More questions...
        ]
      },
      // More quizzes...
    ]
  }
]

来源: quiz-app/src/assets/translations/en.json

添加新语言

要添加新语言

  1. quiz-app/src/assets/translations/ 目录中创建一个新的 JSON 文件,文件名使用语言的 ISO 代码(例如,法语为 fr.json
  2. en.json 或任何其他现有语言文件中复制结构
  3. 翻译所有字符串值,保持完全相同的 JSON 结构和键
  4. 确保 isCorrect 标志保持不变,因为它们决定了哪些答案是正确的

测验内容管理

每个测验通常包含 3 个问题,以及各种问题格式

  • 真/假问题
  • 具有单个正确答案的多项选择题
  • 填空题

课程涵盖了主题的进展,测验与每个课程对齐

  • 编程语言
  • GitHub
  • Web 可访问性
  • JavaScript 基础(数据类型、函数、决策、数组、循环)
  • HTML 基础
  • CSS 基础
  • DOM 操作
  • 事件处理
  • API集成
  • 浏览器功能
  • 性能优化

来源: quiz-app/src/assets/translations/en.json1-756

技术实现细节

测验内容 JSON 文件通过翻译索引模块导入到测验应用程序中。然后,应用程序使用 Vue.js 组件根据用户选择的语言渲染测验。

当用户选择测验时,应用程序会

  1. 根据 ID 加载相应的测验数据
  2. 一次呈现一个问题
  3. 根据 isCorrect 标志验证答案
  4. 根据用户的响应显示成功或错误消息
  5. 跟踪用户在测验中的进度

翻译系统允许整个用户体验本地化,同时在所有语言中保持一致的测验内容和正确答案。

来源: quiz-app/src/assets/translations/en.json quiz-app/src/assets/translations/hi.json

结论

该测验内容和翻译系统提供了一种灵活、可维护的方法,可以在整个“初学者Web开发”课程中提供多语言评估。将内容与应用程序代码分离,并结合所有语言通用的统一JSON结构,使得在课程扩展时,可以轻松地更新现有内容和添加新语言。