自製WordPress-mu 2.7的繁體中文語言檔[修訂]

打算在公司裡安裝WordPress Multi-User(mu),讓各部門能自行管理與張貼各部門的文章,沒想到最新的2.7版竟然沒有繁體中文的語言檔!怪哉,在WordPress的高使用率下,WordPress-mu真的沒有人在使用嗎?搜尋了一會也找不到有先進編製的檔案,只好自己解決了。

幸好對岸同好有製作出簡體中文版,因此下載來修改:

  • 把簡體語言的文字檔zh_CN.po複製成zh_TW.po;另外有一個zh_CN.php似乎是將預設樣式修改成更符合中文環境,也順便轉檔並命名成zh_TW.php
  • ConvertZ將zh_TW.po將簡體轉換為繁體
  • 用文書編輯程式修改zh_TW.po,將大陸的術語變更為台灣慣用的名詞,例如:默認→預設、文檔→文件、激活→啟用、插件→外掛、回復→回覆等
  • 再用Poedit讀入zh_TW.po,再另存成zh_TW.mo(WordPress使用的語言二進位檔)
  • 建立語言資料夾:wp-content/languages
  • 將zh_TW.po、zh_TW.mo、zh_TW.php與zh_CN.*全複製到laguages裡
  • 到後台管理將設定語言改成Twi就能變更成繁體中文,選Chinese則是簡體中文。有人知道如何把Twi、Chinese換成Traditional-Chinese與Simplified-Chinese字樣嗎?

下載

將下列檔案解開後複製到wp-content/languages裡即可。

  • 自製繁體中文語言檔2009/02/12更新:下載網址

2009/02/12修訂

經由網友留言得知語言選項要修改wp-admin/includes/mu.php,我使用以下步驟後已能使用語言選項呈現English、Traditional-Chinese與Simplified-Chinese三種:

  • 編輯mu.php第472行:
    • 找’zh’,將’Chinese’改成’Simplified-Chinese’
    • 找’tw’,將’Twi’改成’Traditional-Chinese’
  • 由第471行中的 $code = strtolower(substr($code, 0, 2)); 可以看出語言代碼只取開頭2碼
  • 將zh_CN.*改名為zh.*
  • 將zh_TW.*改名為tw.*

大功告成!

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

10 個回應

  1. 史考皮爾斯表示:

    剛好有看到順便分享給你,不曉得他從甚麼時候開始提供MU版的@@|||
    WordPress 中文語系檔整理:http://blog.beyes.tw/296

  2. Benson表示:

    一直在想 有沒有多人的版本可以使用
    現在有中文化
    用起來會方便很多
    但是我好奇的是
    如果我用Zoundry Writer會不會有編輯的問題

  3. 簡睿:表示:

    不知是否是SkyDrive的問題?

    我搬到自己主機裡了,請重新下載。

  4. kb表示:

    跟樓上一樣,無法下載檔案……….可否再提供,謝謝。

  5. dl7und表示:

    無法下載……? 空視窗,沒有檔案…… :-(

  6. 北極海浮冰表示:

    有相關問題可以到此發問http://scorpiusnotes.blogspot.com/

  7. 北極海浮冰表示:

    function new_mu_dropdown_languages( $output, $lang_files, $current ) {
    $flag = false;
    $output = array();

    foreach ( (array) $lang_files as $val ) {
    $code_lang = basename( $val, ‘.mo’ );

    if ( $code_lang == ‘en_US’ ) { // American English
    $flag = true;
    $ae = __(‘American English’);
    $output[$ae] = ‘ ‘.$ae.”;
    } elseif ( $code_lang == ‘en_GB’ ) { // British English
    $flag = true;
    $be = __(‘British English’);
    $output[$be] = ‘ ‘.$be.”;
    } elseif ( $code_lang == ‘zh_CN’ ) { // 簡體中文
    $ce = ‘Simple Chinese’;
    $output[$ce] = ”.$ce.”;
    } elseif ( $code_lang == ‘zh_TW’ ) { // 繁體中文
    $de = ‘Traditional Chinese’;
    $output[$de] = ”.$de.”;
    } else {
    $translated = format_code_lang($code_lang);
    $output[$translated] = ‘ ‘.$translated.”;
    }

    }

    if ( $flag === false ) { // WordPress english
    $output[] = ”.__(‘English’).””;
    }

    // Order by name
    uksort($output, ‘strnatcasecmp’);

    // $output = apply_filters(‘mu_dropdown_languages’, $output, $lang_files, $current);
    // echo implode(“\n\t”, $output);
    return $output;
    }

    add_filter( ‘mu_dropdown_languages’, ‘new_mu_dropdown_languages’, 100, 3 );

    —以上內容請存成 *.php,然後放到 mu-plugins 資料夾下即可。

  8. topurpleg表示:

    修改語言的名稱,請開啟 wp-admin\includes\mu.php 移動到 472 行
    這邊似乎是使用語系檔的前兩個字母去判定的…
    也就是說前面是zh的就會顯示Chinese…
    即使我同時放置了zh_TW和zh_CN兩組語系檔…
    也是只顯示一個Chinese…
    後來我更改zh_TW為tw_TW…
    此時才會同時顯示Chinese和Twi
    所以我不了解為什麼站長的可以同時顯示這兩組語系??…@@

發佈留言

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