Configuration:Create Menu Language/fr
On entend par régionalisation (localisation) le fait qu’il existe des traductions ou tout au moins la possibilité de traduire l’interface d’un programme dans plusieurs langues. Scrabble3D est un programme qui a été conçu pour être régionalisé. Le choix d’une langue d’interface permet à l’utilisateur de Scrabble3D d’afficher la traduction de tous les éléments de dialogue du programme.
Les entrées des langues d’interface se trouvent dans des fichiers texte qui doivent avoir le même format qu’un fichier d’initialisation, mais qui portent l’extension .lang
. Pour que les caractères particuliers et les lettres pourvues de signes diacritiques soient traitées correctement, il faut que le fichier .lang
soit enregistré au format UTF-8. Au cas où il n’existerait pas encore, le programme génère lui-même le fichier english.lang, qui peut servir de texte source pour les traductions du logiciel.
L’en-tête du fichier contient des informations générales qui concernent le fichier en tant que tel et qui sont regroupées sous la rubrique [Header]
. Dès qu’on a chargé le fichier dans le programme, les informations concernant l’auteur (Author
), la version (Version
) et la date (Date
) du fichier sont affichées dans la boîte de dialogue qui permet de configurer le jeu. C’est le code de langue de l’entrée LangID=<code>
qui est utilisé en vue de l’affichage des drapeaux sur le serveur de jeu ; c’est pourquoi il est indispensable que les codes indiqués ici soient exactement ceux de la liste des codes ISO 639-1. Il est possible d’intégrer encore d’autres informations dans l’en-tête du fichier, comme par exemple un commentaire ou le type de licence qui s’applique au fichier. De telles informations supplémentaires ne sont pourtant visualisées nulle part dans le programme.
C’est dans la section |
[Header] Author=Jean Polyglotte Version=1 Date=2010-01-30 LangID=eo Licence=Creative Commons Comment=Juste un exemple [Translation] fmMain.Caption=Scrabble3D tbExit.Caption=E&xit tbExit.Hint=Fini programo game end=Ludofino |
Il existe des commandes qui ne sont générées que pendant l’exécution même du programme et dont les textes, par conséquent, ne pourront être traduits qu’après leur apparition dans le fichier .lang
. Dans ce cas-là, ce sont les textes eux-mêmes qui permettent leur identification. Il en est de même pour les informations dynamiques. Des exemples typiques sont "2D view=Vue 2D"
ou "game end=Fin du jeu"
. En tout état de cause la traduction doit toujours être placée directement après le signe d’égalité.
On peut créer un nouveau fichier de langue soit en partant d’un fichier existant dont on fait une copie et qu’on renomme, soit en créant un fichier complètement nouveau. Si on crée un fichier complètement nouveau, il ne faut surtout pas oublier d'y rajouter les entrées [Header] et [Translation]. Au cas où certaines traductions manqueraient dans le nouveau fichier .lang
, ce sont les textes d’origine, générés en anglais par le programme, qui sont enregistrés dans le fichier et qui sont affichés au lieu de la traduction.
Cette méthode relativement simple de régionaliser le programme représente cependant un inconvénient : C’est qu’il n’est pas possible de changer l’ordre des groupes de mots qui sont composés tels quels par le programme. L’expression "wins the game=a gagné cette partie" est complétée par le nom du joueur gagnant, ce qui fait que la phrase est affichée comme telle : « Joueur A a gagné cette partie ». Il est donc indispensable que la traduction tienne compte de l’ordre exact du groupement des mots qui ne pourra être changé dans les fichiers des langues de l’interface. A part cela, il faut faire attention à ce que les traductions ne soient pas trop longues, car il existe des cas où les textes qui occupent trop de place ne sont pas affichés correctement.
Language: |
Deutsch • English • Español • Français • Gaeilge • Gàidhlig • Italiano • Svenska |