Page 1 of 1

Онлайн словари - отображение только словарной статьи

PostPosted: Wed Jun 01, 2011 2:34 pm
by gorilych
Всем привет.

Недавно придумал способ отображать только словарную статью (без рекламы, строки поиска и прочей чешуи) при переводе в GD, но столнулся с некоторыми проблемами.

==== Сначала описание метода (на примере для Fr-En-Fr словаря на http://www.wordreference.com):

Словарную статью отображаем через локальный html файл, то есть вместо

http://www.wordreference.com/fren/%GDWORD%

используем

file:///home/me/.goldendict/wordreference.com.fr-en-fr/wd.html?dir=fren&word=%GDWORD%

Результат виден на приложенном скриншоте
wr-local.png
Так выглядит словарная статья через локальный html-proxy
wr-local.png (77.81 KiB) Viewed 16587 times


Для сравнения также прикрепил, как оно отображается без обрезания
wr.png
Так выглядит словарная статья при подключении онлайн словаря напрямую
wr.png (70.95 KiB) Viewed 16587 times


Локальный файл wd.html работает как модифицирующий прокси: js скрипт с помощью ajax/yql (используется jquery, yql нужен для cross site scripting) подгружает содержимое страницы http://www.wordreference.com/fren/%GDWORD% и обрезает ненужные элементы. В браузере (ie/ff/chrome) - работает нормально, кроме wordreference.com ещё эксперементировал на multitran.ru.

Содержимое /home/me/.goldendict/wordreference.com.fr-en-fr прикрепил в архиве
wr.tgz
Содержимое /home/me/.goldendict/wordreference.com.fr-en-fr/
(36.13 KiB) Downloaded 1054 times
. Для галочки: это только для ознакомления/личного пользования, контент wordreference.com скорее всего защищён АП. Стоит заметить, что владельцы сайты легко могут отрубить этот метод, если захотят - так что коммерческое использование вряд ли возможно, даже если вдруг окажется, что оно законно.

===== Теперь описание проблем.

Сразу оговорюсь, что ниже обсуждаемые проблемы проявляются только в окне GD, в браузерах проблем нет.

1. GD отображает статью через раз, то есть иногда вместо статьи - пустое место. Вероятно это связано с тем, что GD не дожидается отработки JS скрипта, который перерисовывает страницу. Приходится выключать/включать иконку словаря несколько раз.

2. Если статья отображается, то в её конец добавляется пустое место по размерам раза в 3-4 больше самой статьи, которое сдвигает словарные статьи из других словарей.

Поведение одинаковое в винде (сборку не помню) и линуксе (1.0.2~git20110314-1).

===== Чего хочу:

1. Помощи в решении проблем (я не програмист, сам скрипт наваял методом копипаста из различных источников) - поэтому самому искать проблему в недрах кода GD/Qt представляется плохим вариантом.

2. Советов в улучшении.

Спасибо.

Re: Онлайн словари - отображение только словарной статьи

PostPosted: Sun Jun 05, 2011 8:06 am
by ikm
GD сейчас делает так: для каждой статьи создает скрытый iframe, в котором они загружаются. После того как он получает от webkit событие loadFinished() для всего документа, он изменяет размер каждого фрейма на тот, который получает из QWebFrame::contentsSize().height() и показывает этот фрейм. Почему это работает не всегда - я не знаю. Возможно, некоторые страницы не загружаются полностью никогда (бывают, что они ждут там картиночку какую-нибудь вечно, или, возможно, что-нибудь подобное). Почему размер фрейма на деле может не соответствовать заявленному - тоже не знаю. В любом случае, код там несложный, и для некоторых вещей даже используется javascript, так что на исходники GD, мне кажется, смотреть вполне можно (конкретно описанное мною тут живет в articleview.cc:229).

Re: Онлайн словари - отображение только словарной статьи

PostPosted: Mon Nov 14, 2011 10:18 am
by Sorbing
У меня такая проблема при добавлении источника перевода "Веб-сайт". Через браузер источник отрабатывает отлично, ни каких багов или задержек. А вот при добавлении его в GoldenDict переводит раз на пятый, а то и реже.
Не пойму в чем может быть проблема. Пол дня убил но проблему так и не решил, а мне очень нужно переводить предложения целиком, а не только слова.
Использовал Google Translate, через промежуточный скрипт парсер, т.к. платить за АПИ пока не вижу смысла, раз схема не работоспособна.
URL переводчика:
Code: Select all
http://sectorit.net/tools/google_translate/google_translate.php?text=%GDWORD%

Исходник на быструю руку, но мож кому пригодится.
Подскажите в какую сторону копать или альтернативные схемы решения вопроса: "Нужно переводить предложения в контексте".
Спасибо.

Re: Онлайн словари - отображение только словарной статьи

PostPosted: Wed Dec 28, 2011 5:24 pm
by nelf81
hello dear

your post is really interesting but i don't understand anything about russian, can you explain me step by step how visualize wordreference site with the same format of goldendict ?
I have tried to put wr scripts in /home/me/.goldendict but without result.
i see always wordreference site with bar etc etc

thanks in advance

nellf81

Re: Онлайн словари - отображение только словарной статьи

PostPosted: Fri Apr 26, 2013 4:11 am
by streletsky
Sorbing wrote:У меня такая проблема при добавлении источника перевода "Веб-сайт". Через браузер источник отрабатывает отлично, ни каких багов или задержек. А вот при добавлении его в GoldenDict переводит раз на пятый, а то и реже.
Не пойму в чем может быть проблема. Пол дня убил но проблему так и не решил, а мне очень нужно переводить предложения целиком, а не только слова.
Использовал Google Translate, через промежуточный скрипт парсер, т.к. платить за АПИ пока не вижу смысла, раз схема не работоспособна.
URL переводчика:
Code: Select all
http://sectorit.net/tools/google_translate/google_translate.php?text=%GDWORD%

Исходник на быструю руку, но мож кому пригодится.
Подскажите в какую сторону копать или альтернативные схемы решения вопроса: "Нужно переводить предложения в контексте".
Спасибо.

Спасибо за идею... пока только работает если включен параллельно еще один онлайн словарь