Pour organiser une traduction collaborative de fichiers tels que celui que tu as cité (php, po...), voici un système qu'on utilise pour traduire Anwiki lui-même, mais aussi des applis externes.
Ca demande un minimum de temps à mettre en place, mais ensuite c'est très efficace :
1) Import initial des fichiers de trad vers Anwiki :
Il s'agit de faire un script qui va rechercher tous les fichiers de trad dans une langue donnée, en extraire une liste d'associations clés-valeurs et les injecter dans Anwiki.
2) Traduction collaborative des fichiers :
Les traducteurs qui se connectent à Anwiki voient et traduisent ces contenus exactement comme ils le font pour autres contenus.
De plus, aucun risque qu'un traducteur "casse" ou détourne un fichier, ou que des chaines soient oubliées, vu qu'on édite un contenu structuré et synchronisé.
J'ai repris ton exemple ici : http://demo.anwiki.com/fr/trfile (passe en mode "translate", puis "edit")
3) Export des traductions :
Un script va retransformer les contenus traduits d'Anwiki vers le format initial des fichiers de trad.
Cet export peut être déclenché dès qu'un traducteur enregistre une modification, ou simplement se faire manuellement.
4) Mise à jour des fichiers de traduction originaux :
Lorsque les fichiers de traduction originaux ont changé, on réexécute le script d'import réalisé en 1).
Ce script va repérer qu'ils ont déjà été importés, et va faire une mise à jour "intelligente", exactement comme si tu éditais les contenus depuis Anwiki.
Il va repérer les changements effectués, et resynchroniser en conséquence les traductions déjà effectuées.
Les clés nouvelles ou modifiées seront marquées comme non traduites, les clés supprimées seront supprimées des traductions.
S'il y a des nouvelles chaînes à traduire, les traducteurs seront alertés par RSS et repassent à l'étape 2).
Pour la réalisation du script évoqué en 1), on a un script générique qu'il suffit d'étendre par héritage, pour indiquer :
- comment trouver les fichiers de trad sur le disque (spécifique à chaque usage)
- comment extraire les associations clés-valeurs, et comment effectuer l'opération inverse pour exporter les traductions. Le script sait déjà le faire pour les tableaux php et les fichiers po.
Ce script n'est pas inclus dans la release, il sera distribué à part en tant que composant.
[^] # Re: Démo en ligne
Posté par anw . En réponse à la dépêche Publication de Anwiki 0.1.0 alpha 1. Évalué à 3.
Ca demande un minimum de temps à mettre en place, mais ensuite c'est très efficace :
1) Import initial des fichiers de trad vers Anwiki :
Il s'agit de faire un script qui va rechercher tous les fichiers de trad dans une langue donnée, en extraire une liste d'associations clés-valeurs et les injecter dans Anwiki.
2) Traduction collaborative des fichiers :
Les traducteurs qui se connectent à Anwiki voient et traduisent ces contenus exactement comme ils le font pour autres contenus.
De plus, aucun risque qu'un traducteur "casse" ou détourne un fichier, ou que des chaines soient oubliées, vu qu'on édite un contenu structuré et synchronisé.
J'ai repris ton exemple ici : http://demo.anwiki.com/fr/trfile (passe en mode "translate", puis "edit")
3) Export des traductions :
Un script va retransformer les contenus traduits d'Anwiki vers le format initial des fichiers de trad.
Cet export peut être déclenché dès qu'un traducteur enregistre une modification, ou simplement se faire manuellement.
4) Mise à jour des fichiers de traduction originaux :
Lorsque les fichiers de traduction originaux ont changé, on réexécute le script d'import réalisé en 1).
Ce script va repérer qu'ils ont déjà été importés, et va faire une mise à jour "intelligente", exactement comme si tu éditais les contenus depuis Anwiki.
Il va repérer les changements effectués, et resynchroniser en conséquence les traductions déjà effectuées.
Les clés nouvelles ou modifiées seront marquées comme non traduites, les clés supprimées seront supprimées des traductions.
S'il y a des nouvelles chaînes à traduire, les traducteurs seront alertés par RSS et repassent à l'étape 2).
Pour la réalisation du script évoqué en 1), on a un script générique qu'il suffit d'étendre par héritage, pour indiquer :
- comment trouver les fichiers de trad sur le disque (spécifique à chaque usage)
- comment extraire les associations clés-valeurs, et comment effectuer l'opération inverse pour exporter les traductions. Le script sait déjà le faire pour les tableaux php et les fichiers po.
Ce script n'est pas inclus dans la release, il sera distribué à part en tant que composant.