/ / Создание сайта на нескольких языках
ноябрь 28 2006

Создание сайта на нескольких языках

Добрый день уважаемые посетители,

сегодня хочется продолжить написание полезных советов по работе с DataLife Engine. Как известно это очень мощный и гибкий инструмент по созданию собственного портала. С каждым днем его возможности расширяются, но не всегда некоторым пользователям понятно как использовать ту или иную возможность. Одним из нововведений версии 5.1 является полная поддержка ведения сайта на нескольких языках. Но так как DataLife Engine это не шаблонный движок один на всех, а гибкий конструктор для создания сайта, то строчки "Английский писать тута" вы не найдете. И целью данной статьи является рассказать вам как создать сайт на которым будет поддерживаться написание статей на нескольких языках.

Разберем небольшой пример создания сайта на русском и английском языке. Итак во первых нам понадобиться два шаблона, для того чтобы была 100% поддержка двух языков, а не так что часть надписей на русском, часть надписей на английском.

Допустим у нас есть шаблоны
/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]. теперь при смене пользователем на сайте русского языка на английский то сама новость будет также выводиться на английском. Правда теперь незабывайте писать новости на двух языках. По аналогии вы можете добавить дополнительное поле и для просмотра полной новости.

Ну вот собственно и все дамы и господа

Удачи вам в построении собственных сайтов.

Комментарии

Kostya

Kostya

28 ноября 2006 13:42 Клиенты
0
wink
igos

igos

28 ноября 2006 13:49 Клиенты
0
Молодца!!! Спасибо tongue
[sql]

[sql]

28 ноября 2006 14:11 Посетители
0
где то видел dle который при смени языка меняются новости и комментарии с помощью какого то сайта ща поищу где видел.
//
Вот нашел http://datalife-engine.be/ там внизу есть выбрать язык когда нажимаешь с помощью http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=ru_en&trurl=http://datalife-engine.be/index.php все на англ переводиться и дальше всё по англ пишиться.
celsoft

celsoft

28 ноября 2006 14:23 Администраторы
0
Цитата: [sql
]Вот нашел http://datalife-engine.be/ там внизу есть выбрать язык когда нажимаешь с помощью http://babelfish.altavista.com/babelfish/trurl_pagecontent?lp=ru_en&trurl=http://datalife-engine.be/index.php все на англ переводиться и дальше всё по англ пишиться.

вы видимо считаете это нормальным потому что не владете английским, для носителя языка автоперевод выглядит ужасным. Попробуйте перевести насышенный английский сайт на русский. smile
Emience

Emience

28 ноября 2006 18:44 Посетители
0
перевод через http://babelfish.altavista.com ужасный
Bagir

Bagir

28 ноября 2006 22:05 Клиенты
0
wink спасибо полезная статья
[sql]

[sql]

29 ноября 2006 09:12 Посетители
0
понятно;) НЕ переводил;) просто увидел и ..
Ксандер

Ксандер

29 ноября 2006 14:09 Клиенты
0
!!!ОГРОМНОЕ СПАСИБО!!!
wink Просил ещё в версии 3.3! wink
Мои аргументы на чсёт данной фичи стали ещё актуальнее учитывая разширение деятельности SoftNews Media Group... smile
Infernus

Infernus

3 декабря 2006 13:23 Клиенты
0
полезная статья. wink
awq

awq

4 декабря 2006 14:19 Клиенты
0
Жаль, что это всё касается лишь новых постов... smile
anodin

anodin

4 декабря 2006 15:43 Клиенты
0
Все отлично, но с точки зрения продвижения сайта неудобно. Было просто отлично если бы английская версия располагалась не так: sait.ru/en/ , а вот так en.sait.ru тоесть на поддомене. Тогда бы цены бы небыло это фитче. Кстати, если возможно так сделать , то напишите мне сколько это будет стоить. А так все очень отлично wink НУ и естественнно интересует не только английский но и немецкий с французским
Репа-Х

Репа-Х

7 декабря 2006 14:30 Посетители
0
Ничё так... wink
voviksumy

voviksumy

11 декабря 2006 13:49 Посетители
0
awq,
Почему новых? Добавляй поля и вноси данные. Вот вчера так и сделал на своём... Только вот не уверен что это приймёт поисковый движок..
Ведь по ссылку сайт.ру может быть два конента в зависимости от текущего языка..... wassat
Z-StyLe

Z-StyLe

11 декабря 2006 15:13 Клиенты
0
[sql],
А нажми после перевода ссылку на русский язык - и не фига сайт не вернется к русскоязычному интерфейсу =) Ацтой =)
anodin

anodin

2 января 2007 23:00 Клиенты
0
Скажите как можно сделать другой язык на поддомене? Это возможно , может кто допишет за денежку? sad Очень нужно.
Stepan2006

Stepan2006

15 января 2007 21:37 Посетители
0
Попробовал, все просто супер, единственно пару вопросов

