Softcatala / translation-memory-tools

A set of tools to build, maintain and use translation memories
https://www.softcatala.org/recursos/memories/
29 stars 17 forks source link

Afegir suport genèric per fitxers JSON monolingües #287

Closed pereorga closed 1 year ago

pereorga commented 1 year ago

Per exemple pel Jitsi: https://github.com/jitsi/jitsi-meet/tree/master/lang

Veig això al codi, però no crec que funcioni perquè busca fitxers messages.json, i en el Jitsi es diuen main.json i main-ca.json, respectivament:

    def _convert_json_file_to_po(self, jsonfile, source, target):
        dirName = os.path.dirname(jsonfile)
        logging.info("convert json file: {0}".format(dirName))
        filename = "{0}/json-ca.po".format(dirName)
        cmd = "json2po -t {0}/{2} -i {0}/{3} " "-o {1}".format(
            dirName, filename, source, target
        )
        os.system(cmd)

    def _convert_json_files_to_po(self):
        # Used for Privacy Badger
        for jsonfile in self.findFiles.find_recursive(
            self.convert_dir, "messages.json"
        ):
            if "/ca/" not in jsonfile:
                continue

            self._convert_json_file_to_po(
                jsonfile, "../en_US/messages.json", "../ca/messages.json"
            )

        for jsonfile in self.findFiles.find_recursive(self.convert_dir, "ca.json"):
            self._convert_json_file_to_po(jsonfile, "en.json", "ca.json")

No em queda clar si el codi intenta ser genèric o només és per un projecte (Privacy Badger). Donat que en l'estructura de noms de fitxers potser no hi ha un estàndard, més que posar codi específic per projectes, crec que podria ser més fàcil de mantenir poder especificar els camins dels fitxers a l'especificació (fitxer dins /cfg/projects)

pereorga commented 1 year ago

Un altre cas que fa servir aquests fitxers (però amb una altra estructura) és Stooa: https://github.com/Stooa/Stooa/tree/main/frontend/locales

pereorga commented 1 year ago

I encara un altre: bigbluebutton (aquest no l'he provat de convertir amb json2po),

https://github.com/bigbluebutton/bigbluebutton/tree/develop/bigbluebutton-html5/public/locales

pereorga commented 1 year ago

Tanco perquè això ja està (ja estava) suportat. Podem necessitar afegir més patrons de noms, però es pot fer de mica en mica, a mesura que anem afegint projectes.