build: integrate po files in the build system
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 19 May 2009 02:18:28 +0000 (02:18 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 19 May 2009 02:18:28 +0000 (02:18 +0000)
36 files changed:
Makefile
applications/luci-asterisk/Makefile
applications/luci-coovachilli/Makefile
applications/luci-ddns/Makefile
applications/luci-ffwizard-leipzig/Makefile
applications/luci-fw/Makefile
applications/luci-hd_idle/Makefile
applications/luci-initmgr/Makefile
applications/luci-livestats/Makefile
applications/luci-mmc_over_gpio/Makefile
applications/luci-ntpc/Makefile
applications/luci-olsr/Makefile
applications/luci-openvpn/Makefile
applications/luci-p910nd/Makefile
applications/luci-polipo/Makefile
applications/luci-qos/Makefile
applications/luci-samba/Makefile
applications/luci-siitwizard/Makefile
applications/luci-splash/Makefile
applications/luci-statistics/Makefile
applications/luci-tinyproxy/Makefile
applications/luci-upnp/Makefile
applications/luci-ushare/Makefile
applications/luci-uvc_streamer/Makefile
build/i18n-po2lua.pl
build/module.mk
i18n/english/Makefile
i18n/french/Makefile
i18n/german/Makefile
i18n/greek/Makefile
i18n/italian/Makefile
i18n/japanese/Makefile
i18n/portuguese_brazilian/Makefile
i18n/russian/Makefile
libs/uvl/Makefile
modules/freifunk/Makefile

index 0f0d3aa..1b9e259 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -14,8 +14,12 @@ build: gccbuild luabuild
 gccbuild:
        for i in $(MODULES); do make -C$$i compile; done
 
-luabuild:
-       for i in $(MODULES); do make -C$$i luabuild; done
+luabuild: i18nbuild
+       for i in $(MODULES); do HOST=$(realpath host) make -C$$i luabuild; done
+
+i18nbuild:
+       mkdir -p host/lua-po
+       ./build/i18n-po2lua.pl ./po host/lua-po
 
 clean:
        rm -rf docs
index 81a96f6..1b8cf53 100644 (file)
@@ -1,2 +1,4 @@
+PO = asterisk
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..a98ccb8 100644 (file)
@@ -1,2 +1,4 @@
+PO = coovachilli
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..3f57d63 100644 (file)
@@ -1,2 +1,4 @@
+PO = ddns
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..a4f7c76 100644 (file)
@@ -1,2 +1,4 @@
+PO = 
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..87e881d 100644 (file)
@@ -1,2 +1,4 @@
+PO = luci-fw
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..d70bb87 100644 (file)
@@ -1,2 +1,4 @@
+PO = hd_idle
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..5e05cb7 100644 (file)
@@ -1,2 +1,4 @@
+PO = initmgr
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..9ee051c 100644 (file)
@@ -1,2 +1,4 @@
+PO = livestats
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index f7fac77..3f031cb 100644 (file)
@@ -1,2 +1,4 @@
+PO = mmc_over_gpio
+
 include ../../build/config.mk
 include ../../build/module.mk
index 81a96f6..392e8fe 100644 (file)
@@ -1,2 +1,4 @@
+PO = ntpc
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..119cffc 100644 (file)
@@ -1,2 +1,4 @@
+PO = olsr
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..f394a81 100644 (file)
@@ -1,2 +1,4 @@
+PO = openvpn
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index f7fac77..30073fb 100644 (file)
@@ -1,2 +1,4 @@
+PO = p910nd
+
 include ../../build/config.mk
 include ../../build/module.mk
index f7fac77..4f5743f 100644 (file)
@@ -1,2 +1,4 @@
+PO = polipo
+
 include ../../build/config.mk
 include ../../build/module.mk
index 81a96f6..ef79869 100644 (file)
@@ -1,2 +1,4 @@
+PO = qos
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..e91079b 100644 (file)
@@ -1,2 +1,4 @@
+PO = samba
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..a4f7c76 100644 (file)
@@ -1,2 +1,4 @@
+PO = 
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..a4f7c76 100644 (file)
@@ -1,2 +1,4 @@
+PO = 
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..ff3d670 100644 (file)
@@ -1,2 +1,4 @@
+PO = statistics rrdtool
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..0123c16 100644 (file)
@@ -1,2 +1,4 @@
+PO = tinyproxy
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..2f850c6 100644 (file)
@@ -1,2 +1,4 @@
+PO = upnp
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index f7fac77..9b0a6e4 100644 (file)
@@ -1,2 +1,4 @@
+PO = ushare
+
 include ../../build/config.mk
 include ../../build/module.mk
index 81a96f6..eb78c93 100644 (file)
@@ -1,2 +1,4 @@
+PO = uvc_streamer
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 38e6529..8466fd9 100755 (executable)
@@ -20,11 +20,14 @@ if( open F, "find $source_dir -type f -name '*.po' |" )
        {
                if( open L, "< $file" )
                {
-                       my ( $basename ) = $file =~ m{.+/([^/]+\.[\w\-]+)\.po$};
-
-                       if( open D, "> $target_dir/$basename.lua" )
+                       my $content = 0;
+                       my ( $lang, $basename ) = $file =~ m{.+/(\w+)/([^/]+)\.po$};
+                       $lang = lc $lang;
+                       $lang =~ s/_/-/g;
+                       
+                       if( open D, "> $target_dir/$basename.$lang.lua" )
                        {
-                               printf "Generating %-40s ", "$target_dir/$basename.lua";
+                               printf "Generating %-40s ", "$target_dir/$basename.$lang.lua";
 
                                my ( $k, $v );
 
@@ -44,21 +47,26 @@ if( open F, "find $source_dir -type f -name '*.po' |" )
                                        }
                                        else
                                        {
-                                               if( $k && defined($v) )
+                                               if( $k && defined($v) && length($v) > 0 )
                                                {
                                                        $v =~ s/\\(['"\\])/$1/g;
                                                        $v =~ s/(['\\])/\\$1/g;
 
-                                                       printf D "%s%s='%s'\n", $v ? '' : '--', $k, $v;
+                                                       printf D "%s='%s'\n", $k, $v;
+                                                       $content++;
                                                }
                
                                                $k = $v = undef;
                                        }
                                }
 
-                               print "done\n";
+                               print $content ? "done ($content strings)\n" : "empty\n";
 
                                close D;
+
+
+                               unlink("$target_dir/$basename.$lang.lua")
+                                       unless( $content > 0 );
                        }
 
                        close L;
index de86855..6aeb9ba 100644 (file)
@@ -8,17 +8,13 @@ all: build
 
 build: luabuild gccbuild
 
-luabuild: i18n lua$(LUA_TARGET)
+luabuild: lua$(LUA_TARGET)
 
 gccbuild: compile
 compile:
 
 clean: luaclean
 
-i18n:
-       [ -n "$(XSLTPROC)" ] && for i in luasrc/i18n/*.xml; do [ "$$i" -nt "$${i%%[.]xml}.lua" ]\
-       && $(XSLTPROC) $(MAKEPATH)i18n-lua-xhtml1.xsl $$i > $${i%%[.]xml}.lua; done || true
-
 luasource:
        mkdir -p dist$(LUA_MODULEDIR)
        mkdir -p dist$(LUCI_MODULEDIR)
@@ -28,7 +24,11 @@ luasource:
        cp -pR lua/* dist$(LUA_MODULEDIR) 2>/dev/null || true
        cp -pR htdocs/* dist$(HTDOCS) 2>/dev/null || true
        for i in $$(find dist -name .svn -or -name .gitignore); do rm -rf $$i || true; done
-       for i in dist$(LUCI_MODULEDIR)/i18n/*.xml; do [ -f "$$i" ] && rm $$i; done || true
+  ifneq ($(PO),)
+       for file in $(PO); do \
+         cp $(HOST)/lua-po/$$file.*.lua dist$(LUCI_MODULEDIR)/i18n/; \
+       done
+  endif
 
 
 luastrip: luasource
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7e4c710 100644 (file)
@@ -1,2 +1,4 @@
+PO = default cbi admin-core sysauth wifi
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..7901e22 100644 (file)
@@ -1,2 +1,4 @@
+PO = uvl
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk
index 81a96f6..82c5b13 100644 (file)
@@ -1,2 +1,4 @@
+PO = freifunk
+
 include ../../build/config.mk
-include ../../build/module.mk
\ No newline at end of file
+include ../../build/module.mk