Découvrir Xcode 7

Utiliser XLIFF

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Pour traduire vos interfaces utilisateurs, vous pouvez utiliser le standard XLIFF et une des applications se trouvant sur l'App Store.

Transcription

Alors, comme vous le savez peut-être, cette formation est inspirée d'un allemand qui s'appelle Franck Huster, moi j'habite en Allemagne d'ailleurs à Cologne, et donc je parle allemand et donc mes applications sont comme DiskAlarm par exemple ou Comments sont localisés dans plusieurs langues, dont l'allemand, le français, l'anglais. La chose à noter c'est que évidemment tout le monde ne parle pas anglais tout le monde ne parle pas français donc quand vous développez des applications il est important de les traduire, de les internationaliser, de les localiser notamment pour des raisons politesses, mais aussi surtout pour des raisons marketing, parce que ça vous permettra d'en vendre plus. Donc, on va créer un projet qui s'appelle U18N, I18N pourquoi, parce que c'est de raccourci de Internationalisation. Ce mot contient 18 lettres et aussi L10N pour Localisations. Donc on va mettre ça, ici et ce qu'on va faire c'est qu'on va créer tout simplement une petite application avec par exemple un Bouton et un Label, encore une fois. Bouton, un Bouton ici, par exemple et un Label. Ce bouton et ce Label est là, et si je lance mon application, sans surprise, j'aurai un Bouton et un Label. Mais maintenant ce que je veux, c'est que quand je vais lancer mon application en français, j'ai quelque chose qui s'affiche ici, qui est Bouton et Label, par exemple, OK ? Pour ça on va aller faire un tour du côté de Project Settings. Dans le Project Settings, si je regarde vraiment dans le Project settings ici voyez qu'il y a toujours des petits builds du côté de X code, n'hésitez pas les signer à Apple appdoceryport.apple.com, si on va voir dans le projet, on va voir que le Projet ici a la Localizations English, comme Development Language. Et nous qu'on va utiliser ce qu'on appelle le Base internalisation, pour ça on va rajouter le French par exemple, et là il veut me dire : ah mais moi j'ai deux Storyboards, un Storyboard, Main Storyboard, qui mon application et le LaunchScreen Storyboard, donc ça c'est sympa aussi, ça permet de localiser le LaunchScreen, qui est automatiquement converti en un PNJ. Donc, nous on va s’intéresser au Main Storyboard, je ne sais pas si vous avez vu, mais il y a une petite flèche qui est apparu de chaque côté de Storyboard, avec la base, qui est donc l'anglais et des Strings, en français. Alors là vous pourriez si c'est vous-même qui localisez, vous pouvez tout simplement modifier ça. Certes, ça ira directement, ça fonctionnera directement, mais bon, avec le français ça marche à merveille, avec l'anglais aussi, l'allemand à priori plus ou pas mal, mais par contre en japonais, je suis limite. Or, j'y ai DiskAlarm par exemple qui est localisé en japonais, et donc là je dois me baser sur un localisateur ou un traducteur. C'est là où on en arrive à localiser. Voilà, on va sélectionner ça évidemment. Et on va chercher justement comme Localisation, je ne me souviens plus très bien dans quel menu il est, Localization Locking, voilà, ou peut-être c'est Translate, oui, voilà, c'est parce qu'il faut sélectionner évidemment ici, Editor je vous rappelle que le menu Editor est contextuel, il faut sélectionner mon projet. Editor, Export For localization, et donc on va mettre ici, on va imaginer que je crée un répertoire Translations, par exemple, et dans ce répertoire Translations, je vais mettre mon I18N avec comme traduction, en traduction le français. Et on va aller faire un tour ici de ce côté-là pour voir qu'est-ce qu'il y a là dedans. Alors dans mes Translations j'ai effectivement un fichier xliff, alors si je prends ce fichier et que je vous l'ouvre avec par exemple Text Main, qui est donc mon Editor des Textes favoris, vous verrez que c'est du XML, qui est pas forcément compréhensible pour tout le monde. Avec notamment on voit que le LaunchScreen ici Storyboard est traduit ou si le Main Storyboard avec un langage sur ce qui est l'anglais, et un Target language, qui est français. Et là on voit que j'ai Bouton, Bouton, OK, deux fois le Bouton, en source et en target. En Target en français, je voudrais autre chose, alors je pourrais le modifier ici une fois de plus et continuer mon workflow comme ça, mais ça c'est pas très compréhensible. Pour ça on va utiliser un logiciel, qui ouvre les fichiers xliff, alors. SI je double clique on va avoir une application qui s'appelle Linguan, qui s'ouvre. Il y a plein d'applications qui permettent de modifier les fichiers xliff, vous n'êtes pas obligé d'avoir Linguan mon Linguan c'est une application pour laquelle j'ai une licence depuis quelques années. Si je recherche dans l'App Store, alors l'App Store ce n'est pas toujours la panacé, mais des fois c'est très utile, si je recherche xliff, vous verrez que par rapport à xliff, j'ai plein de solutions, notamment des logiciels gratuits, comme XLIFFTool, alors là j'ai juste marqué Open, parce que j'ai deja installé, mais si vous regardez le prix, c'est effectivement marqué Free. Ou des choses qui sont pratiquement gratuites, comme xliffi, qui est peut-être mieux que XLIFFTool, ou par exemple Linguan, alors certes Linguan, c'est quelque chose qui fait beaucoup plus de choses, mais évidemment c'est un petit peu plus cher. Donc moi, ceci dit, j'aime bien Linguan, donc je vais retourner et faire un tour du côté de Linguan, puisque je l'ai, et je vais voir ce que j'ai comme String. Dans le Main Storyboard j'ai effectivement deux Strings avec leurs noms qui est le code dans interface Builder, les commentaires comme quoi ici c'est un UIButton ici c'est un UILabel, et donc le texte en anglais que je vais pas changer, le texte en français, le texte en français je vais le changer, je vais dire Bouton et l'autre je vais dire Libellé, OK. Et une fois là, je vais faire Export et exporter tout ça. Imaginons, je vais le mettre par exemple ici, donc pour ça il va falloir tag et droper ça, pour le mettre en Translations. On va laisser en tant que Untitled pour voir ce que ça fera voilà, là j'ai affiché Untitled xliff, or, j'aurai plus le remplacer tout simplement OK. Bon, ça n'a pas énormément d'importance, maintenant ce qui est important c'est que ce fameux fichier, donc on va l'appeler le fr-trad. Imaginons que c'est la version que le traducteur va me renvoyer. Ce fameux fichier justement je vais retourner dans mon projet et je vais faire Editor, Import Localization, voyez j'ai fait un Export, le traducteur a traduit, ensuite je vais utiliser, ce trad.x, xliff. Et là si je regarde dans le fichier Friends, là il me dit Empty Translations, peu importe, on va faire comme Import, c'est de Warning, c'est pas très très important. et on va voir ce qui se passe, on va voir qu'ici il a effectivement écrit Bouton, Libellé. Maintenant je vais lancer mon application pour aller un petit peu jeter un œil du côté de l'application alors on va voir l'application donc se lance et lorsque l'application sera lancée, on va voir que j'aurai deux boutons, dont un bouton qui s'appelle Bttttt et l'autre Liblblbl. Il y a deux problèmes par rapport à ça, c'est le premier problème c'est tout simplement que les boutons n'ont pas la largeur suffisante, donc on va leur ajouter des Contraintes, tout simplement. Donc on va dire ici, on va prendre tout simplement ça et on va dire Add Missing Constraints et on va essayer. Ça va me permettre de vous montrer quelque chose d'assez intéressant, qui vous permet de tester ça sans même devoir lancer l'application. Pour ça vous ouvrez l'assistant, Editor Assistant ici, dans un Contrôle Enter et au lieu de passer en Automatic, vous allez un mode Preview. Le mode Preview, vous avez la version ici Bouton Label, et en bas à droite vous avez un petit lien English, et celui-là je peux changer en French, et là on verra qu'automatiquement ça change. Alors, ça reflète complètement la variété des Contraintes, puisque j'ai rajouté les Contraintes. Si j’enlève mes Contraintes, vous verrez qu'effectivement j'ai ce problème-là. Problème que je ne verrai pas en anglais, mais que je verrai en français. C'est vraiment sympa, parce que les Contraintes sont appliquées. Voyez si je rajoute mes Contraintes ici Add Missing Constraints, c'est automatiquement mis à jour, d'ailleurs si je change ici par exemple la couleur du Background, par exemple si je fais un Background Color, par exemple, que l'on met comme ça par exemple, vous voyez ça change. Voilà, c'est plutôt moche pour le coup, mais imaginons comme ça. Donc voilà comment tester ça, maintenant si vous voulez voir comment ça fonctionne, qu'on s'est lancé, en sachant qu’évidemment pourquoi ça se lance comme ça. Et ça se lance comme ça, parce que dans mes options justement je lui dis de lancer ici dans le système langage et dans le language système de mon simulateur en l'occurrence c'est en français. Maintenant si j'avais décide de lui dire de lancer en anglais, on verrait qu'à ce moment-là peu importe que mon simulateur soit en français, il aurait quand même lancé mon Skim en anglais Button et Label.

Découvrir Xcode 7

Explorez l’interface et les fonctionnalités d’Xcode 7. Gagnez ainsi en productivité lors du développement de vos applications iOS, OS X, watchOS et tvOS.

Aucun commentaire n´est disponible actuellement
Logiciel :
Spécial abonnés
Date de parution :4 mai 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !