BugTrack/579
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:&size(12){Category: [[:Internationalization]]};
*多言語対応関連 (使用言語の設定) [#v81c95b1]
-ページ: BugTrack
-投稿者: [[Ratbeta]]
-優先順位: 重要
-状態: 着手
-カテゴリー: その他
-投稿日: 2004-04-10 (土) 13:22:16
-バージョン:
**メッセージ [#n9286f99]
現行のPukiWikiでは、言語関連の設定をすべてinit.phpで行っ...
これをpukiwiki.ini.phpと*.lngに分ける必要があると思います。
修正案 : (長いのでコメントアウトしておきました)
//ja.lng 6行目 :
// //
// // PukiWiki message file (japanese)
//
// +define('SOURCE_ENCODING','EUC-JP');
// +define('SOURCE_LANG','Japanese');
// +
// ///////////////////////////////////////
// // page titles
//
//en.lng 6行目 :
// //
// // PukiWiki message file (english)
//
// +define('SOURCE_ENCODING','ISO-8859-1');
// +define('SOURCE_LANG','English');
// +
// ///////////////////////////////////////
// // page titles
//
//init.php 10行目 :
// // (E_WARNING | E_NOTICE)を除外しています。
// error_reporting(E_ERROR | E_PARSE);
//
// -/////////////////////////////////////////////////
// -// 初期設定 (文字エンコード、言語)
// -define('SOURCE_ENCODING','EUC-JP');
// -define('LANG','ja');
// -
// -mb_language('Japanese');
// -mb_internal_encoding(SOURCE_ENCODING);
// -ini_set('mbstring.http_input', 'pass');
// -mb_http_output('pass');
// -mb_detect_order('auto');
// -
//
// /////////////////////////////////////////////////
// // 初期設定(設定ファイルの場所)
//
//init.php 60(49)行目 :
// define('MUTIME',getmicrotime());
//
// /////////////////////////////////////////////////
// +// 設定ファイル読み込み
// +if (!file_exists(INI_FILE)||!is_readable(INI_FILE)) {
// + die_message(INI_FILE.' is not found.');
// +}
// +require(INI_FILE);
// +
// +/////////////////////////////////////////////////
// // 言語ファイル読み込み
// if (!file_exists(LANG.'.lng')||!is_readable(LANG.'.ln...
// die_message(LANG.'.lng(language file) is not f...
//
//init.php 67(63)行目 :
// require(LANG.'.lng');
//
// /////////////////////////////////////////////////
// -// 設定ファイル読み込み
// -if (!file_exists(INI_FILE)||!is_readable(INI_FILE)) {
// - die_message(INI_FILE.' is not found.');
// -}
// -require(INI_FILE);
// +// 初期設定 (文字エンコード、言語)
// +mb_language(SOURCE_LANG);
// +mb_internal_encoding(SOURCE_ENCODING);
// +ini_set('mbstring.http_input', 'pass');
// +mb_http_output('pass');
// +mb_detect_order('auto');
//
// /////////////////////////////////////////////////
// // 初期設定($script)
//
//pukiwiki.ini.php 35行目 :
// /////////////////////////////////////////////////
// // スキン/スタイルシートファイル格納ディレクトリ
// define('SKIN_DIR','./skin/');
// +/////////////////////////////////////////////////
// +// 使用する言語ファイル名
// +define('LANG','ja');
~
//一応動作確認してますが、もしかしたらバグが残っているか...
----
-別手法で実装されました。 -- [[merlin]] &new{2004-10-09 (...
-掘り出しお疲れ様です>[[merlin]] 言語設定自体は確かに [[...
-内部コンテンツのエンコーディングがUTF-8あるいはEUC-JPだ...
-修正内容がいろいろと乱雑ですんで見難いと思いますがご容赦...
-コメントありがとうございます :) 取り込むべきものはパッチ...
-現状の *.lng を例えば lang/ ディレクトリ (を作成してそこ...
- [[BugTrack/579]] Move language settings into language r...
--[[cvs:pukiwiki.ini.php]] (v1.4:1.88)
--[[cvs:en.lng]] (v1.4:1.28, 1.29)
--[[cvs:ja.lng]] (v1.4:1.27, 1.28)
--[[cvs:lib/init.php]] (v1.4:1.13, 1.14)
-- エンコーディングに関する設定をpukiwiki.ini.php から *....
-[[開発日記/2004-10-17]]で、処理がlib/init.phpに移動され...
-(バージョン関連の話題は[[ロードマップ]]へ移動)~
-私個人としては、互換さえ保たれていればいくらでも手を入れ...
-たしかに、この部分は *.lng にあるべきものですね。ついで...
-確かに変数にする方がいいですね。下の事項にも関わってきま...
//#comment
**第二段階 : 言語ファイルに不足がある場合はen.lngで補填す...
-追加された言語ファイルに最新版との不足がある場合は、表示...
-処理としてはen.lngをロードした後に de.lng などをロード(...
-処理の流れはそれでいいと思います。問題は、en.lngがなかっ...
-どちらも、en.lng の存在を大前提にすることで問題ないと思...
//#comment
**第三段階 : encode_hintとUTF-8関連 [#vb94ff9e]
-顕在化していない、もう一つの問題にも気づいています。現在...
-あ、狙っているのは、''PHPコードのエンコーディングはEUC-J...
--保ったまま運用を可能にする''こともできる''という理解で...
--そうですね・・・。現状よりは楽な運用環境を実現する事で...
--例えば、プラグインなどで、日本語には無い文字を表示した...
-pukiwiki.ini.php内でコンテンツのエンコードを指定する(あ...
-$encoding_hint はもともと、コンテンツがどんなエンコード...
-したがって、*.lng(この場合、ja.lng)に入れるのが筋だと思...
-ということは、(CJK含む)英語以外ではencoding_hintが必要と...
--CJKというよりは、1つの国でUTF-8以外の複数の文字コード...
--ちなみに、accept-charsetはあまり信用しないほうがいいか...
--見つけた (^^) [[PHP GET/POSTメソッドでの日本語の文字化...
-ふむふむ。「encoding_hintを消す」という案は、固定値のそ...
--encoding_hintについてはこのトリックが突破口になるかしら...
-ふむふむ…。じっくり読ませていただきました。最終的にどん...
//#comment
**余談 : 言語ファイルと複数Wiki [#y4cf66c5]
-言語ファイル(*.lng.php)は現状ではDATA_HOME以下に直接置く...
--- init.1.26.php Sun Feb 20 23:24:50 2005
+++ init.php Wed Feb 23 20:26:49 2005
@@ -82,8 +82,8 @@
/////////////////////////////////////////////////
// INI_FILE: Require LANG_FILE
-define('LANG_FILE_HINT', DATA_HOME . LANG . '.lng.php')...
-define('LANG_FILE', DATA_HOME . UI_LANG . '.lng.ph...
+define('LANG_FILE_HINT', LANG . '.lng.php'); // For enc...
+define('LANG_FILE', UI_LANG . '.lng.php'); // For ...
$die = '';
foreach (array('LANG_FILE_HINT', 'LANG_FILE') as $langf...
if (! file_exists(constant($langfile)) || ! is_readabl...
-関連: [[BugTrack2/13]]: Korean(韓国語) support patch --...
//#comment
終了行:
RIGHT:&size(12){Category: [[:Internationalization]]};
*多言語対応関連 (使用言語の設定) [#v81c95b1]
-ページ: BugTrack
-投稿者: [[Ratbeta]]
-優先順位: 重要
-状態: 着手
-カテゴリー: その他
-投稿日: 2004-04-10 (土) 13:22:16
-バージョン:
**メッセージ [#n9286f99]
現行のPukiWikiでは、言語関連の設定をすべてinit.phpで行っ...
これをpukiwiki.ini.phpと*.lngに分ける必要があると思います。
修正案 : (長いのでコメントアウトしておきました)
//ja.lng 6行目 :
// //
// // PukiWiki message file (japanese)
//
// +define('SOURCE_ENCODING','EUC-JP');
// +define('SOURCE_LANG','Japanese');
// +
// ///////////////////////////////////////
// // page titles
//
//en.lng 6行目 :
// //
// // PukiWiki message file (english)
//
// +define('SOURCE_ENCODING','ISO-8859-1');
// +define('SOURCE_LANG','English');
// +
// ///////////////////////////////////////
// // page titles
//
//init.php 10行目 :
// // (E_WARNING | E_NOTICE)を除外しています。
// error_reporting(E_ERROR | E_PARSE);
//
// -/////////////////////////////////////////////////
// -// 初期設定 (文字エンコード、言語)
// -define('SOURCE_ENCODING','EUC-JP');
// -define('LANG','ja');
// -
// -mb_language('Japanese');
// -mb_internal_encoding(SOURCE_ENCODING);
// -ini_set('mbstring.http_input', 'pass');
// -mb_http_output('pass');
// -mb_detect_order('auto');
// -
//
// /////////////////////////////////////////////////
// // 初期設定(設定ファイルの場所)
//
//init.php 60(49)行目 :
// define('MUTIME',getmicrotime());
//
// /////////////////////////////////////////////////
// +// 設定ファイル読み込み
// +if (!file_exists(INI_FILE)||!is_readable(INI_FILE)) {
// + die_message(INI_FILE.' is not found.');
// +}
// +require(INI_FILE);
// +
// +/////////////////////////////////////////////////
// // 言語ファイル読み込み
// if (!file_exists(LANG.'.lng')||!is_readable(LANG.'.ln...
// die_message(LANG.'.lng(language file) is not f...
//
//init.php 67(63)行目 :
// require(LANG.'.lng');
//
// /////////////////////////////////////////////////
// -// 設定ファイル読み込み
// -if (!file_exists(INI_FILE)||!is_readable(INI_FILE)) {
// - die_message(INI_FILE.' is not found.');
// -}
// -require(INI_FILE);
// +// 初期設定 (文字エンコード、言語)
// +mb_language(SOURCE_LANG);
// +mb_internal_encoding(SOURCE_ENCODING);
// +ini_set('mbstring.http_input', 'pass');
// +mb_http_output('pass');
// +mb_detect_order('auto');
//
// /////////////////////////////////////////////////
// // 初期設定($script)
//
//pukiwiki.ini.php 35行目 :
// /////////////////////////////////////////////////
// // スキン/スタイルシートファイル格納ディレクトリ
// define('SKIN_DIR','./skin/');
// +/////////////////////////////////////////////////
// +// 使用する言語ファイル名
// +define('LANG','ja');
~
//一応動作確認してますが、もしかしたらバグが残っているか...
----
-別手法で実装されました。 -- [[merlin]] &new{2004-10-09 (...
-掘り出しお疲れ様です>[[merlin]] 言語設定自体は確かに [[...
-内部コンテンツのエンコーディングがUTF-8あるいはEUC-JPだ...
-修正内容がいろいろと乱雑ですんで見難いと思いますがご容赦...
-コメントありがとうございます :) 取り込むべきものはパッチ...
-現状の *.lng を例えば lang/ ディレクトリ (を作成してそこ...
- [[BugTrack/579]] Move language settings into language r...
--[[cvs:pukiwiki.ini.php]] (v1.4:1.88)
--[[cvs:en.lng]] (v1.4:1.28, 1.29)
--[[cvs:ja.lng]] (v1.4:1.27, 1.28)
--[[cvs:lib/init.php]] (v1.4:1.13, 1.14)
-- エンコーディングに関する設定をpukiwiki.ini.php から *....
-[[開発日記/2004-10-17]]で、処理がlib/init.phpに移動され...
-(バージョン関連の話題は[[ロードマップ]]へ移動)~
-私個人としては、互換さえ保たれていればいくらでも手を入れ...
-たしかに、この部分は *.lng にあるべきものですね。ついで...
-確かに変数にする方がいいですね。下の事項にも関わってきま...
//#comment
**第二段階 : 言語ファイルに不足がある場合はen.lngで補填す...
-追加された言語ファイルに最新版との不足がある場合は、表示...
-処理としてはen.lngをロードした後に de.lng などをロード(...
-処理の流れはそれでいいと思います。問題は、en.lngがなかっ...
-どちらも、en.lng の存在を大前提にすることで問題ないと思...
//#comment
**第三段階 : encode_hintとUTF-8関連 [#vb94ff9e]
-顕在化していない、もう一つの問題にも気づいています。現在...
-あ、狙っているのは、''PHPコードのエンコーディングはEUC-J...
--保ったまま運用を可能にする''こともできる''という理解で...
--そうですね・・・。現状よりは楽な運用環境を実現する事で...
--例えば、プラグインなどで、日本語には無い文字を表示した...
-pukiwiki.ini.php内でコンテンツのエンコードを指定する(あ...
-$encoding_hint はもともと、コンテンツがどんなエンコード...
-したがって、*.lng(この場合、ja.lng)に入れるのが筋だと思...
-ということは、(CJK含む)英語以外ではencoding_hintが必要と...
--CJKというよりは、1つの国でUTF-8以外の複数の文字コード...
--ちなみに、accept-charsetはあまり信用しないほうがいいか...
--見つけた (^^) [[PHP GET/POSTメソッドでの日本語の文字化...
-ふむふむ。「encoding_hintを消す」という案は、固定値のそ...
--encoding_hintについてはこのトリックが突破口になるかしら...
-ふむふむ…。じっくり読ませていただきました。最終的にどん...
//#comment
**余談 : 言語ファイルと複数Wiki [#y4cf66c5]
-言語ファイル(*.lng.php)は現状ではDATA_HOME以下に直接置く...
--- init.1.26.php Sun Feb 20 23:24:50 2005
+++ init.php Wed Feb 23 20:26:49 2005
@@ -82,8 +82,8 @@
/////////////////////////////////////////////////
// INI_FILE: Require LANG_FILE
-define('LANG_FILE_HINT', DATA_HOME . LANG . '.lng.php')...
-define('LANG_FILE', DATA_HOME . UI_LANG . '.lng.ph...
+define('LANG_FILE_HINT', LANG . '.lng.php'); // For enc...
+define('LANG_FILE', UI_LANG . '.lng.php'); // For ...
$die = '';
foreach (array('LANG_FILE_HINT', 'LANG_FILE') as $langf...
if (! file_exists(constant($langfile)) || ! is_readabl...
-関連: [[BugTrack2/13]]: Korean(韓国語) support patch --...
//#comment
ページ名: