diff options
author | Aleksey Lim <alsroot@member.fsf.org> | 2009-06-11 11:09:56 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@member.fsf.org> | 2009-06-11 11:41:36 (GMT) |
commit | e9361d633e8163e508a4dcde36c25c94f7e8b272 (patch) | |
tree | 3d20b380b50a9384b7c4665184ce64f6a346ab9a /aslo/po-update-pot.sh | |
parent | aa81b57856816069a87d962dc7fa29d8e0b8b689 (diff) |
ASLO-2
Diffstat (limited to 'aslo/po-update-pot.sh')
-rwxr-xr-x | aslo/po-update-pot.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/aslo/po-update-pot.sh b/aslo/po-update-pot.sh new file mode 100755 index 0000000..1c03ccb --- /dev/null +++ b/aslo/po-update-pot.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +root=$(cd $(dirname $0)/..; pwd) + +parse() { + cat $1 | awk "/^$/{if(out) print msg\"\n\"; msg=\"\"; out=0} /$2/{out=1} {if(\$0) msg=msg\"\n\"\$0}" +} + +merge() { + local in_po=$root/site/app/locale/$1/LC_MESSAGES/messages.po + local out_po=$root/aslo/po/$1.po + + [ -f $in_po ] || continue + echo -n "Update $lang " + + local tmp=`mktemp /tmp/po-update.XXXXXX` || exit 1 + + parse $in_po 'msgid ""' > $tmp + + for i in `cat $root/aslo/po/msgid`; do + parse $in_po "\"$i\"" >> $tmp + done + + touch $out_po + msgmerge --update --backup=none --no-fuzzy-matching $out_po $tmp + rm $tmp +} + +cd $root/site/app/locale +./extract-po.sh || exit 1 +./merge-po.sh ../messages.po en_US/ || exit 1 +merge en +cp $root/aslo/po/en.po $root/aslo/po/aslo.pot |