Перейти к публикации

Рекомендованные сообщения

Вопрос мультиязычности для DLE интересует многих людей, вот собственно одно из решений. Разберем небольшой пример создания сайта на русском и английском языке. Итак во первых нам понадобиться два шаблона, для того чтобы была 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. Заголовок новости на одном языке (можно решить, конечно, и через доп. поля и редактирование файлов движка)

2. Мета теги также будут на одном языке

3. Новость нужно писать на двух языках

P.S. Данное решение мультиязычности нам с удовольствием предоставил всезнающий Google.

Ссылка на сообщение
Поделиться на других сайтах

P.S. Данное решение мультиязычности нам с удовольствием предоставил всезнающий Google.

да ладно :):) , а я то думал что это опубликовано на dle-news.ru еще в 2006 году http://dle-news.ru/2006/11/28/sozdanie_sajjta_na_neskolkikh_jazykakh.html

Из минусов можно выделить:

1. Заголовок новости на одном языке (можно решить, конечно, и через доп. поля и редактирование файлов движка)

2. Мета теги также будут на одном языке

3. Новость нужно писать на двух языках

Способ описанный на http://dle-news.ru/2007/04/18/edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html полностью способен устранить эти минусы.

Ссылка на сообщение
Поделиться на других сайтах

да ладно :):) , а я то думал что это опубликовано на dle-news.ru еще в 2006 году http://dle-news.ru/2006/11/28/sozdanie_sajjta_na_neskolkikh_jazykakh.html

Сорри, на dle-news.ru что-то не подумал посмотреть :unsure:

Способ описанный на http://dle-news.ru/2007/04/18/edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html полностью способен устранить эти минусы.

Спасибо, посмотрим :rolleyes:

.. ты хотя-бы поиском научился пользоваться :lol:

Я им прекрасно пользуюсь. Запрос у меня был "Мультиязычность DataLife Engine", а не Создание сайта на нескольких языках DataLife Engine - результат думаю сам увидишь <_<

- - - - -

Раз такое дело, тему можно удалять.

Ссылка на сообщение
Поделиться на других сайтах

Раз такое дело, тему можно удалять.

Думаю кому нибудь может пригодится.

Ссылка на сообщение
Поделиться на других сайтах

ИМХО для реализации мультиязычности нужна только одна ссылка/кнопка - по которой включается сервис translate.google.com, который переводит ВЕСЬ ВАШ САЙТ - больше ничего не нужно...

Изменено пользователем sergey78
Ссылка на сообщение
Поделиться на других сайтах

А кто нибудь google api использовал для перевода сайта? если использовать translate.google.com то вверху сайта совсем не презентабельная рамка.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Думаю кому нибудь может пригодится

Да, пригодится, спасибо.

ИМХО для реализации мультиязычности нужна только одна ссылка/кнопка - по которой включается сервис translate.google.com, который переводит ВЕСЬ ВАШ САЙТ - больше ничего не нужно..

Нет, не правильно. Не весь сайт, а конкретный пост, с распознаванием на каком языке написана.

Правильно - ставить в шаблон ссылку/кнопку (яваскрипт)которая активирует хак(модуль), специально написанный. Я для форума дле делал(заказывал).

Принцип действия: В новости стоит кнопка, translate/перевести. Если текст новости на русском, то при нажатии открывается в новой вкладке страница:

http://translate.google.ru/#ru|en|%D0%95%D1%81%D0%BB%D0%B8%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%20%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8%20%D0%BD%D0%B0%20%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%BE%D0%BC%2C%20%D1%82%D0%BE%20%D0%BF%D1%80%D0%B8%20%D0%BD%D0%B0%D0%B6%D0%B0%D1%82%D0%B8%D0%B8%20%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%B2%20%D0%BD%D0%BE%D0%B2%D0%BE%D0%B9%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B5%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0

А если текст новости на английском, то при нажатии этой же кнопки открывается страница:

http://translate.google.ru/#en|ru|If%20the%20text%20news%20in%20Russian%2C%20then%20when%20you%20open%20a%20new%20tab%20page

Ессно, огрехи переводчика - на совести гугла.

PS дело было давно, сайт я так и не поставил, но модуль заказывал, на перспективу. Правда не знаю, он будет работать или нет(у гугла с тех пор в переводчике многое поменялось. Но на то время работал оч. хорошо.)

PPS Черт, а сейчас короткие тексты дает, а забил длинный, он дает ссылку только: http://translate.google.ru/#

Так что вот...

Мне это не нужно на данный момент, если кому это интересно, принцип я объяснил, по крайней мере для составления ТЗ.

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

Просто нет времени сейчас проверками заниматься.

Изменено пользователем Langly
Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Не знаю как кому, но я на переводчик Google не жалуюсь. В роди работает нормально.

и будет только лучше...

в огороди :lol:

гуглемашинный несвязный перивот

для нищих и ленивых

Ссылка на сообщение
Поделиться на других сайтах

Dj Dance сказал:

P.S. Данное решение мультиязычности нам с удовольствием предоставил всезнающий Google.

да ладно , а я то думал что это опубликовано на dle-news.ru еще в 2006 году http://dle-news.ru/2...h_jazykakh.html

Dj Dance сказал:

Из минусов можно выделить:

1. Заголовок новости на одном языке (можно решить, конечно, и через доп. поля и редактирование файлов движка)

2. Мета теги также будут на одном языке

3. Новость нужно писать на двух языках

Способ описанный на http://dle-news.ru/2...h_sajjtakh.html полностью способен устранить эти минусы.

Тогда зачем применять метод Создание сайта на нескольких языках от 2006 года?

Единая регистрация и авторизация (новость от марта 2007 г) - 2 сайта, один в домене, другой в поддомене, на каждом сайте пишется статья по-английски и по-русски, имеется своё меню, единая система авторизации и регистрации, как для русскоязычных пользователей, так и для англоязычных. Метатеги, ключевые слова, заголовки - для каждого сайта свои.

В чем недостатки?

Я просто не вижу смысла использовать метод в шапке топика.

И подскажите - применять лучше какую кодировку виндов-1251 или утф-8 ?

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

Ссылка на сообщение
Поделиться на других сайтах

Не знаю как кому, но я на переводчик Google не жалуюсь. В роди работает нормально.

и будет только лучше...

в огороди :lol:

гуглемашинный несвязный перивот

для нищих и ленивых

для умных и ленивых))

я бы не сказал, что перевод плохой.

Ссылка на сообщение
Поделиться на других сайтах

У нас тут обсуждение Мультиязычность DataLife Engine. А не модуля переводчика.

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

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

Как без ущерба создать сайт на 2-х языках, вот вопрос. С метатегами ессно и опитимизированный для поиска.

Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

Похоже, вариант от 2006 года не поддерживает одну регистрацию для сайтов на поддомене и домене.

Сами посудите - пусть одна БД, но префиксы таблиц то разные.

dle_user и en_user

Или я что-то не понял в этом ?

Ссылка на сообщение
Поделиться на других сайтах

Как без ущерба создать сайт на 2-х языках, вот вопрос. С метатегами ессно и опитимизированный для поиска.

Я сделал один сайт на 2-х языках ссылка, вот только одна беда, он под сео ни как не оптимизирован, с тайтлами проблема :(

Изменено пользователем n0lik
Ссылка на сообщение
Поделиться на других сайтах

Ещё добавить в минус невозможность синхронного переключения с одноименных страниц rus-eng и eng-rus

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

Но в данном случае одна регистрация. Разве что..

Ссылка на сообщение
Поделиться на других сайтах

Похоже, вариант от 2006 года не поддерживает одну регистрацию для сайтов на поддомене и домене.

Сами посудите - пусть одна БД, но префиксы таблиц то разные.

dle_user и en_user

Или я что-то не понял в этом ?

http://dle-news.ru/2007/04/18/edinaja_registracija_i_avtorizacija_na_neskolkikh_sajjtakh.html

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

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

Или все параметры задаются в шаблонах.

В дефолтном не указано.

У меня например, в main.tpl

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">

<head>

Если не ошибаюсь, поменять ru на en ?

У меня сайт http://www.w3.org/1999/xhtml не открывается, не могу прочитать спецификаций.

Ссылка на сообщение
Поделиться на других сайтах

Ребята тут такой вопрос версия 9,2 UTF-8,

Все сделал по первому посту все работает но:

1. На русском языке видны все 2 языковый посты

2. На анг. вообще нету поста только категория

Вот такая штука :( помогите чайнику.....

Ребята тут такой вопрос версия 9,2 UTF-8,

Все сделал по первому посту все работает но:

1. На русском языке видны все 2 языковый посты

2. На анг. вообще нету поста только категория

Вот такая штука :( помогите чайнику.....

Решил 2 пункт :) это было моя ошибка. Теперь и на русском и на англ одинакова повторятся все посты, есть возможность отделить их ? на русском показывал только русской а на английском только английский
Ссылка на сообщение
Поделиться на других сайтах

ничего не понял

покажите сайт, хоть посмотрим что за посты и языки

согласно правил

Спасибо за ответ, сайт у меня на денвере :( чиста для обучения ставил его.

могу залить в .jpg скажите куда :)

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...