28

私は関数のこの部分を持っており、英語で月の名前を教えてくれます。それらを自分のローカル言語 (セルビア語) に翻訳するにはどうすればよいですか?

$month_name = date('F', mktime(0, 0, 0, $i));

$iは月の数字 (1 ~ 12 の値) です。PHP:mktimeも参照してください。

4

6 に答える 6

28

使用する必要がありますsetlocale()

setlocale(LC_TIME, 'fr_FR');
$month_name = date('F', mktime(0, 0, 0, $i));

この場合、フランス語に設定されます。あなたの場合、それは次のいずれかでなければなりません:

  1. sr_BA- セルビア語 (モンテネグロ)
  2. sr_CS- セルビア語 (セルビア)
  3. sr_ME- セルビア語 (セルビアおよびモンテネグロ)
于 2012-12-12T17:46:56.557 に答える
22

とを使用する必要がsetlocale()ありstrftime()ます。

setlocale(LC_TIME, 'sr_CS');
$month_name = strftime('%B', mktime(0, 0, 0, $i));
于 2016-01-11T08:00:13.557 に答える
8

ドイツ語 (および ) に苦労しているすべての人de_DEは、正しい言語コードを使用していることを確認してください。サーバーにログインして実行locale -aし、利用可能なすべてのリストを表示します。私にとっては、次のことを示しています。

C
C.UTF-8
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_LI.utf8
de_LU.utf8
...

これらのコードのいずれかを使用する必要があります。

次に、次を使用できます。

date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, 'de_DE.utf8');
$date_now = date('Y-m-d');
$month_available = strftime('%B %Y', strtotime($date_now));
$month_next = strftime('%B %Y', strtotime($date_now.' +1 month'));

や「März 2020」などが正しく表示されるようになりました。

于 2020-02-14T12:20:38.180 に答える