PmWiki 雖說支援多國語言,但並不是說不用設定就可以高興地去使用,至少在處理中文的部份就要設定一下,不然文章儲存起來,下次要再修改時,都會變成亂碼(顯示沒問題,在修改介面下所有中文字都變亂碼)。

解決中文內容儲存的問題

基本上這是設定問題,打開 pmwiki/local/config.php,在最後面加上一行設定

include_once('scripts/xlpage-utf-8.php');

如此一來,PmWiki 就可以順利地處理中文了!xlpage-utf-8.php在新版的 PmWiki 中,安裝後已經在 /script 目錄下,如果發現沒有這個檔案,下載下一段提及的 i18n.tgz ,裡面 /script 目錄下就有 xlpage-utf-8.php ,把它拷到 /pmwiki/script 目錄下即可。

將操作界面中文化

先下載 http://www.pmichaud.com/pub/pmwiki/i18n.tgz 這個檔案並解壓,i18n 這個名字其實就是代表 internationalization,因為字太長,把頭尾 i 跟 n 中間的 18 個英文字母以 18 來代稱!把 i18n.tgz 解壓之後,會產生兩個目錄 /script/wikilib.d ;把 /wikilib.d 裡面以 PmWikiZhTw 開頭的檔案全部拷貝到 /pmwiki/wikilib.d 目錄下。接著打開 /pmwiki/local/config.php 加入

XLPage('ZhTw','PmWikiZhTw.XLPage');

那麼 PmWiki 的介面就會部換成中文了!

中文檔名的問題

在 PmWiki 中,每一頁面的資料即對應到 /pmwiki/wiki.d 裡一個實體的文字檔。文字檔的命名規則是 群組.頁面命稱,舉例來說,在 Main 群組下新創建一個頁面叫 My Note,即實體的文字檔將會是 Main.MyNote 。不論是群組或是頁面,如果要換成中文,要注意-在 Windows 下有會有問題,但在 Unix 下沒有問題這個問題似乎在 Windows 下面還沒有比較好的解決方式,雖然已經通報到 PmWiki,但較佳的解決方法也只能等新版的 PmWiki 釋出才會知道。 根據PmWiki簡體中文站的討論,這個問題可以透過修改 pmwiki.php 來解決。

找出4行含有
$pagefile = $this->pagefile($pagename);
的程式碼,全部改成
$pagefile = $this->pagefile(urlencode($pagename));

找出1行含有
$o[] = $pagefile;
的程式碼,把它改成
$o[] = urldecode($pagefile);

這樣就可以成功的儲存中文 Wikiword 了。
 

banco 發表在 痞客邦 PIXNET 留言(0) 人氣()