Traductions#

Bien que l’Anglais soit la langue de base officielle pour tous les projets menés par UBports, nous pensons que vous avez le droit de les utiliser dans toutes les langues que vous souhaitez.

Nous travaillons dur pour atteindre cet objectif et vous pouvez également nous aider. Vous décidez du temps à investir dans la traduction. De quelques minutes à plusieurs heures, toutes les contributions comptent.

How does a text get translated (technical background)#

La plupart des applications fonctionnant sur Ubuntu Touch utilisent GNU gettext pour les traductions. Un fichier modèle .pot contient les chaînes de caractères d’une application. Un fichier .po individuel est dérivé de ce modèle pour chaque langue. Ces fichiers .po contiennent les traductions réelles. Pour ajouter une nouvelle langue, un nouveau fichier .po doit être créé. Pour traduire une chaîne, le fichier .po doit être édité. À côté de la chaîne originale (en anglais dans la plupart des cas), la traduction appropriée doit être saisie en suivant la syntaxe du fichier gettext .po. Certaines applications utilisent QtLinguist pour la traduction. Elles suivent les mêmes principes en utilisant uniquement les fichiers .ts pour les traductions avec une autre syntaxe. Un fichier .ts est utilisé comme modèle.

Within an app strings are marked either this way i18n.tr("string") when using gettext or like this tr("string") when using QtLinguist. When the app is built those translatable strings are extracted and written into the .pot or .ts template files. The .po and .ts language files then need to be updated from their template.

Une fois que les chaînes ont été traduites, elles sont mises à la disposition des utilisateurs/trices avec une nouvelle version d’une application.

Les méthodes de traduction#

There are three commonly used ways to translate an app:

  • Weblate: A web based translation tool. UBports apps using Weblate can be translated at the UBports translation projects dashboard and the Lomiri translation projects dashboard. There is an automatic transfer of new strings from an apps repo to weblate. Translated strings get back as commits to the repo from weblate.

  • Editor: Translation is done by changing .po files with the editor of your choice, and a GitHub/GitLab account. The .po/.ts files for each project are in their repository on our GitLab organization or on our GitHub organization. After translating the translator commits new translations to an apps repo generally by opening a merge request/pull request.

  • Team translation: We also have a Translation Forum to discuss translating Ubuntu Touch and its core apps. Some projects are using Telegram or Matrix groups too, and some teams are still using the Ubuntu Launchpad framework.

Core apps and some community apps like dekko or TELEports are generally using weblate for translation. This is the preferred way to translate and it does not need any programming skills. Please have a look at the UBports translation projects dashboard and the Lomiri translation projects dashboard. When using weblate do not edit .po files manually. Commiting edited .po files can break the automated process of translation.

La plupart des applications maintenues par les développeurs/euses utilisent principalement des fichiers .pot/.po pour la traduction. Ceux-ci doivent généralement être modifiés manuellement et envoyés au dépôt de l’application.

Tutoriels#

Hosted Weblate#

You can go to UBports translation projects dashboard or the Lomiri translation projects dashboard, go to a project, and start making anonymous suggestions without being registered. If you want to save your translations, you must be logged in.

Pour cela, rendez-vous dans le Weblate d’UBports et cliquez sur le bouton « S’inscrire ». Une fois dans la page « Inscription », vous aurez deux options :

  • Inscrivez-vous en utilisant une adresse courriel valide, un nom d’utilisateur et votre nom complet. Vous devrez aussi résoudre une question de contrôle facile.

  • Inscrivez-vous en utilisant un service d’inscription tiers. Le système prend actuellement en charge openSUSE, GitHub, Fedora et Ubuntu.

Once you’re logged in, the site is self-explanatory and there you’ll find all the options and customization you can do.

Maintenant, continuez. La première étape consiste à rechercher si votre langue existe déjà dans le projet de votre choix. Si votre langue n’est pas disponible pour un projet spécifique, vous pouvez l’ajouter vous-même.

Éditeurs de fichier .po/.ts#

Si vous voulez travailler directement avec des fichiers .po/.ts, vous devez être sûr de ce que vous faites. La première chose que vous devez toujours vous rappeler est la suivante :

Avertissement

Ne jamais modifier des fichiers .po sur des projets traduits par Weblate. Cela pourrait rompre tout le processus d’échange de traduction avec Weblate.

Comme expliqué précédemment, vous aurez besoin d’un éditeur de votre choix et d’un compte sur GitHub/GitLab pour traduire directement les fichiers .po/.ts. L’idéal serait que vous disposiez de clickable et que vous sachiez comment générer une application.

There are online gettext .po editors and those you can install on your computer. You can choose whatever editor you want, but we prefer to work with free software only. There are too many plain text editors and tools to help you translate .po/.ts files to list here.

Note

For high quality translations it is recommended to go through all of the steps given below. Although if you are not familiar with building apps using clickable, skip the steps 4. to 6. Although, you may not be able to translate the latest strings and you will not know if the strings fit into the apps layout.

Comment procéder :

  1. Fork the apps repo into your GitHub or GitLab account

  2. Clone the repo locally or use GitLab’s online editor

  3. (optional) Create a new branch for the translation

  4. Build the app using clickable to get up-to-date .pot/.ts template files

  5. Update the desired .po/.ts language file(s) from the template

  6. Translate all strings

  7. Build and install the app on your device and test the translations

  8. (optional) Repeat steps 6. and 7. until you are satisfied with your work

  9. Push the translated .po/.ts file(s) to your forked repo [do NOT commit .pot/.ts template files]

  10. Open a merge/pull request from your fork to the apps repo

Communication de l’équipe de traduction#

Vous pouvez parler à d’autres personnes du sujet des traductions en utilisant la catégorie de forum qu’UBports fournit pour cette tâche. Pour l’utiliser, vous devez vous inscrire, ou vous connecter si vous êtes déjà inscrit/e.

La seule obligation est de commencer votre publication en mettant entre crochets votre langue dans le champ « Saisissez le titre de votre sujet ici ». Par exemple, [French] How to translate whatever? ([Français] Comment traduire n’importe quoi ? »)

Dans vos interactions avec votre équipe, vous trouverez la meilleure façon de coordonner vos traductions.

Licence#

Tous les projets de traduction et toutes vos contributions à ce projet sont placés sous une licence Creative Commons Attribution-Partage à l’identique 4.0 International (CC BY-SA 4.0) que vous acceptez explicitement en contribuant à ce projet.

Visitez ce site pour apprendre ce que cela signifie exactement.