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

prop2po: especificar encoding i personality al fitxer projecte #280

Closed pereorga closed 1 year ago

pereorga commented 1 year ago

Això no funciona:

{
    "project": "Cyberduck",
    "license" : "GPL-2.0-or-later",
    "projectweb": "https://cyberduck.io/", 
    "fileset": {
        "Cyberduck": {
            "url": "https://github.com/iterate-ch/cyberduck",
            "type": "git"
        }
    }
}
prop2po: WARNING: Error processing: input /var/folders/ls/d7rgrlcn5ln134pbkk3swnqm0000gn/T/tmppo7k2v2q/i18n/src/main/resources/ca.lproj/Localizable.strings, output /var/folders/ls/d7rgrlcn5ln134pbkk3swnqm0000gn/T/tmppo7k2v2q/ca-apple-0.po, template /var/folders/ls/d7rgrlcn5ln134pbkk3swnqm0000gn/T/tmppo7k2v2q/i18n/src/main/resources/en.lproj/Localizable.strings: Cannot detect encoding for /var/folders/ls/d7rgrlcn5ln134pbkk3swnqm0000gn/T/tmppo7k2v2q/i18n/src/main/resources/ca.lproj/Localizable.strings

En canvi, prop2po funciona correctament amb els paràmetres per defecte:

git clone --depth=1 https://github.com/iterate-ch/cyberduck
cd cyberduck/i18n/src/main/resources
prop2po -t en.lproj/Localizable.strings -i ca.lproj/Localizable.strings

Si els paràmetres que has posat funcionen i són necessaris per la majoria de projectes, potser es podrien indicar opcionalment (encoding, personality), i poder especificar "auto" al fitxer de projecte, i en aquest cas no passar-los.

jordimas commented 1 year ago

Penso que la personality no hauria de canviar en el cas de les cadenes d'Apple, ja que indica el tipus, i és l'encoding només el que dóna problemes.

Si canvies aquesta línia:

https://github.com/Softcatala/translation-memory-tools/blob/master/src/builder/convertfiles.py#L274

I treus --encoding utf-8 funciona. Llavors entenc que només amb l'encoding hi ha prou. Correcte?

pereorga commented 1 year ago

@jordimas sí, correcte, això de la personalitat era només per si trobem altres formats de fitxers. Però no és el cas d'ara.

jordimas commented 1 year ago

Hola @pereorga. Ja pots configurar els conversors:

https://github.com/Softcatala/translation-memory-tools/blob/master/HOW-TO.md#converting-files

En aquest cas, fent això hauria de funcionar:


{
    "project": "Cyberduck",
    "license" : "GPL-2.0-or-later",
    "projectweb": "https://cyberduck.io/", 
    "fileset": {
        "Cyberduck": {
            "url": "https://github.com/iterate-ch/cyberduck",
            "type": "git",
            "po_preprocessing" : "remove_untranslated",
            "conversor_setup": {
                "type"       : "apple",
                "verb"       : "add",
                "command"    : " --encoding=utf-16"
            }            
        }
    }
}
pereorga commented 1 year ago

Provat amb el Cyberduck i funciona, merci!