X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=i18n.py;h=8e2fd6404e5d4d031c92fc31f72727b1ba95fad0;hb=ffd67de21310dfaca4b379c2a9869ea6ce946fd6;hp=10eaa38e900578536d92bded978853d8efb6be58;hpb=8bb4ba8f424cac07f7730fca99d5333fcd76a84d;p=dcpomatic.git diff --git a/i18n.py b/i18n.py index 10eaa38e9..8e2fd6404 100644 --- a/i18n.py +++ b/i18n.py @@ -10,18 +10,20 @@ def pot(dir, sources, name): s += (os.path.join(dir, t)) + " " Logs.info('Making %s.pot' % os.path.join('build', dir, name)) - os.system('xgettext -d %s -s --keyword=_ -p %s -o %s.pot %s' % (name, os.path.join('build', dir), name, s)) + d = os.path.join('build', dir) + try: + os.makedirs(d) + except: + pass + + os.system('xgettext -d %s -s --keyword=_ --add-comments=/ -p %s -o %s.pot %s' % (name, d, 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)