Translating RawTherapee/fr: Difference between revisions
(→Introduction: updated) |
(→How To: updated) |
||
| Line 22: | Line 22: | ||
*: <code>TP_EXPOSURE_EXPCOMP;Compensation d'exposition</code> | *: <code>TP_EXPOSURE_EXPCOMP;Compensation d'exposition</code> | ||
== | == Mode opératoire == | ||
# | # Vérifier s'il existe un fichier de traduction pour la langue dans laquelle vous souhaitez traduire en regardant dans [https://github.com/Beep6581/RawTherapee/tree/dev/rtdata/languages <code>/rtdata/languages</code>] | ||
#* | #* S'il n'en existe pas, télécharger le fichier [https://github.com/Beep6581/RawTherapee/blob/dev/rtdata/languages/English%20(US) <code>English (US)</code>] (cliquer droit sur le bouton "Raw" puis sur "Enregistrer la cible du lien sous..."), puis le renommer dans votre langue, appelons le <code>Inuktitut</code> pour la suite de l'article. | ||
#* | #* S'il en existe un, le télécharger (cliquer droit sur le bouton "Raw" puis sur "Enregistrer la cible du lien sous..."). | ||
# | # Traduire de nouvelles chaînes | ||
#: | #: Ouvrir <code>Inuktitut</code> dans un éditeur de texte moderne (utilisateurs de Windows : ne pas utiliser "Notepad", prenez plutôt [https://notepad-plus-plus.org/ Notepad++]). Toutes les chaînes à traduire sont celles qui sont sur une ligne commençant par un point d'exclamation, vous les trouverez à la fin du fichier si vous mettez une traduction existante à jour. Les traduire, et pour chaque chaîne traduite retirer le point d'exclamation en préfixe. | ||
#: | #: Par exemple, vous devez traduire | ||
#: <code>!TP_EXPOSURE_EXPCOMP;Exposure compensation</code> | #: <code>!TP_EXPOSURE_EXPCOMP;Exposure compensation</code> | ||
#: | #: en | ||
#: <code>TP_EXPOSURE_EXPCOMP;Lorem ipsum</code> | #: <code>TP_EXPOSURE_EXPCOMP;Lorem ipsum</code> | ||
# | # Mise à jour des chaînes existantes | ||
#: | #: Si votre fichier <code>Inuktitut</code> a déjà été traduit il y a longtemps, il est probable que certaines parties traduites soient obsolètes. Pour les mettre à jour, ouvrir le dernier fichier [https://github.com/Beep6581/RawTherapee/blob/dev/rtdata/languages/default <code>default</code>] dans une fenêtre couvrant une moitié de l'écran, ouvrir <code>Inuktitut</code> dans une fenêtre couvrant l'autre moitié de l'écran, puis comparer chaque chaîne déjà traduite dans <code>Inuktitut</code> avec la chaîne en anglais dans <code>default</code>, et rafraîchir la traduction si elle ne convient plus à la chaîne anglaise. | ||
# | # Une fois la traduction terminée, ouvrir une [https://github.com/Beep6581/RawTherapee/issues/new nouvelle publication dans GitHub] et y lier votre traduction. Veuillez ne pas créer de fichier patch des traductions, simplement envoyer la totalité du fichier traduit. Nous l'exécuterons alors via le script <code>/tools/generateTranslationDiffs</code> qui triera les entrées, ajoutera les nouvelles clés et effacera celles qui ne sont plus utiles. Nous la commiterons enfin dans la base. | ||
# | # Quand vous désirerez mettre à jour votre traduction dans le futur, vous devrez télécharger la dernière version de ce fichier depuis le dépôt via [https://github.com/Beep6581/RawTherapee/tree/dev/rtdata/languages <code>/rtdata/languages</code>] | ||
== Markup == | == Markup == | ||
Revision as of 14:21, 8 October 2019
Cet article explique comment vous pouvez aider à traduire l'interface de RawTherapee.
Introduction
L'interface graphique utilisateur de RawTherapee contient du texte en de nombreux endroits. Dans le but d'autoriser l'affichage de ce texte en langues variées, le code ne contient que des clés et chaque fois qu'un texte doit être affiché, le code recherche le texte correspondant à cette clé dans un fichier texte de traduction paire clé-valeur correspondant à la langue sélectionnée par l'utilisateur (ou auto-détectée par RawTherapee d'après le paramétrage). Lorsqu'une clé est trouvée dans le fichier de traduction, elle est remplacée par la valeur correspondante. Si elle n'est pas trouvée, la valeur correspondant à l'anglais est utilisée en saufconduit.
Le fichier qui contient les paires clé-valeur de référence est appelé default. Il utilise l'anglais américain. Toutes les traductions sont basées sur ce fichier. Chaque fois qu'une clé n'est pas trouvée dans une traduction, c'est la clé de ce fichier qui est utilisée.
Les fichiers de traduction sont placés dans /rtdata/languages.
De temps à autres nous exécutons le script /tools/generateTranslationDiffs qui met à jour chaque fichier de traduction avec les nouvelles clés du fichier default. Si une nouvelle paire clé-valeur est ajoutée à default, le script copie cette paire dans le fichier de traduction si elle n'existe pas, et puisque la valeur a ce niveau est en anglais, il préfixe cette ligne avec un point d’exclamation. Lorsque RawTherapee recherche une chaîne de caractères traduite, il ignore les lignes préfixées avec un point d'interrogation. Lorsque quelqu'un traduit cette valeur, il doit enlever ce point d'interrogation afin qu'elle ne soit plus ignorée.
Un inconvénient du système est que si la valeur d'une clé dans le fichier default est modifiée et cette entrée à déjà été traduite, alors la traduction devient obsolète et cette situation n'est pas repérée. Pour cette raison, les personnes assurant la maintenance d'une traduction doit garder un œil sur les modifications apportées aux valeurs existantes dans default et mettre à jour leurs traductions. Une façon de garder un oeil sur ces modifications est de vérifier les commits dans git qui affectent ce fichier.
Utilisons en exemple l'étiquette "Compensation d'exposition" :
- La clé utilisée par le code est
TP_EXPOSURE_EXPCOMP. - Le fichier
defaultcontient la paire clé-valeur :TP_EXPOSURE_EXPCOMP;Exposure compensation
- Le fichier
English (US)contient la même paire, mais préfixée par un point d'exclamation :!TP_EXPOSURE_EXPCOMP;Exposure compensation
- Les traductions devraient contenir la clé avec la valeur traduite et le point d'exclamation enlevé, par ex :
TP_EXPOSURE_EXPCOMP;Compensation d'exposition
Mode opératoire
- Vérifier s'il existe un fichier de traduction pour la langue dans laquelle vous souhaitez traduire en regardant dans
/rtdata/languages- S'il n'en existe pas, télécharger le fichier
English (US)(cliquer droit sur le bouton "Raw" puis sur "Enregistrer la cible du lien sous..."), puis le renommer dans votre langue, appelons leInuktitutpour la suite de l'article. - S'il en existe un, le télécharger (cliquer droit sur le bouton "Raw" puis sur "Enregistrer la cible du lien sous...").
- S'il n'en existe pas, télécharger le fichier
- Traduire de nouvelles chaînes
- Ouvrir
Inuktitutdans un éditeur de texte moderne (utilisateurs de Windows : ne pas utiliser "Notepad", prenez plutôt Notepad++). Toutes les chaînes à traduire sont celles qui sont sur une ligne commençant par un point d'exclamation, vous les trouverez à la fin du fichier si vous mettez une traduction existante à jour. Les traduire, et pour chaque chaîne traduite retirer le point d'exclamation en préfixe. - Par exemple, vous devez traduire
!TP_EXPOSURE_EXPCOMP;Exposure compensation- en
TP_EXPOSURE_EXPCOMP;Lorem ipsum
- Ouvrir
- Mise à jour des chaînes existantes
- Si votre fichier
Inuktituta déjà été traduit il y a longtemps, il est probable que certaines parties traduites soient obsolètes. Pour les mettre à jour, ouvrir le dernier fichierdefaultdans une fenêtre couvrant une moitié de l'écran, ouvrirInuktitutdans une fenêtre couvrant l'autre moitié de l'écran, puis comparer chaque chaîne déjà traduite dansInuktitutavec la chaîne en anglais dansdefault, et rafraîchir la traduction si elle ne convient plus à la chaîne anglaise.
- Si votre fichier
- Une fois la traduction terminée, ouvrir une nouvelle publication dans GitHub et y lier votre traduction. Veuillez ne pas créer de fichier patch des traductions, simplement envoyer la totalité du fichier traduit. Nous l'exécuterons alors via le script
/tools/generateTranslationDiffsqui triera les entrées, ajoutera les nouvelles clés et effacera celles qui ne sont plus utiles. Nous la commiterons enfin dans la base. - Quand vous désirerez mettre à jour votre traduction dans le futur, vous devrez télécharger la dernière version de ce fichier depuis le dépôt via
/rtdata/languages
Markup
Some lines have elements which should appear in bold or italics, or have characters which must be written in a special way. This is accomplished using markup. However, parsing markup is slightly slower than parsing plain text, so RawTherapee only supports markup on keys which we know to require it. That means that if you use markup on keys which do not support it, then those keys will not display correctly. Always stick to the style used in default. If a key in default does not use markup then neither should your translation.
When a key uses markup, certain characters must be written using their HTML character entity reference name:
- Write
<using< - Write
>using> - Write
&using&
How to know when markup is needed? Look at default. For example:
HISTORY_MSG_251;B&W - Algorithmuses markup to display the&character, and so should your translation.PARTIALPASTE_RAWCACORR_CAREDBLUE;CA red & bluedoes not use markup to display the&character, and neither should your translation.FILEBROWSER_EMPTYTRASHHINT;<b>Permanently</b> delete all files in trash.uses markup to make the word "Permanently" appear in bold when displayed in RawTherapee, and so should your translation.