pull-from-transifex.sh: support multiple translators
authorDaniel Albers <daniel@lbe.rs>
Tue, 31 Jan 2012 00:34:26 +0000 (01:34 +0100)
committerDaniel Albers <daniel@lbe.rs>
Tue, 14 Feb 2012 21:43:02 +0000 (22:43 +0100)
po/pull-from-transifex.sh

index cbefc82..e5dd6b1 100755 (executable)
@@ -1,15 +1,15 @@
 #!/bin/bash
 
-tx pull &&
+tx pull $* &&
 git add po/*.po && (
   translators=$(while read mode pofile; do
-    translator=$(perl -ne 's/^"Last-Translator: (.*?)(?:\\n)?"$/\1/ && print $1;' ${pofile})
+    translator=$(git diff --cached -- ${pofile} | perl -le 'while (<>) { if (/^\+(?:#|.*?:) *(.*?)(<[^@>]+@[^>]+>)/p) { $xltrs{$2} = $1 unless $xltrs{$2}; } last if /^\+"Last-Translator: /; }; push(@out, $n.$e) while (($e, $n) = each %xltrs); print(join(", ", @out));')
     lang=${pofile%.po}
     lang=${lang#po/}
     echo " - ${lang}: ${translator}"
   done < <(git status --porcelain po/*.po | egrep '^[AM]  '))
 
-  git commit -m "Update translations from Transifex
+  git commit -em "Update translations from Transifex
 
 Many thanks to:
 ${translators}" po/*.po