Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Mr 13

Установка английского языка на IBR [3.2.2] и защищенный языковой пакет

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

Наверное возможно. Только я не совсем понимаю что вы хотите сделать? Мултиязычность название страницы?

Поделиться сообщением


Ссылка на сообщение
03/06/19 22:53 (изменено)

Ну да. У меня несколько страничек, которые я добавил в контенте. например страница статистики из предыдущего моего поста скрин. Само собой её название то, которое я прописал в настройках при её создании. Но мне необходимо сделать её название в зависимости от локали, которую выберет пользователь. Сейчас вот пытаюсь разобраться в primary_navigation, ибо оттуда я так понял ноги растут но пока безуспешно. Ну и если эта задача будет решена, попробую сам контент страницы сделать мультиязычным.

Изменено пользователем That

Поделиться сообщением


Ссылка на сообщение

Названия страниц как и названия тем не рассчитаны на мултиязычность. Там нужно совсем в другом месте капать нежели в названия приложений.

Поделиться сообщением


Ссылка на сообщение

Я прошу прощения, ввёл в заблуждение. Я имел ввиду не названия страниц, а названия кнопок в меню навигации, которое создаётся в IP Content (они у меня идентичны, поэтому я и сам запутался). Вот что мне нужно перевести в зависимости от выбранной локали.

Поделиться сообщением


Ссылка на сообщение
03/07/19 00:34 (изменено)

Кажется я уловил суть. Можно попробовать в primary_navigation после

<a id='nav_menu_{$menuItem['menu_id']}_trigger' href='{$menuItem['menu_url']}' title='{$menuItem['menu_description']}' {$menuItem['menu_attributes']}>

дописать что-то вроде:

{$this->lang->words['menu_'.$menuItem['menu_url']]}

вместо:

{$menuItem['menu_title']}

После чего указать в языках ключи

menu__statistics

ну и само собой - url странички у меня так же statistics.

Правда я немного не пойму тут синтаксис после "С", в частности тут:

{$this->lang->words['menu_'.$menuItem['menu_url']]}

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

Изменено пользователем That

Поделиться сообщением


Ссылка на сообщение

Кажется был кеш. Код выше работает :blink:

Поделиться сообщением


Ссылка на сообщение

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

Синтаксис вроде правильный.

Поделиться сообщением


Ссылка на сообщение

siv1987 Вы мне выше писали что нет возможности реализовать мультиязычность названий форумов и категорий. Скажите, а где хранятся данные о локали, которую выбрал пользователь? К чему вопрос. У меня есть и был опыт написания сайтов и простеньких форумов на C#. Что делал я в таких случаях: В админке делал по 2 поля (Rus/Eng). Так же и в базе для названий форумов и категорий было по 2 поля. Данные о выбранной локали я хранил в cookie и дальше пользователь получал нужные ему поля исходя из своей локализации что-то вроде:

if (Localization.Count == 1)
{
    Название форума на Русском языке
}
else
{
    Название форума на Английском языке
}

 

Сами файлы языков хранил отдельно (не в базе).

На сколько реально тут что-то подобное организовать?

Вы уж простите за глупые и специфические вопросы, но такова задача). Да и внутри данного форума я никогда ранее не копался...

Поделиться сообщением


Ссылка на сообщение

Вы мне выше писали что нет возможности реализовать мультиязычность названий форумов и категорий.

Я говорил что по умолчанию такой возможности не предусмотрено. Реализовать при желание и должном умение можно все.

 

Скажите, а где хранятся данные о локали, которую выбрал пользователь?

Ид текущего загруженного языка

 

$this->lang->lang_id

или

 

$this->member->language_id

Локаль языка

 

$this->lang->local

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Добрый вечер. В продолжении темы о локализации хотелось бы вот по какому вопросу посоветоваться. В

globalTemplate
строку
<title>{$header_items['title']} </title>

я немного изменил на

<title>{$this->lang->words['menu_'.$header_items['title']] }</title>

после чего перемещаясь по страницам на разных локалях я вижу нужный мне тайтл, например Контакты/Contscts. Объясните мне пожалуйста, как я могу проделать то же самое, если я перемещаюсь на форум, или же нахожусь на главной странице контента? В меню навигации я сталкивался с аналогичной проблемой, после чего она была решена следующим путём:

{$this->lang->words['menu_'.$data['app_dir']]}

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

 

И интересует вопрос, каким образом проще локализировать breadcrumb? как я понимаю - нужно смотреть в сторону

<if test="navigationlink:|:$data[1]"><a href='{parse url="{$data[1]}" base="$data[4]" seotitle="$data[2]" template="$data[3]"}' title='{$this->lang->words['nav_return_to']} {$data[0]}' itemprop="url"></if><span itemprop="title">{$data[0]}</span><if test="closenavigationlink:|:$data[1]"></a></if>

а в частности в

{$data[0]}

но я не могу понять откуда тут ноги растут. Спасибо!

Поделиться сообщением


Ссылка на сообщение

Массив $this->request

 

$this->request['app']

$this->request['module']

$this->request['section']

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

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