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.
2.5 KiB
+++ title="Translate" description="Translate the plugin" weight=20 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). 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).
Then add the language file in the package.json
file, under the key translations
.
Translation strings are set in the language file as follow:
- files are in JSON format
- the JSON key is the english string (see existing keys in the french translation file).
- 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.
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 %}}