Prośba o "złożenie" adresu

w dziale Dostosowywanie Opery do własnych potrzeb
meteor333 napisał(a):

Czy ktoś umiałby złożyć ten adres do kupy:

URL=http://www.translatica.pl/ajax/plugin/translator/translateTxt/
Query=data 5Bajax 5D=true&data 5Btext 5D=%s&data 5BdirTxt 5D=enpl&data 5Btext_res 5D=


Próbowałem Wiresharkiem, ale nie znalazłem całości ze względu na metodę POST. Próbowałem skryptem:

javascript:(function(){var x,i; x = document.forms; for (i = 0; i < x.length; ++i) x[i].method="get"; alert("Changed " + x.length + " forms to use the GET method. After submitting a form from this page, you should be able to bookmark the result."); })();


ale z translaticą nie chce działać.

Chodzi mi o jednolity i pełny adres translatica ang-pol, gdzie za %s podstawia się żądana fraza.

Ryszard napisał(a):

Originally posted by meteor333:

Chodzi mi o jednolity i pełny adres translatica ang-pol, gdzie za %s podstawia się żądana fraza.


Złożyć, to ja Ci tego nie złożę, bo nie wiem jak.
Ale wiem, że jak dodałem translatica.pl do wyszukiwarek (normalnie, przez prawoklik w pole do wstawiania tekstu) to mam w pliku search.ini
URL=http://www.translatica.pl/ajax/plugin/translator/translateTxt/
Query=data%5Bajax%5D=true&data%5Btext%5D=%s&data%5BdirTxt%5D=enpl&data%5Btext_res%5D=

U Ciebie w linijce "Query" zamiast znaków % widzę spacje.

Jeżeli robisz przycisk (albo wstawkę do menu) to
Go to page, "tr %t",,"translatica"
działa ok (tr to moje słowo kluczowe dla wyszukiwarki translatica.pl, a użycie %t powoduje, że do tłumaczenia wysyłany jest tekst zaznaczony na stronie).
Ale:
- odpowiedź wygląda mniej więcej tak
{"status":"ok", "response":"tu przetłumaczona treść"}
czyli przetłumaczone trzeba sobie wyłuskać.
problem z kodowaniem - to co odsyła ta wyszukiwarka nie ma żadnego <meta http-equiv="Content-Type".... a używany jest utf-8
I teraz jest tak - na stronce http://openmaniak.com/index.php (taka się mi akurat otworzyła) zaznaczam "Want to get statistics about your network with open source tools free of charge?
Want to save time and money on your networking charges?
Want to stop wasting hours configuring the networking tools and have clear tutorials?"
dostaję
"{"status":"ok", "response":"Chcieć dostać statystykę o twojej sieci z oprogramowaniem wolnym narzędzia darmowy? Chcieć zachować czas i pieniądze na twojej łączności sieciowej dla opłat? Chcieć przestać marnować godziny konfigurując narzędzia łączności sieciowej i mieć czyste seminaria? "}"
no dobrze
a zaznaczam tylko "Want to get statistics about your network with open source tools free of charge?"
dostaję
"{"status":"ok", "response":"Chcieć dostać statystykę o twojej sieci z oprogramowaniem wolnym narzędzia darmowy? "}"
Dla stron bez deklaracji kodowania mam ustawione "windows-1250" i krzaki dla krótszego tekstu mnie nie dziwią, ale jak Opera wymyśla, żeby dla dłuższego użyć utf-8?
Problem z kodowaniem nie ma związku z kodowaniem tłumaczonej strony
Sprawdziłem na http://www.w3schools.com/ASP/coll_querystring.asp (iso-8859-1) - krótki tekst krzaczki, dłuższy zgadnięcie utf-8.

meteor333 napisał(a):

Originally posted by Ryszard:

Jeżeli robisz przycisk (albo wstawkę do menu) to

Go to page, "tr %t",,"translatica"
działa ok (tr to moje słowo kluczowe dla wyszukiwarki translatica.pl, a użycie %t powoduje, że do tłumaczenia wysyłany jest tekst zaznaczony na stronie).



Już piszę do czego to ma służyć. Niemal rok temu wpadłem na pomysł by tłumaczenia ze słowników i translatorów otwierały się jako okienka pop up. Założyłem w tej sprawie temat, ale rozwiązania tam nikt nie wpisał. Natomiast Medium podała przykład Opery AC i dodanego tam skanera Dr. Web. Myślałem, że ktoś, kto zna javascript, przekształci ten kod na słownikowy, ale nic takiego się nie stało.

