Localisation - Emmanuel Planas
Transcription
Localisation - Emmanuel Planas
Localisation Cours 1 Généralités E. Planas, UCO Plan • Cours 1 : Introduction à la localisation (25/09) • Cours 4 : Localisation de sites Internet (6/11) • Cours 2 : Comprenons ce qu’est un programme – lien avec la localisation (2/10) • Cours 5 : Un deuxième logiciel de localisation : Omega T (13/11) • Cours 3 : POedit : un premier logiciel simple et gratuit de localisation (9/10) • 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= 1x102+2x101+3x100 – Car 100 = 102; 10 = 101; 1 = 100 • 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 = 2x102 + 5x101 + 5x100 • 255 s’écrit FF en notation hexadécimale : – Fx161 + Fx160 = 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=1x21+1x20≈11 • 7=1x4+1x2+1x1=1x22+1x21+1x20≈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 à 28-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 - [email protected] 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 « a» «à » « Я» « あ» CP-1252 (Latin-1) 61 E0 ø ø Shift-JIS 8281 ø ø 82A1 Unicode 0061 00E0 044F 3042 UCO - IPLV - TAO - Initiation - [email protected] 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 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 SP 032 00100000 1 049 00110001 ! 033 00100001 2 050 00110010 " 034 00100010 3 051 00110011 K 075 01001011 k 107 01101011 # 035 00100011 4 052 00110100 L 076 01001100 l 108 01101100 $ 036 00100100 5 053 00110101 M 077 01001101 m 109 01101101 % 037 00100101 6 054 00110110 N 078 01001110 n 110 01101110 & 038 00100110 7 055 00110111 O 079 01001111 o 111 01101111 ' 039 00100111 8 056 00111000 P 080 01010000 p 112 01110000 ( 040 00101000 9 057 00111001 Q 081 01010001 q 113 01110001 ) 041 00101001 : 058 00111010 R 082 01010010 r 114 01110010 * 042 00101010 ; 059 00111011 S 083 01010011 s 115 01110011 + 043 00101011 < 060 00111100 T 084 01010100 t 116 01110100 U 085 01010101 u 117 01110101 , 044 00101100 = 061 00111101 V 086 01010110 v 118 01110110 - 045 00101101 > 062 00111110 W 087 01010111 w 119 01110111 . 046 00101110 ? 063 00111111 X 088 01011000 x 120 01111000 / 047 00101111 @ 064 01000000 Y 089 01011001 y 121 01111001 Z 090 01011010 z 122 01111010 UCO - IPLV - TAO - Initiation - [email protected] 41 ASCII Étendu (avec équivalent Unicode) UCO - IPLV - TAO Initiation [email protected] 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 - [email protected] 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 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. \" guillemet double (") 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. \uxxxx caractère unicode 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. ' apostrophe (’) 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