перевод не полностью сделан, или может его и не делали, например, в короткой новости - просмотров, автор и так далее, ну тут вроде ерунда, можно за 5 сек все поправить, а вот второй момент серьезнее

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

а именно с выбором категории куда постить. может я просто не врубился.
пример.

есть 2 категории Новости и News

я пишу сразу 2 новости - и английскую и русскую
с этим все ок, но как раскидать эти новости по категорям?

если я выбрал сразу и Новости и News, то потом в титле,
они будут перечисляться через запятую, что некорректно, так как будет вводить пользователя,
для иностранца первое слово будет непонятно совсем Новости, News

а если я решил создавать их поочереди, русскую и английскую версию, то тут тоже косяк,
русскую я должен обязательно создать, так как поля Заголовок статьи и Категория - обязательны

вот такие дела, то есть вроде и построена система неплохо, но как тут быть не пойму, может кто подскажет,

Спасибо
Alfa_M

Alfa_M

13 марта 2007 17:10 Посетители
1
Я что-то не разобрался, как менять заголовок у новости на разных языках?
orbiter

orbiter

2 мая 2007 00:26 Клиенты
0
Спасибо, полезная информация...
Mr 13

Mr 13

22 мая 2007 23:05 Посетители
0
Спасибо, очень полезно. fellow
marus

marus

5 сентября 2007 22:53 Клиенты
0
Спасибо, победил и буду осваивать ))
evgenzy

evgenzy

18 октября 2007 15:26 Клиенты
0
Вариант не подошел по ряду причин:
1. В дополнительное поле можно вписывать только текст, без возможности изголятса над ним встроенным редактором, все теги меняются на спецсимволы.
2. Полностью отсутствует решение по наполнению "статических страниц"
3. Нет решения по рекламным матерьялам для разных языковых аудиторий.
4. + Заголовки статей
5. + Имена катгорий...

вот сижу и думаю что с этим делать(
dok_yura

dok_yura

6 ноября 2007 17:43 Клиенты
0
а что если нужно изменить кодировку на какой-то шаблон?
JaMaster

JaMaster

12 декабря 2007 09:03 Посетители
0
а что делать если мне нужен казахский язык который использует кодировку UTF-8???
Zergio

Zergio

4 апреля 2008 05:36 Клиенты
0
Короче смотрю я, вроде celsoft придумал как сделать (в теории, еще 1.5 года назад), а время идет и фигня эта ничерта не стоит и в этом направлении даже и не движется.
Самая неразрешимая вещь это кодировки, плюс коменты. Видно вы считаете нормальным что к новости коменты могут быть на 4 языках да еще и вперемежку?
Так что двиг хоть и позиционируется как новостной, а более чем для вареза не употребим (и не более чем для ОДНОГО языка).
celsoft

celsoft

4 апреля 2008 10:37 Администраторы
0
Цитата: Zergio
Самая неразрешимая вещь это кодировки, плюс коменты. Видно вы считаете нормальным что к новости коменты могут быть на 4 языках да еще и вперемежку?

Ну и что вы видите тут неразрешимого? Ставите кодировку UTF-8 и можно писать комментарии хоть на ста языках. Если нужно все полностью отдельно, то для этого разработан другой вариант
Zergio

Zergio

4 апреля 2008 21:30 Клиенты
0
Какой вариант?
Самый первый пришедший в голову при 3 языках - 3 двига с общей базой, или один двиг с 3 базами??
celsoft

celsoft

5 апреля 2008 21:43 Администраторы
0
Zergio

Zergio

5 апреля 2008 23:56 Клиенты
0
Т.е. в итоге 3 двига на одной базе, и соответственно 3 админки я так понимаю. Это не вариант, это беготня от одной админки к другой.
Eagle

Eagle

13 апреля 2008 12:06 Клиенты
1
Цитата: Zergio
Это не вариант, это беготня от одной админки к другой

Да, предложенные автором варианты не очень...

Но есть еще один вариант, без изменения структуры бд.
Нечто среднее между описанными celsoft-ом вариантами.
Тоже не идеальный способ, но мне подходит больше.
Создать 2 или более шаблонов, по одному на каждый язык,
создать нужные категории для каждого языка со своими подкатегориями,
в настройках категорий выбрать соответствующий язык,
Ставить новости в категории в соответствии с нужным языком.
www.ru-portal.ru

www.ru-portal.ru

29 августа 2008 20:00 Клиенты
0
а можно как то сделать что бы при переходе на другой язык юзер оставался на томже месте, а то при переключение на другой язык кидает на главную?

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Календарь
«    Август 2017    »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031 
Опрос на сайте
Совершаете ли вы покупки в интернет?

Популярные новости
Архив новостей
Август 2017 (3)
Июль 2017 (1)
Июнь 2017 (1)
Апрель 2017 (3)
Март 2017 (2)
Февраль 2017 (1)