Obligement - L'Amiga au maximum

Jeudi 25 avril 2024 - 10:05  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Dossier : La localisation et la traduction sur Amiga
(Article écrit par Mathias Parnaudeau - janvier 2005)


On apprécie au quotidien la souplesse de la localisation implémentée dans AmigaOS et MorphOS. Elle permet de bénéficier de logiciels multilingues de façon dynamique en accord avec les préférences du système. En effet, au démarrage de chaque application qui gère la localisation, une ressource appelée "catalogue" et contenant des chaînes de caractères traduites est chargée en fonction de la langue de l'utilisateur. Nous allons évoquer les principes de base ainsi que les outils et les structures qui existent, vous verrez que ça n'a rien d'effrayant. :)

Fonctionnement général

Un catalogue (fichier ".catalog") doit donc être créé pour chacune des langues que l'on souhaite gérer. Ce fichier n'est pas éditable directement avec un éditeur de texte (c'est du binaire), mais en utilisant un logiciel spécial (voir la liste plus bas). Il est en quelque sorte compilé à partir de fichiers textes de deux sortes : le premier (fichier de définition .cd) sert de référence et est généralement, par convention, en anglais ; le deuxième est le fichier de traduction (.ct) et contient les chaînes converties dans la langue cible. Suivant les outils, la création de catalogues a besoin des deux : on se sert des données du deuxième mais en correspondance avec celles du premier. Quoi qu'il en soit, les données du catalogue proviennent des chaînes du fichier de traduction. Quant au fichier de définition, ses données son exprimées autrement suivant le langage de programmation utilisé. Pour le C, les chaînes qu'il contient rempliront un tableau de constantes de type char[] d'un nouveau fichier d'en-tête. Ce dernier étant compilé dans l'exécutable, il n'y a aucune possibilité d'avoir une application sans aucun texte dans l'interface ! Sur AmigaOS et MorphOS, les catalogues sont par défaut logés dans le répertoire SYS:Locale/Catalogs/<nom de la langue>.

On se rend compte que la moulinette qui sert à convertir ces fichiers doit assumer deux rôles :
  • Générer les fichiers de base .cd, .ct et .h par exemple en langage C.
  • Traduire les fichiers pour générer un catalogue dans une nouvelle langue.
Les outils de base

Plaçons-nous du point de vue de l'utilisateur qui souhaiterait convertir le catalogue d'un logiciel. Il doit récupérer au minimum le fichier de description, à partir duquel il est possible de générer un fichier de traduction. Cela évite de le constituer entièrement à la main et c'est ainsi plus sûr : il n'y a qu'à remplacer les phrases dans le langage souhaité.

Catcomp :

C'est le précurseur et la référence puisqu'il s'agit de l'outil de Commodore. Il est assez lourd et plutôt réservé aux utilisateurs avertis du Shell, mais il gère à 100% la localisation ! Heureusement. ;) Cependant, il est vieillissant et n'a pas pu s'adapter à certaines évolutions (prise en compte des spécificités des compilateurs) mais ça ne gêne que les programmeurs...

Flexcat :

Il simplifie un peu les choses, il a une petite interface sympa nommée Flexy (petite promotion au passage :)) et il gère correctement 99% des commandes de localisation. J'entends par là que certaines commandes (directives) ne sont pas interprétées correctement par le compilateur de catalogues. Dans ce cas, il faudra se rabattre sur CatComp. Flexcat existe en version française et il est toujours plus ou moins développé.

Flexcat

Dans le domaine des outils avec interface intégrée et gestion simplifiée, nous avons :

CatEdit :

Je l'aimais bien mais hélas un bogue lui fait planter le système (du 1.3 au 3.9) au chargement de certains catalogues, pour une raison encore inconnue. Hmm... CatEdit est bien *uniquement* pour corriger un catalogue et encore pas tous, car il ne gère pas tous les codes de contrôle (style LF - LF+CR ou CR etc.) utilisés dans un catalogue. Il fonctionne bien dans 90% des cas mais certains catalogues deviennent bancals. L'interface est cependant très correcte et appréciable. Enfin, CatEdit a la fonction appréciable de pouvoir intercepter un programme lors de son exécution et d'en créer un .ct.

Transcat :

