Показать полную графическую версию : [решено] Помогите поставить переводчик на сайт
Помогите поставить переводчик на сайт как на этом сайте http://www.sinsinat.com/ там справа под словом "Language " находится переводчик от гугла
вот он http://pic.ipicture.ru/uploads/090107/8209/thumbs/PTW4mKNETS.jpg (http://ipicture.ru/Gallery/Viewfull/11253585.html)
но админ его как то переиначил что на нем нет гугловской рекламы, и выбор языка выглядит красиво, как поставить такой же? у меня тоже стоят от гугла переводчик но вышлядит страшновато http://pic.ipicture.ru/uploads/090107/8209/thumbs/57OWR8o7C6.jpg (http://ipicture.ru/Gallery/Viewfull/11253586.html)
Правой кнопкой, посмотреть исходный код. Там всё есть.
да... все оказалось не так просто...
Итак, начну.
Впринципе, достаточно просто сделать перевод при помощи translate.ru. Там по крайней мере виден исходный код.
<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>
Я просто убрал из таблицы лишнее. Исходные коды здесь (http://www.translate.ru/About.aspx/Webmaster_Tools#). Но также в этом методе есть и недостки: полоса promt'а вверху переведенной страницы и малое количество языков для перевода.
У гугла исходник выглядит код с приведенного выше сайта так:
<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>
Этот исходник подходит для перевода с английского языка на другие.
Для перевода с русского на другие стоит использовать этот вариант:
<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, Igor_I,
Я пробовал тупо скопировать код с того сайта до того как создать тему здесь.
При выборе какого нибудь языка гугл выдает это
http://pic.ipicture.ru/uploads/090107/8209/thumbs/8lGGFtavgz.jpg (http://ipicture.ru/Gallery/Viewfull/11275232.html)
Впринципе, достаточно просто сделать перевод при помощи translate.ru. Там по крайней мере виден исходный код.
Слишком мало языков да и перевод хуже гугловского, не вариант.
Почему бы и нет. Ведь ты скрипт тупо скопировал. А надо его переделать как показал Martia,
Для перевода с русского на другие стоит использовать этот вариант:
Вписать свой адрес.
Почему бы и нет. Ведь ты скрипт тупо скопировал. А надо его переделать как показал Martia,
Я сделал это, я делал так когда сам пробовал код скопировать и адресс своего сайта ставил неработает.
А все! дошло, я адресс с www прописывал а без него работает, вот только на том сайте при переводе фрейм гугловский не показывается как так сделать чтобы сразу без фрейма перевод был?
QUMATOZ, смотри как примеры:
http://starter-ly.narod.ru/files/example_en.html
http://starter-ly.narod.ru/files/example_ru.html
Там нет ничего, кроме переделанных скриптов из этого (http://forum.oszone.net/post-999417-3.html) поста.
Меня заинтересовал этот вопрос и я проковырялся пол ночи над этим вопросом. Все работает ;)
P.S. Кстати ночью у меня тоже фрейма не было, а сейчас фрейм есть и у того сайта. Не пойму, что там к чему...
QUMATOZ, смотри как примеры:
http://starter-ly.narod.ru/files/example_en.html
http://starter-ly.narod.ru/files/example_ru.html
Ну это у меня уже работает) надо теперь понять как сделать так чтобы без фрейма перевод был.
В гугле не дураки работают. Их просто так не проведёшь :)
В гугле не дураки работают. Их просто так не проведёшь
Ну и не гении уж точно)
в гугле уволили в связи с кризисом больше половины сотрудников, надеюсь сократили в основном "не гениев" :cool:
надеюсь сократили в основном "не гениев"
Ты думаешь это причина того что при переводе фрейм не убирается?)))
rostisslav
13-05-2009, 21:20
вот это посмотри
http://www.trident.com.ua/rus/license.html
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.