自從使用 Poedit 來從事 WordPress 翻譯後,工作流程如下:
po 檔案可以寫一些設定讓 Poedit 可以這樣做,去年有寫過相關的文《簡單設定 poEdit 翻譯外掛》。
不過咧~這樣子的流程最近發現有問題:當某些地方有重複的字串,一處為單獨字串而另一處為複數型態時,複數字串就不會被 poedit 處理到,結果是只有單數被翻譯到。
搞了一陣子,無法透過設定解決,只好回到一般翻譯人員會使用的「從 POT 檔更新」來做。WordPress i18n 上頭的 wordpress.pot 是定時使用程式產生,另包涵了一些不太會用到的字串。總之我的決定是自己寫 shell script 來產生 POT 檔案,內容跟 i18n 提供的 wp-gettext 差不多。下面是我使用的 script:
#!/bin/sh
TEMPLATE=trunk.pot
cwd=`pwd`
cp /dev/null "$cwd/$TEMPLATE"
cd trunk
find . -name '*.php' -print \
| sed -e 's,^\./,,' \
| sort \
| xargs xgettext \
--keyword=__ \
--keyword=_e \
--keyword=_c \
--keyword=__ngettext:1,2 \
--keyword=__ngettext_noop:1,2 \
--default-domain=wordpress \
--language=php \
--output="$cwd/$TEMPLATE" \
--join-existing \
--from-code utf-8
cd "$cwd"
sed -i 's/\\r\\n/\\n/g' "$TEMPLATE"
因我的環境是 win32/Cygwin,svn 取得的 WordPress 源碼有些是 DOS 格式(!?),so…最後還要處理換行…Orz
最後,工作流程現在變成:
Comments
One response to “翻譯工作流程改變”
[…] 翻譯流程沒有改變,跟去年一樣。 作者:Kirin Lin | 分類:Surfing | 引用 | 迴響 | […]