ViP

32767

Администраторы

32767

ViP

10000

На сайте уже 23 материала. Зарегистрировано 92295 пользователей, которые оставили 26 комментариев.
Хотите быстро заказать рип, верстку или же
уникальный дизайн для своего сайта?
Перейдите по нужной Вам ссылке.
Свой быстрый перевод сайта на другой язык
26.02.2019, 23:05
  • Просмотров - 572
  • Комментариев - 0
  • Рейтинг - из 5 ()
Описание:

Всем привет. многие хотят сделать сайт англоязычным но uCoz не предоставляет такой возможности, недавно в работе нашей студии понадобился подобный перевод, но переписывать сотни PHP страниц на одни и теже встречающиеся слова не было желания. Поэтому мы решили сделать на js перевод так как быстро и удобно!... Сам скрипт работает на Cookie для сохранения действий.

Возможности:

1.Перевод сайта на 2 языка.
2. Отображение включен или отключен тот или иной язык перевода!.
3. Своя база перевода слов.

Установка:
1. Добавим кнопку переключения языка:

Код
<div class="i-off options-language"></div>


2. Добавим CSS для нашей кнопки:

Код
.i-off {  
  background: url(/images/en.png);  
  width: 32px;  
  height: 24px;  
  margin-right: 30px;  
  cursor: pointer;  
  }  
  .i-on {  
  background: url(/images/ru.png);  
  width: 32px;  
  height: 24px;  
  margin-right: 30px;


3. Добавим Сookie + js скрипт:

Код
jQuery.cookie = function(name, value, options) {  
  if (typeof value != 'undefined') { // name and value given, set cookie  
  options = options || {};  
  if (value === null) {  
  value = '';  
  options.expires = -1;  
  }  
  var expires = '';  
  if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {  
  var date;  
  if (typeof options.expires == 'number') {  
  date = new Date();  
  date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));  
  } else {  
  date = options.expires;  
  }  
  expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE  
  }  
  // CAUTION: Needed to parenthesize options.path and options.domain  
  // in the following expressions, otherwise they evaluate to undefined  
  // in the packed version for some reason...  
  var path = options.path ? '; path=' + (options.path) : '';  
  var domain = options.domain ? '; domain=' + (options.domain) : '';  
  var secure = options.secure ? '; secure' : '';  
  document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');  
  } else { // only name given, get cookie  
  var cookieValue = null;  
  if (document.cookie && document.cookie != '') {  
  var cookies = document.cookie.split(';');  
  for (var i = 0; i < cookies.length; i++) {  
  var cookie = jQuery.trim(cookies[i]);  
  // Does this cookie string begin with the name we want?  
  if (cookie.substring(0, name.length + 1) == (name + '=')) {  
  cookieValue = decodeURIComponent(cookie.substring(name.length + 1));  
  break;  
  }  
  }  
  }  
  return cookieValue;  
  }  
  };  
  $(function () {  
  $('.i-off').live({ 'click': function() { $(this).removeClass('i-off').addClass('i-on'); } });  
  $('.i-on').live({ 'click': function() { $(this).removeClass('i-on').addClass('i-off'); } });  
  function mySookie() {  
  $('.options-language').click(function () {  
  location.reload();  
  if($.cookie('optLanguage') != 'false') {  
  $.cookie('optLanguage', 'false');  
  } else {  
  $.cookie('optLanguage', 'true');  
  }  
  });  
  };  
  mySookie();  
  if($.cookie('optLanguage') != 'false') {  
  $('.options-language').removeClass('i-on').addClass('i-off');  
  } else {  
  $('.options-language').removeClass('i-off').addClass('i-on');  
  myLang();  
  mySookie();  
  };  

  function myLang() {  
  var a = [0, 'Home', 'News', 'Advertise'];  
  var b = [0, 'Главная', 'Новости', 'рекламировать'];  
  $('#CenteFix').html(function(x, y)  
  { return a.reduce(function(cur, prev, i)  
  { return cur.replace(new RegExp(prev, 'g'), b[i]); }, y);  
  });  
  };


Разберем скрипт:
1. Находим в скрипте: $('#CenteFix').html(function(x, y) - Тут нам нужно указать атрибут элемента где нужен перевод в нашем случае весь наш сайт был обвернут в div с атрибутом #CenteFix.

2. Массив перевода:
Код
var a = [0, 'Home', 'News', 'Advertise'];

a тут
Код
var b = [0, 'Главная', 'Новости', 'рекламировать'];

указываем свои слова перевода из родного в нужный язык!..

P.s Будьте осторожны в переводе слов, так как скрипт заменяет весь код HTML код страницы на ваши указанные слова перевода.
Источник: не указан
Материал «Свой быстрый перевод сайта на другой язык» ещё никто не комментировал.
Вы не можете оставить комментарий к материалу. Авторизируйтесь либо пройдите быструю регистрацию.
Статистика сайта uFace
Сегодня нас посетили пользователей
Ogółem online: 1
Gości: 1
Użytkowników: 0
ucoz ucoz
На сайте никого...
Контакты uFace
Все материалы на сайте размещены исключительно в ознакомительных целях. Все права на материалы, представленные на сайте, принадлежат их законным владельцам (правообладателям).

Дизайн и верстка - uFace. Stworzone w technologii uCoz.
Правила чата
Пользователи онлайн
Мини-чат
+Мини-чат
0
Ogółem online: 1
Gości: 1
Użytkowników: 0