首页 文章

Wordpress主题的多语言日期

提问于
浏览
0

我的Wordpress主题以特殊格式显示日期 . 你可以在这里查看网站:Link to Page

我一直在使用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 -->';
    }

1 回答

  • 0

    首先,我假设您要翻译月份名称,因为这是唯一未翻译的元素 .

    以下是使用各种方法进行翻译的不同方法在您的情况下,您将对方法3感兴趣 .

    1) using i18n with .po/.mo files

    此方法包括使用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) using 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) using 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
        // ...
        );
    }
    

    希望有所帮助

相关问题