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

Картинки для языков


Вопрос

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

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

  • 0

Скины и языки друг к другу не привязываются (кнопки - часть скина)

Выход - иметь так же и скины на разных языках.

например внизу select с языком: English, Русский, БАБРУЙСКИЙ; и скины с названиями типа Default(English), Default(Русский), Default(БАБРУЙСКИЙ)

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

  • 0

Халтурный вариант:

 

1) ./sources/classes/class_display.php

Найти:

		$this->ipsclass->skin['_wrapper'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $this->ipsclass->skin['_wrapper'] );

Заменить на:

		$this->ipsclass->skin['_wrapper'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'].'/'.$this->ipsclass->lang_id, $this->ipsclass->skin['_wrapper'] );

 

Такую-же замену следует произвести предположительно в файле ./sources/action_public/xmlout.php, и возможно ещё в каких-то.

 

2) Нужно во всех папках скинов(./style_images/*) создать подпапки с именами, соответствующими именам папок языков(./cache/lang_cache/*) и переместить в них содержимое папки скина. Я надеюсь концепция понятна?

 

В результате вместо, скажем, дерева

.
- style_images
|- 1
|- ibr_style

должно получиться дерево

.
- style_images
|- 1
 |- ru
 |- en
|- ibr_style
 |- ru
 |- en

 

Соответственно все файлы скина IBR, соответствующие русскому языку, должны храниться в папке ./style_images/ibr_style/ru/

 

ПРИМЕЧАНИЕ:

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

2. При установке модификаций и т.д. изменения нужно будет производить во всех *.js и *.css и т.д. файлах во всех подпапках.

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

  • 0
Халтурный вариант:

 

1) ./sources/classes/class_display.php

Найти:

		$this->ipsclass->skin['_wrapper'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $this->ipsclass->skin['_wrapper'] );

Заменить на:

		$this->ipsclass->skin['_wrapper'] = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'].'/'.$this->ipsclass->lang_id, $this->ipsclass->skin['_wrapper'] );

 

Такую-же замену следует произвести предположительно в файле ./sources/action_public/xmlout.php, и возможно ещё в каких-то.

В ./sources/classes/class_display.php заменил это в ./sources/action_public/xmlout.php не нашол. Некоторые кнопки нормально отображаютсья (/style_images/zagroup/ru или /style_images/zagroup/en/) а другие /style_images/zagroup/.

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

  • 0

Поищите там str_replace( "<#IMG_DIR#>".

 

Нужно заменить ещё

$html = str_replace( "<#IMG_DIR#>" , $this->ipsclass->skin['_imagedir'] , $html );

а в xmlout.php

$post = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $post );

$raw_post = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $raw_post );

$macro = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $macro );

и т.д.

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

  • 0
Поищите там str_replace( "<#IMG_DIR#>".

 

Нужно заменить ещё

$html = str_replace( "<#IMG_DIR#>" , $this->ipsclass->skin['_imagedir'] , $html );

а в xmlout.php

$post = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $post );

$raw_post = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $raw_post );

$macro = str_replace( "<#IMG_DIR#>", $this->ipsclass->skin['_imagedir'], $macro );

и т.д.

Да я всё это заменил. Ну всёравно некоторые ссылаються не так как надо =(

Как я понимаю везде после ['_imagedir'] нужно встовлять вот это .'/'.$this->ipsclass->lang_id, ?

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

  • 0
Зря вы это затеяли, теперь будете долго искать все концы

Да почему зря? Как тогда быть юзерам например которые не знают русского им будет сложно ориентироваться с русскими кнопками. Я видел подобную систему на vBulletin.

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

  • 0
Да я всё это заменил. Ну всёравно некоторые ссылаються не так как надо =(Как я понимаю везде после ['_imagedir'] нужно встовлять вот это .'/'.$this->ipsclass->lang_id, ?

Да.

 

Зря вы это затеяли, теперь будете долго искать все концы

Нужно же что-то и для развлекухи делать :D

 

До меня собственно дошло.

Откатите изменения назад.

 

./sources/ipsclass.php

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'];

заменить на

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'] . '/' . $this->lang_id;

./sources/action_public/profile.php

$this->ipsclass->vars['img_url'] = ( ! $this->ipsclass->vars['img_url'] ) ?  $this->ipsclass->vars['board_url'] . '/style_images/' . $this->ipsclass->skin['_imagedir'] : $this->ipsclass->vars['img_url'];

заменить на

$this->ipsclass->vars['img_url'] = ( ! $this->ipsclass->vars['img_url'] ) ?  $this->ipsclass->vars['board_url'] . '/style_images/' . $this->ipsclass->skin['_imagedir'] . '/' . $this->ipsclass->lang_id : $this->ipsclass->vars['img_url'];

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

  • 0
Да я всё это заменил. Ну всёравно некоторые ссылаються не так как надо =(Как я понимаю везде после ['_imagedir'] нужно встовлять вот это .'/'.$this->ipsclass->lang_id, ?

Да.

 

Зря вы это затеяли, теперь будете долго искать все концы

Нужно же что-то и для развлекухи делать :D

 

До меня собственно дошло.

Откатите изменения назад.

 

./sources/ipsclass.php

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'];

заменить на

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'] . '/' . $this->ipsclass->lang_id;

./sources/action_public/profile.php

$this->ipsclass->vars['img_url'] = ( ! $this->ipsclass->vars['img_url'] ) ?  $this->ipsclass->vars['board_url'] . '/style_images/' . $this->ipsclass->skin['_imagedir'] : $this->ipsclass->vars['img_url'];

заменить на

$this->ipsclass->vars['img_url'] = ( ! $this->ipsclass->vars['img_url'] ) ?  $this->ipsclass->vars['board_url'] . '/style_images/' . $this->ipsclass->skin['_imagedir'] . '/' . $this->ipsclass->lang_id : $this->ipsclass->vars['img_url'];

Белай страница.

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

  • 0

Достал ipsclass :D

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'] . '/' . $this->lang_id;

!!!

Пост обновил.

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

  • 0
Достал ipsclass :D

$this->vars['img_url'] = 'style_images/' . $this->skin['_imagedir'] . '/' . $this->lang_id;

!!!

Пост обновил.

При заходи в тему белая страница.

Посмотри icq я там тебе написал.

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

  • 0

1. Ещё раз проверьте сделанные изменения, скорее всего синтаксическая ощибка. Попробуйте вернуть всё в начальному варианту и сделать только изменение в ipsclass.php

 

Оффтоп:

2. Включите показ ошибок PHP на сервере, это облегчит поиск ошибки. Если нет такой возможности - стоит пробывать модификации на локальном компьютере.

 

P.S. topics.php вы ведь не трогали?

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

  • 0
1. Ещё раз проверьте сделанные изменения, скорее всего синтаксическая ощибка. Попробуйте вернуть всё в начальному варианту и сделать только изменение в ipsclass.php

 

Оффтоп:

2. Включите показ ошибок PHP на сервере, это облегчит поиск ошибки. Если нет такой возможности - стоит пробывать модификации на локальном компьютере.

 

P.S. topics.php вы ведь не трогали?

3) Нет не трогал.

 

Всёравно не выходит при заходи на форум белая страница.

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

  • 0

Эх, ввязался я в авантюру :D

 

Белая страница - это ещё цветочки. Главное, что подобные замены нужно делать во многих файлах из ./sources/action_public/, и в некоторых из ./sources/action_admin/ ;)

 

Рабочий вариант - мод, добавляющий в опции стиля список языков - если выбрать, то при выборе этого стиля будет выбираться соответствующий язык. Выглядить это будет как писал natan. Выбор языка при этом убирётся, или может нет, зависит от фантазии.

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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