Установка английского языка на IBR [3.2.2] и защищенный языковой пакет - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

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

#1 Пользователь не на сайте   Mr 13 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 28-Январь 10
  • Репутация: 3
  • IPB version:3.3.x
 

Отправлено 18 Март 2012 - 16:35

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

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


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

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

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

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

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

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 280
  • IPB version:3.1.x
 

Отправлено 18 Март 2012 - 16:42

Примерно тоже самое и для 3.2 http://ipbskins.ru/f.../topic7816.html
Где-то еще был и пост ritsuki
1

#3 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 18 Март 2012 - 16:48

Просмотреть сообщениеsiv1987 сказал(а):

Где-то еще был и пост ritsuki

Мой копи-паст :( - http://ipbskins.ru/f...0587#entry60587
1

#4 Пользователь не на сайте   Mr 13 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 17
  • Регистрация: 28-Январь 10
  • Репутация: 3
  • IPB version:3.3.x
 

Отправлено 18 Март 2012 - 17:21

Спасибо, почти помогло. Странно, пользовался поиском перед созданием темы, но по запросу "Английский язык" ничего не нашлось, а тема, которую Вы указали, именно так и называется о_О

Ещё вопрос: имена приложений (вкладки "Форум", "Пользователи") и.т.п. всё-равно отображаются на русском. Есть ли возможность менять их значения в зависимости от языка?

Спасибо.
0

#5 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 280
  • IPB version:3.1.x
 

Отправлено 18 Март 2012 - 17:41

Проверьте лэнги у ключей discussion, tb_mlist
Можете еще попробовать добавить для них пользовательское (новое) значение.
0

#6 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 18 Март 2012 - 18:08

Просмотреть сообщениеMr 13 сказал(а):

Ещё вопрос: имена приложений (вкладки "Форум", "Пользователи") и.т.п. всё-равно отображаются на русском. Есть ли возможность менять их значения в зависимости от языка?

Угу. Опять же автор решения - Ritsuka




Названия компонентов берутся из настроек модулей. И там поле только одно. Решить проблему в принципе можно - достаточно кое-что заменить в этом блоке в АЦ (шаблон 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} составьте сами в соответствии с вашими пунктами меню.
1

#7 Пользователь не на сайте   uip ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 45
  • Регистрация: 10-Май 12
  • Репутация: 1
  • IPB version:3.4.x
 

Отправлено 21 Май 2012 - 00:28

А если у меня 3 языка, то как тогда быть?
0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 745
  • Регистрация: 20-Март 09
  • Репутация: 2 280
  • IPB version:3.1.x
 

Отправлено 21 Май 2012 - 11:05

Просмотреть сообщениеuip сказал(а):

А если у меня 3 языка, то как тогда быть?


Быть с чем?
0

#9 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 21 Май 2012 - 11:42

У вас вообще 3.3. Там все во многом по-другому.

						<if test="hasCustomPrimaryNavigation:|:!empty($header_items['primary_navigation_menu'])">
							{$header_items['primary_navigation_menu']}
						<else />
							<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="{$data['app_seotitle']}" template="{$data['app_template']}" base="{$data['app_base']}"}' title='{parse expression="sprintf( $this->lang->words['go_to_prefix'], IPSLib::getAppTitle($data['app_dir']) )"}'>{IPSLib::getAppTitle($data['app_dir'])}</a></li>
									</if>
								</foreach>
							</if>
						</if>


Если не купите IP.Content и не будете использовать конструктор меню из него, то можно заменить "{IPSLib::getAppTitle($data['app_dir'])}" на "{$this->lang->words['app_title_'.$data['app_dir']]}" и добавить во все языковые пакеты в основную группу строки 'app_title_forums', 'app_title_gallery'... с соответствующими переводами.
1

#10 Пользователь не на сайте   Алексей ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 174
  • Регистрация: 16-Сентябрь 10
  • Репутация: 6
  • Откуда:Москва
  • IPB version:3.4.x
 

Отправлено 21 Май 2012 - 12:07

Просмотреть сообщениеPh-A 18 Март 2012 - 18:08 сказал(а):

Угу. Опять же автор решения - Ritsuka


Спасибо огромное!
0

#11 Пользователь не на сайте   Атаман ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 154
  • Регистрация: 13-Апрель 12
  • Репутация: 327
  • Откуда:no
  • IPB version:1.x
 

Отправлено 28 Сентябрь 2012 - 14:52

Просмотреть сообщениеPh-A 18 Март 2012 - 18:08 сказал(а):

Угу. Опять же автор решения - Ritsuka
Названия компонентов берутся из настроек модулей. И там поле только одно. Решить проблему в принципе можно - достаточно кое-что заменить в этом блоке в АЦ (шаблон 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} составьте сами в соответствии с вашими пунктами меню.


Добрый день. Играюсь на виртуалке.

1) Изначально стоит русский пакет локализации
2) Потом по инструкции, сделал копию языка, выполнил запрос, всё изменилось. Кроме Форумы - Календарь - Пользователи.

Инструкция Выше не помогает, или я что-то неправильно делаю.
Русс ID=1
ENG ID-2

Сообщение изменено: Атаман (28 Сентябрь 2012 - 14:53)

0

#12 Пользователь не на сайте   Атаман ответил: »

 
 
  • Advanced
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 154
  • Регистрация: 13-Апрель 12
  • Репутация: 327
  • Откуда:no
  • IPB version:1.x
 

Отправлено 28 Сентябрь 2012 - 15:44

Разобрался, спасибо. Языковые строки добавил.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна