Модератор форума: Yuri_G |
Сообщество uCoz Архивариус Решённые вопросы Делаем многоязычный / мультиязычный сайт на uCoz (Полная инструкция от GT.) |
Делаем многоязычный / мультиязычный сайт на uCoz |
Всем привет! Я уже неделю делал свой сайт многоязычным и у меня получилось! Теперь я решил поделиться своим опытом со всеми кто делает сайты в этой прекрасной системе под названием uCoz. И так поехали!
1. Первое что надо сделать это прописать переключатель языков. Код <?if(substr($REQUEST_URI$,strpos($REQUEST_URI$,'?lang'),5)=='?lang')?> <a href="<?if(strrpos($REQUEST_URI$)=="?lang_ru")?><?substr($REQUEST_URI$,0,-8)?>?lang_ru<?else?><?substr($REQUEST_URI$,0,-8)?>?lang_ru<?endif? >"><img src="http://freewarezone.ucoz.com/fl/ru.jpg" border="0" alt="Русский" title="Русский" height="30px" /></a> <a href="<?substr($REQUEST_URI$,0,-8)?>"><img src="http://freewarezone.ucoz.com/fl/ge.jpg" border="0" alt="ქართული" title="ქართული" height="30px"/></a> <a href="<?if(strrpos($REQUEST_URI$)=="?lang_en")?><?substr($REQUEST_URI$,0,-8)?>?lang_en<?else?><?substr($REQUEST_URI$,0,-8)?>?lang_en<?endif? >"><img src="http://freewarezone.ucoz.com/fl/en.jpg" border="0" alt="English" title="English" height="30px"/></a> <?else?> <a href="$REQUEST_URI$?lang_ru"><img src="http://freewarezone.ucoz.com/fl/ru.jpg" border="0" alt="Русский" title="Русский" height="30px" /></a> <a href="$REQUEST_URI$"><img src="http://freewarezone.ucoz.com/fl/ge.jpg" border="0" alt="ქართული" title="ქართული" height="30px"/></a> <a href="$REQUEST_URI$?lang_en"><img src="http://freewarezone.ucoz.com/fl/en.jpg" border="0" alt="English" title="English" height="30px"/></a> <?endif?> 2. Прописываем переменные для вывода информации на нужном языке. Код <?if(substr($REQUEST_URI$,strpos($REQUEST_URI$,'?lang'),5)=='?lang')?><?if(substr($REQUEST_URI$,-2)=='en')?>На английском<?endif?><?if(substr($REQUEST_URI$,-2)=='ru')?>На русском<?endif?><?else?>На грузинском<?endif?> Внимание! Там где нет кода $ REQUEST_URI $ (Вид материала или $ MESSAGE $) выше написанный код заменяем на JS. Код <script> if (window.location.href.split('?')[1]=="lang_ru" ) { document.write("На русском"); } else { if (window.location.href.split('?')[1]=="lang_en") { document.write("на английском"); } else { document.write("На грузинском !!!!!!!!!!!!!Тут должен быть оригинальный язык!!!!!!!!!!!!!!"); } } </script> 3. Теперь в head прописываем вот это. Код <meta name="language" content="en, ka, ru" /> <?if(substr($REQUEST_URI$,strpos($REQUEST_URI$,'?lang'),5)=='?lang')?><?else?> <link rel="alternate" hreflang="ru" href="http://freewarezone.ucoz.com$REQUEST_URI$?lang_ru" /> <link rel="alternate" hreflang="en" href="http://freewarezone.ucoz.com$REQUEST_URI$?lang_en" /> <link rel="alternate" hreflang="ge" href="http://freewarezone.ucoz.com$REQUEST_URI$" /><?endif?> <link rel="canonical" href="http://freewarezone.ucoz.com$REQUEST_URI$" /> 4.Чтоб сделать категории на разных языках прописываем вот этот код в разделе: страница материалов категории. Код <?if(substr($REQUEST_URI$,strpos($REQUEST_URI$,'?lang'),5)=='?lang')?><?if(substr($REQUEST_URI$,-2)=='en')?> <?if($CAT_URL$="http://freewarezone.ucoz.com/publ/2")?>Biographical Movies<?endif?> <?endif?><?if(substr($REQUEST_URI$,-2)=='ru')?> <?if($CAT_URL$="http://freewarezone.ucoz.com/publ/2")?>Биографические фильмы<?endif?> <?endif?><?else?> <?if($CAT_URL$="http://freewarezone.ucoz.com/publ/2")?>ბიოგრაფიული ფილმები<?endif?> <?endif?> Если будут вопросы пишите ниже в комментариях. Буду стараться помогать. Не забываем ставить + в репу)))) Вот пример работы многоязычного сайта http://freewarezone.ucoz.com Внимание!!! Ссылки нужно заменить на локальные, а картинки перелить на сайт. МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Сообщение отредактировал GT - Понедельник, 09 Дек 2013, 13:10:31
|
|
Знаю. Я пока не смог ничего придумать с этим. Хотя можно прописать к ссылкам ?lang_ru или ?lang_en и сделать 3 версии меню. Хотел сделать на cookies но не смог(((
МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
|
|
Оно было не плохое. Но это более легкое без лишних js и не захломляет код. То есть ваш варианл грузил все данные и отображал по запросу а этот грузит только то что должно быть. Исключение вид материала.
МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
|
|
GT,
Код <link rel="canonical" href="http://freewarezone.ucoz.com$REQUEST_URI$" /> если пишете и претендуете на инструкцию все писать огромными красными буквами, что ссылки нужно заменить на локальные, а картинки перелить на сайт |
GT, при наведении на картинки у них грузинские титлы. Можно сделать многоязычный сайт, создавая разные версии страниц, созданных в редакторе страниц, для модулей создать разделы на разных языках, никаких скриптов, только условные операторы, но есть и минусы, хотя их явно меньше чем в вашем варианте
Если интересно посмотреть на пример реализации, пишите в ЛС. Сообщение отредактировал Pup$iK - Понедельник, 09 Дек 2013, 13:04:24
|
Цитата Pup$;;iK;1122944;1122935 пользователи будут в восторге от этого элемента когда скопируют неглядя и вставят к себе на сайт если пишете и претендуете на инструкцию все писать огромными красными буквами, что ссылки нужно заменить на локальные, а картинки перелить на сайт Добавлено (09 Дек 2013, 13:12:38) --------------------------------------------- Цитата Pup$;;iK;1122944 GT, при наведении на картинки у них грузинские титлы. Можно сделать многоязычный сайт, создавая разные версии страниц, созданных в редакторе страниц, для модулей создать разделы на разных языках, никаких скриптов, только условные операторы, но есть и минусы, хотя их явно меньше чем в вашем варианте Если интересно посмотреть на пример реализации, пишите в ЛС. Добавлено (09 Дек 2013, 13:19:14) --------------------------------------------- Цитата Pup$;;iK;1122944 создавая разные версии страниц, созданных в редакторе страниц, для модулей создать разделы на разных языках Добавлено (09 Дек 2013, 13:22:42) --------------------------------------------- Забыл написать. Чтоб перевести дату в виде материалов (сегодня, вчера) пишем это. Код <?if($DATE$='დღეს')?> <script> if (window.location.href.split('?')[1]=="lang_ru" ) { document.write("Сегодня"); } else { if (window.location.href.split('?')[1]=="lang_en") { document.write("Today"); } else { document.write("დღეს"); } } </script> <?else?><?if($DATE$='გუშინ')?> <script> if (window.location.href.split('?')[1]=="lang_ru" ) { document.write("Вчера"); } else { if (window.location.href.split('?')[1]=="lang_en") { document.write("Yesterday"); } else { document.write("გუშინ"); } } </script> <?else?>$DATE$ <?endif?> <?endif?> Добавлено (09 Дек 2013, 14:00:26) --------------------------------------------- Нашел решение как обойти проблему постоянной смены языка. Нужна каждую ссылку прописывать вот так: Код <a href='<?if(substr($REQUEST_URI$,strpos($REQUEST_URI$,'?lang'),5)=='?lang')?><?if(substr($REQUEST_URI$,-2)=='en')?>Ссылка/?lang_en<?endif?><?if(substr($REQUEST_URI$,-2)=='ru')?>Ссылка/?lang_ru<?endif?><?else?>Ссылка на оригинал <?endif?>'></a> МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Сообщение отредактировал GT - Понедельник, 09 Дек 2013, 14:08:21
|
мне кажется лучше уж использовать переводчик от www.bing.com чем использовать, то что вы здесь привели, для проверки перейдите по сайту в подписи моего профиля, работает отлично..
|
На сколько я знаю машинный перевод не есть хорошо для поисковиков.
МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
|
в данном случае нет никакого вреда так как это виджет, и материалы переводятся по желанию посетителя, к тому же данный переводчик по лучше чем гугловский))
об этом лучше спросить, например у корейцев, уверен они будут в диком шоке от его перевода )) ![]() |
Ну а если хочешь чтоб все страницы были в индексе на 3 языках то виджет не катит. Тогда мой вариант лучше. К тому же я сегодня начал ковырять коды и их можно хорошо оптимизировать(сжать).
МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
|
скрипт интересен завтра обязательно проверю и по тестирую, 3 языка это край возможностей или возможно и другие языки??
|
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!