Comments 11
// ==UserScript==
// @name MyScript
// @namespace Translate
// @description Linvaleo
// @version 1
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function (window, undefined) {
var w = (typeof unsafeWindow != undefined) ? unsafeWindow : window;
if (w.self != w.top)
return;
var hint = document.createElement('div');
hint.id = 'lingualeo-hint';
hint.style.position = 'fixed';
hint.style.background = 'white';
hint.style.padding = '20px';
hint.style.fontSize = '14pt';
hint.style.cursor = 'default';
hint.style.border = '1px solid #bbb';
hint.style.display = 'none';
hint.onmouseleave = () => hint.style.display = 'none';
document.body.appendChild(hint);
var words = {};
function translate (word, callback) {
var data = words[word];
if (data)
return callback(null, data);
GM_xmlhttpRequest({
method: 'GET',
url: 'http://lingualeo.com/userdict3/getTranslations?word_value=' + word + '&groupId=&_=' + new Date().getTime(),
onload: function(response) {
try {
data = JSON.parse(response.responseText).userdict3;
data.audio = new Audio(data.sound_url);
words[word] = data;
callback(null, data);
} catch (err) {
callback(err);
}
}
});
}
document.ondblclick = function (event) {
var selection = window.getSelection();
var word = selection.toString().trim();
if (!word)
return;
translate(word, function(err, data) {
if (err)
return console.error(err);
var html = [];
if (data.transcription)
html.push('<i>' + data.transcription + '</i>');
if (data.translations instanceof Array)
data.translations.forEach((t) => html.push(t.translate_value));
hint.innerHTML = html.join('<br>');
hint.style.top = event.clientY - 5 + 'px';
hint.style.left = event.clientX - 5 + 'px';
hint.style.display = 'block';
data.audio.play();
selection.removeAllRanges();
});
}
})(window);
если вы знаете слово run это не значит что не нужно учить running
согласен, но слово выпадает из списка, но остаётся в видео, которое я собираюсь смотреть и если оно там примет другое значение, как может быть с фразовым глаголом, например, мне таки придётся ещё раз посмотреть значение.
Решение не идеальное, но помогает мне убрать из фильма то, что я знаю или то, что и так понятно, оставив по максимуму то, что следует изучить.
Есть возможность просмотра практически любого фильма с практически любым языком субтитров. По наведению курсора на слово в субтитрах, видео ставится на паузу, а по клику можно посмотреть перевод с других сервисов и Лео в том числе)
Вроде бы достаточно неплохо, но утомляет.Зато слова хорошо запоминаются в контексте и с произношением, к тому же со временем незнакомых слов будет всё меньше и меньше, а если предварительно учить список слов, то это будет просто несвязанный список, и вне контекста у вас может быть семь вариантов перевода, и ни одного правильного, а если читать целыми предложениями, то будут спойлеры.
у меня как-то была идея написать сервис, который помогает тренировать умение воспринимать речь на слух. т.е. можно загрузить туда файл субтитров, а сервис сгенерирует новый файл, из которого удалит все предложения, где пользователю известны все слова, а если в предложении хоть одно неизвестно, то оно остается. там же можно было в удобном виде добавлять/удалять слова в словарь, все предложения отображались на странице, на любое слово можно было кликать, чтобы устанавливать ему одно из состояний: известно/неизвестно, а они соответствующим образом подсвечивались зеленым/красным цветом, чем больше добавлялось субтитров, тем больше было подсвеченных слов и меньше приходилось на них кликать. был даже написан работающий прототип, но в итоге я перестал смотреть сериалы и все как-то забросилось, хотя исходники сохранились, если что.
Тут где-то на хабре была статья, как один товарищ обожал симпсонов и выучил язык с нуля когда прекратили переводить их на русский — и он молодец, но описывал именно ситуацию «сначала я смотрел каждое слово и это был ад».
Я правда — не знаю, как правильнее поступать. Но пока я для себя очень чётко различаю, в каком контексте я нахожусь — «обучение языку» или «просмотр по работе» (это тексты, поэтому мне помогает плагин Лео по переводу слова и плагин яндекса по переводу слова) и не всегда в последнем режиме мне так важен точный перевод слова.
В том же Лео у меня другая беда: после 10к слов в словаре очень сложно вспомнить, какие слова ты уже «изучил» (по терминологии сервиса, т.е. — попали в словарь или не попали) и приходится очень многие слова тыкать и смотреть «ага, тут уже есть галка, это слово я добавлял»). Я им даже писал по этому поводу, но мою проблему сперва не поняли, а потом задвинули в конец очереди. Быстрее самому плагин для браузера (подсвечивать в тексте Лео слова, НЕ добавленные в словарь) написать, чем дожидаться.
Английские субтитры с Лео