#!/bin/python3 import os import sys import argparse import xml.etree.ElementTree as ET # trans -brief :es ULTRAFILTRATION default_ts_ext = "ts" default_node_name = "context" default_translation= "translation" default_none = 'None' class SimTranslation: def __init__(self, src) -> None: self.src = str(src) def update(self): if not os.path.isfile(self.src) or \ not self.src.endswith(default_ts_ext): print(f'ERR_BAD_FILE_NAME: {self.src}') return False fakeChar = self.getFakeChar() dom = ET.parse(self.src) root = dom.getroot() fakeStr = "" for child in root: for att in list(child): fakeStr = "" for a in list(att): if str(a.tag) == 'source': fakeStr = fakeChar + str(a.text)[1:] if str(a.tag) == 'translation': a.attrib.clear() a.text = fakeStr dom.write(self.src) def getFakeChar(self) ->str: lang = self.src.split('_') tmp = lang[len(lang)-1] tmp = tmp.split('.')[0] fakeChar = '_' if len(tmp) < 2: fakeChar = '' elif tmp == 'es': fakeChar = 'Ñ' elif tmp == 'de': fakeChar = 'ß' elif tmp == 'fr': fakeChar ='ç' elif tmp == 'zh': fakeChar ='Ý' return fakeChar def main(): try: parser = argparse.ArgumentParser() parser.add_argument("-s", "--src", "-help=Enter -src ") parser.add_argument("-d", "--dest", "-help=Enter -dest ") except: print(f'Missing Params: -src:{src} -dest:{dest}') return arg = vars(parser.parse_args()) dest = "" src = "" if arg["src"]: src = arg["src"] if len(src) < 2: print(f'Missing Params: -src:{src}') return if arg["dest"]: dest = arg["dest"] if len(dest) < 2: dest = src print(f'src:{src}\tdest:{dest}') sim = SimTranslation(src) sim.update() if __name__ == "__main__": main()