OSDN Git Service

drop support for static text [ci reset]
[kde/Katie.git] / scripts / updatetranslations.py
1 #!/usr/bin/python
2
3 import os, glob, subprocess
4
5 components = ('core', 'dbus', 'declarative', 'gui', 'network', 'plugins',
6     'script', 'scripttools', 'svg', 'test', 'uitools', 'xml')
7 cfiles = []
8 tfiles = []
9
10 def list_files(sdir):
11     lfiles = []
12     for root, subdirs, files in os.walk(sdir):
13         for sfile in files:
14             if sfile.endswith(('.cpp', '.h', '.js', '.qs', '.qml', '.ui')):
15                 lfiles.append('%s/%s' % (root, sfile))
16     return lfiles
17
18 for c in components:
19     cfiles.extend(list_files('src/%s' % c))
20
21 for t in glob.glob('src/tools/*'):
22     tfiles.extend(list_files(t))
23
24 qtcommand = ['xgettext', '--from-code=UTF-8', '-o', 'translations/qt.pot',
25     '-kQT_TR_NOOP:1', '-kQT_TR_NOOP_UTF8:1',
26     '-kQT_TRANSLATE_NOOP:1c,2','-kQT_TRANSLATE_NOOP_UTF8:1c,2',
27     '-ktranslate:1c,2', '-ktr:1', '-ktrUtf8:1']
28 qtcommand.extend(cfiles)
29 subprocess.check_call(qtcommand)
30
31 qttoolscommand = ['xgettext', '--from-code=UTF-8', '-o', 'translations/qt_tools.pot',
32     '-kQT_TR_NOOP:1', '-kQT_TR_NOOP_UTF8:1',
33     '-kQT_TRANSLATE_NOOP:1c,2','-kQT_TRANSLATE_NOOP_UTF8:1c,2',
34     '-ktranslate:1c,2', '-ktr:1', '-ktrUtf8:1']
35 qttoolscommand.extend(tfiles)
36 subprocess.check_call(qttoolscommand)
37
38 for t in glob.glob('translations/*.po'):
39     potfile = 'translations/qt.pot'
40     if 'qt_tools' in t:
41         potfile = 'translations/qt_tools.pot'
42     subprocess.check_call(['msgmerge', '--verbose', '--update', t, potfile])
43     subprocess.check_call(['msgattrib', '--no-fuzzy', '--no-obsolete', t, '-o', t])