Commit cc22837a authored by Matthias Andree's avatar Matthias Andree

Helper script to commit PO updates to Git.

parent 77694588
#!/bin/sh
set -eu
# see if Perl has Carp::Always available:
perl -MCarp::Always -e ''
git diff -G ^.Project-Id-Version --name-only po/*.po \
| while read pofile ; do
if ! cmd="$(perl -WT - "$pofile" <<'_EOF'
use strict;
use Carp::Always ();
use warnings FATAL => 'uninitialized';
my ($ver, $dat, $trl, $lang, $lcod, $found);
while(<>)
{
if (/^"Project-Id-Version: (.+)\\n"/) { $ver=$1 };
if (/^"PO-Revision-Date: (.+)\\n"/) { $dat=$1 };
if (/^"Last-Translator: (.+)\\n"/) { $trl=$1 };
if (/^"Language-Team: ([^<]+?)\s+<.*>\\n"/)
{ $lang=$1 };
if (/^"Language: (.+)\\n"/) { $lcod=$1 };
if ($ver and $dat and $trl and $lang and $lcod) {
$found = 1;
last;
}
}
if ($found) {
print "git commit --author '$trl' --date '$dat' -m 'Update <$lcod> $lang translation to $ver'"
} else {
exit(1);
}
_EOF
)"
then
echo >&2 "Parsing $pofile failed, skipping."
continue
fi
cmd="$cmd '$pofile'"
printf '+ %s\n' "$cmd"
eval "$cmd"
done
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment