Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/aslo/po-update-pot.sh
diff options
context:
space:
mode:
authorAleksey 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)
commite9361d633e8163e508a4dcde36c25c94f7e8b272 (patch)
tree3d20b380b50a9384b7c4665184ce64f6a346ab9a /aslo/po-update-pot.sh
parentaa81b57856816069a87d962dc7fa29d8e0b8b689 (diff)
ASLO-2
Diffstat (limited to 'aslo/po-update-pot.sh')
-rwxr-xr-xaslo/po-update-pot.sh33
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