Перейти к публикации
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.

Многоязычный форум

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

Помогите плз, нужно что бы в шаблоне регистрации была возможность выбора языка..... Как где хз :) ?

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

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

И не пытайся... Сам будешь не рад делать когда узнаешь сколько мороки. Можно сделать так:

При заходе в определенный раздел форума будет автоматически язык с русского на английский меняться. Делается это так: открываешь index.php в корне сайте и находишь строку:

 

 

//--------------------------------

// Set up our language choice

//--------------------------------

 

if ( !isset($ipsclass->vars['default_language']) OR $ipsclass->vars['default_language'] == "")

{

$ipsclass->vars['default_language'] = 'ru';

}

 

Ниже добавляешь:

 

if ($ipsclass->input['showforum'] == 7 or $ipsclass->input['f'] == 7 )

{

$ipsclass->vars['default_language'] = 'en';

$ipsclass->member[language] = 'en';

 

Цифры "7" - означают номер раздела. В данном случае будет переключаться на английский, так как указан параметр "en". Если у тебя несколько разделов на английском, то тогда добавляй несколько вышеуказанных фрагментов. Только не забудь в каждом правильно указывать номер раздела. Ниже я выложил мод. Но не факт что он работать будет. У меня на 2.3.4 не работал. Сегодня собрался на 2.3.6 пробовать. Если что, то пиши.

 

 

Вот тебе МОД выбора языка устанавливается только при наличии UMI

 

А вот и UMI

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

Опубликовано:
  • Автор

Спасибо большое за мод, все работает. :) Только вот нужна смена языка по умолчанию именно на странице регистрации, правда можно тупо продублировать типо русский/english в языковом файле. :) Но хочется именно вменяемую смену языка как для пользователей. Стоит по умолчанию русский звонят иноземцы тупо не могут зарегится, приходится по телефону объяснять куда мышой тыкать :) :)

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

Напиши свою ICQ. У меня где то есть мод что бы на главной странице гости могли менять язык. Мне на этом форуме давали ссылки где то.

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

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

Можно английский по дефолту сделать. Кому надо - тот потом на русский переключит.

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

Есть такие балбесы среди русских, которые в английском вообще ничего не понимают... Сам сейчас с такими борюсь...

Опубликовано:
  • Автор

Балбесы везде, мучаюсь со всеми и с русскими и англичанами и немцами..... Поколения просто разные, кто помоложе может и на китайском зарегиться без проблем, а вот те что по старше из совка взрывают себе и остальным мозг сразу столкнувшись с обычными интернет терминами.... да и вапще даешь колхозанам интернет!!! :)

 

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

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

Опубликовано:
  • Автор

Вот нашел тут такое решение, кто чего скажет?

 

На интернациональных форумах может оказаться востребованной функция смены языков незарегистрированными пользователями. Добавляя эту возможность, вы существенно облегчите доступ к вашему форуму иностранцам. Им не придется прибегать к использованию переводчиков и других онлайн/оффлайн средств для успешной ориентации по вашему форуму. Ведь даже самое простое действие – регистрация, может вызвать затруднения.

 

Установка

Стандартными возможностями форума эту функцию не реализовать, придется вносить необходимые изменения в файлы. Перед началом, не забудьте сделать резервные копии изменяемых файлов.

 

Открываем файл: ./index.php и находим строки:

//--------------------------------
// Did we choose a language?
//--------------------------------

if ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) 
AND (isset($ipsclass->input['langid']) 
AND $ipsclass->input['langid']) AND $ipsclass->member['id'] )
{
   if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
   {
       foreach( $ipsclass->cache['languages'] as $data )
       {
           if ( $data['ldir'] == $ipsclass->input['langid'] )
           {
               $ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 
'id='.$ipsclass->member['id'] );
               $ipsclass->member['language'] = $data['ldir'];
           }
       }
   }
}

 

Заменяем их на:

//--------------------------------
// Did we choose a language?
//--------------------------------

if ( (isset($ipsclass->input['setlanguage']) AND $ipsclass->input['setlanguage']) 
AND (isset($ipsclass->input['langid']) AND $ipsclass->input['langid']) )
{
   if ( is_array( $ipsclass->cache['languages'] ) and count( $ipsclass->cache['languages'] ) )
   {
       foreach( $ipsclass->cache['languages'] as $data )
       {
           if ( $data['ldir'] == $ipsclass->input['langid'] )
           {
               if( $ipsclass->member['id'] == 0 )
               {

                   $ipsclass->my_setcookie( 'language', $data['ldir'] );
               }
               else
               {
                   $ipsclass->DB->do_update( 'members', array( 'language' => $data['ldir'] ), 
'id='.$ipsclass->member['id'] );
               }

               $ipsclass->member['language'] = $data['ldir'];
           }
       }
   }
}

 

Сохраняем внесенные изменения и закрываем файл ./index.php.

 

Открываем следующий файл ./sources/ipsclass.php и находим строку:

$this->lang_id = isset($this->member['language']) ? $this->member['language'] : 
$this->vars['default_language'];

 

Перед ней вставляем код:

if( $this->member['id'] == 0 )
   {
   $this->member['language'] = $this->my_getcookie( 'language' );
   }

 

Сохраняем внесенные изменения и закрываем файл ./sources/ipsclass.php.

 

Открываем следующий файл ./sources/classes/class_display.php и находим строки:

//-----------------------------------------
       // Showing skin jump?
       //-----------------------------------------

       if ( $this->ipsclass->member['id'] > 0 )
       {
           $lang_jump = $this->ipsclass->compiled_templates['skin_global']->global_lang_chooser( 
$this->_build_language_list() );
       }
       else
       {
           $lang_jump = "";
       }

 

Заменяем их на:

//-----------------------------------------
       // Showing skin jump?
       //-----------------------------------------


       $lang_jump = $this->ipsclass->compiled_templates['skin_global']->global_lang_chooser( 
$this->_build_language_list() );

 

Сохраняем внесенные изменения и закрываем файл ./sources/classes/class_display.php. После проделанных действий, гостям будет доступна функция выбора языка.

 

После установки хака стал доступен выбор языка для гостей, только работает со второго раза.......

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

Кто подскажет что поправить......?

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

Похоже на мод от Сэта для 2.1

 

Вообще тема не для этого раздела.

Причем тут вообще дизайн?

Опубликовано:
  • Автор
Похоже на мод от Сэта для 2.1

 

Вообще тема не для этого раздела.

Причем тут вообще дизайн?

 

А что за мод? Можно по подробней..... :)

 

Тему создавал думая что можно небольшими манипуляциями кода в шаблоне вытащить смену языка для гостей, оказалось немного сложнее..... :)

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

Так это под 2.1... Он уже не популярен...

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

Сейчас на странице 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.