# Manuel de &lokalize;

Nick Shaforostoff

    shaforostoff@kde.ru

&traducteurJoelleCornavin;
2007-2009 Nick Shaforostoff
&FDLNotice;
09/05/2009
1.0

&lokalize; est un système de traduction assistée par ordinateur axé sur la productivité et l'assurance de qualité. Offrant les composants habituels en matière d'outils de TAO : mémoire de traduction, glossaire, ainsi qu'une fonction de fusion (synchronisation) de traduction unique, &lokalize; est destiné à la traduction de logiciels et intègre également des outils externes de conversion pour la traduction de documents de bureau en indépendant.

&lokalize; localisation l10n internationalisation i18n traduction globalisation g11n XLIFF gettext OpenDocument KBabel

## Introduction

Lorsque vous lancez &lokalize; la première fois, vous voyez un onglet Vue d'ensemble du projet. Le flux de travail de Lokalize impose de démarrer avec la création / l'ouverture d'un projet.

Si vous travaillez en mode autonome, il est probable que vous allez traduire un fichier OpenDocument. Pour ce faire, cliquez sur Projet Créer un nouveau projet. L'assistant va vous interroger à propos de votre document source, le convertir au format interne de &lokalize;, XLIFF et créer un projet en conséquence. Quand vous avez fini de traduire, cliquez sur Outils Fusionner dans ODF pour intégrer votre traduction dans une copie du document source.

Si vous faites des traductions pour KDE, soit vous avez déjà un fichier projet &lokalize; dans votre dossier de langues (habituellement dénommé `index.lokalize`), soit vous pouvez choisir Projet Créer un nouveau projet : l'assistant télécharge les fichiers de traduction correspondant à votre langue et crée le projet à votre place.

Les fichiers de traduction sont ouverts dans un onglet séparé, présentant deux grandes zones d'édition multilignes ainsi qu'une pléiade de vues d'outils. Ces vues peuvent être superposées (à l'instar d'onglets), affichées séparément ou masquées. Les fichiers de traduction sont composés de nombreuses paires anglais-langue_cible appelées unités. Une unité correspond généralement à une seule chaîne dans l'interface utilisateur ou à un paragraphe dans la documentation. Le but de la première zone d'édition multiligne est d'afficher la partie originale de la paire, celui de la seconde zone d'édition est de montrer la traduction. Vous pouvez naviguer dans les unités par le biais de la vue Unités de traduction ou à l'aide des touches Page suivante et Page précédente.

Pour une productivité accrue, il est recommandé de s'habituer aux raccourcis clavier plutôt qu'aux menus et aux barres d'outils. Par exemple, utilisez la combinaison &Ctrl;L pour mettre le focus sur la ligne de saisie Recherche rapide, pour filtrer la liste des unités dans la vue Unités de traduction. Une fois que vous avez terminé, appuyez sur Page suivante pour vous déplacer dans la liste filtrée.

Une unité peut être traduite ou non traduite. La traduction d'une unité traduite peut être prête ou non prête (également appelée parfois à mettre à jour). Si l'unité n'est pas prête, sa traduction est rendue en italique. &lokalize; permet de parcourir facilement le fichier, en fonction de l'état de sa traduction. Reportez-vous au menu Aller pour voir les raccourcis disponibles. Lorsque vous naviguez dans le fichier, les unités non traduites sont considérées comme non prêtes. De plus, vous pouvez utiliser la fonctionnalité de filtrage de la vue des outils Unités de traduction. Appuyer sur Page suivante vous amène effectivement à la prochaine unité dans la liste filtrée / triée de cette vue des outils.

Si vous travaillez avec des fichiers de traduction au format XLIFF (ce qui est tout à fait le cas quand on traduit un fichier OpenDocument), des états étendus sont disponibles (nouveau, nécessite une révision, approuvé, etc.). Vous pouvez les sélectionner dans le menu déroulant du bouton Approuvé dans la barre d'outils. La classification de l'état comme prêt ou non prêt dépend de la phase actuelle de flux de travail (traduction, révision, approbation). Pour vous, une phase par défaut repose sur votre rôle dans le projet (défini dans les paramètres de projet). Chaque unité contient habituellement des informations sur la phase où elle a été modifiée la dernière fois et, pour chaque phase, son propriétaire est enregistré dans le fichier.

## Projets

