Как создать страницы на двух языках?
1
Уважаемые Пользователи! Я новичок в LiveStreet. У меня есть вопрос, а так как вы один из лучших девелоперов LiveStreet, прошу, помогите мне. Как добавить меню на LiveStreet? (рядом с Топики, Блоги) помимо заголовок созданных страниц? И еще, я пользуюсь плагином «L10n» для мультиязычности, как вы знаете, этот плагин переведет контент сайта с одного языка на другой. А можно добавить меню и чтобы на двух языках? и как создать страницу на двух языках? Если можете, то помогите мне пожалуйста. Буду очень признателен. Спасибо заранее, Мурод Нормуминов.
мультиязычность
Кто-ниб сможет дописать такой функционал?
определить колонку в БД, в которой текст; дальше — найти место в коде CMS где формируется этот запрос; дальше — на PHP уже вытащить весь текст, а пользователю отправить только его язык.
То есть в БД хранилось бы два текста (или больше) в одной статье, а в HTML попадал бы один. Это потребует по особому писать статьи, но это то как раз не проблема. Например сделать разделители [ENG], [/ENG], [RUS], [/RUS] и после вытаскивания текста из БД вырезать строку по этим разделителям.
определить колонку в БД, в которой текст; дальше — найти место в коде CMS где формируется этот запрос; дальше — на PHP уже вытащить весь текст, а пользователю отправить только его язык.
То есть в БД хранилось бы два текста (или больше) в одной статье, а в HTML попадал бы один. Это потребует по особому писать статьи, но это то как раз не проблема. Например сделать разделители [ENG], [/ENG], [RUS], [/RUS] и после вытаскивания текста из БД вырезать строку по этим разделителям.
Многоязычный сайт на базе ЛС - продолжение
7
Как и прежде, модуль многоязычной поддержки входит в пакет модуля . Но в версии 1.2.98 была сделана одна небольшая доработка, немного облегчающая жизнь тем, кого эта тема (многоязычные сайты на базе ЛС) интересует.
А именно — если раньше выбранный пользователем язык сохранялся только на время сессии, то теперь его можно сохранять в куках. Т.е. выбрал юзер свой язык, отличный от установки LANG_CURRENT, и этот выбор (если заданы соответствующие установки) будет действовать и при последющих заходах юзера на сайт с этого компьютера.
Как это сделать? Открываем файл /config/modules/language/config.php и задаем параметр:
И еще один вопрос часто задают: а как сделать выбор языка? Мне казалось, что я достаточно подробно об этом писал здесь: Но, видимо, нужен конкретный пример, как организовать «мультиязычность». Поэтому вот вам пример на базе скина new.
1. Открываем шаблон header_nav.tpl
2. Находим форму поиска
3. После закрывающего тега </form> вставляем такой код:
Теперь над полем поиска у вас появятся два флажочка — российский и британский, при клике на которые юзер будет переключаться соответственно на русский или английский язык.
ЗЫ Прошу гуру за говнокод не пинать, т.к. это всего лишь пример. Хотя и вполне рабочий. :)
ЗЗЫ А кртинки с флажочками, нужными для работы примера реально лежат в папке /templates/language/flags/
А именно — если раньше выбранный пользователем язык сохранялся только на время сессии, то теперь его можно сохранять в куках. Т.е. выбрал юзер свой язык, отличный от установки LANG_CURRENT, и этот выбор (если заданы соответствующие установки) будет действовать и при последющих заходах юзера на сайт с этого компьютера.
Как это сделать? Открываем файл /config/modules/language/config.php и задаем параметр:
define('LANG_SAVE_DAYS', 365);Число указывает, сколько дней будет храниться выбранный язык.И еще один вопрос часто задают: а как сделать выбор языка? Мне казалось, что я достаточно подробно об этом писал здесь: Но, видимо, нужен конкретный пример, как организовать «мультиязычность». Поэтому вот вам пример на базе скина new.
1. Открываем шаблон header_nav.tpl
2. Находим форму поиска
<div class="search">
<form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/topics/" method="GET">
<input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="{$aLang.search}" name="q" />
<input class="button" type="submit" value="" />
</form>
</div>3. После закрывающего тега </form> вставляем такой код:
<!-- +++ Language settings +++ -->
<div class="language" style="position: relative; top: -30px; ">
<a href="{$DIR_WEB_ROOT}/language/russian"><img src="{$DIR_STATIC_ROOT}/templates/language/flags/ru.png" alt="Russian" title="Russian" /></a>
<a href="{$DIR_WEB_ROOT}/language/english"><img src="{$DIR_STATIC_ROOT}/templates/language/flags/gb.png" alt="English" title="English" /></a>
</div>
<!-- --- Language settings --- -->Теперь над полем поиска у вас появятся два флажочка — российский и британский, при клике на которые юзер будет переключаться соответственно на русский или английский язык.
ЗЫ Прошу гуру за говнокод не пинать, т.к. это всего лишь пример. Хотя и вполне рабочий. :)
ЗЗЫ А кртинки с флажочками, нужными для работы примера реально лежат в папке /templates/language/flags/
Многоязычный сайт на базе ЛС
9
Иногда подобные вопросы возникают у людей. Напр., здесь:
Честно говоря, не очень хорошо представляю, как это может быть реализовано , но технически сделать это очень даже просто, если у вас установлена Админпанель версии 1.2 и выше. И хоть я лично несколько скептически отношусь к подобной идее, но раз уж такая фича получилась практически сама по себе, то решил ее описать.
Я уже писал, как сторонние разработчики могут использовать для своих нужд . Теперь я дополнил его обработчиком экшена. Итак, если вам очень уж хочется, чтоб юзер мог переключать язык на сайте, то нужно сделать следующее:
1. Установить Админпанель версии не ниже 1.2 (модуль языковой поддержки также будет установлен).
2. В папку templates/language/ положить нужные файлы переводов
3. В конфиг-файле config/modules/language/ определите константу LANG_DEFAULT, определяющую язык по умолчанию (будет использоваться в тех случаях, когда не найден нужный перевод; подробнее см. ). Там же желательно определить список языков, которые будут поддерживаться — константа LANG_DEFINE.
4. В смарти-шаблонах сайта переменные вида $aLang.blablabla заменить на $oLang->blablabla
5. Добавить в шаблоны переключение языка, т.е. ссылки вида httр://ваш_сайт/language/russian, httр://ваш_сайт/language/english и т.д.
Вот и вся мультиязычность
Честно говоря, не очень хорошо представляю, как это может быть реализовано , но технически сделать это очень даже просто, если у вас установлена Админпанель версии 1.2 и выше. И хоть я лично несколько скептически отношусь к подобной идее, но раз уж такая фича получилась практически сама по себе, то решил ее описать.
Я уже писал, как сторонние разработчики могут использовать для своих нужд . Теперь я дополнил его обработчиком экшена. Итак, если вам очень уж хочется, чтоб юзер мог переключать язык на сайте, то нужно сделать следующее:
1. Установить Админпанель версии не ниже 1.2 (модуль языковой поддержки также будет установлен).
2. В папку templates/language/ положить нужные файлы переводов
3. В конфиг-файле config/modules/language/ определите константу LANG_DEFAULT, определяющую язык по умолчанию (будет использоваться в тех случаях, когда не найден нужный перевод; подробнее см. ). Там же желательно определить список языков, которые будут поддерживаться — константа LANG_DEFINE.
4. В смарти-шаблонах сайта переменные вида $aLang.blablabla заменить на $oLang->blablabla
5. Добавить в шаблоны переключение языка, т.е. ссылки вида httр://ваш_сайт/language/russian, httр://ваш_сайт/language/english и т.д.
Вот и вся мультиязычность
Мультиязычность в LS
1
Приветствую всех!
На днях задался вопросом реализации мультиязычности в LS. Конечно, то что есть теперь файл языков — это хорошо, но вот хотелось бы, что бы например для английской аудитории не только показывались меню и т.д., а сам контент был на их языке. Для русской — наобарот. Реализовать, как оказалсь просто и мы решили это сделать.
Для тех, кому такой функционал нужен — пишите, что бы вы хотели ещё из данной тематики. Ваши пожелания по возможности учтутся.
После того, как реализуем такой функционал — поделимся со всеми. Так что прошу комментируйте =)
На днях задался вопросом реализации мультиязычности в LS. Конечно, то что есть теперь файл языков — это хорошо, но вот хотелось бы, что бы например для английской аудитории не только показывались меню и т.д., а сам контент был на их языке. Для русской — наобарот. Реализовать, как оказалсь просто и мы решили это сделать.
Для тех, кому такой функционал нужен — пишите, что бы вы хотели ещё из данной тематики. Ваши пожелания по возможности учтутся.
После того, как реализуем такой функционал — поделимся со всеми. Так что прошу комментируйте =)
Мультиязычность
Обязательно сделайте вынос в ленгвичь фай всей текстовки интерфейса.
дабы пользователь мог выбирать язык интерфейса
«готов взяться за реализацию украинского интерфейса»
желательно ещё, чтобы была возможность писать контент на нескольких языках
допустим в тегах
а пользователю выводится выбранный им язык и дополнительно сообщение — «данная статья доступна также на языке ...», а если нет его варианта языка — то «данная статья доступна лишь на языке ...»
дабы пользователь мог выбирать язык интерфейса
«готов взяться за реализацию украинского интерфейса»
желательно ещё, чтобы была возможность писать контент на нескольких языках
допустим в тегах
[lang_en]Hello World[/lang_en]
[lang_ru]Привет мир[/lang_ru]
[lang_ukr]Привіт Світ[/lang_ukr]а пользователю выводится выбранный им язык и дополнительно сообщение — «данная статья доступна также на языке ...», а если нет его варианта языка — то «данная статья доступна лишь на языке ...»