2

它在本地服务器上正常工作,但是当我将它上传到共享主机时,它不显示相对日期,而是显示原始字符串。

代码:

Yii::$app->formatter->asRelativeTime($timestamp, 'now');

本地主机:

in 6 days

共享主机:

in {delta, plural, =1{a day} other{# days}}

已设置语言环境并正在传递时间戳。国际扩展已启用。其他格式化程序功能(即 asDate)工作正常。

4

2 回答 2

2

我猜这是因为 PHP 国际扩展的 ICU 库过时了。我的是 4.2.1,而yii2 至少需要 ICU 版本 49 才能使用所有功能,其中可能包括 asRelativeTime()。

不能肯定地说,因为我无法在我的托管计划中更新它。

于 2015-05-12T21:45:52.160 回答
0

in 6 days是本地化字符串(英文)。

in {delta, plural, =1{a day} other{# days}}是未本地化的模板。

对于每个请求,Yii 都会尝试本地化模板。如果 Yii 由于某种原因无法本地化模板,它将输出模板。

因此可能是缺少本地化文件:检查是否vendor/yiisoft/yii2/messages包含您的语言的文件夹和文件。并检查当前本地化是否设置为有效值。

另请阅读有关Yii2 国际化的信息

于 2015-05-10T06:29:13.637 回答