你如何翻译PHP中的时区缩写

时间:2014-06-26 21:03:12

标签: php datetime localization translation

使用PHP返回带有date('T')strftime('%Z')的时区缩写时,结果不会转换为这些缩写的本地化版本。

在法语中我被告知以下正确的翻译:

  

EDT == HAE

     

EST == HNE

我尝试过以下代码示例:

<?php 
setlocale(LC_ALL, 'fr_FR');
echo strftime('%Z');
echo date('T');
?>

所有尝试都产生EST / EDT而不是翻译版本。

1 个答案:

答案 0 :(得分:1)

我在Mac和Linux上也是这样。

我检查了法语的Gettext MO文件,如下所示:

/usr/local/bin/msgunfmt /usr/share/locale/fr/LC_MESSAGES/texinfo.mo

显示月份和日期等所有内容的翻译。 所以如果你这样做,你应该得到翻译:

echo strftime("%A %e %B %Y\n");
// gives "Vendredi 27 juin 2014"

但翻译文件似乎不包含EST或EDT的翻译 - 或者实际上我查找的其他翻译文件。

所以我猜答案是这些字符串根本没有在标准语言环境包中翻译。