build: rework i18n-sync.sh to support new structure
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 20 Apr 2015 08:17:23 +0000 (10:17 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 20 Apr 2015 08:17:23 +0000 (10:17 +0200)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
build/i18n-sync.sh

index 430e13f28db9e24e57206c59cf791eda88056877..d4f966658565ab1bdc5acdbf7858595ab338df52 100755 (executable)
@@ -1,25 +1,18 @@
 #!/bin/sh
 
-for m in */*/Makefile; do
-       if grep -qE '^PO *=' $m; then
-               p="${m%/Makefile}"
-               t="$(sed -ne 's/^PO *= *//p' $m)"
+[ -d ./build ] || {
+       echo "Execute as ./build/i18n-sync.sh" >&2
+       exit 1
+}
 
-               case "$t" in
-                       *\ *)
-                               echo "WARNING: Cannot handle $p" >&2
-                               continue
-                       ;;
-                       *base*)
-                               continue
-                       ;;
-               esac
+./build/mkbasepot.sh
 
-               if [ -f "po/templates/$t.pot" ]; then
-                       ./build/i18n-scan.pl "$p" > "po/templates/$t.pot"
-               fi
-       fi
-done
+find . -name '*.pot' -and -not -name base.pot -and -not -name rrdtool.pot | \
+       while read path; do
+               dir="${path%/po/templates/*}"
+               echo -n "Updating ${path#./} ... "
+               ./build/i18n-scan.pl "$dir" > "$path"
+               echo "done"
+       done
 
-./build/mkbasepot.sh
-./build/i18n-update.pl po
+./build/i18n-update.pl