7

私はコードイグナイターを使用しています!月の名前を翻訳する最良の方法. 私はこのようにmysqlのタイムスタンプに日付を持っています: 私はphp関数2012-09-22 11:21:53
でそれを変換することができます. に改名したい。set_locale() 関数でこれを行うことができます。ちなみにそうです。ありがとうございました。'September 22, 2012'date()'September''Sentýabr'Turkmen Language


OK、私はいくつかのphpファイルを作成して、次のように個別にチェックしました:

クールな.php

<?php setlocale(LC_ALL,'ru_RU');
echo strftime('%B',time());
?>

9月に戻ります。何が問題なのだろう。


私は持っている

  /* Set locale to Turkmen */
  setlocale(LC_ALL, 'tk');

  echo strftime( '%B',time());

結果: 9 月を返します

私はそれが私の言語で9月に戻る必要があります

4

4 に答える 4

13

str_ireplace()英語の名前の配列と、トルクメン語の名前の同等のものを同じ順序で使用できます。

このようなもの:

$nmeng = array('january', 'february', ..);
$nmtur = array('ocak', 'subat', ...);
$dt = 'September 22, 2012';
$dt = str_ireplace($nmeng, $nmtur, $dt);
于 2012-09-26T05:42:48.743 に答える
10

使用setlocale()strftime ...

Linux で実行$ locale -aして、必要なロケールがインストールされているかどうかを確認し、その名前の値の文字列を取得します。

setlocale(LC_TIME, 'ru_RU');
echo strftime('%B %e, %Y', strtotime('2012-09-22 11:21:53'));

編集:

Windows サーバーを使用している場合は、(は Windows では機能しません)に変更%eします。%d%e

echo strftime('%B %d, %Y', strtotime('2012-09-22 11:21:53'));

Windows の場合は、ここでサポートされている形式を確認してください。

于 2012-09-26T05:35:09.603 に答える
2

月名を翻訳して言語ファイルに入れ、ここのように呼び出す最良の方法 codeigniter で言語ファイルを使用する方法二重言語サイトがある場合、プロジェクトで何度も使用できる言語ライブラリ。

$this->lang->line('September');

your english language file 
$lang['january'] = 'january';
$lang['february'] = 'february';
...
$lang['September'] = 'September';

your turkish language file 

$lang['january'] = 'ocak';
$lang['february'] = 'subat';
...
$lang['September'] = 'Eylül';
于 2012-09-26T06:15:32.467 に答える
0

これを index.php ファイルの上部近くに追加します。

/* Set locale to Turkmen */
setlocale(LC_ALL, 'tk');

これに関するドキュメントはこちら: http://php.net/manual/en/function.setlocale.php

また、 date() 関数の代わりにstrftimeと組み合わせる必要があるという @xdazz は正しいです。

「tk」がトルクメン語に使用されていることを確認する必要がある場合があります。

于 2012-09-26T05:43:48.857 に答える