日本語化・日本語パッチ用スレッド

日本語化・日本語パッチ用スレッド

- Takahito Kashiwagi の投稿
返信数: 17

日本語表示に対応するパッチ及び関連話題のスレをこちらに移動しました。

過去のスレッドは、
http://moodle.org/mod/forum/discuss.php?d=11983
にあります。

現在、残りの課題であるグラフ表示を日本語で行った際のアライメントの調整を行ってます(かなり苦戦中)。この中でGraphlib.phpを熟知する必要があり、中身を見ていましたら、予め、言語毎にコード変換が行えるように拡張機能が付いている事に気がつきました。graphlib.phpの178行目付近。

  if (file_exists("$fontpath"."lang_decode.php")) {
      $this->parameter['lang_decode'] = "$fontpath"."lang_decode.php";
  } else {
      $this->parameter['lang_decode'] = "";
  }

という部分です。この予め用意されていた仕様を利用し.lang/ja/fonts/配下にデコード用のファイルと変換関数を入れることにしました。この変更により、graphlib.phpは一切変更せずに、日本語に対応した変換が可能になりました。

http://www.supertak.com/down/sample.htm

に最新版、ver 1.3.2 があります。langlib132.lzh内に新たに、lang_decode.phpというファイルが加わっています。これを、./lang/ja/fonts/ 下に設置してください。また、今までGraphlib.phpを変更していたかたは、変更が必要なくなりましたので、上記URLを参考にして、変更箇所を削除してください。

追伸:
さすが、Moodleです。予めこのような拡張性が追加されていたとは驚きです。

評点平均: お役立ち度: ★★★★★☆☆ (1)
Takahito Kashiwagi への返信

Re: 日本語化・日本語パッチ用スレッド

- Takahito Kashiwagi の投稿

本家の対応がなされるまでの暫定対応ですが、WIKIの日本語対応版をlanglibに添付しました。モジュールバージョンは 1.4.x 138 を使用しています。添付されているWIKIモジュールを、現在使用しているWIKIモジュールと入れ替える形で使用してください。

http://www.supertak.com/down/sample.htm

評点平均: お役立ち度: ★★★★★☆☆ (3)
Takahito Kashiwagi への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿

柏木さま
無断でもうしわけございませんが、下記フォーラムにて柏木さんたちのlanglibを紹介するページを意訳させていただきました。
http://moodle.org/mod/forum/discuss.php?d=13558
逆にいえばもっと早く本件への橋渡しをすればよかったと思います。本家のムードルに早く取り入れてもらいたいですね。

まだ学生へのメールは文字化けしている状態の

武本です

Takahito Kashiwagi への返信

Re: 日本語化・日本語パッチ用スレッド

- Ryoichi MURASHIMA の投稿
柏木さん
村嶋と申します。
utf-8環境で日本語化パッチの動作確認を行なっていますが、通知メールの本文がjis7にエンコードされない(utf-8のままの)ようです。(ヘッダは問題ありません)。
解決のためのヒントをいただけないでしょうか。
よろしくお願いいたします。


Ryoichi MURASHIMA への返信

Re: 日本語化・日本語パッチ用スレッド

- Seigo YASUTOME の投稿
lang/ja/lib/langlib.php の 93行あたりに
$mail->Body     = ex_convert_encoding($mail->Body, 'iso-2022-jp', 'auto');
という行が2行あるかと思います。片方を
$mail->AltBody     = ex_convert_encoding($mail->AltBody, 'iso-2022-jp', 'auto');
と修正すれば大丈夫だと思います。

やすとめ
Seigo YASUTOME への返信

Re: 日本語化・日本語パッチ用スレッド

- Ryoichi MURASHIMA の投稿
$mail->Body     = ex_convert_encoding($mail->Body, 'iso-2022-jp', 'auto');
という行は1行しかありませんでしたので、
$mail->AltBody     = ex_convert_encoding($mail->AltBody, 'iso-2022-jp', 'auto');
を追加しました。
これで、text/plain部分も正しく(jis7で)表示できるようになりました。
#utf-8環境に依存した不具合ではなかったようですね。

ありがとうございました。
Ryoichi MURASHIMA への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿

 10月6日に柏木様のパッチ案を英語のフォーラムに投稿しましたが、1.5に向かって頑張っているマーティンはお答えくださったのは、昨日の12月14日でした。

1)上述のパッチを使いますと、非日本語の言語は困るのではないか?

  (私の臨時的な答え:パッチはjaの言語ファイルにあるから、特に問題がありません。しかし、もしかしたら日本語+フランス語とか、日本語+非英語の言語ならでは問題が生じうるでしょうかなぁ)

2)吉田様が現在行っておられるUnicodeへの変換と関係はどのようなものか。Unicodeになってからまたパッチしなおす必要はあるでしょうか?

 (私の臨時的な答え:特にやり直す必要はないでしょう)

