diff --git a/POTFILES.in b/po/POTFILES.in similarity index 100% rename from POTFILES.in rename to po/POTFILES.in diff --git a/battery-monitor.pot b/po/battery-monitor.pot similarity index 99% rename from battery-monitor.pot rename to po/battery-monitor.pot index 68654d6..e0d653c 100644 --- a/battery-monitor.pot +++ b/po/battery-monitor.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-10-23 10:47+0530\n" +"POT-Creation-Date: 2024-03-02 13:12+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/setup.py b/setup.py index 369bdc1..470449e 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,6 @@ - import glob +import os +import subprocess from setuptools import setup from subprocess import check_output @@ -18,10 +19,30 @@ version = version.split('~')[0] f.write("%s" % version) -setup( - data_files=[('share/battery-monitor/ui', glob.glob("data/ui/*")), - ('share/applications', glob.glob("data/applications/*.desktop")), - ('share/icons/hicolor/scalable/apps', glob.glob("data/icons/*")), - ('share/glib-2.0/schemas', glob.glob("data/*.xml")), - ] +gschema_dir_suffix = 'share/glib-2.0/schemas' + +data_files = [('share/applications', glob.glob("data/applications/*.desktop")), + ('share/icons/hicolor/scalable/apps', glob.glob("data/icons/*")), + (gschema_dir_suffix, glob.glob("data/schema/*.xml")) + ] + +def create_mo_files(): + po_files = glob.glob("po/*.po") + prefix = 'battery-monitor' + + for po_file in po_files: + po_name = os.path.splitext(os.path.split(po_file)[1])[0] + replace_txt = "%s-" % prefix + lang = po_name.replace(replace_txt, '') + os.makedirs("data/locale/%s" % lang, exist_ok=True) + mo = "data/locale/%s/%s.mo" % (lang, prefix) + subprocess.run(['msgfmt', '-o', str(mo), po_file], check=True) + + mo_file = map(lambda i: ('share/locale/%s/LC_MESSAGES' % lang, [i+'/%s.mo' % prefix]), glob.glob('data/locale/%s' % lang)) + data_files.extend(mo_file) + +create_mo_files() + +setup(data_files=data_files, + # cmdclass = {'install_data': install_data} ) diff --git a/update-pot b/update-pot index cf456cd..5083c0b 100755 --- a/update-pot +++ b/update-pot @@ -1,2 +1,2 @@ #!/bin/bash -xgettext --keyword=_ --keyword=N_ --output=battery-monitor.pot -f POTFILES.in +xgettext --keyword=_ --keyword=N_ --output=po/battery-monitor.pot -f po/POTFILES.in