Свой быстрый перевод сайта на другой язык


Свой быстрый перевод сайта на другой язык

752
9.2 из 10
Проголосовало: 11




  • Скачать с сервера
  • Скачать
  • Смотреть демо


Всем привет. многие хотят сделать сайт англоязычным но 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'];
var b = [0, 'Главная', 'Новости', 'рекламировать']; - Тут указываем свои слова перевода из родного в нужный язык!..

P.s Будьте осторожны в переводе слов, так как скрипт заменяет весь код HTML код страницы на ваши указанные слова перевода.
Автор публикации: Загрузка
Загрузка
Marishka, это его n материал
Источник: http://www.mybeststudio.ru/
  • Всего комментариев: 1

k43
0
k43 написал: Написано 30 мая 2016 в 10:21
Комментарий №1
Довольна таки не плохой скрипт

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2113
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • sasha2016tv написал:
  • Хороший скрипт
    Ох. Вижу, что обсуждение очень старое. Но!
    На других CMS так же будет все это реализовано. На нормальных CMS.
    Такое решение может подойти лишь для landing сайтов. Но и то, не думаю, что там кто то заморачивается в написании какого либо контроллера генерирования шаблона и используют прямо в лоб чистый HTML, поэтому и будут для каждой страницы свои блоки делать.

    Поэтому лучше тут все же дописать решение именно для ucoz без загрузки этих лишних блоков на странице. Ведь используя условные операторы этот код даже не будет прогружаться на странице. (Лол. Это ж доли секунд загрузки...) И что? Но давайте делать оптимальнее
    Моё авторство:)
  • 1488 написал:
  • 1488 написал:
  • Смысл исходный код? он возвращает после обновление страницы на то положение которое было... или как?
  • 1488 написал:
  • как поставить галки как скрине?
    а то невозможно поставить...
    Последние темы
    Опрос
    229
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: