Сайт на двух языках - как?

Чтобы у одного сайта был интерфейс на двух языках

#1 23 июля 2013 в 08:48
Здравствуйте!

Знатоки движка, подскажите, пожалуйста, как на основе 1.10.1 лучше реализовать сайт с интерфейсом на двух языках — русском и английском?

Сейчас мыслю за вариант: на одном домене (.com) водрузить сайт с англоязычным интерфейсом, а на другом (.ru) — русскоязычный интерфейс. При этом база должна быть единой. Возможно ли такое? Или есть какой-то более правильный вариант?
#2 23 июля 2013 в 09:40
Мы тут не так давно уже пытались обсудить. Но чёт не получилось.
#3 23 июля 2013 в 10:34
Организационно то сделать можно и на одном сайте, с переключением языка, тут вопрос в переводе контента стоит больше.
#4 23 июля 2013 в 10:43


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

letsgo
До "простого переключения" ох как потрудиться придётся…
#5 23 июля 2013 в 10:49

До "простого переключения" ох как потрудиться придётся...

Олег Васильевич я

Труд это не так страшно. А вот контент на 2 языках задача, которую за раз не решишь. Вот тут и закавыка. Контент то ежедневно обновляется.
#6 23 июля 2013 в 15:47
Слава богу, у меня сейчас не стоит задача перевода контента. Моему подопечному образовательному проекту (http://webilang.com/) нужен только удобный способ выводить «системные сообщения» разноязычным пользователям, т.к. к одному и тому же контенту долны получить доступ студенты из США (на начальном этапе вообще не понимающие русского языка) и студенты из России, которые тоже не все на начальном этапе понимают англоязычных подписей (например, в меню и на странице регистрации).

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

Если бы контент должен был присутствовать на двух языках, то там явно надо было бы другую архитектуру в базе. Хотя бы чтобы две версии контента хранить…
#7 23 июля 2013 в 16:18
так был же модуль к 1.7 если неошибаюсь, почему бы не сделать тот же к 1.10.1 например. впринципе я его пробовал удобны был, может его просто перевести на утф и все????
#8 25 июля 2013 в 15:25
Олег, что за модуль?
#9 25 июля 2013 в 16:37
vimruler, переключает язык. В принципе можно и просто две кнопочки сделать, на которых онклик это происходит. Если у вас есть файлы языковых переменных, то интерфейс будет на выбранном языке.
В ядре есть уже проверка:
  1. //проверяем был ли переопределен язык через сессию
  2. if (isset($_SESSION['lang'])) { $inConf->lang = $_SESSION['lang']; }
  3. self::loadLanguage('lang');
Нужно лишь записать этот параметр в сессию.
#10 25 июля 2013 в 16:46
А вот с контентом загвоздка. В ленте активности тоже будет всё как в базе записано отображаться, кстати двойка этим также не отличается.
#11 25 июля 2013 в 16:51

В коде видел переменную $_LANG

vimruler
Это не переменная, а глобальный массив. Значения элементам массива присваиваются в файлах language/ru/components или language/ru/modules. В этих папках лежат файлы с именем компонента или модуля соответственно, в этих файлах и происходит присвоение элементам массива $_LANG.
При вызове компонента или модуля движок ищет одноименный файл — так, при вызове определенной страницы Вы увидите сообщения только на текущем языке и только для вызванного компонента/модуля.

Значения этого массива доступны и в шаблонах *.tpl. Там к ним обращаться надо не $_LANG['ELEMENT'] а {$LANG.ELEMENT}.
#12 25 июля 2013 в 17:23

Олег, что за модуль?

vimruler
Я его давно как то находил, был у кого-то в файлах. Сейчас уже и не помню… Работал под 1.17 прекрасно
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.