Skip to content

fsergey/LearningEnglish

 
 

Repository files navigation

LearningEnglish

Работает приложение очень просто - вы создаете словарь, оно "прогоняет" вас по этому словарю, поправляя при необходимости. При каждом запуске нужно ответить правильно определенное кол-во раз, после чего программа скроется и через настроенный промежуток времени появиться вновь. Если вы перевели какое-то слово неверно, то оно будет повторяться снова и снова до тех пор, пока не будет введен верный ответ, причем повторные ответы правильные или нет - на статистику не влияют. Для контроля процесса изучения в правом верхнем углу есть кнопка для просмотра статистики по словам. Более подробно описание того зачем все это нужно, можно почитать в статье на habrahabr.ru

Настройки

В файл config.json вынесено большинство настроек программы, таких как:

  • Пути к словарю и файлу для сохранения статистики (все пути указываются либо относительно main.py, либо задается полный путь)
  • Периодичность повторения и кол-во правильных ответов для урока
  • Кол-во изучаемых одновременно слов
  • Параметры по которым слово будет считаться изученным
  • Отображение транскрипции
  • Задержка перед началом урока
  • Параметры таблицы со статистикой

Словарь

В словаре допускается указывать несколько вариантов перевода через запятую, программа засчитает любой из этих ответов за правильный. Так же не играет роли регистр введенного слова и пробелы в конце или в начале, в ответах не различаются буквы "е" и "ё". Если вы по ошибке добавите в словарь несколько одинаковых английских слов, при загрузке переводы дубликатов будут объединены.

Некоторые разные английские слова переводятся на русский одинаково н-р: team и command переводятся как команда, поэтому когда попадается упражнение по переводу слова "команда" на английский, не понятно что вводить в ответ. На этот случай, в словаре можно использовать уточнения в круглых скобках: ["team", "ti:m", "команда(группа)"], ["command", "kə'mɑ:nd", "команда(приказ)"] тогда скрипт будет явно просить перевести слово "команда(группа)" или "команда(приказ)", при переводе в обратную сторону слов team или command уточнение писать не нужно, требуется ответить только "команда".

При переводе на русский, зачастую окончание слова (или другая часть) не важна например angry можно перевести как сердитый, сердит, сердита и т.п. Что бы избежать путаницы, в переводе можно пометить необязательную часть слова квадратными скобками н-р: ["angry", "'æŋgri", "сердит[ый]"] Теперь везде в интерфейсе перевод будет отображаться как "сердитый", но в качестве ответа на слово "angry", допускается вводить сердитый, сердит, сердита и т.п., главное что бы оно начиналось с "сердит". Скобок может быть сколько угодно, в любой части слова.

Пример оформления словаря можно увидеть в файле - dict.json.

Выбор слов для изучения

Случайным образом из словаря выбирается 50 (настраивается) неизученных слов + все изученные. Каждому из слов проставляется рейтинг, зависящий от того, насколько давно это слово повторялось, какой процент правильных ответов по этому слову, правильно ли вы в последний раз его перевели, в итоге чем хуже вы слово знаете тем выше у него проставляется рейтинг. Из полученного списка случайным образом выбираются слова для урока, причем, чем выше рейтинг, тем больше вероятность, что именно оно будет вам предложено для перевода.

Установка

Скрипт написан на python 2.6, поэтому требуется его установить (вполне вероятно он будет себя хорошо вести на других версиях python 2.X, в частности на 2.7 проблем небыло обнаружено). Для пользователей Linux и OS X, возможно придется достатновить пакет tkinter для GUI, хотя довольно частно он идет в дефолтной поставке. Запустить скрипт можно вот такой командой: «%path_to_Python26%\pythonw.exe %path_to_main.py%\main.py».

Синхронизация

Если скрипт используется одновременно на разных компьютерах, то его можно переместить в папку dropbox'а или аналогичного сервиса (в принципе достаточно выложить туда только словарь и файл со статистикой настроив соответственно пути в конфиге). Скрипт достаточно интеллектуален, что бы не затирать результаты уроков записанных другой копией и автоматически в начале каждого урока перечитывать словарь.

Версии

Описание изменений и исправленных ошибок можно посмотреть тут

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published