peertube-plugin-livechat/support/documentation/content/contributing/translate/_index.fr.md
John Livingston 0eb7e75421
New dev workflow:
Contribution now have to be made on the main branch.

A new `documentation` branch is created. Github and Gitlab pipelines are
now working on this branch.

Develop branch is deprecated, as it is no more necessary.
2023-03-07 14:14:19 +01:00

3.0 KiB

+++ title="Traduction" description="Traduire le plugin" weight=20 chapter=false +++

Vous pouvez nous aider à traduire ce plugin Peertube en créant ou modifiant des fichiers de traduction dans le dossier languages.

{{% notice info %}} Pour le moment, les traductions se font directement dans le dépôt git. Plus tard en 2023, des outils de traduction en ligne seront mis en place (probablement Weblate). Le processus de traduction en sera plus simple. {{% /notice %}}

{{% notice tip %}} Merci de travailler sur la branche main, et de faire vos pull request sur cette branche. {{% /notice %}}

{{% notice note %}} Jusqu'à mars 2023, il fallait contribuer sur la branche develop. Cette procédure est désormais obsolète. {{% /notice %}}

Chaîne applicatives standard

Si la langue dans laquelle vous souhaitez traduire n'existe pas encore, créez un fichier code.json dans le dossier languages, où code est le code langue. Le code langue doit être dans le même format que les codes langues de Peertube (voir la documentation Peertube). Ensuite, ajoutez le fichier de langue dans le fichier package.json, sous la clé translations.

Les traductions sont sous la forme suivante dans le fichier de langue :

  • les fichiers sont au format JSON
  • les clés JSON sont le texte en anglais (voir les clés existantes dans le fichier de traduction français, qui fait référence)
  • la valeur JSON est la traduction
  • NB: il n'y a pas de fichier de traduction pour l'anglais (c'est la façon de fonctionner de Peertube)

Traduction des paramètres du plugin

Dans la page des paramètres du plugin, il y a des chaînes de texte plus compliquées. Elles peuvent contenir du code HTML, des retours à la ligne, ... Il est donc compliqué de les maintenir dans des fichiers JSON.

C'est pourquoi le processus de traduction est différent pour les traductions de paramètres.

Les traductions des paramètres sont définies dans des fichiers YAML. Elles n'utilisent pas l'anglais comme clé, mais des clés standardisées, comme par exemple list_rooms_label.

Au contraire des chaînes applicatives standard, il y a aussi un fichier de configuration pour l'anglais.

Ces fichiers sont dans le dossier languages/settings. Si le fichier de la langue qui vous intéresse n'existe pas, vous n'avez qu'à créer un fichier nommé code.ymlcode est le code de la langue (voir plus haut).

Ensuite, vous pouvez copier les clés du fichier HTML de référence languages/settings/en.yml, et traduire les chaînes de texte.

Si vous ne voulez pas traduire une chaîne, vous pouvez l'ignorer, ou utiliser null ou ~ comme valeur.

{{% notice warning %}} Il peut y avoir des chaînes «assez techniques». Si vous n'êtes pas sûr⋅e à 100% du sens, ou de la traduction, il vaut mieux ne pas la traduire du tout ; ainsi la version anglaise s'affichera. {{% /notice %}}