2011-03-18 4 views
1

원본 파일에서 .po 파일을 만드는 스크립트를 만들려고합니다. &은 기존 파일과 병합되므로 내 웹 사이트를 업데이트 할 때마다 번역을 다시 할 필요가 없습니다. .xgettext & msgmerge의 문자 집합 문제

#!/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 명령이다, 그것은 비 아스키 문자열에 대해 불평 :이 블로그 게시물 여기 http://www.lxg.de/code/playing-with-xgettext

내 스크립트를 내놓고있어

내가 실행하는 데 노력하고있어입니다 & 멀티 바이트 시퀀스가 ​​잘못되었습니다. 어떤 도움

답변

3

에 대한

덕분에 당신의 번역기가 제대로 Content-Type 헤더에 기입하는 것을 잊었다.