Как известно, при создании многоязычных файлов, можно столкнуться с проблемой вывода заголовка, картинок, файлов css, ошибки 400 и так далее. Что делать?
Рассмотрим несколько примеров. Думаю не стоит тут разбирать сам код, там всё абсолютно понятно.
Например надо подменить файлы CSS в зависимости от языка.
<?php switch ($this->getlanguage()){ case 'ru-ru':?> <link href="<?php echo $tmpTools->templateurl();?>/css/template.css" rel="stylesheet" type="text/css" /> <?php break; case 'en-gb':?> <link href="<?php echo $tmpTools->templateurl();?>/css/template_en.css" rel="stylesheet" type="text/css" /> <?php break; case 'uk-ua':?> <link href="<?php echo $tmpTools->templateurl();?>/css/template_ua.css" rel="stylesheet" type="text/css" /> <?php break; default :?> <link href="<?php echo $tmpTools->templateurl();?>/css/template.css" rel="stylesheet" type="text/css" /> <?php break; } ?>
Этот код можно так же применить и к некоторым картинкам.
Вот пример для замены кода в индексном файле
<?php switch ($this->getlanguage()){ case 'ru-ru':?> <div class="art-header-ru" data-left="0.69%"> </div> <?php break; case 'uk-ua':?> <div class="art-object360635721" data-left="0.69%"> </div> <?php break; default :?> <div class="art-object360635721" data-left="0.69%"> </div> <?php break; } ?>
Эта статья из другого примера по этой теме.
Несколько языков. Заглавная строка, для мультиязычного сайта Joomla в шапке шаблона
Так же недавно, я столкнулся с проблемой на многоязычном сайте Joomla при создании собственной страницы 404.
Как создать свою страницу 404 на Joomla 3.x
Но как оказалось, возникают проблемы с редиректом.
В данном случае надо сделать страницы 404 для каждого языка в отдельности и тогда в файле error.php прописать такой код
<?php switch ($this->getlanguage()){ case 'ru-ru':?> <?php if (($this->error->getCode()) == '404') { header('Location: /404.html'); exit; } ?> <?php break; case 'uk-ua':?> <?php if (($this->error->getCode()) == '404') { header('Location: /uk/404.html'); exit; } ?> <?php break; default :?> <?php if (($this->error->getCode()) == '404') { header('Location: /uk/404.html'); exit; } ?> <?php break; } ?>
Ну вот по этим примерам можно дальше и самому разобраться как подменять файлы, скрипты, код в зависимости от языка.