Crowdin vs Transifex

Je pense que j’ai à peu près fini mes tests avec les systèmes de traduction en ligne, Crowdin et Transifex ayant chacun leurs avantages et inconvénients.

Donc, a priori, ça sera Crowdin pour Dotclear, avec l’avantage qu’il génère une pull-request unique s’il y a du neuf toutes les douze heures ; largement suffisant vu l’activité actuelle sur le développement.

Quand à mes plugins et thèmes perso ça sera du côté de Transifex vu qu’avec Crowdin je n’ai droit qu’à un seul projet open-source — en fait il faudrait que je demande le droit de créer un nouveau projet pour chacun de mes plugins et thèmes, soit pas loin d’une centaine, et franchement, j’ai la flemme.

Transifex, quant à lui, générant une pull-request pour chacun des fichiers modifiés.

Pour info, voilà le fichier de configuration utilisé pour Crowdin :

preserve_hierarchy: true
files:
  - source: /locales/_pot/
    ignore_settings: 1
    ignore:
      - _*.pot
    translation: /locales/%two_letters_code%/%file_name%.po
    languages_mapping:
      two_letters_code:
        es-AR: es-ar
        pt-BR: pt-br
        zh-CN: zh-cn
        vls: nl
  - source: /locales/en/help/*.html
    translation: /locales/%two_letters_code%/help/%original_file_name%
    content_segmentation: 0
    languages_mapping:
      two_letters_code:
        es-AR: es-ar
        pt-BR: pt-br
        zh-CN: zh-cn
        vls: nl
  - source: /plugins/**/locales/en/help/*.html
    translation: /plugins/**/locales/%two_letters_code%/help/%original_file_name%
    content_segmentation: 0
    languages_mapping:
      two_letters_code:
        es-AR: es-ar
        pt-BR: pt-br
        zh-CN: zh-cn
        vls: nl

On se sert des fichiers .pot pour les libellés traduits et de la version anglaise des fichiers d’aide (générique et plugins). À noter que ce fichier, crowdin.yml, est automatiquement récupéré lors de la connexion au dépôt Github.

Côté Transifex, pour les plugins et les thèmes tiers, voilà la configuration :

filters:
  - filter_type: dir
    # all supported i18n types: https://docs.transifex.com/formats
    file_format: PO
    source_file_extension: po
    source_language: en
    source_file_dir: locales/en/
    # path expression to translation files, must contain <lang> placeholder
    translation_files_expression: locales/<lang>/
  - filter_type: dir
    file_format: HTML
    source_file_extension: html
    source_language: en
    source_file_dir: locales/en/help/
    # path expression to translation files, must contain <lang> placeholder
    translation_files_expression: locales/<lang>/help/
settings:
    language_mapping:
        es-ar: es_AR
        pt-br: pt_BR
        zh-cn: zh_CN

À copier-coller au moment de la connexion au dépôt Github. On se sert de la version anglaise des libellés[1] et des fichiers d’aide comme source à traduire.

C’est pour l’instant ce que j’ai trouvé de mieux pour permettre la traduction en ligne par n’importe qui vu qu’il suffit d’avoir un compte Github pour traduire, que ce soit côté Crowdin ou Transifex.

Pour info, les adresses correspondantes :

Côté avantages et inconvénients :

  • Crowdin : Une seule PR à chaque synchro, quel que soit le nombre de modifs. Par contre il conserve les commentaires des fichiers .pot quand il génère les fichiers .po ; pas très grave cela dit. Son système de traduction automatique est assez pertinent.
  • Transifex : Mon compte ne me permet pas de gérer une mémoire de traduction commune à tous les plugins et thèmes, par contre je peux gérer un glossaire commun, c’est toujours ça.

Pour la petite histoire, j’ai fait un peu de ménage côté traduction dans Dotclear, en particulier pour quelques fichiers d’aide de plugin mal placés et j’ai aussi fait en sorte qu’on puisse utiliser le chinois ; ce qui n’était pas possible depuis des années ! Incredibeule, isn’t it?

Voilà, on y verra un peu plus clair avec la future 2.17 !

Note

[1] Apparemment Transifex n’est pas capable d’utiliser comme sources des fichiers .pot pour ensuite produire des fichiers traduits .po. Ou en tout cas je n’ai pas trouvé comment configurer ça.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/14571

Haut de page