Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Опубликовано:

Моя версия IPB: 3.2.2 (IBR)

 

Приветствую. Хватило дурости пользоваться IPB от IBR, а не IPS, и теперь возникает следующий вопрос:

 

 

В базовой поставке IPB от IPS есть защищённый языковой пакет - "English (USA)". В комплекте от IBR есть только "Русский" язык.

 

Вопрос состоит в следующем:

 

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

 

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

 

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

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

Опубликовано:

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

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

Опубликовано:

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

Опубликовано:

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

Опубликовано:

Кажется я уловил суть. Можно попробовать в 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

Опубликовано:

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

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

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.