IV. Traduisez vos projets Delphi en russe▲
IV-A. Introduction▲
Dans cette partie, nous allons étudier comment réaliser une traduction entre deux langues utilisant des alphabets différents en nous appuyant sur l'exemple du russe qui s'écrit en cyrillique. Même si cette partie concerne plutôt la traduction avec mon utilitaire, la plupart des idées sont générales, à l'exception du paragraphe Travail du traducteur, et pourront aussi être lues par ceux qui utilisent les outils de traduction de Delphi.
Mais d'abord, regardons comment Windows gère le cyrillique. La norme ASCII définit un ensemble de caractères numérotés de 0 à 127. Ces caractères permettent d'écrire du texte en anglais, guère plus. Pour les autres langues, les fabricants se sont rabattus sur les caractères de 128 à 255, voire codent sur deux octets. Pour l'Europe de l'Ouest, nous pouvons voir le résultat dans la table de caractères de Windows 95
Nous constatons que tous nos caractères spéciaux ou accentués sont présents, ainsi que ceux de certains de nos voisins. Ce jeu de caractères est appelé Latin ou Western.
Pour le cyrillique, ils ont utilisé le même principe, les caractères ASCII de 0 à 127 et le cyrillique de 128 à 255 :
Il y a de cette façon presque autant de tables de caractères que de langues. Lorsque vous utilisez Windows, celui-ci emploie une table de caractères par défaut. Et les applications que vous développez avec Delphi font de même. Mais Windows peut gérer plusieurs tables à la fois. Pour ceci, vous devez activer la prise en charge multilingue. Commencez par aller dans le Panneau de configuration, Ajout/Suppression de programmes, onglet Installation de Windows :
Je vous conseille de tout installer, mais vous pouvez vous contenter des langues qui vous intéressent. Après cette installation, vous aurez le support pour le bulgare, le biélorusse, le russe, le serbo-croate, l’ukrainien, le grec, le turc, l’estonien, le letton, le lithuanien, l’albanais, le tchèque, le croate, le hongrois, le polonais, le slovaque et le slovène :-)).
IV-B. Travail du traducteur▲
Étudions maintenant ce qui change dans la traduction d'une application avec mon utilitaire. La création de la liste de mots à traduire ne change pas. Par contre, le travail du traducteur change. En effet, il va devoir visualiser côte à côte le texte en français et celui dans sa langue. Dans la suite, je supposerai que le traducteur utilise une version de Windows en français, mais, dans le cas contraire, il y a juste quelques opérations à inverser.
Première méthode, il peut utiliser Wordpad. Il ouvre donc dans Wordpad d'une part le texte français qui s'affiche correctement. D'autre part, il crée dans une nouvelle fenêtre de Wordpad un nouveau document au format Texte seulement :
Ensuite, dans Format|Police, il doit indiquer en bas à droite de la fenêtre qu'il faut travailler en cyrillique :
Si la police proposée ne dispose pas du cyrillique, il faut en prendre une autre, genre Arial.
Il n'y a plus qu'à faire la saisie de la traduction en cyrillique :
Deuxième méthode, vous envoyez au traducteur mon utilitaire de traduction. Il ouvre le texte français comme d'habitude. Par contre, pour la Langue étrangère, il doit modifier la Police et choisir le cyrillique :
Ensuite, il traduit, enregistre et vous renvoie le tout.
IV-C. Tester le programme▲
Vous n'avez plus qu'à traduire le projet suivant la méthode habituelle. Sauf que vous aimeriez bien pouvoir tester le résultat. Sur votre PC en français, ce n'est pas brillant :
Inutile d'essayer de bricoler les fonts dans votre projet. Le menu, entre autres, utilise les paramètres de Windows pour s'afficher. Il vous faut un PC en russe pour tester votre application. Comme c'est assez peu courant chez nous et qu'en plus, il faudrait un PC par langue, il y une autre méthode. Cette technique ne fonctionne qu'avec NT4 ou W2000 et pas du tout sous 95/98/Me. Le principe est qu'il est possible de basculer Windows de façon réversible en russe. En fait, il existe deux installations de Windows, l'installation d'origine en anglais US et les installations localisées. Vous pouvez facilement passer de la version US à une version localisée, les versions localisées utilisant une extension de l'ASCII. Nous voyons d'ailleurs ici bien le problème. Si vous basculez entre deux versions localisées qui n'utilisent pas la même extension de l'ASCII, les caractères spéciaux comme les accents ne pourront suivre la transformation et les noms de fichier et répertoire les utilisant seront endommagés.
Je vais donc vous présenter la méthode pour passer NT4 (SP5) en russe. La méthode pour W2000 ainsi que beaucoup d'autres informations sur la russification peuvent être trouvées sur cette page. Vous démarrez donc IMPÉRATIVEMENT avec une version de NT4 US. Allez dans le Panneau de configuration et activez les Paramètres régionaux :
Vous sélectionnez le russe et vous cochez la case Set as system default locale. Puis suivez les instructions de Windows (insérer le CD de Windows et redémarrer). Après le redémarrage, vous êtes aussi censés réinstaller le dernier Service Pack (c'est signalé à l'installation du SP !). Personnellement, je ne le fais qu'après le retour en anglais. Après le redémarrage, vous constatez que la police a changé, d'ailleurs pas très lisible (beaucoup plus lisible si vous réinstallez le SP !).
Il est temps de tester votre projet en démarrant simplement l'exe :
Ça va beaucoup mieux. Le test est concluant.
Une fois le test terminé, vous n'avez plus qu'à remettre Windows en anglais suivant le chemin inverse. Et, pendant que vous êtes en russe, évitez de créer des fichiers ou des dossiers utilisant des caractères cyrilliques.
IV-D. Conclusion▲
Pour clore, nous avons vu que la traduction en russe n'est guère plus difficile que la traduction simple. De la même manière, vous pouvez accéder à l'ensemble des langues est-européennes. L'arabe et l'hébreu doivent aussi être envisageables (l'arabe est alphabétique, pour l'hébreu, je ne sais pas) sauf qu'ils ne sont pas proposés par défaut dans W95. Quant aux langues orientales, qui ne sont pas vraiment alphabétiques, je n'ai aucune idée sur la manière de procéder.
Je tiens à remercier Sergueï (alias Serge Arbiol) pour son aide et ses conseils concernant l'utilisation du Russe dans Delphi et Windows, ainsi que pour la traduction en russe de mon utilitaire de traduction.