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) 将 i18n 与 .po/.mo 文件一起使用

该方法包括使用POEdit,主要用于有不同网站的情况。在这种情况下,您将不得不使用 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

编辑:在这里您可以使用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 回答