2014-04-03 46 views
0

我有一個英文的博客存檔,我希望該月以瑞典語顯示。我搜索並嘗試了類似問題的答案,但沒有任何工作。有人可以幫忙嗎?

<?php 
include 'includes/db_connection.php'; 
setlocale(LC_ALL, 'sv_SE'); 
$result = mysql_query("SELECT FROM_UNIXTIME(timestamp, '%M %Y') AS get_month, COUNT(*) AS entries FROM php_blog GROUP BY get_month ORDER BY timestamp DESC"); ?> 

<ul class="archive_list"> 
<br><br><br><br> 
<ul class="archive_ul"> 
<?php 
while ($row = mysql_fetch_array($result)) { 
setlocale(LC_ALL, 'sv_SE'); 

$get_month = $row['get_month']; 
$entries = $row['entries']; 
echo "<li><a href=\"archive.php?month=" . $get_month . "\">" . $get_month . "</a></li>"; 
} 


//setlocale(LC_ALL, 'sv_SE'); 
//echo utf8_encode (strftime("%A %e %B %Y")); 

?> 

所以在下面的鏈接,我想月份在瑞典改爲顯示,和我使用get_month從我的數據庫中提取它。有任何想法嗎?我真的只需要將要翻譯的鏈接中顯示的月份的名稱。謝謝!

回答

0

如果它只有一個月,那麼將它放入一個包含月份索引的數組中,並使用谷歌翻譯了12個月。

$swedish_months = array('Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','november','December');

,將其作爲0

指數,所以當你抓住它$ swedish_months [$ get_month]會區進入指數。除非get_month不是數字,否則您需要相應地調整索引查找。 (即:array('00'=>'Januari',...)

1

setlocale()設置了PHP的語言環境,但正在由MySQL有自己的設置生成月份名稱嘗試更新MySQL的語言環境有:

mysql_query("SET lc_time_names = 'sv_SE'"); 

(這應該更換你的第一個的setlocale()例如,你的SELECT ...語句之前

注:mysql_*功能貶值,你可能要考慮使用mysqli_*插件tead

+0

謝謝你太棒了!這工作!這個檔案現在已經讓我瘋狂了很久。非常感謝! :d – Sazyline