Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
dgcs

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

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

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

Поделиться сообщением


Ссылка на сообщение
06/24/09 09:14 (изменено)

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

При заходе в определенный раздел форума будет автоматически язык с русского на английский меняться. Делается это так: открываешь 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 в языковом файле. :) Но хочется именно вменяемую смену языка как для пользователей. Стоит по умолчанию русский звонят иноземцы тупо не могут зарегится, приходится по телефону объяснять куда мышой тыкать :) :)

Поделиться сообщением


Ссылка на сообщение
06/24/09 10:16 (изменено)

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

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение
06/24/09 10:49 (изменено)

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

 

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

Изменено пользователем 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 пользователей

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

×
×
  • Создать...