2011-03-18 39 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头正确填写。