2011-03-18 78 views
1

我正在嘗試使用腳本從我的源文件創建一個.po文件&將它與現有的文件合併,因此我無需每次更新我的網站時都要重做翻譯。xgettext和msgmerge的字符集問題

我在此基礎上的博客文章http://www.lxg.de/code/playing-with-xgettext

這裏我的劇本是什麼,我試圖運行:

#!/bin/bash 
if [ $# -eq 1 ] 
then 
    if [ -d "./locale/$1" ] 
    then 
     echo '' > "./locale/$1/msg_tmp.po" 
     find . -type f -iname "*.php" | xgettext -j --from-code="utf-8" -o "./locale/$1/msg_tmp.po" -f - 
     msgmerge -N "./locale/$1/msg.po" "./locale/$1/msg_tmp_iconv.po" > "./locale/$1/msg_new.po" 
     mv "./locale/$1/msg_new.po" "./locale/$1/msg.po" 
     rm "./locale/$1/msg_tmp.po" 
     rm "./locale/$1/msg_tmp_iconv.po" 
    else 
     echo The directory locale/$1 does not exist 
    fi 
else 
    echo Locale not specified 
fi 

的問題是與msgmerge命令,它會抱怨非ASCII字符串&無效的多字節序列。

感謝您的幫助

回答

3

你的翻譯忘了在Content-Type頭正確填寫。