中文電脳/PukiWiki改造覚書 のバックアップソース(No.7)

''PukiWikiは、1.4.7で正式にUTF-8に対応しました。''

----

以下は、PukiWiki1.4.4台湾版(UTF-8)の日本語化、および、電脳瓦崗寨における機能強化に関する覚え書きである。多言語環境でPukiWikiを利用したい方は、導入時の参考にしていただきたい。

中国語が苦手な方は、日本語版のPukiWIき1.4.4もダウンロードしておき、適宜参照するとわかりやすい。

台湾版PukiWikiでは、日本語版のEUC-JPのままでも動作に支障ないファイルは、コードコンバートせずにそのまま使っている。そのままでも動作に問題はないが、気になるのであればUTF-8(BOM無し)にコンバートしてしまってもいいだろう。コンバートが必要なファイルについては、その旨明記する。

以下、上のコードがオリジナル、下が改修後。

*基本設定 [#o6a6a150]

**\lib\init.php [#i12217d6]

EUC-JP。コンバートはしなくても大丈夫。

:l.14 動作言語の設定|
define('LANG', '%%tw%%');	// Select 'ja' or 'en'&br;
define('LANG', 'ja');	// Select 'te' or 'en'

:l.18|
mb_language('%%Chinese%%');&br;
mb_language('Japanese');

**ja.lng [#l141eb43]

EUC-JPからUTF-8にコンバート。
**\skin\pukiwiki.skin.ja.php [#m1fc2015]

EUC-JPからUTF-8にコンバート。

:l.10|header('Content-Type: text/html; charset=%%EUC-JP%%');&br;header('Content-Type: text/html; charset=UTF-8');

:l.11|
echo '<?xml version="1.0" encoding="%%EUC-JP%%"?>';
&br;
echo '<?xml version="1.0" encoding="UTF-8"?>';

:l.22| <meta http-equiv="content-type" content="application/xhtml+xml; charset=%%EUC-JP%%" />&br;<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

他のスキンファイルやCSSをWeb上で入手したり自作したりして利用する場合も、同様の設定が必要になる。

携帯用スキンkeitai.skin.ja.phpについても、設定変更が必要になると思われるが、寨主は携帯ではWebを見ないので、設定していない。


**pukiwiki.ini.php [#r6ff0626]

同ファイルは、コメントが台湾国語に書き換えられているので、日本語版のPukiWikiの同ファイルと対照するとわかりやすい。

:l.47~49|Weblogページ名称とタイトルの設定

:l.61 WikiNameが有効に成らない場合はここをOFFに|$nowikiname = %%1%%;&br;$nowikiname = 0;

:l.306 前行の説明にあるように、config.phpは、pukiwiki.ini.phpの設定を上書きする。このため、この行をコメントアウトしてconfig.phpを無効化した方がよい。|require('config.php');&br;//require('config.php');

**config.php [#k3cf6114]

無効化しない場合は、pukiwiki.ini.phpと設定を揃える。

*多言語対応設定 [#ef551b93]

**default.ini.php [#yffceda5]

EUC-JP。コンバートは必要ない。

:l.90以下|spanタグによる言語指定のためのルールを追加&br;"&amp;lang\(([^\(\)]*)\){([^}]*)}" => '<span lang="$1">$2</span>',

*小見出しランクの増加 [#a316707b]

現状の3ランクから5ランクに

**\lib\html.php [#n59e751b]

euc-jp。コンバートは不要。

:l.324|if (preg_match('/^(\*{0,%%3%%})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m',$str,$matches))&br;
if (preg_match('/^(\*{0,5})(.*?)\[#([A-Za-z][\w-]+)\](.*?)$/m',$str,$matches))

:l.331|$str = preg_replace('/^\*{0,%%3%%}/','',$str);&br;
$str = preg_replace('/^\*{0,5}/','',$str);

**\lib\convert_html.php [#zbc4a116]

:l.184|$this->level = min(%%3%%, strspn($text, '*'));&br;
$this->level = min(5, strspn($text, '*'));

*その他 [#re4496e7]

ヘルプなどのファイルは、日本語版のPukiWikiから移植する必要がある。ただ、日本語版のファイルを、EUC-JPからUTF-8にコンバートしてそのままWikiディレクトリにぶち込むと、英数名称ファイルはいいのだが、日本語ファイル名のものについてはファイル名が文字化けする。それらのファイルは、スクリプトを書いて、ファイル名を一括置換するしかない。

が、面倒だろうから、置換したファイルを添付してしまいます(笑)。