Request: плагин - переводчик
- Author
- Message
-
Offline
- Posts: 9
- Joined: Sat Apr 23, 2011 7:53 am
Request: плагин - переводчик
Было бы круто сделать плагин - переводчик, работающий по принципу HexShell - экран делиться пополам, вверху оригинал, внизу перевод, при выделении переводиться только выделенное, каретка ездит синхронно. В подсказках при задержке указателя вылазят варианты перевода.
Было б круто работать с документацией на англ языке.
Было б круто работать с документацией на англ языке.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Право на существование имеет любой плагин, только кто его писать будет?user-id-4576 wrote:Что то типа "Имеет ли право на существование такой плагин?"
Идея бесполезная, т.к. тексты в основном переводятся с помощью онлайн-переводчиков.user-id-4576 wrote:Блин неужели настолько бесполезная идея.
Для открытия словарных статей в Яндекс.Словарях, Википедии в Punto Switcher'е можно настроить комбинации клавиш, например у меня настроено так:
- Win+Я - поиск в Яндексе;
- Win+C - открытие словарной статьи в Яндекс.Словарях;
- Win+W - открытие словарной статьи в русской Википедии; можно ещё в английской настроить.
Для перевода словосочетаний или коротких предложений есть InternetRequest.js.
Длинный текст просто копирую и вставляю в онлайн-переводчик, что неудобно.
Лучше бы сняли ограничение на количество передаваемых символов или, если это невозможно (вроде бы это ограничение WshShell.Run), лучше бы добавили тег, который не просто берёт выделенный текст (\s), а копирует его в буфер обмена, а потом вставляет при формировании запроса целиком, как это сделано в Opera. Пример пункта меню Opera:
Code: Select all
Item, "En -> Ru (Google)" = Go to Page, "javascript:void(window.open('http://translate.google.com/#en|ru|'+encodeURIComponent(function(){var d=document,s=d.getSelection(),t=d.querySelectorAll('textarea,input[type=\x22text\x22],input[type=\x22search\x22],input:not([type])');if(!s)for(var i=0,e;e=t[i];i++){if(s=e.value.substring(e.selectionStart,e.selectionEnd))break}return s}()),'','width=800,height=576,left=100,top=100,scrollbars=yes,location=no'));",,, "lng_ru"
Code: Select all
Item, "Грамота.Ru" = Copy, -2,,, "null" & New Page & Go to page, "http://www.gramota.ru/slovari/dic/?word=%c&all=x&lop=x&efr=x&zar=x&ag=x&ab=x&sin=x&lv=x&az=x&pe=x"
Вот это было бы толково.
А если бы сделать так, чтобы предыдущее значение в буфере восстанавливалось, то вообще было бы здорово.
-
Offline
- Posts: 9
- Joined: Sat Apr 23, 2011 7:53 am
Под рукой может не быть интернета, к тому же текст (допустим) уже открыт и оказался на другом языке (чаще всего англ) - жмем кнопку сразу видим перевод. Помоему весьма удобно.Идея бесполезная, т.к. тексты в основном переводятся с помощью онлайн-переводчиков.
Но ведь уже существующие плагины не сами собой появились.)) И за это авторам огромное спасибо, лично я для себя решил что акел это лучший редактор из всего что я видел, очень простой, легко переносимый с компа на комп и очень грамотно сделаный.только кто его писать будет?
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Это ограничение на длину URL передаваемую через командную строку как минимум самих браузеров. Лучше напрямую запросить перевод через ActiveX "http://code.google.com/intl/ru/apis/lan ... rview.html", но это к Infocatcher'у - он тут спецVladSh wrote:Лучше бы сняли ограничение на количество передаваемых символов или, если это невозможно (вроде бы это ограничение WshShell.Run), лучше бы добавили тег, который не просто берёт выделенный текст (\s), а копирует его в буфер обмена, а потом вставляет при формировании запроса целиком, как это сделано в Opera.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Из ЛС (было вставлено позже):
Чё-то badRequest всегда возвращается:
Infocatcher wrote:Нет, ничего дополнительного не требуется.VladSh wrote:Это на комп надо устанавливать какое-то апи и регистрировать его как ActiveX? Может есть какой-нибудь универсальный (уже существующий в Винде) ActiveX, с помощью которого можно было бы передавать запросы в инет и получать результаты?
Фокус в том, что у MS AJAX запросы надо делать через ActiveX. Особенно в WSH – там XMLHttpRequest вообще не реализован, а в IE на него действует ограничение по домену.
Так что в данном случае API – это когда сервер отдает данные в удобном виде.
Infocatcher, помогите!Instructor wrote:Лучше напрямую запросить перевод через ActiveX "http://code.google.com/intl/ru/apis/lan ... rview.html", но это к Infocatcher'у - он тут спец
Чё-то badRequest всегда возвращается:
Last edited by VladSh on Fri Apr 29, 2011 9:42 am, edited 1 time in total.
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Нашёл здесь, но оно жутко бажит, и никакого кода для формирования запроса я не увидел...Infocatcher wrote:Где-то на http://forum.wincmd.ru/ был скрипт в виде HTA.
Хотелось бы чисто под Акел замутить скриптец.
Infocatcher wrote:Ммм??key=INSERT-YOUR-KEY
на сайте гугла есть такое:
Никто не знает, где можно на шару взять такой ключ?Warning: You need your own API key in order to use the Google Loader. In the example below, replace "INSERT-YOUR-KEY" with your own key. Without your own key, these examples won't work.
...
You must have a Google Account to obtain a Google API key, and your API key is tied directly to your Google Account...
P.S. Не обязательно в Акел результат возвращать, достаточно было бы просто передать большой текст в открывающуюся страницу браузера.. только вот как это сделать?
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
VladSh
1. Регистрируемся в гугле(gmail-ом и/или прочими сервисами).
2. Заводим себе где-то халявную страничку(даже на том же гугле).
3. Логинимся в гугл.
4. Переходим по выше указанной ссылке.
5. Вбиваем ссылку на страничку. И получаем ключ.
Если это этот ключ http://code.google.com/intl/uk-UA/apis/ ... ignup.html то, можно сделать за две минуты:Никто не знает, где можно на шару взять такой ключ?
1. Регистрируемся в гугле(gmail-ом и/или прочими сервисами).
2. Заводим себе где-то халявную страничку(даже на том же гугле).
3. Логинимся в гугл.
4. Переходим по выше указанной ссылке.
5. Вбиваем ссылку на страничку. И получаем ключ.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Да, этот. Только не хочется региться ещё и на гугле, и так уже столько регистраций, что запутаться можно...FeyFre wrote:Если это этот ключ http://code.google.com/intl/uk-UA/apis/ ... ignup.html то, можно сделать за две минуты...
KDJ
Thank you for being tested. Now I know that it works
EDITED: друг сгенерил APIkey, я его подставил в скрипт, но всё равно получается вот такая фигня:
Может гугловский браузер должен стоять на компе? Или может быть это всё работает, когда залогинился на Гугле? Уже не знаю что и думать...
Есть какие-нибудь идеи?
Добавлено: текущая отладочная версия скрипта: ... [ выпилено ]
Ещё раз отредактировано
Решение простое: доку надо было лучше читать - v.2 - тестовая, в ней требуется API_KEY. Пока надо использовать v.1, в которой API_KEY опционален. Будем надеяться, что в финальной v.2 его опять переведут в статус опциональных..
Рабочая версия скрипта: TranslateWithGoogleAPI.js; поддерживаются v.1 и v.2 API.
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Не, v.2 так и не работает, и не знаю почему ((Infocatcher wrote:Я так понимаю, заработало?VladSh wrote:у меня почему-то не работает мой код
Если пустить скрипт в сеть, то у меня работает.
Что значит "пустить скрипт в сеть"?
Instructor
Сделано.
Новую вкладку планировал для "больших строк", да не тут-то было... - ещё один трабл обнаружился досадный.. - русского текста можно перевести только 542 символа, а английский - 1400 (( пишет:
P.S. Человек пробовал вытянуть аякс-запросы при переводе большого текста (200 тысяч отправил и 50 тысяч получил результата) со страницы гугл-транслейта и заюзать из PHP, то у него получилось. Но там легче, т.к. юзается специальный фреймворк - отдельным методом задаётся url, отдельным методом параметры и т.п... на JS такое не получается, т.к. всё в url'е д.б. или я не разобрался.Unable to retrieve data:
Request-URI Too Large
И ещё неприятно - съедаются переводы строк.. можно ли что-то с этим сделать?
Поделитесь мыслями!