Il aurait pu être sympa, mais il ne gère pas certains codes insérés dans les phrases (ceux qui commencent par un antislash "\"). Ce qui ne convient pas à certains catalogues... Ce genre d'outil peut toutefois être très pratique car simple d'emploi pour corriger une faute dans un catalogue existant. Au passage, si le catalogue est toujours suivi et mis à jour par un traducteur, il vaut mieux remonter l'info, tout le monde en profitera comme ça. :)

Transcat

ReCatIt Pro :

Il présente une liste d'entrées et dans une partie en dessous les différents champs importants : nom d'origine, nom traduit, nom de la constante à employer dans le programme, etc. Ce qui est appréciable, c'est que du côté utilisateur, on n'est pas embrouillé avec les .cd et .ct et .catalog. On traduit facilement et c'est tout ce qu'on recherchait. Par contre, il ne sera pas d'un grand secours pour les programmeurs (pour générer les includes) car bien qu'il gère la génération de constantes E, C, assembleur et Blitz, cela se résume à un export de listes toutes bêtes.

ReCatIt Pro

CatCheck :

A ne pas oublier bien qu'il sorte un peu du lot. Son rôle est différent mais primordial : il vérifie la qualité des catalogues et garantit ainsi qu'ils sont correctement constitués. Il repère des petites erreurs d'inattention qui se glissent si vite au cours de ce travail minutieux. Il vérifie par exemple la conformité entre le fichier source (.cd), la traduction (.ct) et le catalogue final (.catalog).

Si vous utilisez Flexcat ou CatComp, il vous faudra un éditeur de texte. Tous conviennent, mais des options avancées comme la recherche, le copier-coller, le remplacement et autres sont très utiles. Un inconvénient avec GoldED (si quelqu'un sait comment faire, qu'il me le dise...) est qu'il ne sauve pas les espaces en fin de phrase, on peut les remplacer par des espaces insécables (Alt+Space, code 160) qui font très bien leur office, mais une vérification sur les catalogues signalera un avertissement de non-conformité. :(

Quelques questions...

Comment traduire un catalogue ? Je ne décrirais pas l'opération de traduction elle-même puisque cela dépend de la langue de départ. Il est généralement conseillé de :
  • Ne pas ajouter d'erreurs.
  • Être constant, ne pas utiliser différents mots pour la même chose.
  • Laisser les raccourcis clavier inchangés : Amiga-Q (Quitter), Amiga-O (Ouvrir), Amiga-P (Imprimer), Amiga-S (Sauver), Amiga-? (A Propos), Amiga-C (Copier), Amiga-V (Coller), Amiga-X (Couper), Amiga-Z (Annuler).
  • S'assurer que les raccourcis clavier ne sont pas redondants.
  • Garder une traduction d'un niveau compréhensible.
  • Éviter les abréviations.
  • Tester si votre traduction fonctionne sur le programme en question.
  • Tester si votre traduction est affichable sur un écran 640x256 avez la police Topaz 8.
On se pose souvent la question de la taille du système de localisation. En fait, c'est extrêmement compact : les fichiers de traduction en français d'AmigaOS 3.1 ne prennent que quelques ko ! Et c'est seulement un peu plus pour AmigaOS 3.9. De plus, on peut supprimer les langues que l'on n'utilise pas...

Enfin, dernière question rencontrée fréquemment : comment le programme sait quelle langue choisir ? C'est à l'utilisateur de définir ça. Par défaut, c'est en anglais, mais un petit tour dans le menu de préférences d'AmigaOS/MorphOS, permet de régler à sa convenance. Les langues sont indiquées par ordre de préférence de chacun. Si par exemple, on a choisi le français puis l'anglais, le programme va essayer de trouver le fichier de traduction en français, et s'il n'existe pas, il va chercher le fichier en anglais. S'il n'existe pas non plus, il va prendre la langue dans laquelle a été programmé le logiciel.

Préférences MorphOS

Préférences AmigaOS 3.1

Partager son travail

Si vous y prenez goût, je vous encourage à continuer vos traductions et peut être à rejoindre l'organisme ATO qui a pour but de les centraliser et de les officialiser. A vous le succès !

ATO existe toujours même si elle est un peu décimée par les temps actuels... La branche française répertorie une vingtaine de personnes mais toutes ne sont pas actives. En revanche, d'autres travaillent en toute indépendance dans leur coin. C'est bien sûr dommage que ceux-ci ne s'organisent pas avec ATO. Certes, cela implique un peu de rigueur dans la méthode et le dialogue avec les autres traducteurs ou relecteurs d'un projet, mais au final ça donne un bon résultat. Sans compter qu'il y a plus de chance que ça touche une audience plus importante.

La participation à ATO est volontaire et désintéressée puisque bénévole mais en règle générale les acteurs d'un projet reçoivent en retour une clé d'enregistrement lorsque le programme est partagiciel et... une profonde reconnaissance et une mention dans la documentation. :)

