partyzanx
@partyzanx

Как сделать тройное условие?

Есть такой код, который в зависимости от текущего языка (русского - если есть приставка ru/, и стандартный английский) делает подстановки:

$isRu = get_url_var('ru', true) ? 'ru/':'';

 <?=$isRu ? 'дате':'date'?>

<a href="/<?=$isRu?>?sort=date-<?=$_GET['sort'] == 'date-up' ? 'down':'up'?>">


Но я хочу добавить третий язык - китайский

$isRu = get_url_var('ru', true) ? 'ru/':'';

$isCh = get_url_var('ch', true) ? 'ch/':'';

...


Как грамотнее исполнить код?

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


Целый код , который нужно исправить

<?php
$isRu = get_url_var('ru', true) ? 'ru/':'';
$isZh = get_url_var('zh', true) ? 'zh/':'';
get_header();
?>

<div class="sort-bar">
            <?=$isRu ? 'Показать по':'Sort by'?>
            <a href="/<?=$isRu?><?=$isZh?>?sort=date-<?=$_GET['sort'] == 'date-up' ? 'down':'up'?>">
                <?=$isRu ? 'дате':'date'?>
                <?php if ($_GET['sort'] == 'date-up'){ ?>
                     ↑
                <?php } elseif ($_GET['sort'] == 'date-down'){ ?>
                     ↓
                <?php } ?>
            </a>
            <a href="/<?=$isRu?><?=$isZh?>?sort=update-<?=$_GET['sort'] == 'update-down' ? 'up':'down'?>">
                <?=$isRu ? 'дате изменения':'date of update'?>
                <?php if ($_GET['sort'] == 'update-up'){ ?>
                     ↑
                <?php } elseif ($_GET['sort'] == 'update-down'){ ?>
                     ↓
                <?php } ?>
            </a>
            <a href="/<?=$isRu?><?=$isZh?>?sort=shows-<?=$_GET['sort'] == 'shows-down' ? 'up':'down'?>">
                <?=$isRu ? 'просмотрам':'views'?>
                <?php if ($_GET['sort'] == 'shows-up'){ ?>
                     ↑
                <?php } elseif ($_GET['sort'] == 'shows-down'){ ?>
                     ↓
                <?php } ?>
            </a>
            <a href="/<?=$isRu?><?=$isZh?>?sort=comments-<?=$_GET['sort'] == 'comments-down' ? 'up':'down'?>">
                <?=$isRu ? 'комментариям':'comments'?>
                <?php if ($_GET['sort'] == 'comments-up'){ ?>
                     ↑
                <?php } elseif ($_GET['sort'] == 'comments-down'){ ?>
                     ↓
                <?php } ?>
            </a>
            <?php switch ($_GET['sort']) {
                case 'date-down':
                    echo $isRu ? '<p>Показаны самые новые по дате уроки</p>':'<p>The newest lessons first</p>';
                    break;
                case 'date-up':
                    echo $isRu ? '<p>Показаны самые старые по дате уроки</p>':'<p>The oldest lessons first</p>';
                    break;
                case 'update-up':
                    echo $isRu ? '<p>Показаны давно изменённые уроки</p>':'<p>The long-changed lessons first</p>';
                    break;
                case 'update-down':
                    echo $isRu ? '<p>Показаны недавно изменённые уроки</p>':'<p>The recently changed lessons first</p>';
                    break;
                case 'shows-up':
                    echo $isRu ? '<p>Показаны менее просматриваемые уроки</p>':'<p>The less viewed lessons first</p>';
                    break;
                case 'shows-down':
                    echo $isRu ? '<p>Показаны самые просматриваемые уроки</p>':'<p>The most viewed lessons first</p>';
                    break;
                case 'comments-up':
                    echo $isRu ? '<p>Показаны менее комментируемые уроки</p>':'<p>The less commented lessons first</p>';
                    break;
                case 'comments-down':
                    echo $isRu ? '<p>Показаны самые комментируемые уроки</p>':'<p>The most commented lessons first</p>';
                    break;
                default:
                    echo $isRu ? '<p>Показаны самые новые по дате уроки</p>':'<p>The newest lessons first</p>';
                    break;
            }
            ?>
</div>
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
KorniloFF
@KorniloFF
Работаю по font-end / JS
foreach(['ru', 'en', 'ch'] as $lang) {
	if(get_url_var($lang, true)) {
		echo $lang . '/';
		break;
	}
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@zheka_9l
Full stack
$isRu = get_url_var('ru', true) ? 'ru/': get_url_var('ch', true) ? 'ch/': '');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы