Перейти к контенту
  • 0

Не переводятся пункты меню


ibuser

Вопрос

Установлена лицензионная версия IBR ІPB 3.1.2 c англ. языком взятым из офиц. раздела IBR.

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

Почему?

 

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

 

Пробовал несколько дополнений для 3.1.2. а-ля Google Translate, но не нашел работающих вариантов - прошу подсказать если есть такая рабочая модицикация...

Ссылка на комментарий
Поделиться на других сайтах

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

  • 0

http://forums.ibresource.ru/index.php?/topic/60481/

 

Ммм... Туплю, ночь уже. Вы, похоже, с задачей перевода справились.

 

Названия компонентов берутся из настроек модулей. И там поле только одно. Решить проблему в принципе можно - достаточно кое-что заменить в этом блоке в АЦ (шаблон globalTemplate):

                        <if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])">
                           <foreach loop="applications:$header_items['applications'] as $data">
                               <if test="showingapp:|:$data['app_show']">
                                   {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"}
                                   <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"> <a href='{parse url="{$data['app_link']}" seotitle="false" base="public"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], $data['app_title'] )"}'>{$data['app_title']}</a> </li>
                               </if>
                           </foreach>
                       </if>

 

Как видите, тут напрямую выводится {$data['app_title']} - значение, которое указано в настройках модулей. А оно для каждого модуля только одно, и от языка не зависит. ID текущего языка можно получить из {$this->lang->lang_id}. Т.к. в ленг-строках названия приложений если и есть, то никак не систематизированы, то нам не остается ничего иного, кроме как собрать подобную вещь:

 

<php>$app_trans = array("Блоги" => "Blogs", "Галерея" => "Gallery", "Файлы" => "Downloads");</php>
                       <if test="applicationsloop:|:is_array($header_items['applications']) AND count($header_items['applications'])">
                           <foreach loop="applications:$header_items['applications'] as $data">
                               <if test="showingapp:|:$data['app_show']">
                                   {parse variable="appActive" default="" oncondition="$data['app_active']" value="active"}
                                   <php>$appTitle = ($this->lang->lang_id == 2) ? $app_trans[$data['app_title']] : $data['app_title'];</php>                        
                                   <li id='nav_app_{$data['app_dir']}' class="left {parse variable="appActive"}"> <a href='{parse url="{$data['app_link']}" seotitle="false" base="public"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], $data['app_title'] )"}'>{$appTitle}</a> </li>
                               </if>
                           </foreach>
                       </if>

 

При условии, что 1-й язык - русский, а 2-й - английский. {$app_trans} составьте сами в соответствии с вашими пунктами меню.

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо! Но, не работает предложенный вариант, более того, он не предусматривает возможности более 2 языков, а у меня их уже сейчас обязательных 4.

Можно ли просить уделить вопросу больше внимания для получения рабочего варианта и с кол-вом языков больше 2, а то все больше жалею что купил именно IBR?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ritsuka, я несколько раз писал Вам о рассмотрении моего индивидуального случая, но ответа не получил... Может у Вас отключены ЛС на этом форуме?
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.