teamtalkbot/tools/compile_locales.py
Umiko f331b10358
Some checks are pending
Build-nightly / docker (push) Waiting to run
first commit.
2025-04-13 14:44:48 +07:00

50 lines
1.2 KiB
Python

#!/usr/bin/env python3
import os
import sys
import subprocess
cd = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
locale_path = os.path.join(cd, "locale")
pot_file_path = os.path.join(locale_path, "TTMediaBot.pot")
source_paths = [os.path.join(cd, "bot"), os.path.join(cd, "TTMediaBot.py")]
babel_prefix = "{} -m babel.messages.frontend".format(sys.executable)
locale_domain = "TTMediaBot"
def extract():
code = subprocess.call(
f"{babel_prefix} extract {' '.join(source_paths)} -o {pot_file_path} --keywords=translate -c translators: --copyright-holder=TTMediaBot-team --project=TTMediaBot",
shell=True,
)
if code:
sys.exit("Bable is not installed. please install all the requirements")
def update():
code = subprocess.call(
f"{babel_prefix} update -i {pot_file_path} -d {locale_path} -D {locale_domain} --update-header-comment --previous",
shell=True,
)
if code:
sys.exit(code)
def compile():
code = subprocess.call(
f"{babel_prefix} compile -d {locale_path} -D {locale_domain}", shell=True
)
if code:
sys.exit(code)
def main():
extract()
update()
compile()
if __name__ == "__main__":
main()