Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Martia

Старожил


Сообщения: 290
Благодарности: 45

Профиль | Сайт | Отправить PM | Цитировать


да... все оказалось не так просто...

Итак, начну.
Впринципе, достаточно просто сделать перевод при помощи translate.ru. Там по крайней мере виден исходный код.
Немного переработанная форма переводчика с Translate.ru

HTML код: Выделить весь код
<form name='form_var7b' method='POST' action='http://www.translate.ru/url/wideTranslation.aspx' target='_top'> <script> var str_url=location.href; if (top != self){ str_url = str_url.replace("http://",''); var i = str_url.search('/'); if (i>0) str_url = str_url.substring(0,i); str_url = "http://"+str_url;} document.write('<input type="hidden" name=url value="'+str_url+'">');document.write('<input type="hidden" name="template" value="General">');document.write('<input type="hidden" name="autotranslate" value="true">');document.write('<input type="hidden" name="transliterate" value="on">');document.write('<input type="hidden" name="status" value="translate">');document.write('<input type="hidden" name="prmtlang" value="ru">'); function movepic_new (img_obj, img_src) { img_obj.src = img_src.src; return true; } </script> <table border=1> <tr><td><select name=direction> <option value="re">English</option> <option value="rg">German</option> <option value="rf">French</option> <option value="rs">Spanish</option></select></td> <td><input type=submit Value=Перевод></td></tr> </table> </form>


Я просто убрал из таблицы лишнее. Исходные коды здесь. Но также в этом методе есть и недостки: полоса promt'а вверху переведенной страницы и малое количество языков для перевода.

У гугла исходник выглядит код с приведенного выше сайта так:
читать дальше »

HTML код: Выделить весь код
<script type="text/javascript"> function doTranslate(select_obj) { if (location.hostname == 'adress' && select_obj.value == 'en|en') return; else if(location.hostname != 'adress' && select_obj.value == 'en|en') location.href = gfg('u'); else if(location.hostname == 'adress' && select_obj.value != 'en|en') location.href = 'http://translate.google.com/translate_p?client=tmpg&hl=en&langpair=' + select_obj.value + '&u=' + location.href; else location.href = 'http://translate.google.com/translate_p?client=tmpg&hl=en&langpair=' + select_obj.value + '&u=' + gfg('u'); } // get from get function gfg(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(location.href); if(results == null) return ''; else return results[1]; } //]]> </script> <select onchange="doTranslate(this);" style="width:150;"> <option value="">Select Language</option> <option value="en|en">English</option> <option value="en|ar">Arabic</option> <option value="en|bg">Bulgarian</option> <option value="en|zh-CN">Chinese (Simplified)</option> <option value="en|zh-TW">Chinese (Traditional)</option> <option value="en|hr">Croatian</option> <option value="en|cs">Czech</option> <option value="en|da">Danish</option> <option value="en|nl">Dutch</option> <option value="en|fi">Finnish</option> <option value="en|fr">French</option> <option value="en|de">German</option> <option value="en|el">Greek</option> <option value="en|hi">Hindi</option> <option value="en|it">Italian</option> <option value="en|ja">Japanese</option> <option value="en|ko">Korean</option> <option value="en|no">Norwegian</option> <option value="en|pl">Polish</option> <option value="en|pt">Portuguese</option> <option value="en|ro">Romanian</option> <option value="en|ru">Russian</option> <option value="en|es">Spanish</option> <option value="en|sv">Swedish</option> </select>


Этот исходник подходит для перевода с английского языка на другие.

Для перевода с русского на другие стоит использовать этот вариант:
читать дальше »

HTML код: Выделить весь код
<script type="text/javascript"> function doTranslate(select_obj) { if (location.hostname == 'adress' && select_obj.value == 'ru|ru') return; else if(location.hostname != 'adress' && select_obj.value == 'ru|ru') location.href = gfg('u'); else if(location.hostname == 'adress' && select_obj.value != 'ru|ru') location.href = 'http://translate.google.com/translate_p?client=tmpg&hl=ru&langpair=' + select_obj.value + '&u=' + location.href; else location.href = 'http://translate.google.com/translate_p?client=tmpg&hl=ru&langpair=' + select_obj.value + '&u=' + gfg('u'); } // get from get function gfg(name) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp(regexS); var results = regex.exec(location.href); if(results == null) return ''; else return results[1]; } //]]> </script> <select onchange="doTranslate(this);" style="width:150;"> <option value="">Select Language</option> <option value="ru|ru">Russian</option> <option value="ru|en">English</option> <option value="ru|ar">Arabic</option> <option value="ru|bg">Bulgarian</option> <option value="ru|zh-CN">Chinese (Simplified)</option> <option value="ru|zh-TW">Chinese (Traditional)</option> <option value="ru|hr">Croatian</option> <option value="ru|cs">Czech</option> <option value="ru|da">Danish</option> <option value="ru|nl">Dutch</option> <option value="ru|fi">Finnish</option> <option value="ru|fr">French</option> <option value="ru|de">German</option> <option value="ru|el">Greek</option> <option value="ru|hi">Hindi</option> <option value="ru|it">Italian</option> <option value="ru|ja">Japanese</option> <option value="ru|ko">Korean</option> <option value="ru|no">Norwegian</option> <option value="ru|pl">Polish</option> <option value="ru|pt">Portuguese</option> <option value="ru|ro">Romanian</option> <option value="ru|es">Spanish</option> <option value="ru|sv">Swedish</option> </select>


При желании можно править html код, удалять ненужные языки.

При вставке в тело страницы нужно менять adress на адрес сайта, на котором будет располагаться страница (например вместо adress вводим forum.oszone.net, если страница с кодом будет находится на сайте forum.oszone.net.

Последний раз редактировалось Martia, 07-01-2009 в 05:41. Причина: некоторые доработки

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:25, 07-01-2009 | #3