サポート » バグ報告と提案 » 4.3へのUG後、既存記事の公開日を変更すると「月月」となる

  • 解決済 omochi

    (@omochi)


    4.3にアップグレードしました。
    既存記事の公開日の「月」を変更し「OK」を押すと、

    公開予定日時: 2015年12月月9日 @ 00:00

    となり、”月”が重複してしまいます。
    更新、もしくは予約投稿を押すと解消されます。

    プラグイン(WP Multibyte Patchも含む)は全て更新済み。
    キャッシュ、Cookieは削除しましたが再現します。

    よろしくお願いいたします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • モデレーター odyssey

    (@odysseygate)

    ほとんど素の状態でインストールした 4.2.4 ではこの症状が出ないことを確認しました。

    こちらについて、ちょっと調べてみました。

    1.まず前提として日付フォーマットは4.3.0と4.2.4で変更されていません。
    日時フォーマット:’%3$s年%1$s月%2$s日 @ %4$s:%5$s’
    これは__(‘%1$s %2$s, %3$s @ %4$s:%5$s’)の翻訳テキストで、
    /wp-includes/script-loader.phpの496行目(4.3.0の場合)で
    定義されています。

    2.投稿日時編集のoption要素は、/wp-admin/includes/template.phpの787~788行目
    (touch_time関数)で、次のように出力されています。

    $monthtext = $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) );
    $month .= "\t\t\t" . '<option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum, $mm, false ) . '>';

    ここで$monthtextの値は’12月’のように’月’が付いたものとなり、それがdata-text属性値
    として出力されます。

    3.実際に投稿日時編集を更新する/wp-admin/js/post.js(post.min.js)の563行目
    (4.3.0)では、次のように記述されています。
    .replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) )
    これは日付フォーマットの’%1$s’をユーザが選択したoption要素のdata-text属性の値に
    書き換えることになり、例えば’%1$s’が’12月’になります。その箇所のみを抜粋すると
    ‘%1$s月’は’12月月’となってしまうわけです。

    4.2.4以前ではdata-text属性値を使用せず、option要素のテキスト部分で’%1$s’を書き
    換えていたので問題はなかったのですが、4.3.0で処理内容が変わったために発生して
    いる症状といえると思います。

    なおこの問題ですが投稿日時の編集のほか、コメント日時でも同様になっていました。

    この投稿時点で、tracの方は未確認です。対処方法も提案できるところまでは整理
    できていませんが、取り急ぎ情報共有まで。

    こんにちは

    ajax の OK を押した時点で、再現するみたいですね

    保存ボタンを押すと、正しい日付になるみたいです。

    公開日時: 2015年undefined月18日 @ 15:27  1サイト ???(シングル)
    公開日時: 2015年5月月21日 @ 13:01 2サイト (シングル 1,マルチ 1)

    一応つたない英語でtracに投稿してみました。
    PHP、JavaScript、翻訳テキストの兼ね合いがあるので、提案した内容で対応されるかはわかりません。
    https://core.trac.wordpress.org/ticket/33579

    こちら進捗があったら、報告するようにしますね。

    トピック投稿者 omochi

    (@omochi)

    各位

    ありがとうございます。
    上記tracを確認し、

    date format string

    を修正してみました。(waiting状態ですが)

    モデレーター odyssey

    (@odysseygate)

    おもちさんの提案してくれた日付フォーマットの翻訳変更のみですと、今度は月のプルダウンに対して、本来あてるべき”月”が表示されなくなってしまいます。

    2015年10 12日 @ ...

    みたいに見えてしまいます。

    そこで、下記翻訳文を

    https://translate.wordpress.org/projects/wp/dev/admin/ja/default?filters%5Bterm%5D=%251%24s-%252%24s&filters%5Buser_login%5D=&filters%5Bstatus%5D=either&filter=Filter&sort%5Bby%5D=priority&sort%5Bhow%5D=desc

    %2$s に変える(Month abbreviation を使用する)ことで、

    2015年10月12日 @ ...

    のようにプルダウンの中に月を含めることができるようになるのですが、これを変更した時の影響範囲を確認したいので、ちょっと日本語版作成チームの ML に投げてみますね。

    ちょっとだけお時間ください。

    モデレーター odyssey

    (@odysseygate)

    tenpura さんにも確認してもらって大丈夫そうでしたので、おもちさんの翻訳提案の承認と、上記訳文を month abbreviation へと変更しました。

    GlotPress の訳文のパッケージシステムへの反映タイミングがあんまり良くわかってませんが、次のマイナーバージョン当たりには反映されてるはずです。
    今すぐ確認してみたければ、GlotPress から mo ファイルをエクスポートしてみてください。
    https://translate.wordpress.org/projects/wp/dev/admin/ja/default

    最後におもちさん自身の目で見てもらって、問題解消されているようでしたら、本トピックを解決へと変更をお願いします。

    トピック投稿者 omochi

    (@omochi)

    おでさん

    ありがとうございました。
    .moを素の4.3に入れてみて改善されていることを確認しました。

    微力ながら貢献できてよかった♪

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「4.3へのUG後、既存記事の公開日を変更すると「月月」となる」には新たに返信することはできません。