2

ローカル サーバーでは正常に動作していますが、共有ホストにアップロードすると、相対日付を表示する代わりに生の文字列が表示されます。

コード:

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

ローカル ホスト:

in 6 days

共有ホスト:

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

ロケールが設定され、タイムスタンプが渡されます。Intl 拡張が有効になっています。他のフォーマッタ関数 (asDate など) は正常に動作しています。

4

2 に答える 2

2

PHP intl 拡張機能の ICU ライブラリが古いためだと思います。私のは 4.2.1 でしたが、 yii2 ではおそらく asRelativeTime() を含むすべての機能を使用できるようにするには、少なくとも ICU バージョン 49 が必要です。

ホスティング プランで更新できないため、はっきりとは言えません。

于 2015-05-12T21:45:52.160 に答える
0

in 6 daysローカライズされた文字列 (英語) です。

in {delta, plural, =1{a day} other{# days}}ローカライズされていないテンプレートです。

リクエストごとに、Yii はテンプレートをローカライズしようとします。何らかの理由で Yii がテンプレートをローカライズできない場合、Yii はテンプレートを出力します。

そのため、ローカリゼーション ファイルが見つからない可能性がvendor/yiisoft/yii2/messagesあります。言語のフォルダーとファイルが含まれているかどうかを確認してください。そして、現在のローカリゼーションが有効な値に設定されているかどうかを確認してください。

Yii2 による国際化についても読んでください。

于 2015-05-10T06:29:13.637 に答える