CTS : Community Translation System

Qu'est-ce que CTS ?

CTS est un logiciel de traduction d'application en ligne. Il permet a une communauté d'utilisateur de participer à la traduction d'un logiciel sans connaitre la programmation. Pour l'équipe de développement, il permet de faire des exports des données générées vers un système de traduction basique ou bien vers des fichiers .po pour Gnu Gettext.

Pour quel langage ?

Bien que CTS soit écrit en php, les exports ne sont pas spécifiquement écrit pour un langage en particulier. Gnu Gettext existe pour la plupart des langages, et le système de base devrait ètre facilement adaptable pour la plupart des langages.

Quel est ce système de traduction basique ?

Basiquement cela consiste en une série de fichier appelés lang.?? dans ces fichiers se trouve une variable (un array() pour php) appelée ctsword (nom non définitif, je viens de le trouver). En fonction de la langue, seul un de ces fichiers est appelés. ctsword est une table de hash de la forme :

	$ctsword["keyword"] = "mot-clef"
	$ctsword["admin"] = "Administrateur"
	$ctsword["user"] = "Utilisateur"
      
Dans l'application il ne reste plus qu'a appeler ctsword avec le bon mot-clef et la traduction est affichée. Ce système est bien décrit dans cet article du jdn.

Qu'est-ce Gnu Gettext ?

Gnu Gettext est un système de localisation (l10n). C'est à dire qu'il gère non seulement les traductions des vocables, mais aussi les différences culturelles comme le format de la date (par exemple).

Démonstration :

Démo de la version 0.7

login: admin pass: azerty (attention à ne pas changer ou éeffacer le compte admin SVP)

login contributeur: batman,superman,spiderman pas de mot de passe.

Téléchargement :

[18/05/2007] bis Tarball de la version 0.7

[18/05/2007] Tarball de la version 0.6

[14/05/2007] Tarball de la version 0.5

[8/10/2006] Tarball de la version 0.4

Tarball de la version 0.3

Tarball de la version 0.2

Voir le repository subversion

Changelog :

Version 0.7

Version 0.6

Version 0.5

Version 0.4

Version 0.3

Version 0.2

Contacts :

Développeur principal et unique : Mathieu Ignacio (changez le premier point par un @)