- режимы:
- показ известного слова
- только после правильного ввода подсказки разрешает переход на следующие
- ввод просто
- показать что это слово введено правильно/неправильно
- кнопка
- фичи
- умеет переключать раскладку
- умеет получать фокус, если является первым полем
- умеет переключать фокус на следующий по enter
- умеет переключать фокус на предыдущий по backspace
- при показывании правильного или неправильного ввода умеет инвертировать результат
- как реализовать режимы: через енум
- как реализовать сохранение данных между разными полями: передавать мутабельную структуру, которая формируется каждый кадр
- как реализовать инвертирование результатов: результаты записываются только после кнопки next
- русский язык не должен быть в одной лодке вместе с английским, они должны храниться отдельно
- при входе в программу должно настраиваться: что первый язык англ а второй руский
- затем в полях ввода слова итд писать что тут должно быть на английском, а там на русском
- при выборе слов, выбираются только английские, а все русские переводы подмешиваются автоматически
- соответственно в структуре words должно быть две хэш-мапы
- добавить считывание из fb2 книг
- Чтобы можно было настраивать предел для расстояния левенштейна, и чтобы это задавалось в настройках, и одновременно в окне поиска на месте.
- Можно сделать алгоритм для поиска английских слов, который смотрит чтобы меньшее слово было внутри более сложного с максимум одним изменением, таким образом мы сразу найдём всякие -s, -ing, un- итд. Или просто взять модуль нормализации слов.
- интересно было бы отсортировать все слова в порядке количества неправильных попыток
- Чтобы при добавлении слов замерялась их частотность, даже частотность известных, и она просто суммировалась к тому что уже хранится, чтобы можно было видеть частотность выученных слов. Хотя и для этого придётся какой-то сложный интерфейс пилить.
- Интерфейс статистики слова
- Когда добавлено (дата, количество дней назад)
- Все майлстоуны (дней после добавления)