# 斯瓦希里语无尽题库
一个无需后端的移动端练习页,面向博资考准备,固定每组 5 题,提供:
- 词汇:中译斯、斯译中和按章节筛选的新词语境填空;
- 语法:ni/si、wa/ki/n/ma 类一致关系、kuwa na、现在/过去/将来/完成时、命令式、-po- 等变形填空;章节越早,抽题权重越高;
- 句子翻译:斯瓦希里语译中文、中文译斯瓦希里语;
- 章节学习:按两本教材的 24 + 28 个章节分别浏览完整词汇、语法要点和教材例句;
- 提交后逐题自动批改,显示参考答案和解释;
- 混合练习或三种专项模式;
- 错题本:答错或未作答的题自动保存,可抽取复习,做对后自动移出;
- 基础条目逐步刷过后,会用句型、人物、动词和地点进行动态组合,连续换组即可持续练习;组数、正确率和最高分仅保存在浏览器本地。
当前实际考题池约为 1047 条词汇、431 条语法和 233 条翻译;其中包含按章节筛选的新词填空与语法变形题。
## 本地运行
在此目录启动一个静态服务器:
python3 -m http.server 8000
然后在浏览器打开
localhost JavaScript;不需要安装 Node 依赖。
## 发布到 GitHub Pages
这个目录已经带有 .github/workflows/pages.yml。推荐把本目录的内容作为一个独立 GitHub repository 的根目录:
git init
git add .
git commit -m 'build Swahili infinite practice bank'
git branch -M main
git remote add origin
github.com / .git
git push -u origin main
在 GitHub 仓库中进入 Settings → Pages,将 Source 设为 GitHub Actions。之后每次推送到 main 都会自动部署,Actions 完成后页面地址会显示在 workflow 的 deployment 信息中。
## 错题本
错题本保存在浏览器本地。提交后,答错或未作答的题会自动记录;点击“抽取错题复习”可以每次抽取最多 5 题。复习时答对的题会自动移出,仍答错的题会保留并更新你的上次答案。也可以手动清空全部错题。
## 章节学习
点击页面顶部的“章节学习”即可离开考题模式,选择教材和章节阅读整理好的词汇、语法要点以及教材例句。已有中文译文会直接显示,没有译文的例句会提示先自行翻译。每章可以标记为“已复习”,进度只保存在当前浏览器,不会计入考题统计。
## 扩充题库
直接在 data.js 的 vocabulary、grammar、translation 数组中添加条目即可。字段示例:
{ id: 'g-example', prompt: 'Vitabu hivi ni ___.', answer: 'vikubwa', hint: '-kubwa',
explanation: 'vi- 类复数主语要求形容词使用 vi- 前缀。' }
语法题的 `hint` 会显示为“给定词/形式”,用于提示需要把词根或形式变成句中正确形式。
网页会按章节递减权重抽取;只要每个条目的 id 唯一,便可继续增加题目。章节学习数据中的 `practice` 记录会自动进入相应题型题池。