在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>");
?>