產生 WordPress 核心的翻譯範本

主要是利用 WP-CLI 這一個方便的工具,來將 WordPress 核心程式當中所有可以本地化的字串解析出來。

本篇文章就很簡單地給出你需要使用的指令碼,至於如何讓你的電腦可以運作該行指令就不是這篇文章想要處理的問題了。

先來一個簡單版本的,將核心程式中所有的字串解析出來觀看。

php -d memory_limit=512M wp-cli.phar i18n make-pot "./wordpress" "./all.pot" --ignore-domain

但是這樣產生出來的內容,跟目前官方提供的有一點不一樣。
一來是因為你下載到的 WordPress 裡面已經內建一個外掛了,所以字串數量會比真實情況還要多。
二來是因為目前有根據實際上字串的使用情境,切分成四個不同的檔案。
所以就變化一下語法來生出符合的 4 個檔案吧!

php -d memory_limit=512M wp-cli.phar i18n make-pot "./wordpress" "./base.pot" --exclude="wp-admin,wp-content/plugins/akismet,wp-content/themes,wp-includes/class-pop3.php" --ignore-domain
php -d memory_limit=512M wp-cli.phar i18n make-pot "./wordpress" "./admin.pot" --exclude="wp-admin/network.php,wp-admin/includes/continents-cities.php,wp-admin/includes/network.php,wp-admin/includes/class-wp-ms-*.php,wp-admin/network,wp-content/plugins/akismet,wp-content/themes,wp-includes/class-pop3.php" --subtract="./base.pot" --ignore-domain
php -d memory_limit=512M wp-cli.phar i18n make-pot "./wordpress" "./admin-network.pot" --exclude="wp-admin/includes/continents-cities.php,wp-content/plugins/akismet,wp-content/themes,wp-includes/class-pop3.php" --subtract="./base.pot,./admin.pot" --ignore-domain
php -d memory_limit=512M wp-cli.phar i18n make-pot "./wordpress" "./continents-cities.pot" --exclude="wp-content/plugins/akismet,wp-content/themes,wp-includes/class-pop3.php" --subtract="./base.pot,./admin.pot,./admin-network.pot" --ignore-domain

最後,同場加映如何產生本地化所使用到的 .json 檔案,首先你要先用上面的方法產出 .pot 檔案,然後將那個檔案進行很辛苦的處理後就可以取得一個包含完整本地化字串的 .po 檔案。
最後當然就是跑以下指令搞定一切。

php -d memory_limit=512M wp-cli.phar i18n make-json "./base.po" "./" --no-purge

發表留言

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

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料