## File: README.md
## Online Access
## Features
### Word Practice
- Practice modes: Follow-along / Dictation / Self-test / Spelling from memory
- Smart mode: Automatically calculates learning words based on memory curves, deepening memory through dictation
- Free mode: No restrictions, plan your own learning
- Provides phonetics, pronunciation (American/British), example sentences, phrases, synonyms, root words, etymology, error statistics, and more
### Article Memorization
- Built-in classic textbooks; you can also add or import articles with one-click translation and bilingual comparison
- Follow-along + dictation dual modes, sentence-by-sentence input with automatic pronunciation for more efficient memorization
- Supports listening while writing from memory to reinforce learning
### Favorites, Wrong Words, Mastered
- Words typed incorrectly while learning are automatically added to your wrong word book for later review
- Actively add words to mastered to automatically skip them in future sessions
- Add words to favorites for consolidation and review
### Highly Customizable
- Rich keyboard sound effects
- Customizable shortcuts
- Highly configurable settings
### Clean and Efficient
- Clean design, modern UI, ad-free
- Refreshing interface, simple operation
- No forced subscription to any platform
### Vocabulary Library
Built-in commonly used vocabulary including CET-4, CET-6, GMAT, GRE, IELTS, SAT, TOEFL, Graduate English, TEM-4, TEM-8, and more.
Designed to meet most users' vocabulary learning needs. Community contributions of additional vocabulary are welcome.
## Running the Project
#### Note: This project can run standalone with data saved locally. Manual backup is required when switching devices; this does not affect normal usage.
This project is built with `Nuxt` and requires a Node.js environment.
1. Install NodeJS, refer to the [official documentation](https://nodejs.org/en/download)
2. The project is large. It's recommended to use `git clone --depth 1 https://github.com/zyronon/TypeWords.git` to clone only the latest commit. GitHub's Download ZIP feature will not work properly.
3. In the project root directory, open a terminal and run `pnpm install` to download dependencies.
4. Run `pnpm run dev` to start the project. The default address is [`http://localhost:5567`](http://localhost:5567)
5. Open [`http://localhost:5567`](http://localhost:5567) in your browser to access the project.
6. Run `pnpm run generate` to build the project files.
## Features and Suggestions
The project is currently in early development, with new features being added continuously. If you have any suggestions or feature requests, feel free to open an `Issue`.
If you like the design philosophy of this software, please submit a `PR`. Thank you for your support!
## Contributing Guide
[Contributing Guidelines](/docs/CONTRIBUTING.md)
If you're interested in this project, we welcome your contributions and will provide as much help as possible.
Before contributing, please communicate with the developers to avoid code conflicts.
Thank you again for your contributions!
---
## File: docs/CONTRIBUTING.md
# 开源代码贡献准则
## PR 来源
- 我们会在 GitHub 上将需要完成的 feature 和修复的 bug 标记为 "Help Wanted"
- 用户在用户社群(在项目官方部署的 footer 中有二维码)提出的需求和 bug
- 根据大家对项目的理解和兴趣,认为需要做的 feature 和修复的 bug
## 在开始做 PR 之前
- 在 **开发者社群或 issue 区** 进行讨论,确认这个 PR 符合项目需求,并考虑对现有代码和未来计划的影响
在 GitHub 上创建相关的 issue(已有 issue 则无须创建),并进行回复。尽可能在 issue 描述了问题、解决方案、相关细节和贡献者预期的工作,方便大家进行讨论
- 确认开始 issue 后,尽可能在一周内解决(相对复杂的 issue 除外),以免 PR 长期无法推进,其他开发者也无法参与
在 PR 过程中
- 在开始 coding 后,尽早提出一个 draft PR,方便其他开发者参与讨论,给出建议和帮助
遇到任何技术问题和实现路线问题,可以在 开发者社群或 issue 区 进行讨论。确保 PR 满足项目的开发规范和质量标准,经过充分测试和文档支持
- 在 PR 中友好协作,回应 Code Review。接受反馈并进行改进,遵守代码风格和注释规范,确保代码的可读性和可维护性
其他人也可以对 PR 进行 Review,帮助发现代码中的问题,提出自己的建议和想法
不需要担心自己的 pr 没有完整的覆盖掉所有 corner case 或者是否会与项目的其他功能产生冲突(对于 new contributor 来说,很难有时间完整理解项目所有代码和逻辑),只需要尽自己所能去实现,我们会在 review 的过程中一起讨论和完善。 我们都贡献自己擅长的部分就可以打造一个优秀 pr 和更好的 TypeWords!
## 完成 PR 后
- 标记相关 issue 为完成。确保代码被合并到主分支,并在生产环境中经过充分测试和部署
- 如果是用户社群的相关需求,可以在社群内对用户进行回复
## 行为准则
- 尊重所有贡献者,不论其技术水平、经验、性别、性取向、种族、宗教信仰或国籍
- 保持开放的心态,愿意接受其他人的批评和建议,并根据反馈进行改进
- 提交有价值的贡献,符合项目需求并遵守项目的开发规范和质量标准
- 不要在 PR 或讨论中使用不礼貌或侮辱性的语言,不要发布任何垃圾或攻击性的内容
- 遵守代码行为准则,不要进行不道德或不法的行为,如抄袭、篡改他人代码、恶意破坏等
- 避免进行灌水式的讨论或评论,尽量保持话题与项目相关,并尊重他人的意见和观点
- 遵守相关法律法规和 GitHub 平台的规定,不发布含有违法、政治或淫秽内容的 PR 或评论
## 反馈
如有任何问题或建议,请随时在 issue 区或者群内提出,我们将及时解决。同时,欢迎参与项目的讨论和开发,共同打造更加优秀的开源项目!
---
## File: docs/README.th.md
## เข้าถึงออนไลน์
[https://typewords.cc](https://typewords.cc)
## รายการฟีเจอร์
### ฝึกคำศัพท์
- โหมดฝึก: ตามพิมพ์ / เขียนตามคำบอก / ทดสอบตัวเอง / เขียนจากความจำ
- โหมดอัจฉริยะ: คำนวณคำศัพท์ที่เรียนอัตโนมัติตามเส้นโค้งความจำ เพิ่มความจำผ่านการเขียนตามคำบอก
- โหมดอิสระ: ไม่มีข้อจำกัด วางแผนการเรียนรู้ด้วยตัวเอง
- มีสัทอักษร การออกเสียง (อเมริกัน/อังกฤษ) ประโยคตัวอย่าง วลี คำพ้องความหมาย คำรากเดียวกัน นิรุกติศาสตร์ สถิติข้อผิดพลาด และอื่นๆ
### ท่องบทความ
- มีหนังสือเรียนคลาสสิกในตัว; คุณยังสามารถเพิ่มหรือนำเข้าบทความพร้อมการแปลคลิกเดียวและการเปรียบเทียบสองภาษา
- โหมดคู่ตามพิมพ์ + เขียนตามคำบอก ป้อนทีละประโยค ออกเสียงอัตโนมัติเพื่อการท่องจำที่มีประสิทธิภาพมากขึ้น
- รองรับการฟังขณะเขียนจากความจำเพื่อเสริมการเรียนรู้
### รายการโปรด คำผิด คำที่เชี่ยวชาญแล้ว
- คำที่พิมพ์ผิดระหว่างเรียนจะถูกเพิ่มลงในสมุดคำผิดอัตโนมัติเพื่อทบทวนในภายหลัง
- เพิ่มคำลงในรายการเชี่ยวชาญแล้วเพื่อข้ามอัตโนมัติในเซสชันถัดไป
- เพิ่มคำลงในรายการโปรดเพื่อทบทวนและเสริมความแข็งแกร่ง
### ปรับแต่งได้สูง
- เอฟเฟกต์เสียงคีย์บอร์ดหลากหลาย
- ปุ่มลัดที่ปรับแต่งได้
- ตัวเลือกการตั้งค่าที่กำหนดค่าได้สูง
### สะอาดและมีประสิทธิภาพ
- ดีไซน์สะอาด UI ทันสมัย ไม่มีโฆษณา
- อินเทอร์เฟซสดชื่น ใช้งานง่าย
- ไม่มีการบังคับสมัครสมาชิกแพลตฟอร์มใดๆ
### คลังคำศัพท์
มีคำศัพท์ที่ใช้บ่อยในตัว รวมถึง CET-4, CET-6, GMAT, GRE, IELTS, SAT, TOEFL, ภาษาอังกฤษบัณฑิตศึกษา, TEM-4, TEM-8 และอื่นๆ
ออกแบบมาเพื่อตอบสนองความต้องการการเรียนรู้คำศัพท์ของผู้ใช้ส่วนใหญ่ ยินดีต้อนรับการสนับสนุนคำศัพท์เพิ่มเติมจากชุมชน
## การรันโปรเจกต์
#### หมายเหตุ: โปรเจกต์นี้สามารถรันแบบสแตนด์อโลนโดยข้อมูลจะถูกบันทึกในเครื่อง ต้องสำรองข้อมูลด้วยตนเองเมื่อเปลี่ยนอุปกรณ์; สิ่งนี้ไม่ส่งผลกระทบต่อการใช้งานปกติ
โปรเจกต์นี้สร้างด้วย `Nuxt` และต้องการสภาพแวดล้อม Node.js
1. ติดตั้ง NodeJS ดู[เอกสารอย่างเป็นทางการ](https://nodejs.org/en/download)
2. โปรเจกต์มีขนาดใหญ่ แนะนำให้ใช้ `git clone --depth 1 https://github.com/zyronon/TypeWords.git` เพื่อโคลนเฉพาะคอมมิตล่าสุด ฟังก์ชัน Download ZIP ของ GitHub จะไม่ทำงานอย่างถูกต้อง
3. ในไดเรกทอรีรากของโปรเจกต์ เปิดเทอร์มินัลและรัน `pnpm install` เพื่อดาวน์โหลด dependencies
4. รัน `pnpm run dev` เพื่อเริ่มโปรเจกต์ ที่อยู่เริ่มต้นคือ [`http://localhost:5567`](http://localhost:5567)
5. เปิด [`http://localhost:5567`](http://localhost:5567) ในเบราว์เซอร์เพื่อเข้าถึงโปรเจกต์
6. รัน `pnpm run generate` เพื่อบิลด์ไฟล์โปรเจกต์
## ฟีเจอร์และข้อเสนอแนะ
โปรเจกต์อยู่ในช่วงพัฒนาเริ่มต้น ฟีเจอร์ใหม่กำลังถูกเพิ่มอย่างต่อเนื่อง หากคุณมีข้อเสนอแนะหรือคำขอฟีเจอร์ อย่าลังเลที่จะเปิด `Issue`
หากคุณชอบปรัชญาการออกแบบของซอฟต์แวร์นี้ กรุณาส่ง `PR` ขอบคุณสำหรับการสนับสนุนของคุณ!
## คู่มือการมีส่วนร่วม
[แนวทางการมีส่วนร่วม](/docs/CONTRIBUTING.md)
หากคุณสนใจในโปรเจกต์นี้ เรายินดีต้อนรับการมีส่วนร่วมของคุณและจะให้ความช่วยเหลือเท่าที่เป็นไปได้
ก่อนมีส่วนร่วม กรุณาติดต่อสื่อสารกับนักพัฒนาเพื่อหลีกเลี่ยงความขัดแย้งของโค้ด
ขอบคุณอีกครั้งสำหรับการมีส่วนร่วมของคุณ!
---
## File: docs/README.uk.md
## Онлайн-доступ
[https://typewords.cc](https://typewords.cc)
## Список функцій
### Практика слів
- Режими практики: Слідування / Диктант / Самоперевірка / Письмо з пам'яті
- Розумний режим: Автоматично розраховує слова для вивчення на основі кривих пам'яті, поглиблюючи запам'ятовування через диктант
- Вільний режим: Без обмежень, плануйте своє власне навчання
- Надає фонетику, вимову (американську/британську), приклади речень, фрази, синоніми, однокореневі слова, етимологію, статистику помилок та багато іншого
### Запам'ятовування статей
- Вбудовані класичні підручники; ви також можете додавати або імпортувати статті з перекладом в один клік та двомовним порівнянням
- Подвійні режими слідування + диктант, введення речення за реченням з автоматичною вимовою для ефективнішого запам'ятовування
- Підтримує слухання під час письма з пам'яті для закріплення навчання
### Обране, Помилкові слова, Освоєні
- Слова, набрані неправильно під час навчання, автоматично додаються до вашого зошита помилкових слів для подальшого повторення
- Активно додавайте слова до освоєних, щоб автоматично пропускати їх у майбутніх сесіях
- Додавайте слова до обраного для закріплення та повторення
### Висока налаштовуваність
- Багаті звукові ефекти клавіатури
- Налаштовувані гарячі клавіші
- Висококонфігуровані параметри налаштування
### Чистий та ефективний
- Чистий дизайн, сучасний інтерфейс, без реклами
- Освіжаючий інтерфейс, проста робота
- Без примусової підписки на будь-яку платформу
### Бібліотека словникового запасу
Вбудований часто використовуваний словниковий запас, включаючи CET-4, CET-6, GMAT, GRE, IELTS, SAT, TOEFL, англійську для аспірантури, TEM-4, TEM-8 та багато іншого.
Розроблено для задоволення потреб більшості користувачів у вивченні словникового запасу. Вітаються додаткові словникові внески від спільноти.
## Запуск проекту
#### Примітка: Цей проект може працювати автономно з даними, збереженими локально. Ручне резервне копіювання потрібне при зміні пристроїв; це не впливає на нормальне використання.
Цей проект побудований на `Nuxt` і вимагає середовища Node.js.
1. Встановіть NodeJS, див. [офіційну документацію](https://nodejs.org/en/download)
2. Проект великий. Рекомендується використовувати `git clone --depth 1 https://github.com/zyronon/TypeWords.git` для клонування лише останнього коміту. Функція Download ZIP GitHub не працюватиме правильно.
3. У кореневому каталозі проекту відкрийте термінал і виконайте `pnpm install` для завантаження залежностей.
4. Виконайте `pnpm run dev` для запуску проекту. Адреса за замовчуванням [`http://localhost:5567`](http://localhost:5567)
5. Відкрийте [`http://localhost:5567`](http://localhost:5567) у браузері для доступу до проекту.
6. Виконайте `pnpm run generate` для збірки файлів проекту.
## Функції та пропозиції
Проект наразі на ранній стадії розробки, нові функції постійно додаються. Якщо у вас є пропозиції або запити на функції, не соромтеся відкрити `Issue`.
Якщо вам подобається філософія дизайну цього програмного забезпечення, будь ласка, надішліть `PR`. Дякуємо за вашу підтримку!
## Посібник з внесків
[Керівництво з внесків](/docs/CONTRIBUTING.md)
Якщо вас цікавить цей проект, ми вітаємо ваш внесок і надамо якомога більше допомоги.
Перед внеском, будь ласка, зв'яжіться з розробниками, щоб уникнути конфліктів коду.
Ще раз дякуємо за ваш внесок!