Я пытаюсь создать небольшой прогноз погоды на многоязычном веб-сайте. Я использую PHP curl, и API на английском языке.Вывод оператора PHP и значения ключа массива
У меня возникли проблемы с переводом дней недели.
$atts = shortcode_atts(array(
'language' => ''
), $atts);
/**
* Get translated string for given key
*/
function get_translated_text($key=''){
$language = $atts['language']; // de, fr, it
switch ($language) {
case 'fr':
$arr = array(
'Sun' => 'Dim',
'Mon' => 'Lun',
'Tue' => 'Mar',
'Wed' => 'Mer',
'Thu' => 'Jeu',
'Fri' => 'Ven',
'Sat' => 'Sam',
'Today' => 'Auj',
);
break;
case 'de':
$arr = array(
'Sun' => 'So',
'Mon' => 'Mo',
'Tue' => 'Di',
'Wed' => 'Mi',
'Thu' => 'Do',
'Fri' => 'Fr',
'Sat' => 'Sa',
'Today' => 'Heute',
);
break;
default :
$arr = array(
'Sun' => 'Dom',
'Mon' => 'Lun',
'Tue' => 'Mar',
'Wed' => 'Mer',
'Thu' => 'Gio',
'Fri' => 'Ven',
'Sat' => 'Sab',
'Today' => 'Oggi',
);
break;
}
$output = '';
if (! empty($key) && isset($arr[ $key ])) {
$output = $arr[ $key ];
}
return $output;
}
Это то, что я использую получить день недели:
<div class="day">
<?php
$dw = date("D", strtotime($day['date']));
echo get_translated_text($dw);
?>
</div>
Как есть get_translated_text() всегда возвращает значение переключателя оператора (итальянский) по умолчанию.
Как мы можем настроить вышеуказанную функцию для возврата значений ключа на основе значения $ language?
Надеюсь, я правильно объяснил! Любой вход был бы очень оценен.
Где этот ** $ language = $ atts ['language']; ** происходит от? – Dez
Вы не передаете '$ atts' вашей функции. Это должно фактически дать вам ошибку «Неопределенная переменная». У вас есть отчеты об ошибках? Если нет, включите его и всегда проверяйте журналы в случае, если что-то ведет себя странно. –
$ atts ['language'] из WordPress, shortcode attribute :) – William