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.
This commit is contained in:
@ -7,7 +7,15 @@ chapter=false
|
||||
|
||||
You can help us to translate this PeerTube plugin by creating or modifying translation files in the `languages` folder.
|
||||
|
||||
{{% notice info %}}
|
||||
For now, translation is done in the git repository. Later in 2023, online translation tools will be set (probably [Weblate](https://weblate.org)). This will make the translation process easier.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice tip %}}
|
||||
Please work on the `develop` branch, and do your commits and pull request on this branch.
|
||||
{{% /notice %}}
|
||||
|
||||
## Standard application strings
|
||||
|
||||
If the language you are interesting in does not exist yet, create a file `code.json` in the `languages` folder, where `code` is the language code.
|
||||
The language code must be the same as the Peertube's langage code (see [Peertube documentation](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
|
||||
@ -19,3 +27,29 @@ Translation strings are set in the language file as follow:
|
||||
- the JSON key is the english string (see existing keys in the [french translation file](languages/fr.json)).
|
||||
- the JSON value is the translating string
|
||||
- NB: there is no english translation file (this is how translation works for peertube's plugins)
|
||||
|
||||
## Settings translations
|
||||
|
||||
In the plugin settings page, there are more complex strings.
|
||||
They can be HTML code, with newlines, HTML tags, ...
|
||||
This is not suitable for the JSON format.
|
||||
|
||||
That's why the process is a little bit different for settings strings.
|
||||
|
||||
Settings strings are defined in [YAML files](https://en.wikipedia.org/wiki/YAML).
|
||||
They don't use the english text as key, but a codified key, like `list_rooms_label`.
|
||||
|
||||
On the contrary of the standards application strings, there is also a configuration file for the english language.
|
||||
|
||||
These files are in the folder `languages/settings`. If the file for the language that you are interested in does not exist, just create a new file
|
||||
named `code.yml`, where `code` is the language code (see above).
|
||||
|
||||
Then, you can copy YAML keys from the reference file `languages/settings/en.yml`, and translate strings.
|
||||
|
||||
If you don't want to translate a string, you can ignore it, or use `null` or `~` as value.
|
||||
|
||||
{{% notice warning %}}
|
||||
There might be some «very technical» strings. If you are not 100% sure of
|
||||
the meaning, or of your translation, you better not translate it,
|
||||
so it will display in english.
|
||||
{{% /notice %}}
|
||||
|
@ -7,7 +7,18 @@ 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](https://weblate.org)).
|
||||
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](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
|
||||
@ -19,3 +30,36 @@ Les traductions sont sous la forme suivante dans le fichier de langue :
|
||||
- les clés JSON sont le texte en anglais (voir les clés existantes dans [le fichier de traduction français](languages/fr.json), 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](https://fr.wikipedia.org/wiki/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.yml` où `code` 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 %}}
|
||||
|
Reference in New Issue
Block a user