Dec 04, 2008, 03:43 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
Search via SMF or Google: modx forums all of modxcms.com web
  MODxCMS.com   Forums   Help Login Register  
News:Read what MODx Developers say: MODx Dev. Blogs
Pages: [1]   Go Down
  Print  
Author Topic: Reflectの日本語化について  (Read 3236 times)
0 Members and 1 Guest are viewing this topic.
joy
Jr. Member
*
Posts: 10


« on: May 18, 2007, 02:20 AM »

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
のように英語表記で 日>月>年 となっていますが、
これを年>月>日
のようにするにはどのようにすれば良いでしょうか?


質問ばかりで申し訳ございませんが、ご回答よろしくお願いいたします。
Logged
custar
Full Member
***
Posts: 224


« Reply #1 on: May 18, 2007, 08:05 PM »

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

- Reflect Snippet
Logged
MEGU
Committed to MODx
*****
Posts: 817



WWW
« Reply #2 on: May 18, 2007, 08:34 PM »

こんにちは。

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

426行目付近に
Code:
$month_text = $ditto->formatDate(mktime(10, 10, 10, $mon, 10, $year),"%B");
というところがあるので、ここの「%B」を「%e」に直します。。勘違いしてました。。「%m」が正解ですね。。

そして、「reflect_month_tpl」の方を以下のようにしてみてください
Code:
<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
ロケールはサーバーによって設定してないこともあるようです。
« Last Edit: May 21, 2007, 10:30 PM by MEGU » Logged
MEGU
Committed to MODx
*****
Posts: 817



WWW
« Reply #3 on: May 18, 2007, 08:47 PM »

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



WWW
« Reply #4 on: May 18, 2007, 09:28 PM »

Reflect の方ですが、日付の形式をパラメータで指定できると
便利ですよね。。
Logged
joy
Jr. Member
*
Posts: 10


« Reply #5 on: May 19, 2007, 04:39 AM »

custarさん MEGUさん

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

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



WWW
« Reply #6 on: May 19, 2007, 05:40 AM »

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

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

2007.5.21追記
Quote
なんかうちの環境だと「%e」だとよろしくなくて、「%m」で…
よろしくないのは当たり前ですね。。「%e」は日付を現すものです。
勘違いしてました。。
« Last Edit: May 21, 2007, 10:32 PM by MEGU » Logged
custar
Full Member
***
Posts: 224


« Reply #7 on: May 19, 2007, 09:12 PM »

「%m」でうまくいったみたいです。月が一桁の時、前に「0」が入るんですけど。。
%n としてみたらどうなりますか?

全くソースを見らずに php のパラメータとして考えながら言ってますので、動
かないかもしれません。
« Last Edit: May 19, 2007, 10:18 PM by custar » Logged
MEGU
Committed to MODx
*****
Posts: 817



WWW
« Reply #8 on: May 20, 2007, 11:01 AM »

%n としてみたらどうなりますか?

>custar さん。
やってみましたが、その部分にはなにも表示されませんでした。
Logged
custar
Full Member
***
Posts: 224


« Reply #9 on: May 20, 2007, 10:53 PM »

ditto のソース見ました。

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

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

Quote
echo strftime ("%-m");

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

windows 版 strftime の説明には書かれてますが、unix 版には何の説明もない
ですね。忘れてるのかな。
Logged
MEGU
Committed to MODx
*****
Posts: 817



WWW
« Reply #10 on: May 21, 2007, 08:49 AM »

> ditto のソース見ました。

すんませんん。。Ditto じゃなく、Reflect の方なんです~。。
で、Reflect の方では、"%-m"は、
「-m」とそのまま表示されました。
Logged
custar
Full Member
***
Posts: 224


« Reply #11 on: May 21, 2007, 07:52 PM »

Ditto じゃなく、Reflect の方なんです~。。
reflect の中で ditto object が呼ばれてますから、同じだと思います。入れ
てないから動作を追ってませんが、ソースを見る限りそうなっているようです。

Reflect の方では、"%-m"は、「-m」とそのまま表示されました。
私の環境 (xrea, php5) では <?php echo strftime("%-m"); ?> で "5" と出力
されています。MEGU さんの環境は php4 ?
Logged
custar
Full Member
***
Posts: 224


« Reply #12 on: May 21, 2007, 08:02 PM »

もし %-m が使えないのなら、
Quote
echo strftime ("%Y-").(int)strftime ("%m").strftime ("-%d");
としてもできました。スマートに書こうと全く考えてません。ただ "できる" というだけです。
# 同じ関数を3度も呼んでる......

方法は幾つかあるでしょう。
Logged
MEGU
Committed to MODx
*****
Posts: 817



WWW
« Reply #13 on: May 21, 2007, 10:04 PM »

custer さん。ありがとうございます。
phpは4.4.4です。

本家のフォーラムでも出ているみたいなので、
もしかすると次期バージョンで解決されているのかも知れません。
http://modxcms.com/forums/index.php/topic,12433.msg83670.html#msg83670
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP

Copyright © 2005-2008 MODxCMS, All rights reserved. Contact Us
Styles by ziworks.com

Powered by SMF 1.1.4 | SMF © 2005, Simple Machines LLC

Valid XHTML 1.0! Valid CSS!