summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i18n.py16
-rw-r--r--src/lib/wscript2
-rw-r--r--src/tools/wscript6
-rw-r--r--src/wscript4
-rw-r--r--src/wx/wscript6
-rw-r--r--wscript5
6 files changed, 13 insertions, 26 deletions
diff --git a/i18n.py b/i18n.py
index c22cbdb95..ab7f6843b 100644
--- a/i18n.py
+++ b/i18n.py
@@ -17,15 +17,11 @@ def pot(dir, sources, name, all = False):
os.system('xgettext -d %s -s --keyword=_ --add-comments=/ -p %s -o %s.pot %s' % (name, os.path.join('build', dir), name, s))
-def po_to_mo(dir, name):
- for f in glob.glob(os.path.join(dir, 'po', '*.po')):
-
+def po_to_mo(dir, name, bld):
+ for f in glob.glob(os.path.join(os.getcwd(), dir, 'po', '*.po')):
lang = os.path.basename(f).replace('.po', '')
- out = os.path.join('build', dir, 'mo', lang, '%s.mo' % name)
- try:
- os.makedirs(os.path.dirname(out))
- except:
- pass
+ po = os.path.join('po', '%s.po' % lang)
+ mo = os.path.join('mo', lang, '%s.mo' % name)
- os.system('msgfmt %s -o %s' % (f, out))
- Logs.info('%s -> %s' % (f, out))
+ bld(rule = 'msgfmt ${SRC} -o ${TGT}', source = bld.path.make_node(po), target = bld.path.get_bld().make_node(mo))
+ bld.install_files(os.path.join('${PREFIX}', 'share', 'locale', lang, 'LC_MESSAGES'), mo)
diff --git a/src/lib/wscript b/src/lib/wscript
index 59047c70d..6ddb94851 100644
--- a/src/lib/wscript
+++ b/src/lib/wscript
@@ -68,5 +68,7 @@ def build(bld):
obj.source = sources
obj.target = 'dvdomatic'
+ i18n.po_to_mo(os.path.join('src', 'lib'), 'libdvdomatic', bld)
+
def pot(bld):
i18n.pot(os.path.join('src', 'lib'), sources, 'libdvdomatic')
diff --git a/src/tools/wscript b/src/tools/wscript
index de130ce17..64d5efe56 100644
--- a/src/tools/wscript
+++ b/src/tools/wscript
@@ -23,9 +23,7 @@ def build(bld):
obj.source += ' ../../windows/dvdomatic.rc'
obj.target = t
+ i18n.po_to_mo(os.path.join('src', 'tools'), 'dvdomatic', bld)
+
def pot(bld):
i18n.pot(os.path.join('src', 'tools'), 'dvdomatic.cc', 'dvdomatic')
-
-def mo(bld):
- i18n.po_to_mo(os.path.join('src', 'tools'), 'dvdomatic')
-
diff --git a/src/wscript b/src/wscript
index abe39894d..f7f888acd 100644
--- a/src/wscript
+++ b/src/wscript
@@ -12,7 +12,3 @@ def pot(bld):
bld.recurse('lib')
bld.recurse('wx')
bld.recurse('tools')
-
-def mo(bld):
- bld.recurse('wx')
- bld.recurse('tools')
diff --git a/src/wx/wscript b/src/wx/wscript
index a0a4bbe8b..92ff440cd 100644
--- a/src/wx/wscript
+++ b/src/wx/wscript
@@ -38,9 +38,7 @@ def build(bld):
obj.source = sources
obj.target = 'dvdomatic-wx'
+ i18n.po_to_mo(os.path.join('src', 'wx'), 'libdvdomatic-wx', bld)
+
def pot(bld):
i18n.pot(os.path.join('src', 'wx'), sources, 'libdvdomatic-wx')
-
-def mo(bld):
- i18n.po_to_mo(os.path.join('src', 'wx'), 'libdvdomatic-wx')
-
diff --git a/wscript b/wscript
index 16ef91f3b..f3df9cfed 100644
--- a/wscript
+++ b/wscript
@@ -23,7 +23,7 @@ def configure(conf):
conf.env.append_value('CXXFLAGS', ['-D__STDC_CONSTANT_MACROS', '-msse', '-mfpmath=sse', '-ffast-math', '-fno-strict-aliasing',
'-Wall', '-Wno-attributes', '-Wextra',
- '-DLOCALE_DIR="%s/share/locale"' % conf.env.prefix])
+ '-DLOCALE_DIR="%s/share/locale"' % conf.env['PREFIX']])
if conf.options.target_windows:
conf.env.append_value('CXXFLAGS', ['-DDVDOMATIC_WINDOWS', '-DWIN32_LEAN_AND_MEAN', '-DBOOST_USE_WINDOWS_H', '-DUNICODE'])
@@ -267,6 +267,3 @@ def post(ctx):
def pot(bld):
bld.recurse('src')
-
-def mo(bld):
- bld.recurse('src')