Les projets constituent l'un des principaux concepts de &lokalize;. Un projet est représenté par un fichier contenant des emplacements, des dossiers avec des traductions, des modèles et d'autres fichiers : un fichier de glossaire, des scripts d'automatisation, des mémoires de traduction. À chaque fois que &lokalize; ouvre un fichier sans qu'il y ait un projet chargé, il recherche un fichier de projet dans les dossiers parents (jusqu'à quatre niveaux). Sinon, vous pouvez indiquer le fichier de projet à l'aide du drapeau `--project` en démarrant &lokalize; depuis la ligne de commande.

Pour chaque projet, vous choisissez votre rôle (traducteur, réviseur, approbateur), lequel, à son tour, affecte une phase de flux de travail que &lokalize; détermine automatiquement pour les fichiers que vous modifiez.

Les mémoires de traduction (contrairement aux fichiers de projets, au glossaire et aux scripts) ne sont pas partagées entre les membres des équipes de traduction, puisqu'elles sont créées et enregistrées dans le dossier personnel de l'utilisateur. Cela signifie que les mémoires de traduction de tous les projets sont enregistrées dans le même dossier et ainsi, elles peuvent employées lorsque d'autres projets sont ouverts.

### Onglet Vue d'ensemble du projet

L'onglet Vue d'ensemble du projet affiche une arborescence de fichiers comportant des statistiques concernant un projet en cours, comme le pourcentage d'unités entièrement traduites et le nom du dernier traducteur. Il permet d'ouvrir un fichier sélectionné dans un nouvel onglet de la fenêtre &lokalize; actuelle.

## Glossaire

Vous êtes-vous jamais lassé de saisir la même longue séquence de texte plusieurs fois, simplement parce qu'il faudrait plus de temps pour chercher sa traduction pour en faire un copier-coller ? Désormais, vous n'aurez qu'à chercher la séquence de mots (fréquente) dans la vue Glossaire, puis à l'insérer à l'aide d'un raccourci.

Naturellement, le glossaire devra au préalable être rempli de séquences de mots. &lokalize; comporte un éditeur de glossaire pratique permettant d'effectuer une recherche explicite dans l'ensemble du glossaire.

La vue Glossaire dans le coin inférieur droit affiche des entrées de glossaire appropriées pour l'unité actuelle
La vue Glossaire dans le coin inférieur droit affiche les entrées de glossaire appropriées pour l'unité actuelle

## Mémoire de traduction

La vue Mémoire de traduction permet de glisser-et-déposer dans la vue un dossier contenant des fichiers de traduction à partir de Dolphin, par exemple, puis en l'espace de quelques minutes, des suggestions de traduction s'affichent automatiquement sur la zone d'édition des unités. Pour insérer les suggestions de traduction dans le fichier, cliquez sur &Ctrl; 1, &Ctrl; 2 et ainsi de suite, en fonction du numéro de la suggestion.

En appuyant sur F7, on ouvre l'onglet Mémoire de traduction permettant d'effectuer une recherche libre dans la MT. Un clic sur un résultat de recherche ouvre un fichier correspondant sur l'unité correspondante. Si vous voulez ouvrir rapidement un fichier quelconque dans le projet (et il est ajouté à la MT), alors au lieu de parcourir Vue d'ensemble du projet, saisissez simplement son nom dans le champ Masque de fichier suivi de *.

Le moteur de MT indexe tous les éléments, y compris ceux qui ne sont pas prêts et non traduits. Cette commande permet de remplacer complètement la fonctionnalité Rechercher dans les fichiers qui nécessitait l'analyse de chaque fichier du projet chaque fois qu'on faisait une recherche.

&lokalize; affichant les résultats de la recherche dans la mémoire de traduction pour l'unité actuelle
&lokalize; affichant les résultats de la recherche dans la mémoire de traduction pour l'unité actuelle

## Fonctions de synchronisation de la traduction

Le Mode sync (précédemment dénommé Mode de fusion) fait gagner beaucoup de temps aux éditeurs, et dans les cas où deux traducteurs ou plus travaillent simultanément sur le même fichier ou quand il s'agit de maintenir des traductions pour plusieurs branches logicielles.

&lokalize; permet de naviguer rapidement dans les unités présentant des différences et affiche les différences mot par mot. De plus, &lokalize; comprend deux vues de synchronisation - Sync principale et Sync secondaire. Elles sont identiques, mais la première sert habituellement à fusionner les traductions et la seconde à maintenir les traductions synchronisées pour deux branches logicielles.

Après avoir copié la traduction depuis un fichier auxiliaire (l'avoir synchronisé), toute modification ultérieure apportée à cette unité sera répliquée en conséquence dans le fichier auxiliaire.

### Fusion

Une fonction du Mode sync consiste à réviser les modifications apportées par les (nouveaux) contributeurs, quand vous ne pouvez être sûr de la qualité du travail effectué.

Ouvrez un fichier de base, puis glissez sa version modifiée dans la vue Sync principale, suivi de la combinaison &Alt; Page suivante ou &Alt; Page précédente (n'oubliez pas que les raccourcis peuvent être modifiés de la manière habituelle pour les toutes les applications &kde;) pour naviguer parmi les éléments présentant des différences.

&lokalize; utilisé pour fusionner des modifications dans une traduction
&lokalize; utilisé pour fusionner des modifications dans une traduction

### Réplication

Le Mode sync permet également d'apporter des modifications à une traduction dans deux branches simultanément. Associez l'emplacement du Dossier de la branche, dans les options de votre projet, à l'emplacement correspondant au dossier de base de la branche, et la vue Sync secondaire ouvre automatiquement les fichiers provenant de la branche. Ensuite, chaque fois que vous effectuerez des changements dans les fichiers de votre branche principale, ils seront automatiquement répliqués dans la branche (si, naturellement, elle contient la même chaîne en anglais).

Par exemple, si vous travaillez sur une traduction KDE, vous pouvez extraire trunk dans `/home/xx/hacking/kde/trunk/l10n-kde4/VOTRE_LANGUE` branch dans `/home/xx/travail/kde/branches/stable/l10n-kde4/VOTRE_LANGUE`. Créez un projet &lokalize; : `/home/xx/travail/kde/trunk/l10n-kde4/VOTRE_LANGUE/project.lokalize` et définissez `BranchDir=../../../branches/stable/l10n-kde4/VOTRE_LANGUE`, puis travaillez dans ce projet et validez les modifications à la fois dans les dossiers trunk et branch.

### Traductions secondaires

Chaque unité peut présenter plusieurs traductions secondaires qui lui sont associées. De telles traductions peuvent apparaître pendant la mise à jour des fichiers, lorsque la chaîne source est légèrement modifiée. Dans ce cas, l'ancienne traduction avec son (ancienne) source est déplacée dans les traductions secondaires, ainsi elles ne sont pas perdues.

Lorsqu'on traduit des logiciels, on utilise habituellement des outils gettext pour préparer les fichiers de traduction. Lorsque le texte original change, les outils gettext actualisent les fichiers de traduction et marquent les éléments dont le texte original a changé comme à mettre à jour (ou non prêt dans une autre terminologie). Ils enregistrent le texte original précédent pour que les traducteurs puissent voir quels changements ont été apportés exactement. &lokalize; simplifie la vie du traducteur et met en surbrillance les parties du texte original qui ont été modifiées dans la vue Traductions secondaires.

&lokalize; mettant en surbrillance des parties de texte original qui ont changé depuis la dernière révision de la traduction
&lokalize; mettant en surbrillance des parties de texte original qui ont changé depuis la dernière révision de la traduction

## Scriptage sous &lokalize;

&lokalize; peut être étendu grâce à des scripts créés dans plusieurs langages interprétés, dont Python et JavaScript. Les scripts sont d'ordinaire intégrés dans l'interface graphique de &lokalize; sous la forme d'actions de menus (auxquelles vous pouvez affecter un raccourci clavier). L'emplacement et le nom de l'élément de menu du script sont définis dans son fichier d'accompagnement .rc. Dans chaque projet ouvert, &lokalize; analyse le dossier `PROJECTDIR/lokalize-scripts` pour rechercher les fichiers .rc et les ajoute à un fichier cacheappelé `PROJECTDIR/lokalize-scripts/scripts.rc` (ainsi, vous n'aurez en principe pas à l'ajouter au système de contrôle de versions du projet). Les fichiers .rc contiennent également des emplacements de scripts pouvant être relatifs au dossier de fichiers .rc ou à un dossier de scripts système - les deux sont essayés (en fait, ils devraient être relatifs si vous voulez partager un fichier .rc avec d'autres collaborateurs dans votre projet). Donc vous pouvez, par exemple, spécifier `../../scripts/lokalize/opensrc.py` pour charger un script à partir du dossier de scripts global kde-l10n4 (c'est-à-dire non spécifique à votre langue).

Des exemples de fichiers .rc se trouvent dans le dossier d'installation de &lokalize; (habituellement `/usr/share/kde4/apps/lokalize/scripts/`) et le dépôt de KDE. Vous trouverez ici davantage d'exemples de scripts, dont `check-gui.js` fondé sur JavaScript, qui s'exécute automatiquement à chaque enregistrement de fichier. Si vous connaissez Python ou JavaScript, le code devrait être suffisamment explicite.

Voici des liens renvoyant aux références de l'API. Tout ce qui est marqué comme Q_SCRIPTABLE peut être utilisé à partir des scripts.

- La référence de l'API de l'objet Éditeur

- La référence de l'API de l'objet Lokalize

- La référence de l'API de l'objet Projet

## Remerciements et licence

&lokalize;

Programme sous copyright © 2007-2009, Nick Shaforostoff shaforostoff@kde.ru

Une partie du code est tirée de &kbabel;, le prédécesseur de &lokalize;.

Documentation sous copyright © 2007-2009 Nick Shaforostoff shaforostoff@kde.ru

Auteur :

- Nick Shaforostoff shaforostoff AT kde.ru

Consultez la page d'accueil de &lokalize; pour plus de détails.

Traduction française par &JoelleCornavin;

&underFDL; &underGPL;
&documentation.index;