SuperAPI AI 工具集

translate-questions

写作与研究

查看项目

更新于 10-16 07:12

技能介绍

用途

translate-questions 是 Prawko 驾照考试应用的翻译专用技能,负责将全部 3,719 道官方波兰语驾照考试题翻译为目标语言。当用户要求翻译题目、新增一种语言或更新现有翻译时使用。

数据结构

源数据为分类 JSON 文件,位于 src/data/{A,A1,A2,AM,B,B1,C,C1,D,D1,PT,T}.json。每个文件包含 category 字段和 questions 数组。题目有两种类型:

  • type 为 "basic":是/否(TAK/NIE)题,只需翻译 q 字段。
  • type 为 "specialist":A/B/C 多选题,需翻译 q、a、b、c 字段。

输出为翻译文件,位于 src/data/translations_{lang}.json,格式为以字符串 ID 为键的对象,仅包含内容非空的字段。

工作流程

  1. 收集唯一题目:题目在各分类间共享,需按 ID 去重。技能提供了 Python 脚本遍历 src/data 目录(跳过 meta.json 和 translations_ 开头的文件)统计唯一题目数量。
  2. 检查已有翻译:加载现有翻译文件,找出尚未翻译的题目。
  3. 分批并行翻译:将未翻译题目分成 6 批(每批约 620 题),写入 /tmp/prawko_batch_{i}.json,通过 Task 工具启动 6 个并行代理,每个代理读取自己的批次文件、翻译后写入 /tmp/prawko_translated_{i}.json。代理提示模板要求:翻译 q 字段;specialist 题额外翻译 a、b、c;basic 题只翻译 q;输出仅含非空字段;自然准确翻译交通规则、道路标志、车辆操作等内容;必须处理全部题目并写出完整输出文件。
  4. 合并结果:所有代理完成后,将各批次输出合并为最终翻译文件,并打印翻译总数。
  5. 接入新语言(若为新增语言):在 src/js/i18n.js 的 translations 对象中添加新键;在 src/index.html 的 .lang-toggle div 中添加语言按钮;更新 src/js/i18n.js 中的 translateQuestion() 以处理新语言代码;如有需要,在 src/sw.js 的 service worker 缓存中添加。

翻译准则

  • 保持翻译简洁清晰。
  • 使用目标语言的标准驾驶/交通术语。
  • 保留技术术语(如车辆类型、道路标志名称)。
  • 不翻译专有名词或波兰法律引用,保持原样。
  • 对 "km/h"、"t"(吨)等缩写保留原始单位。
  • "TAK/NIE" 答案不在 JSON 中翻译,由 UI 的 i18n 系统处理。

验证

翻译完成后,技能提供 Python 脚本验证输出:加载翻译文件,打印已翻译题目数与总数(3719)的对比,并检查缺失题目。

适用场景

适用于 Prawko 应用需要新增语言支持、批量翻译题库或更新已有翻译的场景。

限制

该技能针对 Prawko 项目的特定目录结构和数据格式设计,依赖 src/data 下的分类 JSON 文件与 i18n 系统。关于收费、价格、平台支持范围等信息,资料中暂未提供。