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

Как связать язык и графику?


Bemepok

Вопрос

Пример:

Ставим язык (допустим Русский).

Есть набор русифицированных кнопок.

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

В phpBB это делается элементарно - единый language pack. В инвижине туплю ((

Буду рад Вашим подсказкам :D

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

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

  • 0

Скин с сетом картинок сделал, это понятно. Как его с языком связать? :D

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

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

  • 0

я у себя сделал чтоб от языка менялись основные кнопки (при том что у меня 4 скина, и 3 языка, получилось 12 вариантов кнопок... )

 

меняемые кнопки я придумал хранить в папке lang (в подпапках с названиями как у папок скинов)

 

 

пример для двух языков и двух скинов:

 

кнопки с текстом:

\upload\lang\en\1001

\upload\lang\en\1002

\upload\lang\ru\1001

\upload\lang\ru\1002

и так далее...

а скины (то, что не зависит от языка) лежат так:

upload\style_images\1001

upload\style_images\1002

 

 

но самое сложное было замутить это в самом движке:

 

1.
везде где есть код
ПЕРЕМЕННАЯ = str_replace( "<#IMG_DIR#>", $ibforums->skin['_imagedir'], ПЕРЕМЕННАЯ);
я дописал снизу
ПЕРЕМЕННАЯ = str_replace( "<#LNG_DIR#>", $ibforums->lang_id, ПЕРЕМЕННАЯ);
(ПЕРЕМЕННАЯ там всегда разная, но замена одинаковая)

2.
в ad_remote_template.php
после
$css_text = "\n<style>\n<!--\n".str_replace( "<#IMG_DIR#>", "style_images/".$r['img_dir'], $css)."\n//-->\n</style>";
нужно добавить
$css_text = "\n<style>\n<!--\n".str_replace( "<#LNG_DIR#>", "lang/".$ibforums->lang_id, $css)."\n//-->\n</style>";

3.
я нашёл в исходниках все места, где есть кнопки, которые должны зависеть от языка и прописал там (по аналогии)
lang/{$ibforums->lang_id}/{$ibforums->skin['_imagedir']}/login-button.gif

4.
в ipb_macro.xml, по анологии с пунктом 3, нашёл все места где есть кнопки которые должны зависеть от языка и заменил путь
lang/<#LNG_DIR#>/<#IMG_DIR#>/t_poll.gif
(тут как раз и будет работать замена из пункта 1)

 

З.Ы. всё это заняло у меня 45 минут... если мысль мою поймёте, то провозитесь не дольше. (редактор UltraEdit, конечно нужно знать хорошо :D чтоб искать сразу во всех документах, а не лазить по каждому руками)

З.Ы. у меня от языка зависят только:

cal_addevent.gif

cal_newevent.gif

login-button.gif

p_card.gif

p_delete.gif

p_edit.gif

p_move.gif

p_mq_add.gif

p_mq_remove.gif

p_quote.gif

p_report.gif

p_up.gif

t_addpoll.gif

t_closed.gif

t_favorite.gif

t_media.gif

t_moved.gif

t_new.gif

t_newimage.gif

t_options.gif

t_poll.gif

t_qr.gif

t_reply.gif

t_slideshow.gif

но можно замутить и ещё с десяток (я брал только самое необходимое)

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

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

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

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

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

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

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

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

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

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

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

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