Localisation Cours 1 Généralités E. Planas, UCO
Plan Cours 1 : Introduction à la localisation (25/09) Cours 2 : Comprenons ce qu est un programme lien avec la localisation (2/10) Cours 3 : POedit : un premier logiciel simple et gratuit de localisation (9/10) Cours 4 : Localisation de sites Internet (6/11) Cours 5 : Un deuxième logiciel de localisation : Omega T (13/11) Cours 6 : Fichiers XML / HTML et SDL Trados Studio (4/12)?
Cours 1 Introduction à la localisation Les enjeux économiques de la localisation Quelques exemples introductifs Les enjeux techniques Internationalisation Décimal, Hexadécimal, Binaire Rappel sur les encodages (EN: code pages) Notion de Locale Le cycle de localisation / Élément à localiser Quelques exemples d extraits à localiser Terminologie de la localisation
LES ENJEUX ÉCONOMIQUES DE LA LOCALISATION
G11N : Globalization La Globalisation (G11N) exprime les pratiques visant à lancer un produit à l international Parmi ces pratiques, l Internationalisation (I28N) d un logiciel consiste en sa préparation à son adaptation et sa traduction La Localisation (L10N) consiste en son adaptation et sa traduction
Quelques chiffres Il y a 6700 langues sur Terre et 230 pays Il faut 83 langues pour contacter 80% de la population mondiale 56% des utilisateurs estiment que la langue de d utilisation des logiciels est plus importante que leur prix 500 langues sont traduites quotidiennement On estime qu en 2014 le marché de services de traduction aura cru de 7,4% sur l année
Historique d Internet La localisation est très liée à la mise enplace d Internet Nb d ordinateurs connectés à Internet : 1971 : 23 : le premier mail est envoyé! 1973 : GB et NO se connectent : 1 ordi par pays! 1984 : 1.000 ordis connectés 1987 : 10.000 1989 : 100.000 1992 : 1.000.000 2000 : 368 millions (Bulle Internet) 2011 : 916 millions 2012 : 1 milliard
Historique de la localisation Années 70 : les traducteurs s agglomèrent pour créer les premières agences de traduction non étatiques : les LSP (Language Service Providers) Années 90 : les mini-ordinateurs et le Web envahissent les foyers dans différents pays : la traduction de logiciels se met en place Années 95 : Les grosses sociétés de traduction achètent les petites : Lionbridge < BGS < Berlitz < Mendez Microsoft oblige les Agences à utiliser Trados
L organisation GALA - LISA LISA a longtemps joué le rôle de représentant de l industrie de la localisation Elle a mis en place la gestion des standards de localisation / traduction : TMX, TBX, SRX, GMX, XML:TM, XLIFF Elle a répandu les concepts : G11n, I18n, L10n LISA a été récupérée (faillite) par l Association GALA qui fait maintenant réréfence : http://www.gala-global.org
Les grands acteurs Les grands éditeurs de logiciels : Microsoft, SAP, Adobe, Apple, Symantec, Les grands éditeurs de jeux : Nitendo, Atari, Micromania, Les grands acteurs du web ebay, FaceBook, LinkedIn, Amazon, Les agences de traduction spécialisées en localisation Lionbridge, Moravia, WeLocalise, Net-Translators, Transperfect, Acrolynx
En France http://www.anyword.fr/blog/2009/05/27/lesprincipales-agences-de-traduction-en-france/
Des jobs en localisation Le marché Localisation http://jobsearch.monster.com/jobs/?q=localization&cy=us http://jobsearch.monster.com/jobs/?q=localization&cy=fr Globalisation http://jobsearch.monster.com/jobs/?q=globalization&cy=us Internationalisation http://jobsearch.monster.com/jobs/?q=internationalization&cy= US http://jobsearch.monster.com/jobs/?q=internationalization&cy= FR
QUELQUES EXEMPLES INTRODUCTIFS
Longueur des textes Imaginons que dans un logiciel, un bouton «Valider» ne comporte juste que la place pour les 7 lettres de «Valider». Valider Comment faire en allemand? bestätigen
Sens de l écriture : ehcuag à etiord ed tnevircé s uerbéh l te ebara L? eriaf tnemmoc
Les nombres Les séparateurs décimaux : EN : le point :. FR : la virgule :, Les séparateurs de grands chiffres : EN : 1 000 000 FR : 1.000.000 (on compte par milliers) JP : 10.0000.0000 (on compte par 10.000)
Le nombre (sing / pluriel) Exemple Anglais Tsonga (Afrique du sud, Mozambique, Swaziland, Zimbabwe : une langue Bantu) Show/Hide Axis Description(s) Kombisa/Fihla (ti)nhlamuselo ya tikhona
Les couleurs Poste : FR : jaune, UK : rouge Rouge : IND: pureté, FR: danger Mort : FR: noir, Japon: blanc
Le texte de départ L auteur du texte d un logiciel promu à une vie internationale doit s abstenir de : Private jokes Jeux de mots Références culturelles locales Ex 1 : les chiffres et les lettres d Armand Jamot Ex 2 : la couleur jaune de La Poste (rouge en UK,..) L argot Le texte doit être simple et clair Le nec plus ultra consistant à utiliser un «langage contrôlé» (ex.: Airbus) qui règle : La terminologie Les structures simples de phrases (Ex: pas de passif)
LES ENJEUX TECHNIQUES
Le logiciel Un logiciel fait appel à du texte Les menus (Fichier / File), les messages, l aide en ligne Ils sont exprimés dans une langue Ils nécessitent donc une traduction pour une utilisation dans un pays de langue différente Ces textes sont souvent mêlés de variables ou instructions de programmation : «Fichier CTRL+F» nécessitent l utilisation d extracteurs / ré-intégreurs depuis / vers les logiciels font appel à une connaissance de ce que sont les logiciels La traduction de logiciels est donc une activité un peu particulière, en marge de la traduction de documents fixes.
Localisation : traduction de logiciel On parle de «localisation» par américanisme : La «localization» recouvre l ensemble des changements nécessaire à l adaptation d un logiciel (un produit) à une autre langue, un autre pays, une autre culture, une autre législation (1) Un logiciel est un objet informatique dynamique Contrairement à un document (un contrat, un mode d emploi) dont le contenu est fixe une fois écrit dans la langue source Un logiciel fait appel à du code informatique qui affiche du texte suivant des traitements : il est dynamique Ex.: lorsque vous appuyez sur le menu «fichier», la liste des commandes possibles se déroulent (1) Translate.org.za
Types de logiciels Parmi les objets à localiser, on trouve : Les logiciels installables sur micro-ordinateurs Qui dépendront souvent du système d exploitation : Macintosh, Windows, Linux, Unix. Qui dépendent aussi du langage de programmation : C, java, php, Ex.: Word, itunes, Firefox, 7Zip,. Les logiciels de jeux Ils dépendent des consoles sont nombreuses : Nitendo DS, Microsoft Xbox, Amiga, Atari, Les logiciels embarqués Commandes d un Airbus, distributeur de billets, borne SNCF, Les sites Internet Ils font appel de plus en plus à des scripts, micro-programmes qui en font un type de logiciel.
Internationalisation / Localisation Lorsqu un éditeur de logiciel (Microsoft, Adobe, Nitendo, ) conçoit un logiciel, s il en veut une version dans une autre langue, il doit procéder en deux étapes : 1. L internationalisation du logiciel : C est le travail du programmeur, qui prépare le logiciel pour qu il puisse être facilement traduit 2. La localisation : c est le travail du traducteur Cela consiste à traduire et adapter le logiciel pour une langue et un pays donné
INTERNATIONALISATION
But principal de l Internationalisation Préparer la structure les logiciels / Sites Web en avance pour qu ils soient prêts à être localisés (traduits) Pour que I28N soit efficace, il faut qu elle soit pensée avant l écriture du logiciel, pas après
Buts secondaires Utilisation aisée et rapide quelque soit la langue Réduction du temps et de l effort nécessaire à la traduction du logiciel Plus de ventes pour les logiciels localisés Un seul code informatique quelque soit la langue (maintenance aisée) Amélioration en conséquence de la conception du code et de l architecture Réduction des coûts Utilisation de standards logiciels / de localisation
Internationalisation : généralités Il existe de bonnes pratiques et des outils pour aider les informaticiens à internationaliser un logiciel La suite en rappelle quelques-unes Les pratiques de I28N sont classées par niveau
Niveaux d I28N Niveau 1 : niveau minimal Logiciel indépendant des langues et des encodages de caractères Logiciel indépendant des conventions culturelles Niveau 2 : traitement du texte visible Gestion du texte par variables informatiques Utilisation d outils Niveau 3 : Unicode Niveau 4 : Gestion généralisée stockage, manipulation suivant les «Locales»
DÉCIMAL, HEXADÉCIMAL, BINAIRE
Rappel sur les notations : décimale, hexadécimale, binaire En informatique, une «notation» est une façon de compter. Dans la vie courante, nous utilisons la notation décimale : 0, 1, 2,.., 9, 10, 11,., 99, 100, 101,, 1000, Pourquoi «décimale»? Parce qu elle se base sur des multiples : 3 x., 4 x. de puissances de 10 : 43 = 3 x 1, 4 x 10,
Notation décimale (10) Ainsi : 1=1x1, 2=2x1,., 9=9x1, 10=1x10, 11= 1x10 + 1x1 43= 4x10+3x1, 123=1x100+2x10+3x1 123= 1x10 2 +2x10 1 +3x10 0 Car 100 = 10 2 ; 10 = 10 1 ; 1 = 10 0 Exercice : Décomposez en multiples de puissances de 10 : 97, 1492, 1066, 10973
Notation Hexadécimale (16) Elle se base sur des multiples de puissances de 16 plutôt que de 10 : 0,1,2,..,9,10,11,12,13,14,15,16,17, 31,32,.. 0,1,2,..,9, A, B, C, D, E, F,10,11,,1F,20,.. Comme la civilisation indienne, via l arabe ne nous a légué que 10 chiffres, on ajoute les 6 premières lettres pour exprimer les nombres de 10 à 16 255 en notation décimale correspond à : 2x100 + 5x10 + 5x1 = 2x10 2 + 5x10 1 + 5x10 0 255 s écrit FF en notation hexadécimale : Fx16 1 + Fx16 0 = 15x16(240) + 15x1
Notation binaire (2) Elle se base sur des multiples de puissances de 2 plutôt que de 10 ou 16 : 0,1, 2, 3, 4, 5, 6, 7, 8,,9... 0,1,10,11,100,101,110,111,1000,1001,. 3=1x2+1x1=1x2 1 +1x2 0 11 7=1x4+1x2+1x1=1x2 2 +1x2 1 +1x2 0 111
Pourquoi le binaire? Les informaticiens utilisent le binaire car c est le langage de l ordinateur en interne : 0 ou 1 Pas d électricité ou de l électricité L information dans un ordinateur est représentée par des cellules électroniques activées ou pas Pas d électricité / de l électricité : 0 ou 1 Ainsi 6 se code avec 3 cellules : 1 1 0 Une cellule s appelle un bit
Pourquoi l hexadécimal? Un bit représente une très petite quantité Pour manipuler des quantités plus grandes, tout en restant proche du langage de l ordinateur, on utilise des paquets de 8 cellules, 8 bits 8 bits s appellent un octet 1 1 0 0 1 1 0 0 Cela permet de coder les chiffres de 0 à 2 8-1=255 Pour manipuler de façon plus concise un octet, on utilise deux nombres hexadécimaux: 0 00, 7 07, 10 0A, 15 0F, 16 10, 17 16+1 144=9x16 90, 153=9x16+9 99, 154 9A, 255 FF
Outil de conversion Windows/Démarrer/Tous les programmes/accessoires/ Calculatrice Affichage / Mode Programmeur Décimal Hexadécimal Choisir «Déc» Taper un chiffre en décimal Choisir «Hex» pour convertir en Hexadécimal Choisir «Bin» pour convertir en binaire
RAPPEL SUR LES ENCODAGES (EN: CODE PAGES)
Écriture, langue et encodage - 1 L homme utilise un système d écriture Français : a, b, c,., è, é, ï,, 1, 2, 3,, +/». Japonais : あ ば ア バ 日 本 琴 柔 道 1 2 千 Un ordinateur au final écrit des 0 et 1 (bits) Au niveau matériel, cela correspond à activer des unités (bits) électroniques ou magnétiques Les «encodages» permettent de «traduire» l écriture humaine en écriture machine et inversement Un caractère : Ex : a Sa représentation dans un encodage : (Latin-1) : 097 Conversion en binaire : 01100001 Son stockage dans un octet : UCO - IPLV - TAO - Initiation - eplanas@uco.fr 39
Écriture, langue et encodage - 2 Dans l encodage Latin-1 (langues de l Europe de l Ouest), les lettres a et à sont prises en charge, mais pas la lettre Я ("ya") du russe ou une des lettres あ (A) du japonais Dans l encodage Shift-JIS (Windows japonais), ce sont les lettres (à) du français et (Я) du russe qui ne sont pas prises en charge L encodage Unicode permet de représenter une très grande majorité des systèmes d écriture des langues actuelles (et même certaines anciennes) Encodage CP-1252 (Latin-1) «a» «à» «Я» «あ» 61 E0 ø ø Shift-JIS 8281 ø ø 82A1 Unicode 0061 00E0 044F 3042 UCO - IPLV - TAO - Initiation - eplanas@uco.fr 40
Table ASCII Simple (128 caractères) Les caractères < 032 sont particuliers : voir table complète car ascii binaire car ascii binaire 0 048 00110000 SP 032 00100000 1 049 00110001! 033 00100001 2 050 00110010 " 034 00100010 3 051 00110011 # 035 00100011 4 052 00110100 $ 036 00100100 5 053 00110101 % 037 00100101 6 054 00110110 & 038 00100110 7 055 00110111 ' 039 00100111 8 056 00111000 ( 040 00101000 9 057 00111001 ) 041 00101001 : 058 00111010 * 042 00101010 ; 059 00111011 + 043 00101011 < 060 00111100, 044 00101100 = 061 00111101-045 00101101 > 062 00111110. 046 00101110? 063 00111111 / 047 00101111 @ 064 01000000 A 065 01000001 a 097 01100001 B 066 01000010 b 098 01100010 C 067 01000011 c 099 01100011 D 068 01000100 d 100 01100100 E 069 01000101 e 101 01100101 F 070 01000110 f 102 01100110 G 071 01000111 g 103 01100111 H 072 01001000 h 104 01101000 I 073 01001001 i 105 01101001 J 074 01001010 j 106 01101010 K 075 01001011 k 107 01101011 L 076 01001100 l 108 01101100 M 077 01001101 m 109 01101101 N 078 01001110 n 110 01101110 O 079 01001111 o 111 01101111 P 080 01010000 p 112 01110000 Q 081 01010001 q 113 01110001 R 082 01010010 r 114 01110010 S 083 01010011 s 115 01110011 T 084 01010100 t 116 01110100 U 085 01010101 u 117 01110101 V 086 01010110 v 118 01110110 W 087 01010111 w 119 01110111 X 088 01011000 x 120 01111000 Y 089 01011001 y 121 01111001 Z 090 01011010 z 122 01111010 UCO - IPLV - TAO - Initiation - eplanas@uco.fr 41
ASCII Étendu (avec équivalent Unicode) UCO - IPLV - TAO - Initiation - eplanas@uco.fr 42
Rem : Encodages en pratique Les systèmes d exploitation Windows permettent d écrire les caractères à l aide de leur code ASCII et de la touche ALT. Pour cela : Maintenez la touche ALT enfoncée Sur le pavé numérique : tapez les trois chiffres du code ASCII du caractère Relachez la touche ALT Ex: ALT+225 pour : ß ; ALT+160 pour á ; ALT + 133 : à Attention : les pavés numériques des ordinateurs portables sont parfois «virtuels» : pour taper un chiffre, il faut maintenir une touche enfoncée (du type Fn) et choisir les chiffres de couleur (par exemple bleus) Cela Oblige alors à utiliser : ALT + Fn + 225 pour ß UCO - IPLV - TAO - Initiation - eplanas@uco.fr 43
Encodage et localisation Les textes (menu, messages,..) d un logiciel, comme un document, sont écrits dans un encodage donné : Latin 1 (Europe Ouest), Latin-2 (Caractères latins d Europe de l Est), Latin-5 (Latin+Cyrillique), Big 5 (Chine), Shift-Jis (Japon) Pour que les textes puissent être traduits dans une autre langue, il faut que l encodage choisi au départ permette de représenter ces langue La meilleure pratique est de toujours travailler en Unicode Attention, il y a plusieurs versions d Unicode : UTF-16BE, UTF-16LE, UTF-8, UTF-7,
Éditeurs gérant les encodages Notepad++ (Windows) http://notepad-plus-plus.org/ HexEditor HDD (Windows) http://www.hhdsoftware.com/free-hex-editor FlexHex (Windows) http://www.flexhex.com/download/ Freeware Hex Editor XVI32 (Windows) http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm HxD (Windows) http://mh-nexus.de/en/hxd/ HexEdit (Windows) http://www.hexedit.com/ DataWorkshop (Windows, Mac, Linu) http://www.dataworkshop.de/
NOTION DE LOCALE
Locale En informatique, une locale va consister en un ensemble de paramètres adaptés à une langue et une région : Format des dates Format des nombres : virgules, milliers Ordre de tri des caractères Calendrier en usage Elle est souvent désignée par : Un code de langue : FR Un code de pays : CA Exemple : FR-CA
Code de langues
Codes de langues et pays Il existe plusieurs codes ISO 669-1 : langues http://fr.wikipedia.org/wiki/liste_des_codes_iso_639-1 ISO 3166 http://www.iso.org/iso/fr/country_codes/iso_3166_c ode_lists/french_country_names_and_code_element s.htm Ex : un code de langue pays pour TMX : DA-GL, ES-AR, EN-AU, FR-CH, DE-CH, IT-CH, RM-CH
LE CYCLE DE LOCALISATION ÉLÉMENTS À LOCALISER
Extraction des données à traduire Construction de la terminologie monolingue Collection des traductions Pré-traduction par une mem de trad Traduction Insertion du texte dans le logiciel Test Fonctionnel Textuel Des différentes parties : Interface, Aide
Les éléments à localiser Le texte La mise en forme Les graphiques et les éléments multimédia Les raccourcis-clavier Les polices de caractères Les éléments de Locale Les encodages Formats d adresses postales! Changer le nom, la taille, les styles des polices de l Interface Utilisateur Redimensionner, déplacer, éventuellement cacher des boutons, etc. Changer l encodage du texte Remplacer les graphiques et icônes Changer les raccourcisclavier
QUELQUES EXEMPLES D EXTRAITS À LOCALISER
Exemple 1 Incorrect range passed to COUNT(). Syntax error in SELECT. Wrong number of arguments to printf(). Network time-out during POST. Invalid errno value. See the program version by running with -- version. --playlist=playlist --playlist=liste_de_lecture --add-to=file --add-to=fichier
Exemple 2 There are %d files remaining There are {} files remaining There are %(number)d files remaining There are %1 files remaining There are &number; files remaining There are $n files remaining
Exemple 3 %d %% du téléchargement est effectué Ce message affiche quelque chose comme «40 % du téléchargement est effectué» ou «100 % du téléchargement est effectué» avec un seul signe «pour cent» visible par l utilisateur.
Exemple 4 : touches de raccourci Application Marqueur Nom Texte anglais Affichage Remarque KDE, QT et wxwidgets & esperluette Save &As Save As GNOME et GTK _ soulignement Save _As Save As LibreOffice et OpenOffice.org ~ tilde Save ~As Save As Mozilla & esperluette Save &As Save As En cas d utilisation de moz2po Windows.rc & esperluette Save &As Save As Aussi utilisé dans Wine
Caractères d échappement Séquence Effet Explication \n saut de ligne Un saut de ligne dans le texte (comme quand on appuie sur Entrée). Il est parfois affiché par un dans les programmes de traduction. \t Tabulation (8 espaces) Ajoute une tabulation dans le texte. Elle est parfois utilisée par aligner le texte en colonnes. \r Retour chariot Ceci est d habitude utilisé en conjonction avec \n dans les logiciels pour Windows. \\ barre oblique inverse réelle \" guillemet double (") \uxxxx ' caractère unicode apostrophe ( ) Si vous avez besoin d une barre oblique inverse dans le texte réel, il faut alors l échapper. Au final, l ordinateur ne produit qu une seule barre. Dans certains cas, un guillement anglais double a une signification spéciale et doit être échappé pour qu il apparaisse réellement dans le texte final. Les caractères spéciaux comme ou. Les programmeurs utilisent parfois la syntaxe \u pour ces caractères. La séquence xxxx sera en fait la valeur héxadécimale ou décimale d un caractère Unicode. La plupart du temps, il faut laisser la séquence telle quelle dans la traduction. Dans certains documents XML, l apostrophe ainsi que d autres caractères doivent être représentés par des entités XML. Par exemple : <a href="index.html" title="rock 'n Roll">lien</a>
TERMINOLOGIE
Terminologie 1 : langues Script : Latin, Cyrillique Bidi : Bidirectional text Big5 : encodage pour Taiwan Diacritique Diphtongue Unicode Glyphe DBCS : Double-byte Character Set FIGS : French, Italian, german, Spanish CCJK : Simplified Chinese, Traditional Ch., Japanese, Korean EMEA : Europe, Middle East, Africa BRIC : Brazil, Russia, India, China
Terminologie 2 : Formats XLIFF SGML TBX TMX MARTIF OASIS ISO DTD XSL : Extensible Stylesheet Language XML : extensible Markup Language CDATA : Character data
Terminologie 3 : Outils MT : Machine Translation TM : Translation Memory NLP : Natural Langage Processing QA : Quality Assurance QC : Quality Control Resizing TMS : Translation Management System DTP : Desktop Publishing CMS : Content Management System CAT : Computer Aided Translation Leveraging : appliquer une mem de trad
Terminologie 4 : divers Globalisation = G11n Internationalisation = I18n Localisation = L10n GILT : G11N+I28N+ L18N+Translation NLS : National Language Support UI : user Interface Interface graphique (GUI) Plug-in ROI : Return On Investment WYSIWYG IME : Input Method Editor Locale URL : Uniform Ressource Locator (Adresse Internet) API : Application Programming Interface