]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - support/doc/translation.md
Make build works
[github/Chocobozzz/PeerTube.git] / support / doc / translation.md
CommitLineData
6a1787c1
C
1# Translation
2
2336a0e7 3We use [Zanata](http://zanata.org/) as translation platform.
6a1787c1
C
4Please do not edit xml files directly from Git, you have to use Zanata!
5
6If you don't see your locale in the platform, please [create an issue](https://github.com/Chocobozzz/PeerTube/issues) so we add it!
7
8
9## How to
10
956888ac
MT
11 * Create an account: https://trad.framasoft.org/account/register
12 * Join a language team: https://trad.framasoft.org/languages
13 * Go to the PeerTube page https://trad.framasoft.org/iteration/view/peertube/develop
6a1787c1
C
14 * Choose the locale and begin to translate PeerTube!
15
16
17## Files
18
19There are 4 files:
20 * **angular**: contains client strings
23687332
C
21 * **player**: contains player strings.
22 Most of the strings come from VideoJS, so you can help yourself by using [video.js JSON files](https://github.com/videojs/video.js/tree/master/lang)
23 * **server**: contains server strings (privacies, licences...)
6a1787c1 24 * **iso639**: contains iso639 (languages) strings used by PeerTube to describe the audio language of a particular video.
2336a0e7 25 It's the reason why these strings should be translated too. There are many strings so do not hesitate to translate only main audio languages.
7b034aed
C
26
27## Tips
28
26aef7c3
C
29### Special tags
30
7b034aed
C
31You must not translate special tags like `<x id="INTERPOLATION" ... />`.
32
33For example:
34```<x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views```
35
36should be in french
26aef7c3
C
37```<x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues```
38
39
40### Singular/plural
41
42For singular/plural translations, you must translate values inside `{` and `}`.
43
44For example:
45
46```{VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> videos} }```
47
48should be in french
49
50```{VAR_PLURAL, plural, =0 {Aucune vidéos} =1 {1 vidéo} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> vidéos} }```