japanese/docs/LEARNER.md
panli 2e4dcf8980 feat: 新增 jlearn 学习资料生成器 + 日语音变标注体系
新增学习资料生成器模块(learner),从权威库生成多维日语学习资料:
- 拼音/假名/汉字/熟字训四类索引,带拼音↔假名↔汉字交叉跳转
- 逐字音训分类(KANJIDIC2 精确查表 + 启发式回退 + 排序键)
- 音变标注体系:浊化(連濁)、半浊化、促音变(促音便)、连声(れんじょう)
  独立配色 + 合并逻辑 + 音变规律说明
- 显式标注表:rendaku_marks(连用形连浊)、renjou_marks(连声)
- 每索引独立例词数配置(jlearn.toml + --config)
- HTML 单页应用 + 静态 HTML + PDF(playwright)

清洗工具增强:
- 拼音校验器(pinyin_checker)集成到 jclean
- 多音字拼音校正、ます形サ変動詞转原型

数据:
- 权威库补充连声词(反応/天皇/陰陽/観音/因縁/三位/輪廻/安穏)
- KANJIDIC2 音训分类表、拼音校正字典

整理 .gitignore:忽略生成产物(output/study_materials)、词典数据库、
任务运行日志、备份文件
2026-09-09 15:44:50 +08:00

72 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# jlearn — 日语学习资料生成器
从权威库(`汉字|分段:假名|分段:拼音|分段` 格式)生成多维学习资料,
帮助以中文为母语的学习者借助拼音掌握日语汉字读音。
## 安装
在项目根目录:
```bash
pip install -e .
```
安装后即可使用 `jlearn` 命令;也可用 `python -m pl_japanese.learner.cli` 调用。
## 用法
```bash
# 列出所有可生成的资料类型
jlearn list
# 用默认权威库生成全部资料到 ./study_materials
jlearn generate
# 指定权威库和输出目录
jlearn generate --vocab data/db/vocabulary.txt --output-dir study_materials
# 只生成指定类型(逗号分隔)
jlearn generate --only handbook,anki
```
## 生成的资料
| 类型 | 文件 | 说明 |
|------|------|------|
| `overview` | `overview.txt` | 数据总览:一字多音分布、高频核心字 |
| `handbook` | `kanji_handbook.txt` | 汉字读音手册:每个单字按读音分组 + 例词 |
| `jukujikun` | `jukujikun.txt` | 熟字训词表:整词对应一读音、无法拆字的条目 |
| `pinyin` | `pinyin_kana_mapping.txt` | 拼音→汉字→假名对照表:从母语拼音出发,按汉字分组 |
| `pinyin-kana` | `pinyin_kana_kanji_mapping.txt` | 拼音→假名→汉字对照表:按假名分组,**发现读音规律复用**(如 `an→あん` 在 安/暗/案 中都成立) |
| `rules` | `phonetic_rules.txt` | 音读规律:拼音与假名的对应模式统计 |
| `anki` | `anki_deck.txt` | Anki 卡片TSV正面日文词 / 背面假名+拼音)|
| `html` | `study_app.html` | **交互式单页应用**:拼音·汉字·假名多维互链查询,可搜索,离线可用 |
## 交互式 HTML 应用(推荐)
`study_app.html` 是一个自包含的单页应用(约 1.4 MB双击即可在浏览器打开无需服务器
- **多维索引** — 拼音、汉字、假名三个入口,互相超链接
- **点击导航** — 点拼音看对应汉字,点汉字看所有读音,点假名看所有汉字,任意跳转
- **音训读标注** — 每个读音标注 [音读]/[训读],蓝色/橙色区分
- **全文搜索** — 顶部搜索框输入拼音、汉字或假名,直达结果
- **离线分享** — 单文件,发给别人直接用
数据全部内嵌,依赖 Vue 3从 CDN 加载,首次打开需联网;如需完全离线可自行改为本地 Vue
## 代码结构
- `builder.py``StudyDataBuilder`:加载权威库,预建高效索引
`(汉字,假名)→拼音` 反查、单字/熟字训区分)
- `generators.py` — 文本类资料生成器 + `GENERATORS` 注册表 + `_classify_reading`(音训读判断)
- `html_generator.py` — 交互式 HTML 单页应用生成器
- `cli.py``jlearn` 命令行入口
新增一种资料:在 `generators.py``gen_xxx(builder, out_dir) -> Path`
然后加进 `GENERATORS` 字典即可CLI 会自动识别。
## Anki 导入
`anki_deck.txt` 为 TAB 分隔的两列(正面/背面),背面用 `<br>` 分隔假名与拼音。
在 Anki 中「文件 → 导入」,字段分隔选 Tab允许 HTML 即可。