Various markup and tweaks.
[dcpomatic.git] / i18n.py
1 import glob
2 import os
3 from waflib import Logs
4
5 def pot(dir, sources, name, all = False):
6     s = ""
7     for f in sources.split('\n'):
8         t = f.strip()
9         if len(t) > 0:
10             s += (os.path.join(dir, t)) + " "
11
12     if all:
13         Logs.info('Making %s.pot (extracting all)' % os.path.join('build', dir, name))
14         os.system('xgettext -d %s -s --extract-all -p %s -o %s.pot %s' % (name, os.path.join('build', dir), name, s))
15     else:
16         Logs.info('Making %s.pot' % os.path.join('build', dir, name))
17         os.system('xgettext -d %s -s --keyword=_ --add-comments=/ -p %s -o %s.pot %s' % (name, os.path.join('build', dir), name, s))
18     
19
20 def po_to_mo(dir, name):
21     for f in glob.glob(os.path.join(dir, 'po', '*.po')):
22         
23         lang = os.path.basename(f).replace('.po', '')
24         out = os.path.join('build', dir, 'mo', lang, '%s.mo' % name)
25         try:
26             os.makedirs(os.path.dirname(out))
27         except:
28             pass
29
30         os.system('msgfmt %s -o %s' % (f, out))
31         Logs.info('%s -> %s' % (f, out))