1

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

这是我到目前为止所拥有的:

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

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

4

2 回答 2

0

通常,这只会更改顺序,但不会翻译任何月份的名称。幸运的是,只要您为 WordPress 安装了相应的 .mo 文件,Wordpress 就会检查月份并进行翻译。不幸的是,Wordpress 并没有涵盖所有的翻译,所以如果你真的想要多语言,strftime 是一个更好的解决方案。

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

于 2013-03-07T10:53:16.237 回答
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);

而已。您可以在此处查看详细信息:如何在 WordPress 中本地化数字/数字

于 2016-05-15T04:52:22.007 回答