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

时间:2012-06-05 10:43:20

标签: drupal date localization content-management-system drupal-7

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

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用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>");
?>