• Reflectの日本語化について#

  • joy Reply #1, 4 years, 8 months ago

    Reply
    Reflectで表示されるアーカイブに関してですが
    (現在UTF-8でサイトを構築しています。)
    May 2007
    のようになっているので
    2007年5月
    のようにしたいと思い、ReflectおよびDittoのlangファイルを探しましたが、
    それらしいのはなく、また
    \manager\includes\lang
    の中のjapanese-utf8.inc.phpもみてみましたがやはりありませんでした。

    ただ、
    japanese-sjis.inc.php
    japanese-euc.inc.php
    を開いてみると$_lang['months']があり、
    japanese-utf8.inc.php
    にはなかったので一応追加してみましたがやはり変わりませんでした。

    Reflectの日付表示を日本語化するのはどうすればよいでしょうか?

    また、Reflectとは関係ありませんが、ドキュメントの作成日時やカレンダー
    なども

    作成日時: 05/05/07 00:16:10
    のように英語表記で 日>月>年 となっていますが、
    これを年>月>日
    のようにするにはどのようにすれば良いでしょうか?


    質問ばかりで申し訳ございませんが、ご回答よろしくお願いいたします。


  • custar Reply #2, 4 years, 8 months ago

    Reply
    Quote from: joy at May 18, 2007, 02:20 AM
    Reflectの日付表示を日本語化するのはどうすればよいでしょうか?
    以下の説明文は参考にならないでしょうか。使ってないから詳しく分かってま
    せんが。技術的には絶対変更できます。が、直ぐに応えられない。

    - Reflect Snippet


  • MEGU Reply #3, 4 years, 8 months ago

    Reply
    こんにちは。

    スニペットの Reflect を直すようになると思います。

    426行目付近に
    $month_text = $ditto->formatDate(mktime(10, 10, 10, $mon, 10, $year),"%B");

    というところがあるので、ここの「%B」を「%e」に直します。。勘違いしてました。。「%m」が正解ですね。。

    そして、「reflect_month_tpl」の方を以下のようにしてみてください
    <a href="[+url+]" title="[+year+]å¹´[+month+]æ" class="reflect_month_link">[+year+]å¹´[+month+]æ</a>


    こんな感じになります。
    http://www.liolion.info/096rc3/blog.html
    (このURLはすぐなくなっちゃうかも知れません。。)


    %B とか %e は、こちらを見て頂くといいとおもいます。
    http://php.benscom.com/manual/ja/function.strftime.php
    ロケールはサーバーによって設定してないこともあるようです。


  • MEGU Reply #4, 4 years, 8 months ago

    Reply
    あ、ドキュメントの作成日時の表示形式の方は、
    Dittoの「dateFormat」で指定します。
    「&dateFormat=`%Y.%m.%d %R`」などです。


  • MEGU Reply #5, 4 years, 8 months ago

    Reply
    Reflect の方ですが、日付の形式をパラメータで指定できると
    便利ですよね。。


  • joy Reply #6, 4 years, 8 months ago

    Reply
    custarさん MEGUさん

    ご回答ありがとうございます。
    MEGUさんに教えていただいた方法で望みどおりの結果を得ることができました。
    どうもありがとうございました。

    #MODxはPHPそれほどわからなくても何とかなりますが、PHPを知っていると
    色々とできることが増えそうですね。
    MEGUさんに教えていただいたページなども参考にもう少し勉強していこうと思います。


  • MEGU Reply #7, 4 years, 8 months ago

    Reply
    あ、良かったですね。
    なんかうちの環境だと「%e」だとよろしくなくて、「%m」で
    うまくいったみたいです。月が一桁の時、前に「0」が入るんですけど。。

    ※私もphp は、眺める専門な方なので (^^;、
    詳しい方のフォローお願いしたいですぅ。。

    2007.5.21追記
    なんかうちの環境だと「%e」だとよろしくなくて、「%m」で…
    よろしくないのは当たり前ですね。。「%e」は日付を現すものです。
    勘違いしてました。。


  • custar Reply #8, 4 years, 8 months ago

    Reply
    Quote from: MEGU at May 19, 2007, 05:40 AM
    「%m」でうまくいったみたいです。月が一桁の時、前に「0」が入るんですけど。。
    %n としてみたらどうなりますか?

    全くソースを見らずに php のパラメータとして考えながら言ってますので、動
    かないかもしれません。


  • MEGU Reply #9, 4 years, 8 months ago

    Reply
    Quote from: custar at May 19, 2007, 09:12 PM
    %n としてみたらどうなりますか?

    >custar さん。
    やってみましたが、その部分にはなにも表示されませんでした。


  • custar Reply #10, 4 years, 8 months ago

    Reply
    ditto のソース見ました。

    strftime() を使われているのですね。だったら "%n" は改行を意味するので表
    示されません。調べもせずに言ったから間違いです。

    では、どうするかというと、%-m としてください。
    これで表示されると思います (未確認)。

    echo strftime ("%-m");

    これで、今だったら "5" が表示されます。windows の場合は "%#m" としなきゃ
    なりません。

    windows 版 strftime の説明には書かれてますが、unix 版には何の説明もない
    ですね。忘れてるのかな。