Всем привет, меня зовут Алексей. Я давно увлекаюсь программированием, хоть это и не является моей основной профессией. А ещё где-то год назад я увлёкся изучением английского языка.
Много статей написано о том, как учить английский язык. Но если ты владеешь навыками программирования, стоит ли тебе пользоваться готовыми решениями? Ведь можно самому написать программы для изучения языка, удобные именно для тебя.
Например, я много раз пытался учить слова с помощью разных программ на телефоне или компьютере. Но я не нашёл ни одной программы которая бы удовлетворила меня полностью. Где-то, например, нет возможности редактировать перевод слов и нужно учить их как есть, где-то нет нормальной озвучки слов, и почти нигде нет нормального повторения слов через интервалы времени.
Конечно, можно пользоваться бумажными карточками, но они тоже имеют много недостатков. Главные из них: невозможно прослушать произношение слова (только прочитать транскрипцию) и нельзя быстро открыть слово например в словаре Лингво или где-нибудь ещё. В общем учить по бумажным карточкам я посчитал плохой идеей в 21 веке.
Итак, я решил что проще самому написать программы для того чтобы учить английский, чем пользоваться чем-то готовым.
Все программы и файлы о которых будет рассказываться в этой статье лежат в архиве: yadi.sk/d/A4UHOXCTpW9eow
Первым что я написал стала программа для изучения английских слов. Главной идеей стал принцип бумажных карточек. Я попытался сделать так удобно, будто я работаю с бумажными карточками. Но теперь у меня появились возможности которые даёт компьютер, и это очень круто!
В программу нужно перетащить файл в TXT который содержит список слов (каждое слово на новой строке). Для примера список из 2500 самых популярных слов лежит в архиве. Представьте что этот список (файл TXT) это стопка слов. Удобство в том что как и в жизни можно разработать собственную систему изучения и повтора слов, и перебрасывать слова между файлами. Например, сегодня вы выучили 15 слов, они находятся в списке в название которого входит дата следующего повторения и номер этого повторения (например, 15.01 1). Вы повторили слова 15 января, теперь слова нужно повторить через два дня. То есть файл можно назвать 17.01 2. Далее эти слова можно повторить через 4 дня, затем через 8, а потом их можно вбросить в файл «ВЫУЧЕНО.txt» и повторять вместе с другими выученными словами, например, раз в месяц.
Таких списков можно открыть одновременно до трёх. Можно перетаскивать слова между списками потянув мышкой за слово и отпустив его над другим списком. Можно это сделать через Блокнот, нажав кнопку «open» а после редактирования кнопку «refresh». Можно перетасовывать файлы в списке, нажав кнопку «Рандом». Нажав * слово попадёт будет в списке «Отложить». Одноимённая кнопка откроет этот список (это удобно когда хочешь позже вернуться к слову).
Есть список слов «ЗАБЫЛ», в него нельзя вбросить другой файл. И при переносе в него слов они не перемещаются из исходного списка, а копируются в него. Я использую этот список для слов которые хочу чаще повторять.
Щёлкнув по слову мы увидим это слово и его транскрипцию если она есть в базе (файл Transcription.txt, там 18000 слов). Также если в папке «sound» будет файл слово.wav то появится кнопка озвучить слово. (Где взять слова в формате wav? Намекну что можно попробовать вытащить из AB… Lin… но я этого не говорил). Если озвучки слова нет то появится кнопка голосового ассистента (я использовал утилиту Govorilka_cp.exe, которая работает через командную строку).
Нажав в поле слова или клавишу пробел, мы увидим перевод слова, картинку и мнемонику. Естественно, всё это нужно вначале создать. Для этого есть кнопка с изображением шестерёнки.
Нажав её мы откроем окно изучения и редактирования слова. Здесь можно написать перевод слова и его мнемонику. Чтобы сохранить картинку к слову, нужно при включённой галке «поймать картинку» сохранить любое изображение на рабочий стол (картинка будет автоматически удалена с рабочего стола, и помещена в папку программы).
Так же написал нужную мне функцию «Похожие слова». Чтобы легче запоминать похожие по написанию слова. Особенно рассказывать сейчас про неё не стану, просто оставил свои похожие слова в программе, можно нажать кнопку и легко разобраться.
Главная функция этого окна изучение слова в разных онлайн словарях (кстати можно одновременно открыть сколько угодно слов). Чтобы добавить свои онлайн словари, нужно нажать кнопку «Онлайн словари» и отредактировать текстовой файл, чтобы на каждой новой строке ссылка на странницу онлайн словаря. Как правило все ссылки содержат само слово. И достаточно поставить вместо слова символ ~ чтобы программа меняла его автоматически на открытое слово. (Например translate.google.ru/#view=home&op=translate&sl=en&tl=ru&text=~ программа заменит на translate.google.ru/#view=home&op=translate&sl=en&tl=ru&text=red если открыто слово red).
Я использую для изучения:
- словарь Google (там удобно показана частота использования слова в разных значениях);
- примеры промт (там показано как именно переводится слова в текстах обработанных промт);
- и конечно ABBYY Lingvo (если там зарегистрироваться, то появится много словарей, лично я рекомендую Учебный словарь и Англо-русский словарь (Американский вариант)).
На первой вкладке можно увидеть перевод слова в словарях, которые мне удалось найти в интернете и привести в свой формат (они находятся в папке «dictionary_plus»). А также примеры использования слова.
В принципе, это все функции, которые мне потребовались для изучения слов. И я не стал бы заморачиваться, если бы нашёл эти функции в какой-нибудь программе. Но так как я такой программы не нашёл, то пришлось написать её самому.
Но это не единственная программа, которую я написал для изучения английского языка. Чтобы учить слова на телефоне, я написал программу «HTML СЛОВА». Она создаёт html файл из списка слов, этот файл перебрасывается на телефон и позволяет повторять слова через браузер телефона. А если в одной директории с html файлом будет папка «sound» с wav файлами то при клике по транскрипции можно будет прослушать произношение.
Есть ещё одна программа для изучения английского. Её я написал после того, как выучил тот список английских слов, который хотел. Эта программа для чтения на английском языке. В ней я реализовал много интересного функционала для чтения на английском.
ПОДСВЕТКА СПИСКОВ СЛОВ. Можно закидывать в программу списки слов, задать каждому списку свой цвет. и слова в любом тексте будут подсвечиваться этим цветом. Это очень удобно, например, можно создать список слов которые вы уже знаете, и подсвечивать их синим. А слова которые хотите выучить красным. Все остальные слова в тексте будут чёрными. (Чтобы закидывать списки слов нужно нажать жёлтую кнопку СПИСОК).
Кстати, программа находит слово не только в исходной форме, а и в любой другой благодаря файлу Morphy.txt, который содержит 16000 слов во всех словоформах.
Нажав на слово в тексте, оно откроется в панели справа, где также можно перейти в программу редактирования и изучения слова. Там же будет функция перебрасывания слова между списками.
Нажимая кнопки стрелки влево и вправо, можно переходить на следующее или предыдущее приложение. И все слова которые не найдены в ваших списках будут отображены в панели справа, с переводом.
Если нажать значок похожий на глобус, то можно будет получить перевод через API Яндекса. Но для этого нужно добавить свой ключ полученный у яндекса в файл «yandex_api.txt» папки common.
Я также написал функцию, которая даёт возможность получить этот же функционал чтения на телефоне. Создав html файл. Его тоже можно сделать с переводом каждого предложения. Для этого нужно нажать синюю кнопку с изображением смартфона.
Вот это основные приложения, которые я написал для того чтобы учить английский язык. (Но даже не все). Возможно мне просто нравится программировать. А возможно желание выучить язык у меня слишком сильное. Так или иначе я сделал эти программы и получил от этого удовольствие, так же как и от изучения языка. Я выкладываю эти программы в свободный доступ. Пользуйтесь если разберётесь, всё же они были написаны для себя, без учёта разрешений разных мониторов, и прочих технических моментов. Программы не тестировались более чем на одном компьютере и могут иметь ошибки. Не судите меня строго, ведь я не делал коммерческий проект.
Спасибо если дочитали мой пост до конца.
Автор: alekseiasd