• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Yuri_G  
Делаем многоязычный / мультиязычный сайт на uCoz
GT
Сообщений: 100
Репутация: 22

Сообщение # 1 | 12:11:54
Всем привет! Я уже неделю делал свой сайт многоязычным и у меня получилось! Теперь я решил поделиться своим опытом со всеми кто делает сайты в этой прекрасной системе под названием 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
JacksonMihailov
Сообщений: 259
Репутация: 107

Сообщение # 2 | 12:29:26
при переходе по любой ссылке в меню, язык меняется.

jmDB - Текстовая база данных для uCoz
GT
Сообщений: 100
Репутация: 22

Сообщение # 3 | 12:39:58
Цитата JacksonMihailov ()
при переходе по любой ссылке в меню, язык меняется.
Знаю. Я пока не смог ничего придумать с этим. Хотя можно прописать к ссылкам ?lang_ru или ?lang_en и сделать 3 версии меню. Хотел сделать на cookies но не смог(((

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
JacksonMihailov
Сообщений: 259
Репутация: 107

Сообщение # 4 | 12:46:36
я же вам когда то уже в личку скинул готовое решение, чем не устроило?

jmDB - Текстовая база данных для uCoz
GT
Сообщений: 100
Репутация: 22

Сообщение # 5 | 12:53:56
Цитата JacksonMihailov ()
я же вам когда то уже в личку скинул готовое решение, чем не устроило?
Оно было не плохое. Но это более легкое без лишних js и не захломляет код. То есть ваш варианл грузил все данные и отображал по запросу а этот грузит только то что должно быть. Исключение вид материала.

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
JacksonMihailov
Сообщений: 259
Репутация: 107

Сообщение # 6 | 12:55:18
GT, Вас понял ) ждите обновления

jmDB - Текстовая база данных для uCoz
webanet
Сообщений: 24067
Репутация: 4985

Сообщение # 7 | 12:57:03
GT,
Код
<link rel="canonical" href="http://freewarezone.ucoz.com$REQUEST_URI$" />
пользователи будут в восторге от этого элемента когда скопируют неглядя и вставят к себе на сайт
если пишете и претендуете на инструкцию все писать огромными красными буквами, что ссылки нужно заменить на локальные, а картинки перелить на сайт

ТУТ можно оставить своё мнение по любому вопросу
https://webanetlabs.net/
Pup$iK
Сообщений: 308
Репутация: 80

Сообщение # 8 | 13:04:05
GT, при наведении на картинки у них грузинские титлы. Можно сделать многоязычный сайт, создавая разные версии страниц, созданных в редакторе страниц, для модулей создать разделы на разных языках, никаких скриптов, только условные операторы, но есть и минусы, хотя их явно меньше чем в вашем варианте
Если интересно посмотреть на пример реализации, пишите в ЛС.
Сообщение отредактировал Pup$iK - Понедельник, 09 Дек 2013, 13:04:24
GT
Сообщений: 100
Репутация: 22

Сообщение # 9 | 14:00:26
Цитата 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?>
В страница материала и комментария к нему заменям $ DATE $ на $ ADD_DATE $.

Добавлено (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
Yuri_G
uWeb support
uVip manager
Сообщений: 4339
Репутация: 943

Сообщение # 10 | 17:09:15
Цитата GT ()
Я уже неделю делал свой сайт многоязычным и у меня получилось!
мне кажется лучше уж использовать переводчик от www.bing.com чем использовать, то что вы здесь привели, для проверки перейдите по сайту в подписи моего профиля, работает отлично..

Pup$iK
Сообщений: 308
Репутация: 80

Сообщение # 11 | 18:25:12
Цитата Ucoz_fan ()
работает отлично..

об этом лучше спросить, например у корейцев, уверен они будут в диком шоке от его перевода ))
GT
Сообщений: 100
Репутация: 22

Сообщение # 12 | 19:00:46
Цитата Ucoz_fan ()
мне кажется лучше уж использовать переводчик от www.bing.com чем использовать, то что вы здесь привели, для проверки перейдите по сайту в подписи моего профиля, работает отлично..
На сколько я знаю машинный перевод не есть хорошо для поисковиков.

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Yuri_G
uWeb support
uVip manager
Сообщений: 4339
Репутация: 943

Сообщение # 13 | 19:31:15
Цитата GT ()
На сколько я знаю машинный перевод не есть хорошо для поисковиков.
в данном случае нет никакого вреда так как это виджет, и материалы переводятся по желанию посетителя, к тому же данный переводчик по лучше чем гугловский))

Цитата Pup$iK ()
об этом лучше спросить, например у корейцев, уверен они будут в диком шоке от его перевода ))
ну эт ясно, коренной узкопленочный прочитает конечно будет ржать)) biggrin

GT
Сообщений: 100
Репутация: 22

Сообщение # 14 | 20:07:22
Цитата Ucoz_fan ()
в данном случае нет никакого вреда так как это виджет, и материалы переводятся по желанию посетителя, к тому же данный переводчик по лучше чем гугловский))
Ну а если хочешь чтоб все страницы были в индексе на 3 языках то виджет не катит. Тогда мой вариант лучше. К тому же я сегодня начал ковырять коды и их можно хорошо оптимизировать(сжать).

МОЯ ЖИЗНЬ-МОИ ПРАВИЛА… НЕ НРАВЯТСЯ МОИ ПРАВИЛА????-НЕ ЛЕЗЬ В МОЮ ЖИЗНЬ…
Yuri_G
uWeb support
uVip manager
Сообщений: 4339
Репутация: 943

Сообщение # 15 | 22:38:46
Цитата GT ()
Ну а если хочешь чтоб все страницы были в индексе на 3 языках то виджет не катит. Тогда мой вариант лучше. К тому же я сегодня начал ковырять коды и их можно хорошо оптимизировать(сжать).
скрипт интересен завтра обязательно проверю и по тестирую, 3 языка это край возможностей или возможно и другие языки??

  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:
Telegram
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!