peertube-plugin-livechat/support/documentation/content/contributing/translate/_index.fr.md
John Livingston 9d18e401a7
Implements #153: Settings translations (#155)
Implementing a new translating system, so we can more easily translate
settings strings. Indeed, these strings are difficult to embed in
JSON format.

We still use JSON files for standard strings, but in addition we have
dedicated YAML files to translate settings strings.

There is a new build-languages.js script that merge all translations in JSON files.

Other modifications:
* Eslint: ignoring documentation and build scripts.
* french settings translations.
2023-02-15 11:54:48 +01:00

2.9 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 develop, et de faire vos pull request sur cette branche. {{% /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 %}}