[
  {
    "notice": "只有 title 和 text 字段是必填，其他字段可删除不填。填写时，请从第三条数据开始填写，第二条数据是示例，填写完成之后，不要删除前面两条",
    "notice1": "只有 title 和 text 字段是必填，其他字段可删除不填。填写时，请从第三条数据开始填写，第二条数据是示例，填写完成之后，不要删除前面两条",
    "notice2": "只有 title 和 text 字段是必填，其他字段可删除不填。填写时，请从第三条数据开始填写，第二条数据是示例，填写完成之后，不要删除前面两条",
    "title": "这里填标题，必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填",
    "titleTranslate": "这里填标题翻译",
    "text": "这里填原文，一句一个换行符，一段两个换行符，必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填必填",
    "textTranslate": "这里填原文翻译，一句一个换行符，一段两个换行符",
    "audioSrc": "这里填音频的url/在线地址"
  },
  {
    "title": "How are you today?",
    "titleTranslate": "今天好吗？",
    "text": "STEVEN:Hello, HELEN.\n\nHELEN:Hi, Steven.\n\nSTEVEN:How are you today?\n\nHELEN:I'm very well, thank you. And you?\n\nSTEVEN:I'm fine, thanks.\n\nSTEVEN:How is Tony?\n\nHELEN:He's fine, thanks. How's Emma?\n\nSTEVEN:She's very well, too, Helen.\n\nSTEVEN:Goodbye, Helen.Nice to see you.\n\nHELEN:Nice to see you, too, Steven. Goodbye.",
    "textTranslate": "史蒂文：你好，海伦 \n\n海 伦：你好，史蒂文 \n\n史蒂文：你今天好吗？ \n\n海 伦：很好，谢谢你。你好吗？ \n\n史蒂文：很好，谢谢。 \n\n史蒂文：托尼好吗？ \n\n海 伦：他很好，谢谢。埃玛好吗？ \n\n史蒂文：她也很好，海伦。 \n\n史蒂文：再见，海伦。见到你真高兴。 \n\n海 伦：我见到你也很高兴，史蒂文。再见。",
    "audioSrc": "/sound/article/nce1/009&010－How Are You Today.mp3"
  },
  {
    "title": "15A Saving Information That Needs to Survive",
    "titleTranslate": "第15课A｜讨论数据与保存",
    "text": "When an application saves information, I need to know what has been saved, where it is stored, and how long it is expected to remain.\nA visible confirmation can show that one request succeeded, but it does not explain what will happen after a restart or a migration.\nSome data belongs in the database, while temporary interface state may exist only in the current browser session or running process.\nFor a learning product, completed lessons and saved vocabulary usually need to remain available when the learner returns on another day.\nThe position of an open dialog may not require the same treatment, depending on the experience that the product intends to offer.\nI ask for these choices to be explicit so that a local convenience does not accidentally become the only copy of important information.\nBefore changing storage behavior, we review the existing records and identify which values are shared, private, temporary, or safe to regenerate.\nWe also check whether the new version can read information that was saved by the old version before the change.\nA successful update should preserve the data that the user expects to keep, rather than merely make the newest empty example work.\nUnderstanding persistence helps us describe the real behavior of the product and plan changes without making unsupported promises about what survives.",
    "textTranslate": "应用保存信息时，我需知道保存了什么、在哪里，以及应保留多久。\n可见确认能显示请求成功，却不解释重启或迁移后怎样。\n部分数据属于数据库，临时界面状态可能只在当前浏览器会话或进程中。\n学习产品中，已完成课程和生词通常需次日仍可用。\n打开对话框的位置则未必同样处理，取决于产品体验目标。\n我要求明确这些选择，避免临时本地方便方案意外成为重要信息唯一副本。\n改存储行为前，检查现有记录，区分共享、私人、临时或可重建值。\n也检查新版能否读取改动前旧版保存的信息。\n成功更新应保留用户预期保留的数据，不只是让全新空例子可用。\n理解持久化有助于描述真实行为，规划改动而不无依据承诺数据保留。"
  },
  {
    "title": "15B Planning a Backup and a Restore",
    "titleTranslate": "第15课B｜讨论数据与保存",
    "text": "A backup is useful only if we understand what it contains and how the information can be restored when it is needed.\nBefore a database migration, I ask for a current export and record which environment, date, and application version it belongs to.\nThe file should be stored in an appropriate location with access that matches the sensitivity of the information inside it.\nI also want to know whether the backup includes only database records or the uploaded files that those records refer to.\nA record with an image path is not the same thing as the image itself, so these two resources may need separate handling.\nThe restore procedure should explain the required starting state and the effect it will have on information that already exists.\nIf the procedure replaces current data, that consequence needs to be understood before anyone uses it in a live environment.\nWe can then plan a suitable check that shows whether the restored application can actually read its records and associated files.\nI keep the explanation connected to the actual project, because a generic instruction may omit a service or resource that this application requires.\nA documented backup and restore process gives the team a clearer understanding of what has been protected and what still depends on another system.",
    "textTranslate": "备份只有在知道内容及需要时如何恢复，才有用。\n数据库迁移前，我要求当前导出，并记录所属环境、日期和应用版本。\n文件应放在合适位置，访问权限需符合内部信息敏感性。\n我也想知道备份只含数据库记录，还是包含记录所指上传文件。\n图片路径记录不等于图片本身，因此可能需分别处理。\n恢复流程应解释起始条件，以及对既有信息产生的影响。\n若流程替换当前数据，在真实环境执行前必须理解后果。\n之后安排适当核对，确认恢复后的应用确实能读记录和关联文件。\n我把说明与实际项目连接，因为通用指令可能遗漏本应用依赖服务或资源。\n有文档的备份恢复流程让团队明确保护了什么，以及哪些仍依赖其他系统。"
  },
  {
    "title": "15C Working Conversation",
    "titleTranslate": "第15课C｜讨论数据与保存",
    "text": "Me: Before changing the database structure, could you export the current data and explain exactly which files and records the backup will contain?\nDeveloper: The database export will contain the records, but uploaded images are stored separately, so their files require a separate backup or reference.\nMe: Please record the source environment and date, and keep the backup in a location appropriate for the private information that it contains.\nDeveloper: I will also describe the restore procedure, including which services must be available and whether restoring will replace any existing records.\nMe: Have the learner progress and saved vocabulary been included, or does the export cover only the public course content that visitors can read?\nDeveloper: Both are included in this export; I will list the relevant tables so that the scope is explicit rather than assumed.\nMe: Good; after the migration, check whether the application can still read the old records and open the files associated with them.\nDeveloper: I will report which data has been preserved and identify any resource that remains outside the backup or depends on a separate system.",
    "textTranslate": "我：改数据库结构前，能导出当前数据并说明备份含哪些文件记录吗？\n开发者：数据库导出含记录，上传图片另存，需要单独备份或引用。\n我：请记录来源环境日期，并按私人信息要求放在合适位置。\n开发者：还会说明恢复流程，包括所需服务与是否替换既有记录。\n我：包含学习进度和生词了吗，还是只有访客可读的公开课文？\n开发者：此次两者都包含，我会列相关表，明确范围。\n我：好，迁移后检查应用是否仍能读旧记录并打开关联文件。\n开发者：会报告保留数据，并标明备份外或依赖独立系统的资源。"
  },
  {
    "title": "15D Sentence Review",
    "titleTranslate": "第15课D｜讨论数据与保存",
    "text": "When an application saves information, I need to know what has been saved, where it is stored, and how long it is expected to remain.\nSome data belongs in the database, while temporary interface state may exist only in the current browser session or running process.\nThe position of an open dialog may not require the same treatment, depending on the experience that the product intends to offer.\nWe also check whether the new version can read information that was saved by the old version before the change.\nA backup is useful only if we understand what it contains and how the information can be restored when it is needed.\nThe file should be stored in an appropriate location with access that matches the sensitivity of the information inside it.\nThe restore procedure should explain the required starting state and the effect it will have on information that already exists.\nI keep the explanation connected to the actual project, because a generic instruction may omit a service or resource that this application requires.\nBefore changing the database structure, could you export the current data and explain exactly which files and records the backup will contain?\nPlease record the source environment and date, and keep the backup in a location appropriate for the private information that it contains.\nHave the learner progress and saved vocabulary been included, or does the export cover only the public course content that visitors can read?\nGood; after the migration, check whether the application can still read the old records and open the files associated with them.",
    "textTranslate": "应用保存信息时，我需知道保存了什么、在哪里，以及应保留多久。\n部分数据属于数据库，临时界面状态可能只在当前浏览器会话或进程中。\n打开对话框的位置则未必同样处理，取决于产品体验目标。\n也检查新版能否读取改动前旧版保存的信息。\n备份只有在知道内容及需要时如何恢复，才有用。\n文件应放在合适位置，访问权限需符合内部信息敏感性。\n恢复流程应解释起始条件，以及对既有信息产生的影响。\n我把说明与实际项目连接，因为通用指令可能遗漏本应用依赖服务或资源。\n我：改数据库结构前，能导出当前数据并说明备份含哪些文件记录吗？\n我：请记录来源环境日期，并按私人信息要求放在合适位置。\n我：包含学习进度和生词了吗，还是只有访客可读的公开课文？\n我：好，迁移后检查应用是否仍能读旧记录并打开关联文件。"
  },
  {
    "title": "15E Vocabulary in Context",
    "titleTranslate": "第15课E｜讨论数据与保存",
    "text": "The backup includes several tables, and the exported sheet contains the records needed for the sample import.\nThe import tool reads a table, maps its fields, and reports any duplicated entries before saving the new data.\nThe application imports the source file, while another script creates backups and writes a snapshot of the current state.\nA database dump contains structured records, and the older dumps should be labeled with their source environment and date.\nThe private file is locked, and the credentials must not be copied into a public export or pasted into a report.\nA recoverable deletion moves an item to the trash, while permanent removal requires a different understanding of its consequences.\nThe upload includes a copy of the image, and the downloaded file should match the saved version before it replaces an existing resource.\nThe schema update was applied, but the content itself was regenerated from a separate source after the migration.\nThe ordering of the records changed, although the total count and the values stored in each item remained the same.",
    "textTranslate": "备份含多个表，导出表页含示例导入所需记录。\n导入工具读表、映射字段，并在保存前报告重复条目。\n应用导入源文件，另一脚本备份并写当前状态快照。\n数据库转储含结构记录，旧转储应标来源环境日期。\n私人文件已锁，凭据不得复制到公开导出或粘贴进报告。\n可恢复删除把项移回收站，永久删除需另行理解后果。\n上传含图片副本，下载文件替换既有资源前应与保存版一致。\n结构更新已应用，但内容在迁移后从独立来源重新生成。\n记录顺序改变，但总数和各项值不变。"
  }
]