日付の選択欄の並び方を言語設定に合わせるパッチ

日付の選択欄の並び方を言語設定に合わせるパッチ

- Toshihiro KITA の投稿
返信数: 12
1.9.4 用のパッチです。

言語設定の中で定義されている "strftimedate" に従って
年,月,日の並べ替えを行うパッチを作りました。
要するに,%Y と %B (または%m) と %d の並んでいる順番で,ドロップダウンリストの順番も変わります。

利用・改変・配布は自由にどうぞ。
評点平均:有益(Useful) (3)
Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Haruhiko Okumura の投稿
ありがとうございます。
三重大版と比べてみましたところ,weblib.phpはすでに直していました。残り二つはこの機会に変えました。ただし三重大版は年月日の順にハードコードしています。

本来は喜多先生のようにするのが正しかったですね。
Haruhiko Okumura への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Tatsuya Shirai の投稿

 同じくweblib.phpのみの修正しか行っていませんでした(これも喜多先生のパッチを参考にしたものでした).

 今回のコードの方がロバストですね.
 さらに加えて,MoodleQuickForm関係の2箇所の修正も利用させていただきました.

 lib/weblib.phpの方の修正はカレンダーくらいでしか使われていないのに対して,MoodleQuickFormは課題の開始日時やコースの開講日など幅広く用いられている関数ですので,一気に使い易くなりました.ありがとうございます.

#明日あたりに公開予定のfs_moodle3.12.03には反映させます.

Tatsuya Shirai への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Tatsuya Shirai の投稿

 Moodle1.8.8+の方はlib/weblib.phpが旧式のままですので,多少,修正する必要がありましたが,喜多先生のアルゴリズムを利用して対応可能でした.lib/form以下の二つのファイルの方はMoodle1.9.4+とほぼ同一でしたので,そのまま適用できました.

 Moodle2.0+はlib/weblib.phpも,lib/form以下の二つのファイルもMoodle1.9.4+とほぼ同一でしたので,喜多先生のパッチのまま適用可能でした.

Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Toshihiro KITA の投稿
反応ありがとうございます。> 奥村先生,白井先生

もうちょっと考えて,%Y, %m, %B, %d 以外が入ったパターンの場合でもおかしくならないように fallback を入れました。
これで BTS に提案しようかな。
# ついでに,「名+姓」 の順がデフォルトなのも,「言語設定」をデフォルトにして欲しい,と要望を上げたいです。
Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Toshihiro KITA の投稿
BTSに投稿してきました。vote していただけると嬉しいです。
day/month/year order in date selection justified according to strftime:
http://tracker.moodle.org/browse/MDL-18823

fullnamedisplay default value should be 'Language':
http://tracker.moodle.org/browse/MDL-18824
Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Tatsuya Shirai の投稿

 あと,万が一,本家の方で仕様が変わった結果,年月日のフォームが一つも表示されなくなると怖いので,フラグを設けて'年','月','日'の一つでも欠けていた場合はデフォルト(欧米式か,あるいは旧来の方法による欧米/日本式の切り替え)のフォームを用意した方が安全かも知れません.

#まだ新しいpatchを見ていません.もし対策済みでしたらすみません.

 本家で対応して頂けると良いですね.という訳で投票済みです^^).

Tatsuya Shirai への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Toshihiro KITA の投稿
お,さすが気づきましたね。
先のパッチで一応対応したつもりです。御確認ください。
voteありがとうございました。> 奥村先生,白井先生
Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Tatsuya Shirai の投稿

 遅くなりました.

 いま改良版を見ました.

if (count($dmatches0)!=3){ $dmatches0 = array('%d','%B','%Y');

これですね! なるほど,なるほど.これで安心ですね.

Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Iwao Saika の投稿
こんにちは

記事を読ませていただき、早速適用してみました。
手順は
moodleフォルダのあるディレクトリにpatchをおいて
patch < moodle194-date2.patch
としました。

しかし、weekly outline表示形式での日付表示は英語モードでアクセスしても
20 7月 - 26 7月
のような形式で表示されてしまいます。

1、パッチのあてかたはこれでいいのでしょうか。
2、英語モードでアクセスしても7/20 - 7/20 のような(漢字の含まれない)形式で日付を表示させるための方法のヒントでもお教えいただけませんでしょうか。

よろしくお願いします。

SAIKA Iwao
Iwao Saika への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Toshihiro KITA の投稿
http://demo.moodle.org/
で試してみたところ,
英語モードでは,
22 November - 28 November
のようになります。日本語モードでは,
11/ 22 - 11/ 28
と表示されるようです。

また,私のサイト(パッチ適用済み)でも
同じですので,パッチは関係ないと思います。(パッチによって weekly outline の日付表示は変更されないはずです。)

Moodleのバージョンはいくつでしょうか。
また weekly outline 以外の箇所での日付設定なども,英語モードで
21 11月 2009
のように表示されますか?

なお,patch コマンドの結果についてですが,全部の箇所について succeeded と表示されていれば,ちゃんと適用されたと判断できます。
Toshihiro KITA への返信

Re: 日付の選択欄の並び方を言語設定に合わせるパッチ

- Tatsuya Shirai の投稿
 lib/weblib.phpのfunction print_date_selector()ですが,最新のMoodle2.0ではlib/deprecatedlib.php(将来的に消滅する候補)入りしたようです.