Francis Fustier
Francis FUSTIER
item2a

Les applications développées de par le monde pour le système OS X d'Apple adoptent l'interface utilisateur Aqua au moyen des outils de développement mis à disposition par Apple, les Xcode Tools.

De base, cette interface est générée en anglais, langue informatique universelle qui offre des termes concis, non accentués, parfaitement adaptés aux nombreux systèmes d'encodage utilisés pour les langues sur notre planète.

Localization1

Heureusement, les Xcode Tools incluent les outils permettant de traduire l'interface anglaise des logiciels Mac OS X en tout autre langue, ce sont les Localization Tools.

Beaucoup d'entre-nous, préférant utiliser la langue de Molière plutôt que celle de Shakespeare, je me suis attaché à traduire - bénévolement - quelques applications bien connues qui ne l'étaient pas encore, afin d'apporter ma modeste contribution à la sympathique communauté des "Macusers".

rss
Flux RSS
 
FF4a1
Plan du site
La Traduction 1

Retour au menu

forward

La traduction 2

Introduction

Localiser, de l'anglais Localization qui signifie littéralement : "traduction dans une langue locale", une application Cocoa n'est pas une tâche difficile si on utilise les outils appropriés. Il est possible d'effectuer ce travail uniquement avec Interface Builder et un éditeur html (comme BBedit ou mieux Xcode). 
Cependant, si vous avez à effectuer de fréquentes traductions de la même application, spécialement quand cette application en est au stade du développement, cela peut prendre beaucoup de temps. Ce tutoriel expliquera comment utiliser les outils principaux Interface Builder et Xcode, et comment économiser ses efforts dans la localisation d'une application, en utilisant l'outil AppleGlot fourni par Apple, ou encore l'application iLocalize d'Arizona Software.

 

Remarques :

 

Télécharger les outils

Il faut d'abord télécharger et installer les Apple's Developer Tools. Ils sont sur le DVD de chaque nouvelle version d'OS X (Tiger, Leopard, etc.) mais on peut télécharger gratuitement la dernière version directement en s'enregistrant pour accéder au site Apple Developer Connection.

Vous utiliserez principalement Interface Builder, situé dans le sous-dossier /Developer/Applications/, ainsi que l'application Xcode pour éditer les fichiers Localizable.strings ainsi que les fichiers d'aide html. Les Xcode Tools représentant plusieurs Go de fichiers, vous pourrez poubelliser le dossier Documentation (plus de 600Mo) accessible en ligne, et le dossier Samples si vous ne vous destinez pas au développement..

Plusieurs autres applications importantes sont fournies dans le dossier, comme Package Maker pour créer des packages de distribution, ou encore Help Indexer pour indexer les fichiers d'aide traduits, qui vous seront utiles par la suite.

Enfin ne supprimez surtout pas le sous-dossier /Developer/Palettes/ qui contient des modèles indispensables à Interface Builder.

Rendez-vous ensuite à l'adresse des Localization Tools où sont réunies les applications dont vous aurez besoin :

 

Les Xcode Tools seront installés dans le dossier /Developer/ à la racine de votre disque. Les autres outils que vous téléchargerez ensuite (AppleGlot, Glossaires) pourront être installés dans le sous-dossier /Developer/Applications/ pour plus de commodité, mais ce n'est pas obligatoire.

Et maintenant, commençons par le commencement :

IB

Première leçon - Interface Builder (partie 1)

Quand vous faites un ctrl+clic (ou clic droit) sur le nom ou l'icône d'une application, le menu contextuel comporte la fonction "Afficher le contenu du paquet".
Vous pouvez ainsi accéder au contenu de /Contents/Resources/English.lproj qui est le dossier contenant toutes les phrases (strings) de l'interface dans la langue par défaut : l'anglais.

Interface Builder

Ce dossier English.lproj peut contenir plusieurs types de fichiers :

On peut aussi trouver des fichiers images (.tif .jpg ou .png, en général) qui sont la plupart du temps des icônes utilisées par l'application, mais aussi quelquefois des éléments graphiques contenant du texte, et qu'il faudra reproduire à l'identique en français (avec Photoshop, GraphicConverter ou autres).

Si vous n'êtes pas très doués dans l'usage des outils graphiques, faites comme moi : demandez l'aide d'un spécialiste.

Enfin vous y trouverez le dossier contenant les fichiers de l'aide (sous la forme Application Help). Nous en reparlerons dans un autre chapitre.

Interface Builder

Avant tout, il est déconseillé de travailler directement dans les dossiers de l'application. Vous allez donc vous créer un dossier /Traductions/NomDeVotreAppli/ dans lequel vous allez copier-coller le dossier English.lproj. Vous dupliquez celui-ci et le renommez French.lproj pour qu'il n'y ait pas de confusion par la suite, et c'est sur ce dernier que vous allez travailler. Ensuite vous faites un double-clic sur le premier fichier .nib, ce qui ouvre l'application Interface Builder.

Nous allons prendre un premier exemple simple avec Image Tricks, une petite application gratuite de Belight Software.

Vous trouvez un fichier InfoPlist.strings et plusieurs .nib. Vous faites un double-clic sur MainMenu.nib et vous obtenez certainement :

IB3

Suivant l'application, vous pouvez avoir plusieurs éléments s'ouvrant sur votre bureau dans un désordre apparent. Vous allez faire le ménage pour y voir plus

clair. Vous fermez toutes les fenêtres, sauf celle présentant le contenu du fichier .nib et la fenêtre Inspecteur, soit :

IB4

