2013-01-18 47 views
1

我目前使用gettext函數來翻譯wordpress站點上的字符串,使用多種語言的po文件。目前所有的工作都很好,除了我似乎無法弄清楚發佈日期。主要有一個問題,根據用戶選擇哪種語言來獲取該月的翻譯。本地化Wordpress發佈日期

這是我到目前爲止有:

<?php get_the_date(__('F j, Y', 'theme_name')) ?> 

枝條「THEME_NAME」是我的主題的名稱。我的問題也不是這只是格式顯示日期的方式,而不是實際翻譯月份?任何人都必須這樣做,我看到有人在網上討論它,但它主要只針對一種語言,而我正在根據他們存儲的cookie翻譯許多語言。

+0

'theme_name'在這種情況下是您主題的文本域(您可以在http://codex.wordpress.org/Function_Reference/load_theme_textdomain中使用它) – numediaweb

回答

0

通常,這隻會改變順序,但不會翻譯任何月份的名稱。幸運的是,Wordpress會檢查月份並翻譯它,前提是您已經安裝了相應的.mo文件。不幸的是,Wordpress沒有涵蓋所有的翻譯,所以如果你真的想要使用多種語言,strftime是一個更好的解決方案。

處理多種語言的日期非常煩人,特別是如果有多個點來配置它。我建議你只需將多語言部分留給那裏的多語言插件即可。

0

date_i18n()根據時間戳以本地化格式檢索日期。您需要在functions.php文件添加一個函數來rteplace拉丁號碼與您當地的語言是這樣的:

// Converts Latin digits to Benglai 
function latin_to_bengali($number) { 
    $latin = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); 
    $bengali = array('০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯'); 
    return str_replace($latin, $bengali, $number); 
} 

然後添加一個過濾器像波紋管:

// Translates digits of numbers 
add_filter('date_i18n', 'latin_to_bengali', 10, 1); 

就是這樣。您可以在這裏查看詳細信息:How to localize Number/Digit in WordPress