Closed pereorga closed 1 year ago
També seria necessari pel Nextcloud, tot i que en aquest cas penja d'una clau (translations
):
https://github.com/nextcloud/server/tree/master/apps https://github.com/nextcloud/text/tree/main/l10n https://github.com/nextcloud/collectives/tree/main/l10n
(i per l'històric, Nextcloud també té cadenes Android: https://github.com/nextcloud/android/tree/master/app/src/main/res/values-ca)
Hola. El problema és que cada projecte estructura els JSON com vol sense seguir cap mena d'estàndard.
json2po només suporta el cas on el json expressa un clau i valor i llavors a través de la clau pots enllaçar el monolingüe anglès amb el monolingüe traduït, però no funciona fora d'aquest patró. Per exemple, si li passes per exemple:
https://raw.githubusercontent.com/globaleaks/GlobaLeaks/main/client/app/data/l10n/ca.json
i fas:
json2po -i ca.json -o ca.po
generà:
#: .Log+in
msgid "Inicia sessió"
msgstr ""
#: .Languages
msgid "Idiomes"
msgstr ""
No està preparat perquè la clau sigui la traducció.
Jo veig tres solucions:
1) Contribuir a upstream json2po aquestes opcions. Ens caldria més exemples. No estic segur que ens ho acceptin. 2) Fer un importer nosaltres 3) Fer un un github a part on tinguem una eina de conversió específica
1)
sona bé, però deu ser el més complicat. 2)
i 3)
sobretot tindrien sentit si ho necessitem per projectes nous. De moment, per aquests exemples que ja són a Transifex, probablement els podem mantenir allà. (És a dir, encara que no deu ser molt esforç, no ho implementaria per una cosa que ja funciona.)
Tanco de moment
Per exemple és necessari pel GlobalLeaks (entre altres, no és un format poc comú): https://github.com/globaleaks/GlobaLeaks/blob/main/client/app/data/l10n/ca.json
(tot i que en aquest cas, el mateix repositori també té més cadenes en un fitxer Gettext: https://raw.githubusercontent.com/globaleaks/GlobaLeaks/main/client/pot/ca.po)
Hauria d'estar suportat per Translate Toolkit: http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/json2po.html. Actualització: veig que precisament no diu res de fitxers bilingües.
Veig implementada la funció
_convert_json_file_to_po
, però no sembla que funcioni per fitxers bilingües.