0
다국어 웹 사이트에서 작은 일기 예보를 작성하려고합니다. 나는 PHP 컬을 사용하고 있으며 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()는 항상 switch 문 (이탈리아)의 기본 값을 반환합니다.
어떻게하면 $ language의 값을 기준으로 키 값을 반환하도록 위 함수를 조정할 수 있습니까?
희망, 나는 정확하게 설명했다! 어떤 입력이라도 대단히 감사 할 것입니다.
여기서 ** $ language = $ atts [ 'language']; **는 어디서 오는가? – Dez
함수에'$ atts '를 넘겨주지 않습니다. 이렇게하면 실제로 "정의되지 않은 변수"오류가 발생합니다. 에 대한 오류보고가 있습니까? 그렇지 않다면 이상하게 행동 할 경우를 대비하여 켜고 항상 로그를 확인하십시오. –
$ atts [ 'language']는 WordPress에서 가져온 것입니다. shortcode 속성 : – William