Po pewnym czasie sam zacząłem bawić się tym kodem, choć nie znam javascriptu. Metodą dumania i próbowania w pewnym momencie zgadłem działający kod dla słownika WP, a potem, mając regułę także dla Lingu i Dict. Serwisu translatica rozgryźć mi się nie udało właśnie z względu na brak jednolitego adresu.

Mam kod, który wyświetla tłumaczenia w okienku. Kod jest absolutnie partyzancki, ale działa. Zorobiłem takie rozwiązania także dla sjp czy wikipedii. Niestety w tym przypadku kodowanie rozkłada wyszukiwanie, gdy w danym słowie jest jakiś polski znak.

Odkryłem też, że polecenie dotyczące pop up zamiast w menu.ini można umieścić w serach.ini i tak jest u mnie, bo nie trzeba duplikować kodu javascript w: [Hotclick Popup Menu], [Document Popup Menu], [Link Selection Popup Menu], [Edit Widget Popup Menu] – tam wystarczą zwykłe odesłania do słowa kluczowego wyszukiwarki.

Całe rozwiązanie sprawdza się pod warunkiem, że włączone jest dopasowywanie do szerokości. W przeciwnym razie odpowiedzi w pop up rozjeżdżają się. Minusem jest to, że kiedy ma się ustawione dopasuj do szerokości na stałe, to z kolei część innych stron się rozjeżdża się i trzeba, klikać za każdym wejściem na wyłacznik dopasowywania. Dlatego tak ważne jest, żeby deweloperzy Opery dodali opcję dopasuj do szerokości do preferencji witryny. Każdego, kto jeszcze nie głosował w tej sprawie, proszę o postawienie plusa tutaj.

Tyle opisu, a teraz przykładowy efekt:

ling.png
wp.png
dict.png

Poniżej dołączam odpowiednie kody do serach.ini (jak widać potrzebny jest w nich jednolity adres).

Ling:
URL=javascript: (function(){var reh=/^_?[hх].{2}[pп]:\/\//i;var ref=/^_?[fф].{1}[pп]:\/\//i;var refo = /^_?ftp\./i; var hrefurl=document.getSelection().replace(reh,'http:\/\/').replace(ref,'ftp:\/\/').replace(refo,'ftp:\/\/ftp\.'); if (hrefurl.indexOf('http:\/\/')==-1 && hrefurl.indexOf('ftp:\/\/')==-1){hrefurl='http:\/\/'+hrefurl};window.open('http://www2.ling.pl/index.jsp?chooseLang=&word=%s&sType=0'+escape(hrefurl),+hrefurl,'width=560,height=400,left=452,top=244');})()

WP:
URL=javascript: (function(){var reh=/^_?[h?].{2}[p?]:\/\//i;var ref=/^_?[f?].{1}[p?]:\/\//i;var refo = /^_?ftp\./i; var hrefurl=document.getSelection().replace(reh,'http:\/\/').replace(ref,'ftp:\/\/').replace(refo,'ftp:\/\/ftp\.'); if (hrefurl.indexOf('http:\/\/')==-1 && hrefurl.indexOf('ftp:\/\/')==-1){hrefurl='http:\/\/'+hrefurl};window.open('http://slowniki.wp.pl/szukaj.html?szukaj=%s&lang=&Szukaj=Szukaj&z=e',+hrefurl,'width=560,height=400,left=452,top=244');})()

Dict:
URL=javascript: (function(){var reh=/^_?[hx].{2}[pп]:\/\//i;var ref=/^_?[fф].{1}[pп]:\/\//i;var refo = /^_?ftp\./i; var hrefurl=document.getSelection().replace(reh,'http:\/\/').replace(ref,'ftp:\/\/').replace(refo,'ftp:\/\/ftp\.'); if (hrefurl.indexOf('http:\/\/')==-1 && hrefurl.indexOf('ftp:\/\/')==-1){hrefurl='http:\/\/'+hrefurl};window.open('http://www.dict.pl/dict?word=%s&words=&lang=PL',+hrefurl,'width=560,height=400,left=452,top=244');})()


Jeśli ktoś zna się na .js to usprawnienia kodu byłyby mile widziane. A może ktoś umie zrobić coś podobnego umiejętnie podmieniając wpisy w skrypcie do Google Translate?

Medium napisał(a):

meteor333, Twoje rozwiązanie jest bardzo pomysłowe. Gratuluję!
Sama jednak w tłumaczeniach opieram się na Google Translate i nie przeszkadza mi, że jest wyświetlana cała strona. Tym bardziej, że zwykle tłumaczę dłuższe fragmenty tekstu.