Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Мультиязычный сайт

Мультиязычный сайт


     11.10.2011    Хаки    6711

вопрос
Как можно сделать мультиязычный сайт на DLE 9.4?

Ответил: focuspro


Допустим у нас есть шаблоны
Код
/templates/russian/

/templates/english/


Также нам понадобиться два языковых пакета для скрипта
Код
/language/russian/

/language/english/


Далее в админпанеле настройках скрипта указываем шаблон по умолчанию russian, язык по умолчанию также указываем russian.

Теперь нам нужно чтобы каждому из наших шаблонов соответствовал необходимый нам языковой пакет, чтобы при переключении с одного шаблона на другой, менялся бы также язык системных сообщений скрипта. Для этого заходим в Админпанель скрипта -> Другие разделы -> Шаблоны сайта и устанавливаем для каждого шаблона Используемый язык, т.е. для шаблона russian назначаем язык russian, для шаблона english назначаем язык english

Следующим этапом является добавления переключения языков для посетителей сайта. Для этого в main.tpl создадим две ссылки например:
Код
<a href="http://site.ru/index.php?action_skin_change=yes&skin_name=russian">Русский</a>
<a href="http://site.ru/index.php?action_skin_change=yes&skin_name=english">Английский</a>

Теперь при переходе по этим ссылкам пользователь будет менять свой шаблон, а вместе с ним и язык системных сообщений скрипта.

Но и это еще не все наша же цель создать полностью мультиязычный проект, поэтому должно поддерживаться также написание новостей на двух языках. Для этого идем в Админпанель -> Другие разделы -> Дополнительные поля новостей. Выбираем там пункт Добавить поле.

Создаем новое дополнительное поле со следующими параметрами:

Название поля: english
Описание поля: Английский коротко
Категория: Все
Тип поля: Несколько строк

Далее открываем в шаблоне английского языка templates/english/ файл shortstory.tpl и меняем в нем тег {short-story} на тег дополнительного поля [xfvalue_english]. теперь при смене пользователем на сайте русского языка на английский то сама новость будет также выводиться на английском. Правда теперь незабывайте писать новости на двух языках. По аналогии вы можете добавить дополнительное поле и для просмотра полной новости.

UPD 03.12.2011
А вот тут нормальная инструкция, а не пятилетней давности
Отредактировал 3-12-2011, 14:39 - ПафНутиЙ
Причина: дополнил ответ

Комментарии пользователей (16)

Prime-torrent.ru
21 | 16

Prime-torrent.ru - 12 октября 2011 16:58 - Юзер

и мне тоже интересно но на dle 9.0

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 12 октября 2011 22:32 - Админ

focuspro
Отличный ответ!

Каков вопрос - таков и ответ. Просто помните об этом.

cybernatic
12

124 | 125

cybernatic - 13 октября 2011 13:29 - Эксперт

Благодарю за ответ!

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 3 декабря 2011 11:40 - Админ

дополнил ответ собственной инструкцией.

Каков вопрос - таков и ответ. Просто помните об этом.

ialexdr
6 | 4

ialexdr - 22 января 2012 15:20 - Юзер

Здраствуйте, а как быть с категориями. Можно ли как-нибудь сделать так, чтобы для одного языка они были одни, для другого другими? Готов заплатить, если будет решение данной проблемы. Спасибо. Жду ответа.

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 22 января 2012 15:51 - Админ

самый простой вариант - называть их сразу на двух языках, например:
категория (category)

Каков вопрос - таков и ответ. Просто помните об этом.

Mr. Hyde
5

181 | 183

Mr. Hyde - 22 января 2012 16:51 - Юзер

или же использовать тег category и в этом теге использовать переводчик.

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 22 января 2012 17:08 - Админ

А есть ещё кроме гугловского переводчики?

Каков вопрос - таков и ответ. Просто помните об этом.

Mr. Hyde
5

181 | 183

Mr. Hyde - 22 января 2012 20:29 - Юзер

Вроде нет, а это важно?

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 22 января 2012 22:27 - Админ

Да, потому что гугловский API давно уже платный ))

Каков вопрос - таков и ответ. Просто помните об этом.

Mr. Hyde
5

181 | 183

Mr. Hyde - 23 января 2012 13:16 - Юзер

Ну если это так нужно человеку, можно и приобрести

vlits
3

108

vlits - 28 октября 2013 06:18 - Юзер

Здравствуйте, как сделать свой сайт на многих языках ?
Реально ли ? знаю что есть движек на английской версии.

Идея такая сделать дубликат сайта, посадить на доменное имя с припиской eng-имясайта.ru
Ну и как то весь контент переделать на английский язык.

Суть работы мультиязычного сайта, он переводит все новости в английский язык ?

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 28 октября 2013 10:09 - Админ

Лучше использовать мультиязычную CMS

Каков вопрос - таков и ответ. Просто помните об этом.

vlits
3

108

vlits - 29 октября 2013 06:39 - Юзер

например !

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 29 октября 2013 08:59 - Админ


Каков вопрос - таков и ответ. Просто помните об этом.

vlits
3

108

vlits - 29 октября 2013 16:38 - Юзер

как он работает ? через что он переводит то что на Русском, и как это индексируется поисковыми системами ?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы