Pull to refresh

Comments 11

Заодно: перевод слов по двойному клику для Firefox/GreaseMonkey, используя LingvoLeo
// ==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);


UFO landed and left these words here
Какие то надуманные проблемы имхо, если вы знаете слово run это не значит что не нужно учить running, тоже самое стоп слова, их тоже нужно знать и не фильтровать. Проще все эти слова по фасту отметить как знаю, и дальше при фильтре других сабов уже не будут попадаются, я для себя так писал прогу.
Ну в общем я так и сделал. Слова, которые я знаю или названия разные, стопслова я просто добавляю в одну таблицу и они больше не будут появляться — это мой список стопслов.
если вы знаете слово run это не значит что не нужно учить running

согласен, но слово выпадает из списка, но остаётся в видео, которое я собираюсь смотреть и если оно там примет другое значение, как может быть с фразовым глаголом, например, мне таки придётся ещё раз посмотреть значение.
Решение не идеальное, но помогает мне убрать из фильма то, что я знаю или то, что и так понятно, оставив по максимуму то, что следует изучить.
Если вы потратили столько усилий на реализацию такого функционала, я думаю вы зацените этот сервис :) www.hamatata.com
Есть возможность просмотра практически любого фильма с практически любым языком субтитров. По наведению курсора на слово в субтитрах, видео ставится на паузу, а по клику можно посмотреть перевод с других сервисов и Лео в том числе)
Я знаю про Ваш сервис, спасибо, что напомнили. Но разве он позволяет добавлять слова в словарь Лингволео или только просмотр перевода? Если только второе, то вся проблема заключается в том, что мне нужно будет как-то добавить слово в словарь, вручную, чего я и хотел избежать :)
В этом и вся прелесть, что есть кнопочка «добавить в словарь»)
Вроде бы достаточно неплохо, но утомляет.
Зато слова хорошо запоминаются в контексте и с произношением, к тому же со временем незнакомых слов будет всё меньше и меньше, а если предварительно учить список слов, то это будет просто несвязанный список, и вне контекста у вас может быть семь вариантов перевода, и ни одного правильного, а если читать целыми предложениями, то будут спойлеры.

у меня как-то была идея написать сервис, который помогает тренировать умение воспринимать речь на слух. т.е. можно загрузить туда файл субтитров, а сервис сгенерирует новый файл, из которого удалит все предложения, где пользователю известны все слова, а если в предложении хоть одно неизвестно, то оно остается. там же можно было в удобном виде добавлять/удалять слова в словарь, все предложения отображались на странице, на любое слово можно было кликать, чтобы устанавливать ему одно из состояний: известно/неизвестно, а они соответствующим образом подсвечивались зеленым/красным цветом, чем больше добавлялось субтитров, тем больше было подсвеченных слов и меньше приходилось на них кликать. был даже написан работающий прототип, но в итоге я перестал смотреть сериалы и все как-то забросилось, хотя исходники сохранились, если что.


https://bitbucket.org/angru/cutthesub

Есть мнение, которое озвучивает тот же Лео (которым я активно пользуюсь), которое заключается в том, что для наиболее эффективного развития нужно смотреть видео, 80% слов в котором понятны.

Тут где-то на хабре была статья, как один товарищ обожал симпсонов и выучил язык с нуля когда прекратили переводить их на русский — и он молодец, но описывал именно ситуацию «сначала я смотрел каждое слово и это был ад».

Я правда — не знаю, как правильнее поступать. Но пока я для себя очень чётко различаю, в каком контексте я нахожусь — «обучение языку» или «просмотр по работе» (это тексты, поэтому мне помогает плагин Лео по переводу слова и плагин яндекса по переводу слова) и не всегда в последнем режиме мне так важен точный перевод слова.

В том же Лео у меня другая беда: после 10к слов в словаре очень сложно вспомнить, какие слова ты уже «изучил» (по терминологии сервиса, т.е. — попали в словарь или не попали) и приходится очень многие слова тыкать и смотреть «ага, тут уже есть галка, это слово я добавлял»). Я им даже писал по этому поводу, но мою проблему сперва не поняли, а потом задвинули в конец очереди. Быстрее самому плагин для браузера (подсвечивать в тексте Лео слова, НЕ добавленные в словарь) написать, чем дожидаться.
Sign up to leave a comment.

Articles