Выучить 800 слов и алфавит просто нажимая «да/нет», с озвучкой и таймером
- Откройте GitHub Pages
- Нажмите одну из кнопок этапа
- Выберите папку (именно папку, а не файл) с нужным словарём
- Нажимайте Да / Нет и подтвердите загрузку словаря
- Если не выбрать ответ за 10 секунд, то тест будет остановлен
- Также можно повторить катакану/хирагану, нажав кнопку Алфавит
- В Настройках можно задать название этапов и выбрать тему
Словарь - это файл, содержащий слова в формате .txt, например:
シャンプー|шампунь
Для примера можно скачать пробный словарь на 10 слов
歯ブラシ|зубная щетка
石鹸|мыло
トイレットペーパー|туалетная бумага
歯磨き粉|зубная паста
ボディタオル|мочалка
シャンプー|шампунь
タオル|полотенце
蛇口|кран
洗面台|раковина
トイレ|унитаз
Приложение поддерживает текстовые файлы (.txt) и документы Microsoft Word (.docx). Каждая строка (или абзац в docx) должна содержать японское слово (слова) и перевод на русский.
Разделителем может быть:
- Вертикальная черта | (рекомендуется)
- Табуляция \t
- Несколько пробелов
Поддержка нескольких японских слов в одной строке Если в левой части строки несколько японских слов, разделённых пробелами, каждое из них получит один и тот же перевод (как синонимы).
Примеры строк:
ねこ|кошка
いぬ собака
とり;птица ← точка с запятой не поддерживается, только |, таб или пробел
たべる のむ|есть пить ← так не нужно, но есть шанс, что будет работать
Корректные примеры:
| Формат | Пример |
|---|---|
| Вертикальная черта | ねこ|кошка |
| Табуляция | ねこ\tкошка |
| Пробел | ねこ кошка |
| Несколько японских слов | ねこ 猫 にゃんこ|кошка |
В последнем случае будут созданы три пары:
ねこ → кошка, 猫 → кошка, にゃんこ → кошка.
Рекомендации
- Используйте кодировку UTF-8.
- Для больших словарей удобнее использовать .txt с разделителем |.
- Избегайте лишних пробелов в начале/конце строк.
- Пустые строки игнорируются.
Поддерживаются файлы .docx – текст из них извлекается и обрабатывается так же, как и из .txt.
## Структура приложения
```text
japanese-trainer/
├── index.html
├── README.md
├── .gitignore
└── words/ # папка со словарями (будет доступна для выбора)
├── 1_sushchestvitelnye/
│ ├── zhivotnye.txt
│ └── rasteniya.txt
├── 2_prilagatelnye/
│ └── osnovnye.txt
└── 3_glagoly/
└── dejstviya.txt
Приложение использует следующие технологии:
- Выбор папки через атрибут webkitdirectory (нестандартный, но поддерживается в браузерах на движке Chromium)
- Синтез речи (Speech Synthesis API) для озвучивания японских слов
- File API для чтения текстовых файлов
Поэтому полная поддержка (выбор папки, озвучивание, работа таймера) обеспечивается в:
| Браузер | Поддержка |
|---|---|
| Google Chrome (версия 49+) | ✅ Полная |
| Microsoft Edge (Chromium‑версия) | ✅ Полная |
| Opera (версия 36+) | ✅ Полная |
| Яндекс.Браузер | ✅ Полная |
| Brave | ✅ Полная |
| Браузер | Особенности |
|---|---|
| Mozilla Firefox | ❌ Не поддерживает webkitdirectory (нельзя выбрать папку). Приложение не сможет загрузить слова. |
| Safari (macOS / iOS) | ❌ Не поддерживает webkitdirectory. Speech Synthesis работает, но выбор папки недоступен. |
Добавить голос
Приложение просто использует то, что предоставляет браузер. Если мужской голос физически отсутствует в системе, он не может быть воспроизведён.
В Windows можно установить дополнительные языковые пакеты с мужскими голосами (например, через «Параметры» → «Время и язык» → «Речь» → «Управление голосами»). В macOS стандартный японский голос «Kyoko» женский, но есть и мужской «Otoya» (если включить дополнительные голоса в настройках). В Chrome также можно проверить доступные голоса через window.speechSynthesis.getVoices() в консоли.
Важно: Для работы требуется настольный компьютер, ноутбук или смартфон с Android. Предварительно загрузить или создать хотя бы один словарь.
Приложение разработано на чистом HTML5, CSS3 и JavaScript (ES6+), без использования сторонних библиотек. Основные технологии и их документация:
- HTML5 / CSS3 / JavaScript — стандарты веб-платформы
- MDN Web Docs
- File API — чтение файлов, выбранных пользователем.
- File API (MDN)
- FileReader
- Web Speech API (SpeechSynthesis) — озвучивание японских слов.
- SpeechSynthesis (MDN)
- Web Speech API Specification
- Выбор папки с файлами — нестандартный атрибут webkitdirectory (поддержка Chromium).
- webkitdirectory (MDN)
- HTMLInputElement.directory
- Работа с таймерами — setInterval, setTimeout, clearInterval, clearTimeout
- setInterval (MDN)
- setTimeout (MDN)
- Генерация случайных чисел — Math.random()
- Math.random (MDN)
- Асинхронное программирование — async/await, Promise
- async function (MDN)
- Promise (MDN)
- Работа с DOM — стандартные методы и свойства
- Document Object Model (MDN)
Все используемые технологии являются открытыми стандартами, реализованными в современных браузерах. Приложение не требует установки дополнительного программного обеспечения