正確にどのようにお答えすればよろしいでしょうか?

武本Tim

Timothy Takemoto への返信

Re: 日本語化・日本語パッチ用スレッド

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
>1)上述のパッチを使いますと、非日本語の言語は困るのではないか?

日本語のみに適用されますので、非日本語には影響しないと思います。

> しかし、もしかしたら日本語+フランス語とか、日本語+非英語の言語ならでは問題が生じうるでしょうかなぁ

テストが必要ですね。文字化けしそうな感じです。

>2)吉田様が現在行っておられるUnicodeへの変換と関係はどのようなものか。Unicodeになってからまたパッチしなおす必要はあるでしょうか?

内部的に文字コードを自動認識していますので、Unicode専用の対応は不要だと思います。
Mitsuhiro Yoshida への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿

つまり、Unicodeであろうと、どのエンコードであろうと、上のパッチが必要になりますね?今までばかな私が、Unicodeにすればパッチしなくてもいいと思っていました。無知ですみません。

Moodle ver. 1.5 dev (rev. 9/1/2004)ですが、1.4.5との対応についてはご存知ないでしょうか?

武本

Timothy Takemoto への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿
1.5.2で試された方がいますか?

これはなぜムードルの正式版に組み込まれていないでしょうか?

Timothy Takemoto への返信

Re: 日本語化・日本語パッチ用スレッド

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
1.5.2でも同じく文字化けします。

恐らく将来的にマルチバイト文字で生じている文字化けは解消されると思いますが、それまではJapanese Moodleの中に文字化け対応版のパッケージを置いたほうがよさそうですね。

文字化けの原因となっているPHPの関数htmlentitiesの対応が行われている喜多先生のパッケージが一番適切だと思います。



Mitsuhiro Yoshida への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿

すみませんが、お答えが少し分かりませんので、確認させていただきたいです。

私は上で
>>1.5.2で試された方がいますか?
という発言で、「このスレッドで紹介されている1.5devのための文字化け対策パッチを1.5.2に当てば文字化けが直るでしょうか」という意味でした。

そこで、吉田さmがお返事くださって
> 1.5.2でも同じく文字化けします。
「同じく」というのは!?つもり、上のパッチは1.5devでもうまく
機能しなかったということでしょうか?

喜多先生のパッケージがいいですね。ただ、私はvineはつかっていませんし、教育サーバーへのcommand lineアクセスがありませんし、rpmについてあまりにも経験も知識もありませんので、rpmは使いませんが、
http://t-kita.net/rpm/FC/moodle/patches/moodle-t-kita.patch
はあります。

あのスレッドでたずねてみます。

ありがとうございます。

武本

Timothy Takemoto への返信

Re: 日本語化・日本語パッチ用スレッド

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
>「同じく」というのは!?つもり、上のパッチは1.5devでもうまく機能しなかったということでしょうか?

大変失礼しました。blush
柏木様のパッチがMoodle1.52正式版に適用されていないため、1.5.2でも同じく文字化けします。」という意味です。
柏木様のパッチ適用でMoodle1.52文字化けの解消を行うことが出来ます。

喜多先生のパッケージでは、柏木様のパッチの一部も採用されています。


Mitsuhiro Yoshida への返信

Re: 日本語化・日本語パッチ用スレッド

- Timothy Takemoto の投稿

ありがとうございました。私にはかなり難しいです。rpmがつかえません。また、手でするパッチが長い!です。きっときっと途中で一つの「;」を見逃し、moodleが動かなくなったりします。

他の言語に影響しないのであって、知識があれば瞬間的に当てることのできるパッチがあれば、なぜ本家で修正していただいていないでしょうかな。私がうまくお伝えしていなかったからかもしれません。

しかし、またUnicodeとの関連がわかりません。つまり Martinの下記の質問にお答えできません。

how does it relate to the move to Unicode for Japanese that Mits is working on?   If we are going to use Unicode do we need much of this?」

実はこの質問の意味もわかりません。「move to unicode」というのは何でしょうか?langはとっくにunicodeになっていますが、そのことでしょうか?それともこれから計画されているunicode対応への動き?私にはわかりません。すみません。

武本

Timothy Takemoto への返信

Re: 日本語化・日本語パッチ用スレッド

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
Moodle1.6では中心となる文字コードがUTF-8になるようです。

日本語の文字コードを含む全ての言語に関する文字コードをUTF-8にした場合でも、日本語で文字化けしますか?という質問だと思います。Moodleで多用されているPHPの関数htmlentitiesは、今の状態でしたらUTF-8にしても文字化けを発生させます。

喜多先生が変更されたように、CHARSETを明示的に指定することで、htmlentitiesによって発生する文字化けが解消されます。
htmlentities(x,ENT_COMPAT,get_string('thischarset','moodle'))