1

私は現在、多くの言語で po ファイルを使用して wordpress サイトで文字列を翻訳するために gettext 関数を使用しています。現在、投稿日がわからないことを除いて、すべてがうまく機能しています。主に、ユーザーが選択した言語に基づいて月を翻訳するのに問題があります。

これが私がこれまでに持っているものです:

<?php get_the_date(__('F j, Y', 'theme_name')) ?>

「theme_name」は私のテーマの名前です。私の質問は、これは日付の表示方法をフォーマットするだけで、実際に月を翻訳しないのですか? 誰もがこれをしなければなりませんでした。オンラインで人々がそれについて話しているのを見ますが、それは主に 1 つの言語のみであり、私は保存されている Cookie に基づいて多くの言語に翻訳しています。

4

2 に答える 2

0

date_i18n() は、タイムスタンプに基づいてローカライズされた形式で日付を取得します。次のように、ラテン数字をローカル言語に置き換えるには、functions.php ファイルに関数を追加する必要があります。

// Converts Latin digits to Benglai
function latin_to_bengali($number) {
  $latin = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); 
  $bengali = array('০', '১', '২', '৩', '৪', '৫', '৬', '৭', '৮', '৯');
  return str_replace($latin, $bengali, $number);
}

次に、次のようなフィルターを追加します。

// Translates digits of numbers
add_filter('date_i18n', 'latin_to_bengali', 10, 1);

それでおしまい。ここで詳細を確認できます: WordPress で数字/数字をローカライズする方法

于 2016-05-15T04:52:22.007 に答える
0

通常、これは順序を変更するだけで、月の名前を翻訳しません。幸いなことに、Wordpress に対応する .mo ファイルがインストールされていれば、Wordpress は月をチェックして翻訳します。残念ながら、Wordpress はすべての翻訳をカバーしているわけではないので、多言語化を本当に望むのであれば、ここでは strftime がより良い解決策です。

複数の言語で日付を処理することは、特にこれを構成する場所が複数ある場合、非常に面倒です。多言語部分は多言語プラグインに任せることをお勧めします。

于 2013-03-07T10:53:16.237 に答える