diff --git a/.gitignore b/.gitignore index 5b0725e771e14b14e9ddb521692744b1d961170d..0a45e37a663c0c0a94a4c2c17866bf6689dfec63 100644 --- a/.gitignore +++ b/.gitignore @@ -40,5 +40,8 @@ nosetests.xml # Generated files src/cutecoin/gen_resources/* src/icons_rc.py +src/i18n_rc.py +res/i18n/qm +res/i18n/lang-* out .directory diff --git a/gen_resources.py b/gen_resources.py index 4afcfea687b1624094cdeee818dc7eb67b19b228..1f17d37b6f25d3c9458c33c4aa4c5150a8fc6b74 100644 --- a/gen_resources.py +++ b/gen_resources.py @@ -5,6 +5,7 @@ import sys, os, multiprocessing, subprocess resources = os.path.abspath(os.path.join(os.path.dirname(__file__), 'res')) gen_ui = os.path.abspath(os.path.join(os.path.dirname(__file__), 'src', 'cutecoin', 'gen_resources')) gen_resources = os.path.abspath(os.path.join(os.path.dirname(__file__), 'src')) + def convert_ui(args, **kwargs): subprocess.call(args, **kwargs) diff --git a/gen_translations.py b/gen_translations.py new file mode 100644 index 0000000000000000000000000000000000000000..9aee1f1e3ff537451d83f4e3a3faf4d9202a6d1a --- /dev/null +++ b/gen_translations.py @@ -0,0 +1,58 @@ +import sys, os, multiprocessing, subprocess, time + +gen_resources = os.path.abspath(os.path.join(os.path.dirname(__file__), 'src')) +ts = os.path.abspath(os.path.join(os.path.dirname(__file__), 'res', 'i18n', 'ts')) +qm = os.path.abspath(os.path.join(os.path.dirname(__file__), 'res', 'i18n', 'qm')) + +translations = [] +qm_files = [] +qm_shortnames = [] + +def prepare_qm(): + for root, dirs, files in os.walk(ts): + for f in files: + if f.endswith('.ts'): + tsfilename = os.path.join(root, f) + qmshort = "{0}qm".format(f[:-2]) + qmfilename = os.path.join(qm, qmshort) + srcdest = (tsfilename, qmfilename) + translations.append(srcdest) + qm_shortnames.append(qmshort) + else: + continue + print(os.path.join(root, f)) + + for (ts_file, qm_file) in translations: + subprocess.call(["lrelease-qt5", ts_file, "-qm", qm_file]) + print(ts_file + " >> " + qm_file) + +def build_resources(): + files = "" + for file in qm_shortnames: + files += """ +<file alias="{0}">qm/{0}.qm</file>""".format(file[:-3]) + rccfile = """<RCC> + <qresource prefix="i18n">{0} + </qresource> + </RCC> + """.format(files) + + qrc_filename = os.path.abspath(os.path.join(os.path.dirname(__file__), + 'res', + 'i18n', + 'langs-{0}.qrc'.format(int(time.time())) + )) + + pyc_filename = os.path.abspath(os.path.join(gen_resources, 'i18n_rc.py')) + with open(qrc_filename, 'w') as outfile: + outfile.write(rccfile) + + try: + subprocess.call(["pyrcc5", "-o", pyc_filename, qrc_filename]) + print(qrc_filename + " >> " + pyc_filename) + finally: + os.remove(qrc_filename) + + +prepare_qm() +build_resources()