如何在Drupal 7上翻译日期格式



admin/config/regional/date-time/formats上,我可以设置日期格式,如M jS,并将它们映射到admin/config/regional/date-time上的日期类型,如"短格式日期"。

现在我想建立一个多语言网站,所以我不仅要翻译月份或周名称本身,还要根据语言选择不同的日期格式。也就是说,Apr 12th在英语上是可以的,但是将 Apr 翻译成 Abr 不会让它在西班牙语上变得更好:Abr 12th --应该是12 Abr 。我还需要翻译格式本身,所以网站的西班牙语版本将使用j M而不是M jS

我怎样才能做到这一点?我尝试在admin/config/regional/translate/translate上搜索这些日期格式。那里涵盖了Apr -> Abr 部分,但不包括格式本身。我找不到像M jS这样的字符串。

您可以使用 drupal 7 t() 函数: http://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/t/7

任何通过t()函数的内容都必须在后端手动翻译配置>区域和语言>翻译界面。这意味着您必须手动输入天数和月份的翻译。

示例代码:

<?php
    global $language;
    $day = t(date('l'));
    $month = t(date('F'));
    $dayNum = date('j');
    $year = date('Y');
    $output = t('@day, @month @dayNum, @year', array(
        '@day' => $day,
        '@month' => $month, 
        '@dayNum' => $dayNum, 
        '@year' => $year
    ));
    print ("<p class='today'>".$output."</p>");
?>

最新更新