Interface de traduction (traduction)
(→Où traduire) |
(→Que traduire) |
||
(33 révisions intermédiaires par 2 utilisateurs sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
==Où traduire== | ==Où traduire== | ||
− | Il existe trois façons de traduire des message dans La Ligne 1000 | + | Il existe trois façons de traduire des message dans La Ligne 1000 : |
− | + | ||
− | + | ||
− | + | ||
− | + | 1. Traduire les dictionnaires objets | |
− | C'est la méthode recommandée. | + | :'''C'est la méthode recommandée.''' |
− | + | 2. Traduire le dictionnaire application. | |
− | Cette méthode | + | :Cette méthode n'est pas recommandée car le dictionnaire d'application est un dictionnaire de travail qui est écrasé dès qu'on le reconstruit. |
− | + | 3. Traduire depuis les écrans | |
− | Cette méthode | + | :Cette méthode n'est pas recommandée car les traductions sont intégrées au dictionnaire application et peuvent donc être perdues. |
==Comment traduire== | ==Comment traduire== | ||
+ | |||
+ | L'écran de traduction | ||
+ | |||
+ | [[Image:Traduction2.jpg]] | ||
+ | |||
+ | ===Ergonomie=== | ||
+ | Cet écran a été conçu pour pouvoir travailler uniquement au clavier et faciliter ainsi la traduction. | ||
+ | |||
+ | Une fois le focus positionné sur la zone de traduction les raccourcis clavier suivant s'appliquent : | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Raccourci | ||
+ | !Action | ||
+ | |- | ||
+ | |Flèche bas | ||
+ | |Passe au message suivant | ||
+ | |- | ||
+ | |Flèche haut | ||
+ | |Passe au message précédent | ||
+ | |- | ||
+ | |CTRL + T | ||
+ | |Déclare le message comme traduit | ||
+ | |- | ||
+ | |CTRL + F | ||
+ | |Inverse le statut "à confirmer" | ||
+ | |- | ||
+ | |CTRL + P | ||
+ | |Permuter la sélection et normaliser | ||
+ | |- | ||
+ | |CTRL + N | ||
+ | |Normaliser le message<br> | ||
+ | Retire les majuscules sauf si tout le mot est en majuscule (acronyme)<br> | ||
+ | Met le premier caractère en majuscule et le premier caractère après un point | ||
+ | |- | ||
+ | |CTRL + O | ||
+ | |Remplacer tous les termes trouvés dans le lexique | ||
+ | |- | ||
+ | |CTRL + L | ||
+ | |Supprimer le mot suivant le curseur dans la phrase. | ||
+ | |} | ||
+ | |||
+ | ===Les lexiques=== | ||
+ | Les lexiques ont été introduits dans un souci de '''rationalisation''' et '''d'homogénéité''' de la traduction. | ||
+ | |||
+ | On peut créer un lexique par thème lexical, par exemple trésorerie. | ||
+ | |||
+ | ====Ajouter un mot dans le lexique==== | ||
+ | On ajoute une expression dans le lexique sur le clic droit. | ||
+ | |||
+ | {{tip|sélectionner l'expression si elle comporte plus d'un mot}} | ||
+ | |||
+ | [[Image:Lexique1.jpg]] | ||
+ | |||
+ | On peut choisir le lexique (parmi les lexiques sélectionnés) dans lequel insérer l'expression. | ||
+ | Si l'expression existe déjà dans le lexique, sa traduction est affichée pour modification. | ||
+ | |||
+ | [[Image:Lexique2.jpg]] | ||
+ | |||
+ | ====Exploiter le lexique lors de la traduction==== | ||
+ | Les expressions présentes dans les lexiques apparaissent en gras dans l'éditeur. | ||
+ | |||
+ | Par le clic droit dans la zone de traduction, on peut : | ||
+ | *Copier l'expression | ||
+ | *Remplacer toutes les occurrences de l'expression par sa traduction | ||
+ | *Remplacer toutes les occurrences des expressions trouvées dans le message (Remplacer tous) | ||
+ | |||
+ | [[Image:Lexique3.jpg]] | ||
+ | |||
+ | ====Exploiter le lexique pour améliorer la qualité de la traduction==== | ||
+ | |||
+ | *Marquer les messages concernés | ||
+ | :Marque les messages qui contiennent au moins une expression des lexiques sélectionnés. | ||
+ | |||
+ | *Marquer les messages non conformes | ||
+ | :Marque les messages qui contiennent au moins une expression des lexiques sélectionnés et dont la traduction ne contient '''pas''' les expressions traduites du lexique. | ||
+ | |||
+ | [[Image:Lexique4.jpg]] | ||
+ | |||
+ | ===La recherche=== | ||
+ | |||
+ | [[Image:search_replace.jpg]] | ||
+ | |||
+ | [[Image:search_replace2.jpg]] | ||
+ | |||
+ | ===L'aide à la traduction=== | ||
+ | |||
+ | [[Image:Aide_a_la_traduction_2.jpg]] | ||
+ | |||
+ | L'aide à la traduction permet de proposer un traduction à partir de plusieurs sources de messages : | ||
+ | |||
+ | * Fichiers xml | ||
+ | [[Image:Ressource_xml.jpg]] | ||
+ | * Dictionnaires internes | ||
+ | :Utile pour récupérer des traductions déjà effectuées | ||
+ | * Dictionnaires externes | ||
+ | :Fichier *.dut. | ||
+ | |||
+ | L'aide à la traduction retire les caractères non alphabétiques de début et de fin de phrase avant de comparer les chaines, puis si le message est trouvé la traduction réintroduit les caractères non alphabétique. | ||
+ | |||
+ | Par exemple: | ||
+ | |||
+ | Je cherche à traduire la chaine brute ''" - Le contrat : "''. | ||
+ | |||
+ | *Le message recherché est "le contrat". | ||
+ | *Le message trouvé est "the contract". | ||
+ | *Le message traduit est " - The contract : ". | ||
+ | |||
+ | Ceci permet d'améliorer les chances de trouver une traduction existante mais peut présenter des inconvénients. | ||
+ | |||
+ | Par exemple, en Anglais, il ne faut pas d'espace avant ":". | ||
+ | |||
+ | Avec cette méthode, ''"Le code : "'' traduit par ''"The code: "'' serait remplacé par ''"The code : "'' qui comporte un espace de trop. | ||
+ | |||
+ | De même, ''"je suis un tailleur"'' sera traduit par ''"i am a tailor"'' où il manque la majuscule. | ||
+ | |||
+ | C'est pourquoi cette option est désactivable par l'option "Recherche du message exact" | ||
==Que traduire== | ==Que traduire== | ||
+ | ===Les messages ordinaires=== | ||
+ | Les messages sont extraits bruts. C'est à dire qu'ils ne subissent aucune modification. | ||
+ | "code" et "Code" sont deux messages différents. | ||
+ | |||
+ | En revanche, l'aide à traduction peut traduire des messages ressemblants. | ||
+ | Si "code" est traduit, la traduction automatique traduira "Code", "-Code : ", "code..." etc... | ||
+ | Charge au traducteur de vérifier ensuite. | ||
+ | |||
+ | ===Les messages à ne pas traduire=== | ||
+ | La mécanique d'extraction concerne des éléments qui ne sont parfois pas formulés correctement. | ||
+ | Il est alors inutile de traduire ces messages. | ||
+ | |||
+ | Par exemple, un message de règle d'erreur ''"erreur_codeTiers"''. | ||
+ | |||
+ | Certains libellé court ''"RoleTiersList"'' | ||
+ | |||
+ | {{tip|En revanche on doit les cocher comme traduits pour les statistiques.}} | ||
+ | |||
+ | ===Les messages à considérer avec attention=== | ||
+ | ====Paramètre de format %==== | ||
+ | Certaines chaines contiennent des paramètres ''"Le montant %d concernant le tiers %s ..."''. | ||
+ | |||
+ | {{tip|Il est important de conserver ces paramètres '''dans l'ordre dans lequel ils apparaissent}} | ||
+ | |||
+ | En effet une erreur de paramètre peut provoquer une erreur d'exécution du programme. | ||
+ | On peut aussi numéroter les paramètres ; par exemple : | ||
+ | "nom : %s ; prénom %s" => "last name : %1:s ; first name %0:s" | ||
+ | |||
+ | attention : la numérotation des paramètres commence à zéro | ||
+ | ShowMessage(Format('Reposition after 3 strings = %s %s %s %1:s %s',['Zero', 'One', 'Two', 'Three'])) | ||
+ | Reposition after 3 strings = Zero One Two One Two | ||
+ | |||
+ | Il existe un outil dans la traduction pour vérifier que les paramètres de format sont conservés entre le message natif et le message traduit. | ||
+ | |||
+ | ====Paramètre de format @==== | ||
+ | On trouvera également ce type de paramètre : ''"Le @code@ est erroné"'' | ||
+ | |||
+ | |||
+ | ====Saut de ligne <cr>==== | ||
+ | Dans certains exports, les sauts de lignes sont remplacés par le mot réservé "<cr>", ce mot ne doit pas être traduit | ||
+ | Ces paramètres ne peuvent pas provoquer d'erreurs et leur ordre n'importe pas. | ||
+ | |||
+ | ==Le travail de qualité== | ||
+ | |||
+ | Les problèmes qu'on est susceptible de rencontrer lors de l'utilisation du produit : | ||
+ | |||
+ | * Un message non traduit car non extrait | ||
+ | * Un message non traduit car non restitué (mais extrait) | ||
+ | |||
+ | |||
+ | Les problèmes qu'on est susceptible de rencontrer lors de la traduction : | ||
+ | |||
+ | * Un message extrait abusivement | ||
+ | * Un message extrait mais non traduisible ''("erreur_code")'' | ||
+ | |||
+ | Ces problèmes sont à signaler. | ||
+ | |||
+ | ==Un processus itératif== | ||
+ | Afin d'effectuer en parallèle le travail de traduction et de validation, un batch lancé chaque soir est prévu. | ||
+ | Le batch reconstruit le dictionnaire application afin que les équipes de qualité bénéficient des traductions effectuées dans la journée. | ||
+ | Ensuite on procède à une sauvegarde de chaque dictionnaires objets, par soucis de sécurité et de traçabilité. | ||
+ | Enfin, on effectue une mise à jour du dictionnaire application, ce qui consiste en | ||
+ | * une actualisation des dictionnaires objets (pour diffuser les traductions dans les autres dictionnaires objets contenant les mêmes messages) | ||
+ | * une extraction afin de récupérer les éventuels nouveaux messages ajoutés par l'équipe projet ou outil. | ||
+ | * une reconstruction du dictionnaire application | ||
+ | |||
+ | Ainsi, la qualité peut constater rapidement les problèmes et les dictionnaires sont à jours. | ||
+ | |||
+ | {{Footer|Guide de la traduction (trans)}} | ||
+ | [[Category:Traduction]] |
Version actuelle en date du 6 janvier 2012 à 09:33
Sommaire |
Où traduire
Il existe trois façons de traduire des message dans La Ligne 1000 :
1. Traduire les dictionnaires objets
- C'est la méthode recommandée.
2. Traduire le dictionnaire application.
- Cette méthode n'est pas recommandée car le dictionnaire d'application est un dictionnaire de travail qui est écrasé dès qu'on le reconstruit.
3. Traduire depuis les écrans
- Cette méthode n'est pas recommandée car les traductions sont intégrées au dictionnaire application et peuvent donc être perdues.
Comment traduire
L'écran de traduction
Ergonomie
Cet écran a été conçu pour pouvoir travailler uniquement au clavier et faciliter ainsi la traduction.
Une fois le focus positionné sur la zone de traduction les raccourcis clavier suivant s'appliquent :
Raccourci | Action |
---|---|
Flèche bas | Passe au message suivant |
Flèche haut | Passe au message précédent |
CTRL + T | Déclare le message comme traduit |
CTRL + F | Inverse le statut "à confirmer" |
CTRL + P | Permuter la sélection et normaliser |
CTRL + N | Normaliser le message Retire les majuscules sauf si tout le mot est en majuscule (acronyme) |
CTRL + O | Remplacer tous les termes trouvés dans le lexique |
CTRL + L | Supprimer le mot suivant le curseur dans la phrase. |
Les lexiques
Les lexiques ont été introduits dans un souci de rationalisation et d'homogénéité de la traduction.
On peut créer un lexique par thème lexical, par exemple trésorerie.
Ajouter un mot dans le lexique
On ajoute une expression dans le lexique sur le clic droit.
On peut choisir le lexique (parmi les lexiques sélectionnés) dans lequel insérer l'expression. Si l'expression existe déjà dans le lexique, sa traduction est affichée pour modification.
Exploiter le lexique lors de la traduction
Les expressions présentes dans les lexiques apparaissent en gras dans l'éditeur.
Par le clic droit dans la zone de traduction, on peut :
- Copier l'expression
- Remplacer toutes les occurrences de l'expression par sa traduction
- Remplacer toutes les occurrences des expressions trouvées dans le message (Remplacer tous)
Exploiter le lexique pour améliorer la qualité de la traduction
- Marquer les messages concernés
- Marque les messages qui contiennent au moins une expression des lexiques sélectionnés.
- Marquer les messages non conformes
- Marque les messages qui contiennent au moins une expression des lexiques sélectionnés et dont la traduction ne contient pas les expressions traduites du lexique.
La recherche
L'aide à la traduction
L'aide à la traduction permet de proposer un traduction à partir de plusieurs sources de messages :
- Fichiers xml
- Dictionnaires internes
- Utile pour récupérer des traductions déjà effectuées
- Dictionnaires externes
- Fichier *.dut.
L'aide à la traduction retire les caractères non alphabétiques de début et de fin de phrase avant de comparer les chaines, puis si le message est trouvé la traduction réintroduit les caractères non alphabétique.
Par exemple:
Je cherche à traduire la chaine brute " - Le contrat : ".
- Le message recherché est "le contrat".
- Le message trouvé est "the contract".
- Le message traduit est " - The contract : ".
Ceci permet d'améliorer les chances de trouver une traduction existante mais peut présenter des inconvénients.
Par exemple, en Anglais, il ne faut pas d'espace avant ":".
Avec cette méthode, "Le code : " traduit par "The code: " serait remplacé par "The code : " qui comporte un espace de trop.
De même, "je suis un tailleur" sera traduit par "i am a tailor" où il manque la majuscule.
C'est pourquoi cette option est désactivable par l'option "Recherche du message exact"
Que traduire
Les messages ordinaires
Les messages sont extraits bruts. C'est à dire qu'ils ne subissent aucune modification. "code" et "Code" sont deux messages différents.
En revanche, l'aide à traduction peut traduire des messages ressemblants. Si "code" est traduit, la traduction automatique traduira "Code", "-Code : ", "code..." etc... Charge au traducteur de vérifier ensuite.
Les messages à ne pas traduire
La mécanique d'extraction concerne des éléments qui ne sont parfois pas formulés correctement. Il est alors inutile de traduire ces messages.
Par exemple, un message de règle d'erreur "erreur_codeTiers".
Certains libellé court "RoleTiersList"
Les messages à considérer avec attention
Paramètre de format %
Certaines chaines contiennent des paramètres "Le montant %d concernant le tiers %s ...".
En effet une erreur de paramètre peut provoquer une erreur d'exécution du programme. On peut aussi numéroter les paramètres ; par exemple : "nom : %s ; prénom %s" => "last name : %1:s ; first name %0:s"
attention : la numérotation des paramètres commence à zéro ShowMessage(Format('Reposition after 3 strings = %s %s %s %1:s %s',['Zero', 'One', 'Two', 'Three'])) Reposition after 3 strings = Zero One Two One Two
Il existe un outil dans la traduction pour vérifier que les paramètres de format sont conservés entre le message natif et le message traduit.
Paramètre de format @
On trouvera également ce type de paramètre : "Le @code@ est erroné"
Saut de ligne <cr>
Dans certains exports, les sauts de lignes sont remplacés par le mot réservé "<cr>", ce mot ne doit pas être traduit Ces paramètres ne peuvent pas provoquer d'erreurs et leur ordre n'importe pas.
Le travail de qualité
Les problèmes qu'on est susceptible de rencontrer lors de l'utilisation du produit :
- Un message non traduit car non extrait
- Un message non traduit car non restitué (mais extrait)
Les problèmes qu'on est susceptible de rencontrer lors de la traduction :
- Un message extrait abusivement
- Un message extrait mais non traduisible ("erreur_code")
Ces problèmes sont à signaler.
Un processus itératif
Afin d'effectuer en parallèle le travail de traduction et de validation, un batch lancé chaque soir est prévu. Le batch reconstruit le dictionnaire application afin que les équipes de qualité bénéficient des traductions effectuées dans la journée. Ensuite on procède à une sauvegarde de chaque dictionnaires objets, par soucis de sécurité et de traçabilité. Enfin, on effectue une mise à jour du dictionnaire application, ce qui consiste en
- une actualisation des dictionnaires objets (pour diffuser les traductions dans les autres dictionnaires objets contenant les mêmes messages)
- une extraction afin de récupérer les éventuels nouveaux messages ajoutés par l'équipe projet ou outil.
- une reconstruction du dictionnaire application
Ainsi, la qualité peut constater rapidement les problèmes et les dictionnaires sont à jours.