Многоязычный сайт на uCoz


Многоязычный сайт - это сайт с одинаковым (или подобным) контентом на разных языках. 
Существуют сайты где многоязычность можно сделать внутри одного сайта. Но Вы неоднократно встречали сайты, где для каждого языка существует свой домен, то есть отдельный сайт. Например сайт Нокиа, и многих других фирм.
Я не буду тут долго обсуждать плюсы и минусы каждого из методов. Скажу только, что по моему личному мнению, многоязычность внутри одного сайта удобна для Администраторов сайта, а для продвижения (особенно в разных регионах) и для пользователей, гораздо удобнее отдельный домен для каждого языка.

В любом случае, на сайтах uCoz для создания многоязычного сайта есть только одна возможность- это второй вариант, вариант с двумя разными сайтами..

Итак, вы решили создать свой сайт не на одном, а на нескольких языках. Чаще всего это два языка - русский и английский. Поэтому, в описании ниже, в качестве примера, я буду брать такой вариант: сайт на двух языках - русском и английском.


Создание сайта на нескольких языках достаточно кропотливый труд - это несложно, но необходимо быть очень внимательным и потратить определенное количество времени.

Итак, начнем. 

1. Создание сайтов для каждого языка.

Для начала Вам необходимо создать два разных сайта на uCoz, с одинаковым дизайном, одинаковым шаблоном и т.д. В принципе одинаковый дизайн не является строгой необходимостью, но все же думаю понятно, что желательно, как минимум, придерживаться одного стиля. 
Итак, создаете сайт на русском языке (когда при создании Вас просят выбрать язык - выбираете русский) и английском языке (выбираете английский). Выбираете им одинаковое имя. Например: mysite.ucoz.ru mysite.ucoz.com. Эти два сайта отличаются только тем, что один заканчивается на ru, второй на com.
Этим двум сайтам подключаете один и тот же дизайн и одинаковые модули.

2. Прикрепление домена.


Если Вы решили все же купить для своего сайта домен (что правильно), тогда у Вас есть несколько вариантов. Если Вам домен не нужен - переходите к пункту 3.

Вариант с одним доменом. Вы покупаете домен на ru (ua, com.ru и т.д.) И прикрепляете его на русский сайт, в нашем примере на mysite.ucoz.ru. Теперь Ваш сайт стал выглядеть как: mysite.ru. Далее создаете субдомен en.mysite.ru и прикрепляете его на английский сайт. 
В итоге у Вас получается один домен на два сайта: mysite.ru и en.mysite.ru. 
Пример сайта с такой структурой Вы можете увидеть, посетив мой сайт: http://light-expo.org.ua/


Вариант с двумя разными доменами. Вы покупаете для каждого сайта свой домен и прикрепляете для каждого сайта отдельно. Ваши сайты могут теперь выглядеть как: mysite.ru и mysite.com.

3. Объединение сайтов

Теперь пришло время Ваши сайты объединить и поставить переключатель языков. Для начала продумайте для него место на Вашем сайте. Чаще всего это шапка Вашего сайта. В шаблонах uCoz это обычно Панель управления - Дизайн - Управление дизайном (шаблоны) - Верхняя часть сайта.
Вид переключатель может быть текстовый:
русский/английский

или картинки:
   

Для меня лично приятнее картинки. Если Вы тоже хотите такие картинки на своем сайте, скачайте архив flags.rar с моего сайта, распакуйте архив и загрузите полученную папку flags в корень Вашего сайта.

Далее сам код. Тут тоже возможно два способа.

Простой код. Этот код создает переключатель (кнопки), ссылки которого ведут на главную страницу одного из языков.

<a href="http://mysite.ru"><img src="/design/Russia.gif"></a>
<a href="http://en.mysite.ru"><img src="/design/GB.gif"></a>
Вам нужно только изменить домены с примера на домены Ваших сайтов, и вставить полученный код в шаблоны Ваших сайтов.
Сложный код. Этот код создает переключатель (кнопки), ссылки которого ведут на аналог страницы на которой находится пользователь но уже на другом языке. Такой код работает не во всех модулях. Он точно работает в модуле Каталог статей, Каталог файлов и подобных.

<a href="http://mysite.ru$ENTRY_URL$"><img src="/design/Russia.gif"></a>
<a href="http://en.mysite.ru$ENTRY_URL$"><img src="/design/GB.gif"></a>

Этот код сложный тем, что для его успешной работы необходимо кропотливое выполнение следующего пункта - пункта 4.
Постраничный код. Системный код ENTRY_URL работает на во всех модулях uCoz. Поэтому все остальные страницы вы можете синхронизировать с помощью постраничного кода с иcпользованием Переменных страницы.
Мы помним что для каждой страницы есть свой уникальный ID. Таким образом мы смотрим ID страницы для каждого языка. Потом для каждой страницы применяем следующий код:
- вместо page4 - пишите ID своей страницы
- вмеcто ссылок http://mysite.ru/index/0-4 и http://en.mysite.ru/index/0-4 - ссылки Вашего сайта.
Давайте подробнее разберемся с URI_ID. Это ID страницы. В русском сайте это может быть один ID, а в английском -  другой. Поэтому в шапке сайта русского сайта Вы вставляете код и пишите ID страницы, которая соответствует русскому варианту. В шапке сайта английского варианта вставляете код и пишите ID страницы английского сайта.
Таким способом в шапке сайта можно прописать переходы для каждой страницы Вашего сайта.




4. Создание структуры сайта

Если Вы поставили на свой сайт сложный код, Вам нужно теперь очень внимательно создать структуру сайта.

ВНИМАНИЕ!!! Все ссылки обоих сайтов должны быть абсолютно одинаковыми, до каждой черточки. Разница между ними только в доменах.

Как этого добиться:
Разделы и категории. При создании разделов и категорий в модулях своих сайтов следите чтобы ID разделов и категорий были одинаковыми для обоих сайтов (Рис. 1.1).
Также название отображаемое в URL должно быть абсолютно одинаковым. Для этого Вам нужно будет его редактировать (Рис.1.2).

Редактировать ссылку категории

Редактировать раздел или категорию можно только после ее создания. Нажимаете значок  и в появившемся окне увидите внизу "Название отображаемое в URL". Эти название и должны быть абсолютно одинаковыми для обоих сайтов. Конечно, при условии одинаковых ID. 
Материалы. Ситуация идентична. Добавляйте новый материал на два сайта одновременно, тогда у них будет одинаковый ID. Также при редактировании материала категории у Вас будет возможность отредактировать "Название отображаемое в URL"

И последнее, но важное. К сожалению, сложный код работает не для всех модулей. Например, он не работает для модулей Редактор страниц и Каталог сайтов. Сложный код работает только в тех модулях, где есть системный код $ENTRY_URL$. Там, где такого кода нет, ссылка будет вести на Главную страницу сайта на другом языке (что тоже не плохо)
На моему сайте http://light-expo.org.ua/ как раз используется сложный код.

5. Редактирование и наполнение сайта

Как Вы прекрасно понимаете, описанный выше вариант многоязычного сайта не совсем удобен для Администратора, так как для одного сайта у Вас две панели управления, и, добавляя новый материал, его нужно добавлять на два разных сайта. Да, это так, в этом есть свои минусы данного метода.
Поэтому мой главный совет. Старайтесь делать все корректировки шаблонов, редактирование и добавление новых материалов параллельно на двух сайтах. Сначала может будет тяжело, но потом Вы обязательно привыкнете. Успехов Вам!!!