原田と申します。
Moodle 1.9.2+ を新規インストールしました。
「日本語」 言語 Pack を追加インストールしたが
システム全体、日本語を表示できなく困っています。
インストール手順、必要なモジュール。。。などが
どこかが不十分のではないかと思っています。
原因を調べるヒントがありましたら是非教えてくださるようお願いします。
動作環境:
OS: Fedora6
Apache2.0
PHP5.1.6
MySQL5.0
よろしくお願いいたします。
確認したいことがいくつかあります.
Q1.日本語言語パックのインストールは手動(ダウンロードして自分でmoodledata/lang/ja_utf8フォルダに展開)か自動か?
Q2.日本語が表示できない,というのは,メニュー等が英語表示のままであるという意味で,フォーラム等への書き込みは正しく日本語で行うことができるのか?
Q3.ユーザのプロファイルの編集で”使用言語”を”日本語(ja)”に変更した,あるいはフロントページ右上隅の言語選択を”日本語(ja)”に変更したのにも関わらず英語でメニュー等が表示されるのか?
以上,お答え頂けると,解決の糸口が掴めそうです.
なお,フロントページ右上隅の言語選択はあくまでも一時的なものですので,ログアウトしてから再びログインする際には,ユーザプロファイルで設定した言語に戻ってしまいます.
あとは「サイト管理」-「言語設定」の”デフォルト言語”の設定でしょうか.
なお,「サイト管理」-「言語設定」-「言語パック」の”インストール済み言語パック”の一覧表に”日本語(ja)”は含まれているでしょうか?
(上記,サイト管理等は,もし英語のみの表示の場合は,"Site administration", "Language"などなど,です)
早速ご教授いただいてありがとうございます。
確認内容以下の状況です。
>Q1.日本語言語パックのインストールは手動(ダウンロードして自分でmoodledata/lang/ja_utf8フォルダに展開)か自動か?
英語モードインストール作業を進めていました後に、管理者権限で
「Language」 「Language packs」 「Install selected Language pack」 により
日本言語パックを追加しました。
その結果、 何もない moodledata ディレクトリに moodledata/lang/ja_utf8 ができました。 (エラーメッセージがなかったので正常に完了したと思います)
上記のインストール時でも 言語一覧に 「”日本語(ja)”」 の表示が化けていました。(????(ja) の ja で推測、選択、インストールを進めました )
>Q2.日本語が表示できない,というのは,メニュー等が英語表示のままであるという意味で,フォーラム等への書き込みは正しく日本語で行うことができるのか?
インストール後画面の右上にある言語選択コンボに「English(en)」「???(ja)」など があります。
日本語(???(ja))を選択しても、管理者画面のメニューなど日本語が表示できない状況です。
フォーラムなどの機能はまだ使用していない段階です。
>Q3.ユーザのプロファイルの編集で”使用言語”を”日本語(ja)”に変更した,あるいはフロントページ右上隅の言語選択を”日本語(ja)”に変更したのにも関わらず英語でメニュー等が表示されるのか?
ユーザーのプロファイルの編集で使用言語を 「???(ja)」 に変更できます、
その後フロントページ右上隅の言語選択を”???(ja)”にデフォルトで選択されます。
画面の日本語の表示はすべて化けます。
>なお,フロントページ右上隅の言語選択はあくまでも一時的なものですので,ログアウトしてから再びログインする際には,ユーザプロファイルで設定した言語に戻ってしまいます.
ユーザーのプロファイルの設定言語をフロントページに反映しています。
> あとは「サイト管理」-「言語設定」の”デフォルト言語”の設定でしょうか.
サイト管理画面 で Default language = English(en) に設定しています。
Languages on language menulanglist は空欄です
Sitewide localelocale は 空欄です
ちなみに、毎回ページの表示はBrower(IE)のエンコードが「日本語(シフトJIS)」 になっています。 (Apache は デフォルトキャラクターセット を設定しない状態)
以上、現状わかっている内容です。
お手数ですが http://www.atom-ss.com/moodle をアクセスしていただければ
何か別の情報が得られるかもしれません。
よろしくお願いいたします。
なるほど.日本語のメニューにならない,のではなく,日本語がメニューも含めて一切合財が文字化けする,という状況ですね.
これはMoodleの設定というよりも,ApacheあるいはPHPの設定が問題ではないでしょうか.
PHPに関しては,mbstringが機能していますよね?
当方の設定をいま見てみたのですが,
default_charset = UTF-8
さらにmbstring系の設定をいくつか抜き出すと,
mbstring.encoding_translation: On
mbstring.http_output: UTF-8
mbstring.internal_encoding: UTF-8
mbstring.language: Japanese
といったところです.
Apacheに関しては,UTF-8で記述したWebページをクライアントPCで文字化けしないで表示できるのであれば問題ないですよね.
白井 様
ご指摘した内容により、
php.ini の設定内容を調整した結果、うまく動作しました。
ありがとうございます。
ところで、またくこちらの都合ですが、
同一サーバーに複数システムが運用するため(EUC,SJISなど)
Moodle の専用 php.ini を指定することが可能でしょうか。
可能であればどの設定ファイルを変更すれば良いでしょうか。
よろしくお願いいたします。
php.iniを使い分けるということが可能なのかは分かりません.
発想を変えますと....
全く自信がありませんが,php.iniの設定をスクリプト中で変更するコマンドとして,ini_set()(エイリアスでini_alter())があります.config.phpは全てのMoodleのスクリプトから一番最初に呼び出されますので,config.php中にini_set()を追加すればうまく行く可能性があります.
ただ,ini_set()で変更できる設定とできない設定があるようです.
予想に過ぎませんが,「サイト管理」-「サーバ」-「PHP情報」で表示されるphp_info()の情報のうち,Local value, Master valueで分けて表示されている項目はスクリプト中で変更できるのではないでしょうか.
>php.ini の設定内容を調整した結果、うまく動作しました。
どの設定が問題だったか分かりませんか? 今後,同じ症状で悩んだ方がこちらのページを見に来る可能性があります.
>>php.ini の設定内容を調整した結果、うまく動作しました。
>どの設定が問題だったか分かりませんか? 今後,同じ症状で悩んだ方がこちらのページを見に来る可能性があります.
大変失礼しました。
php.ini の元の設定は:
default_charset = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
php.ini の修正後の設定は:
default_charset = UTF-8
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
上記の設定で日本語の表示は正常になりました。
> 予想に過ぎませんが,「サイト管理」-「サーバ」-「PHP情報」で表示されるphp_info()の情報のうち,Local value, Master valueで分けて表示されている項目はスクリプト中で変更できるのではないでしょうか.
現在運用のシステムの方が優先のため、元の設定に戻しました。
現在こちらでのインストールしたMoodleのページは日本語を表示できない状況です、
上記の方法で試して見ます。
追って結果を報告いたします。
ご指摘した内容により、
php.iniを既存のままで、
config.php に下記の内容を追加することで
ini_set('default_charset', 'UTF-8');
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('tring.http_output', 'UTF-8');
「日本語」言語モードで正常に表示できました。
まだ、表面の表示などの確認結果です、
機能の動作はまだですが、これで一旦この課題をクローズすることになります。
取り急ぎ報告いたします。
(編集 Tatsuya Shirai - 最初の投稿日時 2008年 10月 9日(木曜日) 15:29)
少々古い記事ではありますが.
HTMLコードが正しくなかったようで表示できない状況になっていましたので修正しました.(白井)
遅ればせながら.
成功したようですね.よかった,よかった.