Я тоже не исключение. Для расширения словарного запаса мне помогает Anki (прекрасное кросс-платформенное приложение).
Все прекрасно в этом творении софтверной мысли :).
Но вот так называемые Deck'и редко содержать что-то больше чем слово и его самый распатроненный перевод. Не густо. Хочется видеть как минимум транскрипцию, да и звуковое сопровождение (от носителя языка) тоже не плохо. Благо Anki это может.
Транскрипцию я предпочитаю брать из словарей Lingvo, звук из словарей Google.
Делая это "руками" и броузером теряем слишком много времени и бесценное внимание (концентрацию на задаче).
Соответственно...
Вот мой скриптик который помогает делать следующие:
- получить mp3 файл с произношением
- получить транскрипцию (копируется в буфер)
- ну и можно как словарь консольный пользовать :)
#!/usr/bin/ksh # if [[ "x$1" = "x" ]]; then echo "Specify word!" exit 1 fi echo "=-=-=-=-=-=-=-= General =-=-=-=-=-=-=-=" s_word=$* echo "word => ${s_word}" s_url=$( curl --silent "http://www.google.ru/dictionary?langpair=en%7Cru&q=${s_word}" | \ perl -ne "m#${s_word}.+?mp3#i and print" | \ perl -ne 'm#(http://.+?\.mp3)# and print $1 and exit' ) echo "URL => ${s_url}" curl --silent -O ${s_url} & for l_word in ${s_word} do s_regex=${l_word}'(<[^>]+>)+\[(<[^>]+>)+([^<]+)(<[^>]+>)+\]' s_trans=$( curl --silent "http://lingvo.yandex.ru/en?text=${s_word}&lang=en&search_type=lingvo&st_translate=on" | \ perl -ne "m/${s_regex}/ and print '[' . \$3 . ']' " ) echo -n ${s_trans} | pbcopy echo "transcription => ${s_trans}" echo done echo echo "=-=-=-=-=-=-= Translation =-=-=-=-=-=-=" curl --silent "http://lingvo.yandex.ru/en?text=${s_word}&lang=en&search_type=lingvo&st_translate=on" | \ grep 'p class="L1"' | \ perl -pe ' s/(<p[^>]*>)|(<br[^>]*>)/\n/gi; s/(<[^>]+>)+//gi; s/[\t ]+/ /g; s/Syn:/\nSyn:/gi; s/«[^»]+» в других словарях.*//gi; s/\n+/\n/sg ' | head -40 #remove this if you want to see full translation [[ -x $( which mpg123 ) ]] && \ [[ -f "${s_word}.mp3" ]] && mpg123 ${s_word}.mp3 2>/dev/null &
Может кому поможет ;)
Всем спасибо, Все свободны.
UPDATE: к сожалению данный скрипт уже не работает (интернет штука динамическая). Времени написать свежую версию нет :(
куда вставлять этот скрипт?
ReplyDeleteсохрание его как файл (например get_pronons.ksh)
ReplyDeleteпотом в терминале:
cd [путь к файлу]
ksh get_pronons.ksh word
Ложу рядом с get_pronons.ksh файл word со списком анг.слов, в терминале пишу выполнение, выходит следующее:
ReplyDelete=-=-=-=-=-=-=-= General =-=-=-=-=-=-=-=
word => word
get_pronons.ksh: line 14: curl: not found
URL =>
get_pronons.ksh: line 20: curl: not found
get_pronons.ksh: line 26: curl: not found
get_pronons.ksh[29]: pbcopy: not found [Нет такого файла или каталога]
transcription =>
=-=-=-=-=-=-= Translation =-=-=-=-=-=-=
get_pronons.ksh: line 36: curl: not found
Опишите пожалуйста поподробнее, что, как делать?
Тогда вопрос, что дает терминал на следующие комманды:
ReplyDeleteuname -a
which curl
which pbcopy
И еще, параметром должно быть слово а не имя файла.