Есть модуль mod_achat. Там есть языковые файлы: русский и английский. Я еще добавила украинский. Но работает модуль только на русском, на переключение языков не реагирует, т.е на english не переходит Хотелось бы, чтобы и на english, и на ukrainian переводил. Код из achat.php if (file_exists(JPATH_SITE.'/modules/mod_achat/languages/russian.php')) { include_once(JPATH_SITE.'/modules/mod_achat/languages/russian.php'); } else { include_once(JPATH_SITE.'/modules/mod_achat/languages/english.php'); }
Как то стрёмно... языковые файлы мона держать в модуле, правда всегда задавался вопросом зачем? В данной ситуации нужно в любом случае условия в зависимости от языка, а не от наличия: Код (PHP): $doc = & JFactory::getDocument(); $lang = $doc->getlanguage(); switch $lang{ case 'ru-ru': include_once(JPATH_SITE.'/modules/mod_achat/languages/russian.php'); break; case 'en-gb': include_once(JPATH_SITE.'/modules/mod_achat/languages/english.php'); break; case 'ua-ua': include_once(JPATH_SITE.'/modules/mod_achat/languages/ukranian.php'); break; default: include_once(JPATH_SITE.'/modules/mod_achat/languages/russian.php'); break; } де то так, если что то не подхватится выведите $lang и посмотрите значение. Это всё актуально для 1.5шной ветки. Ну а вообще мона попробовать убрать эти условия и создать нормальные языковые файлы на основе того что есть.
Если создать языковые файлы, то можно просто убирать эти условия? Нужно наверное еще правильно прописать, например такое if(timer != "<?php echo _ACHAT_TIMEROFF;?>") start_timers();};
это жс? тогда я не думаю что стоит убирать, да и вообще какая разница где будут лежать языковые файлы, просто в 1.5 и выше принято ложить их в общую папку а не отдельно в каждом расширении?
Заменила на ваш код $doc = & JFactory::getDocument(); $lang = $doc->getlanguage(); switch ($lang){ case 'ru-ru': include_once(JPATH_SITE.'/modules/mod_achat/languages/russian.php'); break; case 'en-gb': include_once(JPATH_SITE.'/modules/mod_achat/languages/english.php'); break; case 'ua-ua': include_once(JPATH_SITE.'/modules/mod_achat/languages/ukranian.php'); break; default: include_once(JPATH_SITE.'/modules/mod_achat/languages/russian.php'); break; } Только скобки пришлось добавить ($lang), иначе писал ошибку. english.php подключился, а ukranian не хочет никак. Какие могут быть причины? Где посмотреть?
Простите, все невнимательность. Неправильно было прописано название файла и вместо uk-ua было ua-ua. Файл подключился, но другая напасть. Теперь, при включенном украинском языке пропадают все сообщения в чате.
При переключении на украинский. При переключении на инглиш и рашен все есть, все нормально. При включенном украинском - сообщений нет.
Значит где то еще есть проверки на язык или еще какой то момент не учитываете. Курите, Шура, курите... они золотые)
Спасибо вам огромное, ycsus. Вы мне очень помогли. Я в еще один устаревший компонент вставила языки. Там сразу все получилось. А здесь просто в самом украинском файле не проканал апостроф: И'МЯ. Я его всегда заменяю на И"МЯ, но тут этот номер не прошел. Написала просто ИМЯ - все теперь нормально. Украинцы, конечно, прикопаются, что это неправильно, ну да ладно, потерпят, зато остальной перевод есть. Еще раз спасибо. Не вижу, где здесь ставить плюсики или здесь какие-то др. поощрения? Нашла плюсик. Поставила.