0
我正在嘗試在多語言網站上構建一個小型天氣預報。我正在使用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()總是返回switch語句(意大利)的默認值。
如何調整上述函數以基於$ language的值返回鍵值?
希望,我正確地解釋了我自己!任何輸入將非常感激。
這裏** $ language = $ atts ['language']; **來自哪裏? – Dez
你沒有將'$ atts'傳遞給你的函數。這實際上應該給你一個「未定義的變量」錯誤。你有錯誤報告嗎?如果沒有,請打開它並始終檢查日誌以防萬一出現異常情況。 –
$ atts ['language']來自WordPress,shortcode屬性:) – William