Jump to content
Дизайн и модификация Invision Power Board IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Mr 13

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

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Edited by That

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Edited by That

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

$this->lang->lang_id

или

 

$this->member->language_id

Локаль языка

 

$this->lang->local

  • Upvote 1

Share this post


Link to post
Share on other sites

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

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]}

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

Share this post


Link to post
Share on other sites

Массив $this->request

 

$this->request['app']

$this->request['module']

$this->request['section']

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...