搞了老半天的drupal 6.x tincymce 3.x 中文化

ㄚ琪琪的家最近在換血中,ㄚ琪很習慣用wordpress的tinymce的編輯功能,也查到了drupal也是可以用tinymce的,依據所見即所得編輯器 + 圖片上傳 (tinymce + img_assist)做設定,也不知怎麼搞的一直沒有中文介面出現:

搞了一堆的中文語言包,有舊的也有新的,頭殼已經亂的不知要弄哪一種語言包了?

TinyMCE的網站上就有這兩種跟中文有關的語言包,照規定放了也不見中文出現,又找了一堆很多有愛心的網友釋出的語言包也是無效。

後來只好靜下心來看TinyMCE的手冊及程式碼了,定制 – 创建一个语言包,這一篇有提到中文化必須注意的幾個檔案:

/tinymce/jscripts/tiny_mce/langs/en.js
/tinymce/jscripts/tiny_mce/plugins/<plugin>/langs/en.js
/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js

我回到我的安裝目錄,我竟然發現我亂搞之下有這麼多的js檔:en.js、tw.js、zh.js、zh-tw.js、zh_tw_utf8.js。

因為我的Ubuntu是utf-8的環境,所以我猜這個zh_tw_utf8.js應該是我要下手的一個檔案,而且在drupal的編輯 tinymce 設定檔中,語言的選單也有三個關於中文的選項:

雖然我不知道我是怎麼搞出這三個選項的,沒有紀錄操作步驟,是很傷腦筋的不好習慣,不過這個zh_tw_utf8跟我的安裝目錄中的zh_tw_utf8.js應該是有對應的(我的直覺),打開zh_tw_utf8.js一看:

這個數位應用坊做的這個js檔,是用tinyMCE.addToLang開頭這幾行寫的,而我看其他幾個en.js、zh.js及tw.js,像tw.js:

他們都是用tinyMCE.addI18n開頭的,很好奇這之間的差異,TinyMCE:Migration guide,這篇維基百科解決了我的疑惑,原來這是TinyMCE 2.x 跟 3.x 之間的差異:

Language file format:

  • Old: tinyMCE.addToLang(‘pluginName’,{ stringName: ‘string_value’, … stringName_n: ‘stringValue_n’});
  • New: tinyMCE.addI18n(‘en.pluginName’,{ stringName: ‘string_value’, … stringName_n: ‘stringValue_n’});

我記得我是用Version: 3.2.0.2的,所以這個zh_tw_utf8.js是舊的,我只好把它拋棄,並想辦法試試tw.js改成zh_tw_utf8.js,不過仍然不行,在重看一次原始碼:

tinyMCE.addI18n({tw

如果tw是配tw.js的話,那麼zh_tw_utf8.js應該要配zh_tw_utf8才對,所以將zh_tw_utf8.js再改成像這樣:

由於我的drupal tinymce的theme是用advanced的,看到上面非中文化的畫面不是有avvanced.###的嗎,所以在/tinymce/jscripts/tiny_mce/themes/advanced/langs裡的js也要這樣改,最後再回去drupal的編輯畫面看:

看到中文了沒,總算成功了,呼,接下來我就可以在我的ㄚ琪琪的家快樂的寫ADODB的翻譯手冊了!

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *