本地化Wordpress发布日期

时间:2013-01-18 18:26:28

标签: wordpress localization gettext

我目前正在使用gettext函数在wordpress网站上使用多种语言的po文件翻译字符串。目前一切都很好,除了我似乎无法弄清楚发布日期。主要是根据用户选择的语言来翻译月份。

这是我到目前为止所做的:

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

以'theme_name'为主题的名称。我的问题也不仅仅是格式化日期的显示方式而不实际翻译月份?任何人都必须这样做,我看到人们在网上谈论它,但它主要只针对一种语言,而我正在根据他们存储的cookie来翻译多种语言。

2 个答案:

答案 0 :(得分:0)

通常情况下,这只会更改订单,但不会翻译当月的任何名称。幸运的是,如果您安装了相应的Word文件.mo文件,Wordpress将检查月份并进行翻译。不幸的是,Wordpress并未涵盖所有翻译,因此如果你真的想要多语言,那么strftime是一个更好的解决方案。

以多种语言处理日期非常烦人,特别是如果有多个地点可以配置它。我建议您将多语言部分留在那里的多语言插件中。

答案 1 :(得分:0)

date_i18n()根据时间戳检索本地化格式的日期。你需要在functions.php文件中添加一个函数,用你的本地语言来拉取拉丁数字,如下所示:

// 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