diff --git a/autowaf.py b/autowaf.py index 413a5fa24f..188965c0c1 100644 --- a/autowaf.py +++ b/autowaf.py @@ -11,6 +11,8 @@ import misc import os import subprocess import sys +import glob + from TaskGen import feature, before, after global g_is_child @@ -436,3 +438,40 @@ def shutdown(): try: os.popen("/sbin/ldconfig") except: pass +def build_i18n(bld,srcdir,dir,name,sources): + pwd = bld.get_curdir() + os.chdir(os.path.join (srcdir, dir)) + + pot_file = '%s.pot' % name + + args = [ 'xgettext', + '--keyword=_', + '--keyword=N_', + '--from-code=UTF-8', + '-o', pot_file, + '--copyright-holder="Paul Davis"' ] + args += sources + print 'Updating ', pot_file + os.spawnvp (os.P_WAIT, 'xgettext', args) + + po_files = glob.glob ('po/*.po') + languages = [ po.replace ('.po', '') for po in po_files ] + + for po_file in po_files: + args = [ 'msgmerge', + '--update', + po_file, + pot_file ] + print 'Updating ', po_file + os.spawnvp (os.P_WAIT, 'msgmerge', args) + + for po_file in po_files: + mo_file = po_file.replace ('.po', '.mo') + args = [ 'msgfmt', + '-c', + '-o', + mo_file, + po_file ] + print 'Generating ', po_file + os.spawnvp (os.P_WAIT, 'msgfmt', args) + os.chdir (pwd) diff --git a/gtk2_ardour/wscript b/gtk2_ardour/wscript index 7d3f74f024..52a28f286f 100644 --- a/gtk2_ardour/wscript +++ b/gtk2_ardour/wscript @@ -478,5 +478,5 @@ def build(bld): bld.install_as (os.path.join (bld.env['PREFIX'], 'share', 'locale', lang, 'LC_MESSAGES', APPNAME + '.mo'), mo) def i18n(bld): - autowaf.build_i18n (bld, 'gtk2_ardour', APPNAME, gtk2_ardour_sources) + autowaf.build_i18n (bld, srcdir, 'gtk2_ardour', APPNAME, gtk2_ardour_sources) diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 14811eed50..b8d49febb9 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -372,4 +372,4 @@ def shutdown(): autowaf.shutdown() def i18n(bld): - autowaf.build_i18n (bld, 'libs/ardour', APPNAME, libardour_sources) + autowaf.build_i18n (bld, '..', 'libs/ardour', APPNAME, libardour_sources) diff --git a/wscript b/wscript index 69b531f93b..edd4b2dbc3 100644 --- a/wscript +++ b/wscript @@ -6,6 +6,7 @@ import re import string import subprocess import sys +import glob # Variables for 'waf dist' VERSION = '3.0pre0' @@ -31,7 +32,6 @@ children = [ 'gtk2_ardour' ] - i18n_children = [ 'gtk2_ardour', 'libs/ardour'