1

私のWordpressのテーマには、特別な形式の日付があります. ここでウェブサイトを表示できます: ページへのリンク

qTranslate を使用していますが、この特別な日付を変更する方法がわかりません。日付を英語だけでなく日本語にしたいです。コーディングは次のとおりです。

if (have_posts())
while (have_posts()):
    the_post();
    global $post;
    $results        = $wp_query->post_count;
    $data_event     = get_post_meta($post->ID, 'event_date_interval', true);
    $time           = strtotime($data_event);
    $pretty_date_yy = date('Y', $time);
    $pretty_date_M  = date('M', $time);
    $pretty_date_d  = date('d', $time);
    $image_id       = get_post_thumbnail_id();
    $cover          = wp_get_attachment_image_src($image_id, 'event-cover-arc');
    $image_id       = get_post_thumbnail_id();
    $event_location = get_post_meta($post->ID, "event_location", true);
    $event_venue    = get_post_meta($post->ID, "event_venue", true);
    $tstart         = get_post_meta($post->ID, 'event_tstart', true);
    $tend           = get_post_meta($post->ID, 'event_tend', true);
    $event_ticket   = get_post_meta($post->ID, "event_ticket", true);
    $event_out      = get_post_meta($post->ID, "event_out", true);
    $event_cancel   = get_post_meta($post->ID, "event_cancel", true);
    $event_zoom     = get_post_meta($post->ID, "event_zoom", true);
    $coordinated    = get_post_meta($post->ID, "event_coordinated", true);
    $club           = get_post_meta($post->ID, "event_venue", true);
    $event_allday   = get_post_meta($post->ID, "event_allday", true, true);
    echo '
<div class="event-cover">';
    if ($data_event != null) {
        echo '        
  <div class="event-single-data">
    <div class="event-single-day">' . $pretty_date_d . '</div>
    <div class="event-single-month">' . $pretty_date_M . '</div>
    <div class="event-single-year">' . $pretty_date_yy . '</div>
  </div>            
</div><!-- end .event-cover -->';
    }
4

1 に答える 1

1

まず、翻訳されていない要素はこれだけなので、月の名前を翻訳する必要があると仮定します。

さまざまな方法を使用して翻訳するさまざまな方法を次に示します。あなたの場合は、方法 3 に興味があります。

1) .po/.mo ファイルで i18n を使用する

この方法は、POEdit を使用することからなり、主に異なる Web サイトがある場合に使用されます。その場合、POEdit を使用して月の名前を翻訳する必要があります。

$arMonths = array(
  1 => __('Jan'),
  2 => __('Feb'),
  3 => __('Mar'),
  4 => __('Apr'),
  // ...
  );

$pretty_date_M = (isset($arMonths[date('n', $time)]) ? $arMonths[date('n', $time)] : '');

2) WP_LANG を使用する

ここでの目標は、WordPress の現在の言語を直接確認することです。繰り返しになりますが、WordPress 言語に応じて翻訳が必要なテーマに最も役立ちます。

if ( WP_LANG=='ja_JP' ) {
  // default language is japanese ?
  $arMonths = array(
    1 => '?', // january in japanese
    2 => '?', // february in japanese
    3 => '?', // march in japanese
    4 => '?', // april in japanese
    // ...
    );
} else {
  // otherwise english (?)
  $arMonths = array(
    1 => __('Jan'),
    2 => __('Feb'),
    3 => __('Mar'),
    4 => __('Apr'),
    // ...
    );
}

$pretty_date_M = (isset($arMonths[date('n', $time)]) ? $arMonths[date('n', $time)] : '');

3) WP_LANG を使用する

EDIT :ここでqtrans_getLanguage()は、関数を使用して、qTranslate の現在の言語を知ることができます。

if ( qtrans_getLanguage()=='en' ) {
  // current language code is 'en' (English)
  $arMonths = array(
    1 => __('Jan'),
    2 => __('Feb'),
    3 => __('Mar'),
    4 => __('Apr'),
    // ...
    );
} else {
  // otherwise, I assume it's in japonese
  $arMonths = array(
    1 => '?', // january in japanese
    2 => '?', // february in japanese
    3 => '?', // march in japanese
    4 => '?', // april in japanese
    // ...
    );
}

その助けを願って

于 2014-03-14T13:06:47.940 に答える