ATO gère aussi des projets commerciaux. Pour information, elle s'occupe de la traduction d'AmigaOS depuis la version 3.5 et au moins 90% des langages gérés officiellement passent par ATO pour cette opération. La branche ATO-Fr n'en est pas exclue et travaille avec presque la même équipe d'AmigaOS 3.5 à 4.0. Pour rejoindre ATO ou au moins prendre contact, le mieux est d'approcher la section française en envoyant un courriel à son représentant Pascal Rullier.

Fonctionnement en pratique

Lors d'une traduction d'un projet par ATO, on retrouve typiquement :
  • Un coordinateur qui assure la relation entre les branches ATO et le programmeur.
  • Un ou plusieurs traducteurs par pays suivant la taille du projet.
  • Un ou plusieurs relecteurs par pays.
Les traducteurs et relecteurs travaillent ensemble mais sont libres de leur organisation. Quand la traduction est terminée et vérifiée, elle est envoyée au coordinateur du projet. Ce dernier fait suivre au programmeur et renverra la clé du logiciel quand le projet sera clos (quand toutes les branches ont rendu leur travail et que le projet est validé).

Les échanges entre bénévoles s'effectuent au sein d'une liste de diffusion pour que la communication sur les projets ait lieu auprès de chacun. Le coordinateur FR nous informe des projets et on est libre de prendre une traduction ou une relecture ou... rien si on a un coup de mou ! Si on est 4 à vouloir traduire et 50 (soyons fous !) à vouloir relire, c'est lui qui désigne l'équipe.

Rien n'empêche de travailler sur plusieurs projets en parallèle ou en dehors d'ATO. La seule restriction logique est qu'il ne faut rien distribuer ou divulguer (informations importantes) sur le projet en cours.

Un dernier mot

Je tiens à remercier chaleureusement Hervé Dupont pour avoir fourni l'essence de cet article mais aussi pour toutes les traductions qu'il a réalisées. Ce célèbre et sympathique membre d'ATO utilise GoldEd 4.x pour l'édition, Flexy (Flexcat) pour la compilation et CatCheck pour la vérification entre le source et le catalogue final. Il n'y a qu'un seul catalogue du système 3.9 qui ne passe pas avec Flexcat à cause d'une fonction intégrée que seul CatComp est capable de traiter.

Voyez-vous, il n'y a pas qu'en réalisant des programmes qu'on peut être utile. Si vous souhaitez apporter votre pierre à l'édifice, agissez en devenant traducteur. Grâce à ATO, vous deviendrez acteur au sein d'une petite équipe désignée pour chaque projet. Et au lieu de passer deux heures devant un navet à la télé, vous aurez fait quelque chose d'utile pour l'Amiga. :)

Liens

Aminet, www.aminet.net.
Pour télécharger tous les programmes sus-cités.

Hervé Dupont, blasons.free.fr/.
Catalogues et/ou documentations en français de YAM 2.x, Flexcat, PGP 5.x, T.H.E, etc.

CptBlood, jeanmarc.mossu.free.fr/telecharge.html.
Catalogues et/ou documentations en français de Magellan, AWeb, GoldEd, etc.

Didier Giron, girondid.online.fr/amiga/.
Catalogues et/ou documentations en français de AWeb-II, Microdot, Miami, etc.

Amiga Francophonage : www.noname.fr/amiga-francophonage/.
Catalogues et/ou documentations en français de AmiFish, Plotter3D, HBMonopoly, TView, etc. Réalisé par Jérôme Chesnot.


[Retour en haut] / [Retour aux articles]