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

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

celsoft 28 ноября 2006 Советы 70 005
Добрый день уважаемые посетители,

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

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

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

Комментарии

  1. Kostya (Клиенты)

    28 ноября 2006 13:42 23 комментария
    wink
  2. igos (Клиенты)

    28 ноября 2006 13:49 13 комментариев
    Молодца!!! Спасибо tongue
  3. [sql] (Посетители)

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

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

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

    28 ноября 2006 18:44 1 комментарий
    перевод через http://babelfish.altavista.com ужасный
  6. Bagir (Клиенты)

    28 ноября 2006 22:05 8 комментариев
    wink спасибо полезная статья
  7. [sql] (Посетители)

    29 ноября 2006 09:12 20 комментариев
    понятно;) НЕ переводил;) просто увидел и ..
  8. Ксандер (Клиенты)

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

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

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

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

    7 декабря 2006 14:30 53 комментария
    Ничё так... wink
  13. voviksumy (Посетители)

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

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

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

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

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

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

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

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

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

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

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

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

    Спасибо
  17. Alfa_M (Посетители)

    13 марта 2007 17:10 6 комментариев
    Я что-то не разобрался, как менять заголовок у новости на разных языках?
  18. orbiter (Клиенты)

    2 мая 2007 00:26 1 комментарий
    Спасибо, полезная информация...
  19. Mr 13 (Посетители)

    22 мая 2007 23:05 97 комментариев
    Спасибо, очень полезно. fellow
  20. marus (Клиенты)

    5 сентября 2007 22:53 1 комментарий
    Спасибо, победил и буду осваивать ))
  21. evgenzy (Клиенты)

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

    вот сижу и думаю что с этим делать(
  22. dok_yura (Клиенты)

    6 ноября 2007 17:43 2 комментария
    а что если нужно изменить кодировку на какой-то шаблон?
  23. JaMaster (Посетители)

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

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

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

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

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

    5 апреля 2008 21:43 3 357 комментариев
  28. Zergio (Клиенты)

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

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

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

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

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

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Апрель 2020    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
27282930 

Опрос на сайте

Совершаете ли вы покупки в интернет?