Jump to content
  • 0

Подскажите с переводчиком сайта


haotichni
 Share

Question

/*гугловский инструмент брать не хочу из-за нижнего рисунка самого гугл, хочу сделать простую формочку для перевода! */

есть ссылка, по которой происходит перевод сайта с русского на английский:

http://translate.google.com/translate?hl=ru&sl=ru&tl=en&u=http://наш_сайт

не работает форма!

вот скрипт:

<script type="text/javascript">

if(top.location!=self.location)top.location=self.location;
window['_tipoff']=function(){};window['_tipon']=function(a){};


function doTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(location.hostname=='наш_сайт' && lang_pair=='de|de')return;


else if(location.hostname!='наш_сайт' && lang_pair=='ru|ru')location.href=unescape(gfg('u'));



else if(location.hostname=='наш_сайт' && lang_pair!='de|de')location.href='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+escape(location.href);



else location.href='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+unescape(gfg('u'));}


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 '';return results[1];}


</script>

а вооот селект к нему:

<select style="width:138px" onchange="doTranslate(this);">

<option value="">Select Language</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|ru">Russian</option>
<option value="ru|es">Spanish</option>
<option value="ru|sv">Swedish</option>
<option value="ru|ca">Catalan</option>
<option value="ru|tl">Filipino</option>
<option value="ru|iw">Hebrew</option>
<option value="ru|id">Indonesian</option>
<option value="ru|lv">Latvian</option>
<option value="ru|lt">Lithuanian</option>
<option value="ru|sr">Serbian</option>
<option value="ru|sk">Slovak</option>
<option value="ru|sl">Slovenian</option>
<option value="ru|uk">Ukrainian</option>
<option value="ru|vi">Vietnamese</option>

</select>

Edited by haotichni
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

location.href вроде как возвращает URL, а не устанавливает его. Пробовали использовать location.replace(URL)?

<script type="text/javascript">

if(top.location!=self.location)top.location=self.location;

window['_tipoff']=function(){};window['_tipon']=function(a){};

function doTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;

if(location.hostname=='http://polyclinic.brest.by/' && lang_pair=='de|de')return;

else if(location.hostname!='http://polyclinic.brest.by/' && lang_pair=='ru|ru')location.replace=unescape(gfg('u'));

else if(location.hostname=='http://polyclinic.brest.by/' && lang_pair!='de|de')location.replace='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+escape(location.href);

else location.replace='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+unescape(gfg('u'));}

function gfg(name) {name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^]*)";var regex=new RegExp(regexS);

var results=regex.exec(location.replace);if(results==null)return '';return results[1];}

</script>

сделал так, не реагирует!

Link to comment
Share on other sites

  • 0

Блин, ну неправильно же, читайте документацию прежде чем писать...


else if (location.hostname == 'http://polyclinic.brest.by/' && lang_pair != 'de|de') location.replace('http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + escape(location. href));

Link to comment
Share on other sites

  • 0

Блин, ну неправильно же, читайте документацию прежде чем писать...


else if (location.hostname == 'http://polyclinic.brest.by/' && lang_pair != 'de|de') location.replace('http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + escape(location. href));

исправил строку, все ровно не реагирует!

Link to comment
Share on other sites

  • 0

Ошибки какие-то выдает? Консоль что-то говорит? Ссылка на страницу есть?

вот страница http://polyclinic.brest.by/

ничего не выдает, никак не реагирует!

ссылка на перевод с языка сайта это рус, на другой язык англ

http://translate.google.com/translate?u=http://Ваш Сайт&langpair=id%cen&ru=en&sl=ru&tl=en

вот сайт

http://polyclinic.brest.by/

вооот полный текст!

<script type="text/javascript">

if(top.location!=self.location)top.location=self.location;
window['_tipoff']=function(){};window['_tipon']=function(a){};


function doTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;

if(location.hostname=='http://polyclinic.brest.by/' && lang_pair=='de|de')return;


else if(location.hostname!='http://polyclinic.brest.by/' && lang_pair=='ru|ru')location.replace=unescape(gfg('u'));



else if (location.hostname == 'http://polyclinic.brest.by/' && lang_pair != 'de|de') location.replace('http://translate.google.com/translate?client=tmpg&hl=en&
langpair=' + lang_pair + '&u=' + escape(location. href));



else location.replace='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+unescape(gfg('u'));}


function gfg(name) {name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^]*)";var regex=new RegExp(regexS);

var results=regex.exec(location.replace);if(results==null)return '';return results[1];}


</script>






<select style="width:138px" onchange="doTranslate(this);">

<option value="">Select Language</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|ru">Russian</option>
<option value="ru|es">Spanish</option>
<option value="ru|sv">Swedish</option>
<option value="ru|ca">Catalan</option>
<option value="ru|tl">Filipino</option>
<option value="ru|iw">Hebrew</option>
<option value="ru|id">Indonesian</option>
<option value="ru|lv">Latvian</option>
<option value="ru|lt">Lithuanian</option>
<option value="ru|sr">Serbian</option>
<option value="ru|sk">Slovak</option>
<option value="ru|sl">Slovenian</option>
<option value="ru|uk">Ukrainian</option>
<option value="ru|vi">Vietnamese</option>

</select>

Link to comment
Share on other sites

  • 0

У вас ошибка в скрипте на строке 51. Похоже слеши надо экранировать. Видимо JS два слеша в строке воспринимает как комментарий.

<script type="text/javascript">

if(top.location!=self.location)top.location=self.location;
window['_tipoff']=function(){};window['_tipon']=function(a){};


function doTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;

if(location.hostname=='http://polyclinic.brest.by/' && lang_pair=='de|de')return;


else if(location.hostname!='http://polyclinic.brest.by/' && lang_pair=='ru|ru')location.replace=unescape(gfg('u'));



else if (location.hostname == 'http://polyclinic.brest.by/' && lang_pair != 'de|de') location.replace('http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + escape(location. href));



else location.replace='http://translate.google.com/translate?client=tmpg&hl=en&langpair='+lang_pair+'&u='+unescape(gfg('u'));}


function gfg(name) {name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");var regexS="[\\?&]"+name+"=([^]*)";var regex=new RegExp(regexS);

var results=regex.exec(location.replace);if(results==null)return '';return results[1];}


</script>

ошибка в прописании функции gfg?.. как подправить?

у меня 51ая строчка выпадает на <option value= ... >

Link to comment
Share on other sites

  • 0

Учитесь. В отладчике все написано: и строка, в которой ошибка, и код ошибки, и даже подсвечивается место где эта ошибка происходит.

У вас ошибка происходит в этой строке:

else if (location.hostname == 'http://polyclinic.brest.by/' && lang_pair != 'de|de')
location.replace('http://translate.google.com/translate?client=tmpg&hl=en&langpair=' + lang_pair + '&u=' + escape(location. href));

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy