ernestohegi/yochimu
GitHub: ernestohegi/yochimu
Yochimu 是一个日语文本解析工具,通过提供语境化例句和翻译来辅助语言学习。
Stars: 17 | Forks: 2
# 🌙 Yochimu(よちむ)- 日语解析工具 🇯🇵
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://tailwindcss.com/)
[](https://github.com/ernestohegi/japanese-text-parser)
## 🚀 什么是 Yochimu?
Yochimu 是一个强大的工具,专为希望**在语境中**而非孤立地学习词汇的日语学习者设计。与传统词汇表或抽认卡不同,Yochimu 允许您处理真实的日语句子,保留对正确语言习得至关重要的语境。
- 🔍 搜索任何日语单词或短语
- 📚 获取带翻译的真实例句
- 💾 保存您喜欢的句子用于学习
- 📤 导出为兼容 Anki 的格式,用于间隔重复练习
## ✨ 功能特性
### 🇯🇵 日语搜索
输入任何日语单词或短语,获取详细的翻译和例句。Yochimu 会将您的输入分词,并查找相关、自然的句子。
### 🔖 收藏您的收藏
通过点击句子来收集有用的句子,在探索过程中构建您个性化的学习列表。
## 🧠 为什么语境很重要
孤立地学习单词很难理解它们在实际日语中的用法。Yochimu 专注于提供完整的句子,以便您可以学习:
- 🌟 自然的词语用法
- 🔄 常见搭配(经常一起出现的词语)
- 📏 语法模式
- 🏮 文化语境
这种方法有助于更好地记忆和更自然的日语表达。
## 🛠️ 技术构建
Yochimu 使用现代网络技术构建:
- ⚛️ **React.js** - 用于构建用户界面
- 📱 **Next.js** - 用于服务器端渲染和 API 路由
- 🔒 **TypeScript** - 用于类型安全和更好的开发体验
- 🎨 **TailwindCSS** - 用于样式设计
- 🇯🇵 **Wanakana** - 用于日语文本处理
- 🔄 **React Query** - 用于高效的数据获取
- 💾 **File-Saver** - 用于下载 TSV 文件
## 🔌 API 集成
Yochimu 集成了 [Tatoeba API](https://en.wiki.tatoeba.org/articles/show/api),以获取带有英语翻译的真实日语句子。Tatoeba 是一个包含多种语言翻译例句的大型数据库。
## 🧪 使用 MSW 进行模拟
Yochimu 包含 [Mock Service Worker (MSW)](https://mswjs.io/),用于确定性的本地开发和测试就绪的请求模拟。
- 在开发中,浏览器 worker 会自动启动并可模拟:
- `POST /api/translate`
- `GET https://tatoeba.org/eng/api_v0/search`
- 共享的处理程序位于 `src/mocks/handlers.ts`。
- 浏览器设置位于 `src/mocks/browser.ts`。
- 节点/测试设置位于 `src/mocks/server.ts`。
worker 脚本存储在 `public/mockServiceWorker.js`,并通过 `package.json` 中的 `msw.workerDirectory` 进行配置。
升级 MSW 后刷新 worker 文件:
```
pnpm dlx msw init public --save
```
## 🚀 快速开始
### 前置条件
- Node.js (v18 或更高版本)
- npm, yarn, 或 pnpm
### 安装
1. 克隆仓库:
git clone https://github.com/ernestohegi/japanese-text-parser.git
cd japanese-text-parser
2. 安装依赖:
npm install
# 或者
yarn
# 或者
pnpm install
3. 运行开发服务器:
npm run dev
# 或者
yarn dev
# 或者
pnpm dev
# 或者
bun dev
4. 使用浏览器打开 [http://localhost:3000](http://localhost:3000) 查看结果。
## 📖 如何使用
### 基础用法
1. **输入日语单词或短语**
- 在首页的搜索框中,输入您想了解更多关于的任何日语单词、短语或句子。
- 例如:単語(单词),日本語(日语),勉強する(学习)
2. **查看结果**
- Yochimu 将显示包含您搜索词的例句及其英语翻译。
3. **保存想要学习的句子**
- 点击任何句子将其添加到您的学习列表。该句子将被高亮显示以表明已被选中。
4. **导出您的学习列表**
- 收集一些句子后,单击“导出”按钮将列表下载为 TSV 文件。
### 导入到 Anki
来自 Yochimu 的 TSV 文件格式便于导入 Anki:
1. 在计算机上打开 Anki
2. 创建一个新牌组或选择一个现有的
3. 单击“文件”→“导入”并选择您下载的 TSV 文件
4. 配置字段映射(第一个字段:日语,第二个字段:英语)
5. 使用 Anki 的间隔重复系统开始学习
## 💡 有效学习的技巧
- 选择与您当前水平相当或略高于的句子
- 专注于自然、日常的表达,而非文学性或非常正式的日语
- 尝试理解每个句子中的语法模式
- 大声朗读句子以练习发音
- 与 Anki 一起建立持续的学习计划
## 🤝 贡献
欢迎贡献!如果您想为 Yochimu 做出贡献:
1. Fork 仓库
2. 创建您的功能分支(`git checkout -b feature/amazing-feature`)
3. 提交您的更改(`git commit -m '添加一些惊人的功能'`)
4. 推送到分支(`git push origin feature/amazing-feature`)
5. 打开一个 Pull Request
## 🐛 问题与功能请求
如果您遇到任何问题或对新功能有想法,请在 GitHub 上 [创建一个问题](https://github.com/ernestohegi/japanese-text-parser/issues)。
## 📄 许可证
本项目是开源的,并根据 MIT 许可证提供。
祝您日语学习愉快!🎌 がんばって!
标签:Anki集成, DNS解析, SRS, TailwindCSS, TypeScript, 例句提供, 单词提取, 句子上下文学习, 学习卡制作, 安全插件, 开源项目, 教育技术, 文本解析, 日语学习, 日语文本处理, 翻译工具, 自动化攻击, 词汇提取, 语言学习, 间隔重复系统