Vous pouvez voir, dans la fenêtre MainMenu.nib, différentes icônes représentant le contenu du dossier. Seules celles présentant la forme d'une fenêtre ou d'un menu sont à traduire. Il suffit de faire un double-clic dessus pour voir apparaître l'interface à traduire.
Vous allez les ouvrir dans l'ordre, l'une après l'autre, les traduire, les sauvegarder et les refermer avant d'ouvrir la suivante, etc. Dans notre exemple, une seule icône est à ouvrir par un double-clic : l'icône "MainMenu".

Vous pouvez, soit modifier chaque ligne du texte du menu directement en double-cliquant dessus, soit en sélectionnant la ligne de texte et en modifiant le texte dans le champ "Title" de la fenêtre l'Inspecteur, onglet "Attributes" :

IB5

Il suffira de sélectionner la ligne suivante pour que la modification soit prise en compte. Bien entendu, n'oubliez pas de double-cliquer sur les en-tête du menu (File, Edit, Windows, etc.) qui doivent aussi être traduites.

Une fois terminé, fermez le menu traduit et sauvegardez les modifications par le menu de Interface Builder, car l'enregistrement est global, et il peut arriver des (rares) plantages de IB en cours de traduction.

Ouvrez ensuite, si il y en a, les unes après les autres les icônes suivantes. Sinon, fermez la fenêtre du fichier .nib pour en ouvrir un autre. 
Traduisez, en double-cliquant dessus, toutes les lignes de texte, sans oublier les boutons. Le français étant beaucoup moins concis que l'anglais, vous aurez souvent à redimensionner les fenêtres, à modifier la taille et la place des boutons, en suivant les guides d'alignement qui s'affichent au moment des manipulations.

IB6

Ci-dessus vous voyez les deux versions anglaise et française du même panneau, tous les champs et positions ont été modifiés sur la version en français pour faire tenir le texte "Numéro de licence" plus long qu'en anglais.

Ci-dessous un autre exemple tiré d'une autre application :

IB11

N'oubliez pas de traduire également le titre de certaines fenêtres qui le nécessitent, comme ci-dessous :

IB7

Vous ouvrez ainsi, les uns après les autres, les fichiers .nib et dans chaque fichier les éléments à traduire en soignant particulièrement la taille des éléments, voire si nécessaire vous agrandirez la taille de la fenêtre, de manière que les textes français soient complètement visibles.

On va s'arrêter là avec Image Tricks. Le but de ce premier chapitre étant de vous familiariser avec les manipulations d'IB. Vous pouvez copier-coller votre dossier French.lproj dans le dossier /Contents/Resources/ de Image Tricks et lancer l'appli pour voir votre résultat. Mais ce sera incomplet, ne vous étonnez pas.

Dans une autre leçon, nous reviendrons sur Interface Builder : Interface Builder (partie 2), afin de débusquer certaines phrases inaccessibles par la méthode de cette première leçon, ainsi que la manière de traduire les infobulles (tooltips) souvent présentes dans les champs de saisie.
Mais passons d'abord à la traduction des fichiers InfoPlist.Strings et Localizable.strings.

xcode

Deuxième leçon - Xcode

Xcode est l'outil de développement Cocoa permettant de porter les développements (C, C++, etc.) dans l'environnement "Aqua" d'OS X. Inutile pour les traducteurs, bien sûr. Cependant Xcode possède un éditeur html très commode, simple d'emploi, et qui permet en 1 clic dans les Préférences de choisir l'encodage de texte :

XCodePrefs

Vous choisirez Unicode (UTF-8) pour les fichiers .strings, et Western (ISO Latin 1) pour les fichiers d'aide et autres fichiers .html.
Cependant si vous êtes un utilisateur chevronné d'un autre éditeur html, tel BBedit, ne vous en privez pas !

Nous allons ouvrir le fichier Localizable.strings de Unison, après avoir sélectionné l'encodage Unicode (UTF-8) dans les Préférences de XCode (rappel !). Vous obtenez un fichier texte comme ceci :

XCode1

Les phrases se présentent sous la forme : "english text" = "english text";

Votre travail va consister à les transformer en : "english text" = "le texte en français";

En prenant soin que toutes les phrases se terminent par un point-virgule qui est le séparateur obligatoire, sinon le fichier ne fonctionne pas. Soyez patients et persévérants, il peut y avoir 300 à 400 lignes à traduire dans ce fichier ! Vous devez obtenir (à gauche avant, à droite après) :

XCode2

Et quand vous rencontrez des syntaxes du type : "%@ file found" = "%@ file found";

Faites bien attention à conserver dans la partie de droite traduite les caractères génériques comme %@ à la bonne place. Vous en rencontrerez souvent.

Notez que les phrases commençant par // sont seulement des commentaires (de couleur verte dans Xcode).

Une fois le fichier terminé, vous ouvrirez le fichier InfoPlist.strings, ça va vous reposer. Vous traduirez de la même façon ce qui est traduisible :

XCode3

En l'occurence, ici, uniquement le nom du fichier d'aide de Unison :

CFBundleHelpBookName = "Unison Help"; qui devient CFBundleHelpBookName = "Aide Unison";

Car c'est le nom français qui doit apparaître dans le menu Bibliothèque de Visualiseur d'Aide.


Fin du premier chapitre. Dans La Traduction 2 nous aborderons l'épineux sujet du français : la terminologie à adopter dans les traductions, quels mots choisir, où les trouver, comment respecter les standards Apple pour rendre votre traduction "Apple like".

next1

La traduction 2

Retour au menu

forward1

© Francis Fustier 2009