Проблема с набором символов в xgettext и msgmerge - PullRequest
1 голос
/ 18 марта 2011

Я пытаюсь создать сценарий для создания файлов .po из моих исходных файлов и объединения его с существующим, чтобы мне не приходилось повторять перевод каждый раз, когда я обновляю свой веб-сайт.

Я основываю свой сценарий на этом посте в блоге 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 и недопустимую многобайтовую последовательность.

спасибо за любую помощь

1 Ответ

3 голосов
/ 18 марта 2011

Ваш переводчик забыл правильно заполнить заголовок Content-Type.

...