diff --git a/client/src/locale/source/angular_en_US.xml b/client/src/locale/source/angular_en_US.xml
index 859212ae7..456879a68 100644
--- a/client/src/locale/source/angular_en_US.xml
+++ b/client/src/locale/source/angular_en_US.xml
@@ -379,9 +379,9 @@
app/menu/menu.component.ts
17
-
+
app/menu/menu.component.ts
@@ -733,53 +733,59 @@ Check this checkbox, save the configuration and test with a video URL of your in
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
178
+
+
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+ 180
+
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 184
+ 186
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 203
+ 205
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 207
+ 209
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 210
+ 212
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 213
+ 215
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 225
+ 227
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 228
+ 230
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 231
+ 233
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 247
+ 249
@@ -811,7 +817,13 @@ Check this checkbox, save the configuration and test with a video URL of your in
app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 274
+ 276
+
+
+
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+ 277
+
+
+ app/videos/+video-edit/shared/video-edit.component.ts
+ 115
+
+
+
+
+ app/videos/+video-edit/shared/video-edit.component.ts
+ 118
+
@@ -1468,19 +1492,19 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-edit/shared/video-edit.component.ts
- 119
+ 129
app/videos/+video-edit/shared/video-edit.component.ts
- 126
+ 136
app/videos/+video-edit/shared/video-edit.component.ts
- 132
+ 142
app/videos/+video-watch/modal/video-support.component.ts
@@ -1488,19 +1512,19 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 53
+ 55
app/videos/+video-edit/shared/video-edit.component.ts
- 133
+ 143
app/videos/+video-edit/shared/video-edit.component.ts
- 115
+ 125
@@ -1524,7 +1548,7 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 87
+ 89
@@ -1552,7 +1576,7 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 69
+ 71
@@ -1588,7 +1612,7 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 58
+ 60
@@ -1610,8 +1634,10 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/modal/video-share.component.ts
35
-
-
+
+
app/videos/+video-watch/video-watch.component.ts
6
@@ -1622,85 +1648,85 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 15
+ 17
app/videos/+video-watch/video-watch.component.ts
- 20
+ 22
-
-
+
+
app/videos/+video-watch/video-watch.component.ts
- 24
+ 26
app/videos/+video-watch/video-watch.component.ts
- 29
+ 31
-
-
+
+
app/videos/+video-watch/video-watch.component.ts
- 28
+ 30
app/videos/+video-watch/video-watch.component.ts
- 41
+ 43
app/videos/+video-watch/video-watch.component.ts
- 48
+ 50
app/videos/+video-watch/video-watch.component.ts
- 68
+ 70
app/videos/+video-watch/video-watch.component.ts
- 75
+ 77
app/videos/+video-watch/video-watch.component.ts
- 74
+ 76
app/videos/+video-watch/video-watch.component.ts
- 81
+ 83
app/videos/+video-watch/video-watch.component.ts
- 80
+ 82
app/videos/+video-watch/video-watch.component.ts
- 86
+ 88
app/videos/+video-watch/video-watch.component.ts
- 93
+ 95
app/videos/+video-watch/comment/video-comment.component.ts
@@ -1710,19 +1736,19 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 92
+ 94
app/videos/+video-watch/video-watch.component.ts
- 112
+ 114
app/videos/+video-watch/video-watch.component.ts
- 118
+ 120
app/videos/+video-watch/video-watch.component.ts
- 125
+ 127
app/videos/+video-watch/video-watch.component.ts
- 134
+ 136
app/videos/+video-watch/video-watch.component.ts
- 143
+ 145
app/videos/+video-watch/video-watch.component.ts
- 152
+ 154
app/videos/+video-watch/video-watch.component.ts
- 161
+ 163
app/videos/+video-watch/video-watch.component.ts
- 175
+ 177
app/videos/+video-watch/video-watch.component.ts
- 187
+ 189
app/videos/+video-watch/video-watch.component.ts
- 189
+ 191
app/videos/+video-watch/video-watch.component.ts
- 192
+ 194
app/videos/+video-watch/video-watch.component.ts
- 192
+ 194
app/videos/+video-watch/video-watch.component.ts
- 195
+ 197
-
+
+
app/videos/+video-watch/comment/video-comments.component.ts
8
@@ -1824,13 +1850,13 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/comment/video-comments.component.ts
- 20
+ 19
app/videos/+video-watch/comment/video-comments.component.ts
- 56
+ 55
app/videos/+video-watch/comment/video-comments.component.ts
- 65
+ 64
@@ -1966,6 +1992,14 @@ When you will upload a video in this channel, the video support field will be au
src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts
1
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
src/app/core/auth/auth.service.ts
1
@@ -2140,6 +2174,14 @@ When you will upload a video in this channel, the video support field will be au
src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts
1
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
src/app/login/login.component.ts
1
@@ -2412,6 +2454,66 @@ When you will upload a video in this channel, the video support field will be au
1
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+ src/app/videos/+video-watch/video-watch.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
@@ -3158,13 +3260,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
-
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
-
diff --git a/client/src/locale/source/iso639_en_US.xml b/client/src/locale/source/iso639_en_US.xml
new file mode 100644
index 000000000..4bed9617c
--- /dev/null
+++ b/client/src/locale/source/iso639_en_US.xml
@@ -0,0 +1,758 @@
+
+
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+ undefined
+
+
+
+
\ No newline at end of file
diff --git a/client/src/locale/source/server_en_US.xml b/client/src/locale/source/server_en_US.xml
index dab91f98d..e94a01469 100644
--- a/client/src/locale/source/server_en_US.xml
+++ b/client/src/locale/source/server_en_US.xml
@@ -113,758 +113,6 @@
undefined
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
-
-
- undefined
-
undefined
diff --git a/client/src/locale/target/angular_es_ES.xml b/client/src/locale/target/angular_es_ES.xml
new file mode 100644
index 000000000..ae816930d
--- /dev/null
+++ b/client/src/locale/target/angular_es_ES.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+ Cancelar
+
+ 40
+
+
+
+
\ No newline at end of file
diff --git a/client/src/locale/target/angular_fr_FR.xml b/client/src/locale/target/angular_fr_FR.xml
index 737c723ee..1a3870481 100644
--- a/client/src/locale/target/angular_fr_FR.xml
+++ b/client/src/locale/target/angular_fr_FR.xml
@@ -76,7 +76,7 @@
- ou créer un compte
+ \nou créer un compte
16
@@ -85,7 +85,7 @@
- ou créer un compte sur une autre instance
+ \nou créer un compte sur une autre instance
20
@@ -143,7 +143,7 @@
- Réinitialiser mon mot de passe
+ \nRéinitialiser mon mot de passe
2
@@ -173,7 +173,7 @@
- Créer un compte
+ \nCréer un compte
3
@@ -189,7 +189,7 @@
- Illimité
+ \nIllimité
16
@@ -293,15 +293,6 @@
17
-
-
- Mes paramètres
-
- 21
-
-
- Quota de vidéos par défaut par utilisateur
+ Quota de vidéos par défaut par utilisateur
122
@@ -627,56 +618,56 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé
Nombre de threads pour l'encodage
- 184
+ 186
Définition activée
- 203
+ 205
Cache
- 207
+ 209
Taille du cache des prévisualisations
- 210
+ 212
Les aperçus ne sont pas fédérés. Nous les récupérons directement de l'instance d'origine, et les cachons.
- 213
+ 215
Personnalisations
- 225
+ 227
JavaScript
- 228
+ 230
Écrivez directement du code JavaScript.<br />Exemple: <pre>console.log('mon instance est super géniale');</pre>
- 231
+ 233
@@ -711,7 +702,7 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé
</pre>
- 247
+ 249
@@ -725,7 +716,7 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé
Mettre à jour la configuration
- 274
+ 276
@@ -1368,35 +1359,35 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Téléverser une vignette
- 119
+ 129
Téléverser un aperçu
- 126
+ 136
Soutenir
- 53
+ 55
Courte description des moyens qu'ont les utilisateurs de vous soutenir (financement participatif, etc.).
- 133
+ 143
Paramétrage avancé
- 115
+ 125
@@ -1421,7 +1412,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Mettre à jour
- 87
+ 89
@@ -1449,7 +1440,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Télécharger
- 69
+ 71
@@ -1488,7 +1479,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Partager
- 58
+ 60
@@ -1516,13 +1507,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
35
-
-
- Vidéo non trouvée :'(
-
- 6
-
-
Aller à la page de chaîne
- 20
-
-
-
-
- Vous pouvez vous abonner à ce compte avec n'importe quel instance compatible ActivityPub. Par exemple, avec Mastodon ou Pleroma, vous pouvez taper dans le champ de recherche <strong>@@</strong> pour ensuite vous abonner à lui. L'abonnement en tant qu'utilisateur PeerTube est travaillé dans <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.
-
- 24
+ 22
Par
- 29
-
-
-
-
- Aller sur la page du compte
-
- 28
+ 31
J'aime cette vidéo
- 41
+ 43
Je n'aime pas cette vidéo
- 48
+ 50
Télécharger la vidéo
- 68
+ 70
Signaler
- 75
+ 77
Signaler cette vidéo
- 74
+ 76
Blacklister
- 81
+ 83
Blacklister cette vidéo
- 80
+ 82
Mettre à jour cette vidéo
- 86
+ 88
@@ -1628,21 +1598,21 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Supprimer cette vidéo
- 92
+ 94
Voir plus
- 112
+ 114
Montrer moins
- 118
+ 120
@@ -1651,7 +1621,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Visibilité
- 125
+ 127
@@ -1660,7 +1630,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Catégorie
- 134
+ 136
@@ -1671,7 +1641,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Licence
- 143
+ 145
@@ -1682,7 +1652,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Langue
- 152
+ 154
@@ -1691,7 +1661,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Étiquettes
- 161
+ 163
@@ -1702,14 +1672,14 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Autres vidéos
- 175
+ 177
Rappel:
- 187
+ 189
@@ -1720,21 +1690,21 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Le système de partage utilisé par cette vidéo nécessite que des informations techniques concernant votre système (notamment votre adresse IP publique) soit rendue publique.
- 189
+ 191
Plus d'informations
- 192
+ 194
Obtenir plus d'informations
- 192
+ 194
@@ -1745,7 +1715,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
OK
- 195
+ 197
@@ -1757,25 +1727,18 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
3
-
-
- Vous pouvez soit commenter sur la page de l'instance où cette vidéo est fédérée avec votre compte PeerTube, ou via n'importe quelle instance utilisant ActivityPub pour l'échange de messages. Par exemple avec une instance Mastodon ou Pleroma vous pouvez copier l'URL de vidéo dans le champs de recherche, ou écrire <strong>@@</strong> et retrouver la vidéo. Nous travaillons à la possibilité de commenter directement depuis PeerTube avec un compte distant sur <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>.
-
- 8
-
-
Aucun commentaire.
- 20
+ 19
Voir les réponses
- 56
+ 55
@@ -1786,7 +1749,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
Les commentaires sont désactivés.
- 65
+ 64
@@ -2122,6 +2085,13 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
1
+
+
+ La vidéo a été supprimée.
+
+ 1
+
+
Erreur lors de la récupération des informations 'about' du serveur
@@ -2845,13 +2815,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
1
-
-
- La vidéo a été supprimée.
-
- 1
-
-
j'aime / je n'aime pas
diff --git a/client/src/locale/target/server_fr_FR.json b/client/src/locale/target/server_fr_FR.json
index 43216adf4..72f6e322d 100644
--- a/client/src/locale/target/server_fr_FR.json
+++ b/client/src/locale/target/server_fr_FR.json
@@ -1 +1 @@
-{"Music":"Musique","Films":"Films","Vehicles":"Transport","Art":"Art","Sports":"Sports","Travels":"Voyages","Gaming":"Jeux vidéos","People":"People","Comedy":"Humour","Entertainment":"Divertissement","News":"Actualités","How To":"Tutoriel","Education":"Éducation","Activism":"Activisme","Science & Technology":"Science & Technologie","Animals":"Animaux","Kids":"Enfants","Food":"Cuisine","Attribution":"Attribution","Attribution - Share Alike":"Attribution - Partage dans les mêmes conditions","Attribution - No Derivatives":"Attribution - Pas d'oeuvre dérivée","Attribution - Non Commercial":"Attribution - Utilisation non commerciale","Attribution - Non Commercial - Share Alike":"Attribution - Utilisation non commerciale - Partage dans les mêmes conditions","Attribution - Non Commercial - No Derivatives":"Attribution - Utilisation non commerciale - Pas d'oeuvre dérivée","Public Domain Dedication":"Domaine public","Public":"Publique","Unlisted":"Non listée","Private":"Privée","French":"Français","French Sign Language":"Langage des signes français","Misc":"Divers","Unknown":"Inconnu"}
\ No newline at end of file
+{"Music":"Musiques","Films":"Films","Vehicles":"Transport","Art":"Art","Sports":"Sports","Travels":"Voyages","Gaming":"Jeux vidéos","People":"Personnalités","Comedy":"Humour","Entertainment":"Divertissement","News":"Actualités","How To":"Tutoriels","Education":"Éducation","Activism":"Militantisme","Science & Technology":"Science & Technologie","Animals":"Animaux","Kids":"Enfants","Food":"Cuisine","Attribution":"Attribution","Attribution - Share Alike":"Attribution - Partage dans les mêmes conditions","Attribution - No Derivatives":"Attribution - Pas d'oeuvre dérivée","Attribution - Non Commercial":"Attribution - Utilisation non commerciale","Attribution - Non Commercial - Share Alike":"Attribution - Utilisation non commerciale - Partage dans les mêmes conditions","Attribution - Non Commercial - No Derivatives":"Attribution - Utilisation non commerciale - Pas d'oeuvre dérivée","Public Domain Dedication":"Domaine public","Public":"Publique","Unlisted":"Non listée","Private":"Privée","Misc":"Divers","Unknown":"Inconnu","Arabic":"Arabe"}
\ No newline at end of file
diff --git a/scripts/i18n/create-custom-files.ts b/scripts/i18n/create-custom-files.ts
index 3519afd47..7d994a710 100755
--- a/scripts/i18n/create-custom-files.ts
+++ b/scripts/i18n/create-custom-files.ts
@@ -34,10 +34,6 @@ values(VIDEO_CATEGORIES)
.concat(values(VIDEO_PRIVACIES))
.forEach(v => serverKeys[v] = v)
-// ISO 639 keys
-const languages = buildLanguages()
-Object.keys(languages).forEach(k => serverKeys[languages[k]] = languages[k])
-
// More keys
Object.assign(serverKeys, {
'Misc': 'Misc',
@@ -49,13 +45,27 @@ const serverTranslations = {
data: serverKeys
}
+// ISO 639 keys
+const languageKeys: any = {}
+const languages = buildLanguages()
+Object.keys(languages).forEach(k => languageKeys[languages[k]] = languages[k])
+
+const iso639Translations = {
+ target: join(__dirname, '../../../client/src/locale/source/iso639_en_US.xml'),
+ data: languageKeys
+}
+
saveToXliffFile(playerTranslations, err => {
if (err) return handleError(err)
saveToXliffFile(serverTranslations, err => {
if (err) return handleError(err)
- process.exit(0)
+ saveToXliffFile(iso639Translations, err => {
+ if (err) return handleError(err)
+
+ process.exit(0)
+ })
})
})
diff --git a/scripts/i18n/xliff2json.ts b/scripts/i18n/xliff2json.ts
index c60739561..17c73181b 100755
--- a/scripts/i18n/xliff2json.ts
+++ b/scripts/i18n/xliff2json.ts
@@ -1,7 +1,7 @@
import * as xliff12ToJs from 'xliff/xliff12ToJs'
-import { unlink, readFileSync, writeFile } from 'fs'
+import { readFile, readFileSync, unlink, writeFile } from 'fs'
import { join } from 'path'
-import { buildFileLocale, I18N_LOCALES, isDefaultLocale, LOCALE_FILES } from '../../shared/models/i18n/i18n'
+import { buildFileLocale, I18N_LOCALES, isDefaultLocale } from '../../shared/models/i18n/i18n'
import { eachSeries } from 'async'
const sources: string[] = []
@@ -9,7 +9,7 @@ const availableLocales = Object.keys(I18N_LOCALES)
.filter(l => isDefaultLocale(l) === false)
.map(l => buildFileLocale(l))
-for (const file of LOCALE_FILES) {
+for (const file of [ 'player', 'server', 'iso639' ]) {
for (const locale of availableLocales) {
sources.push(join(__dirname, '../../../client/src/locale/target/', `${file}_${locale}.xml`))
}
@@ -20,7 +20,11 @@ eachSeries(sources, (source, cb) => {
}, err => {
if (err) return handleError(err)
- process.exit(0)
+ mergeISO639InServer(err => {
+ if (err) return handleError(err)
+
+ process.exit(0)
+ })
})
function handleError (err: any) {
@@ -48,6 +52,28 @@ function xliffFile2JSON (filePath: string, cb) {
})
}
+function mergeISO639InServer (cb) {
+ eachSeries(availableLocales, (locale, eachCallback) => {
+ const serverPath = join(__dirname, '../../../client/src/locale/target/', `server_${locale}.json`)
+ const iso639Path = join(__dirname, '../../../client/src/locale/target/', `iso639_${locale}.json`)
+
+ const resServer = readFileSync(serverPath).toString()
+ const resISO639 = readFileSync(iso639Path).toString()
+
+ const jsonServer = JSON.parse(resServer)
+ const jsonISO639 = JSON.parse(resISO639)
+
+ Object.assign(jsonServer, jsonISO639)
+ const serverString = JSON.stringify(jsonServer)
+
+ writeFile(serverPath, serverString, err => {
+ if (err) return eachCallback(err)
+
+ return unlink(iso639Path, eachCallback)
+ })
+ }, cb)
+}
+
function removeFirstLine (str: string) {
return str.substring(str.indexOf('\n') + 1)
}
diff --git a/support/doc/development/localization.md b/support/doc/development/localization.md
index 3cf797516..97e9e2c51 100644
--- a/support/doc/development/localization.md
+++ b/support/doc/development/localization.md
@@ -8,7 +8,7 @@ Will generate XLIFF files for Angular and escape inner elements in `source` tag
This script will create `player_en_US.xml` XLIFF file using custom strings (VideoJS plugins) and strings from `videojs_en_US.json` file.
-It will also create `server_en_US.xml` XLIFF file using custom strings (defined inside the script, we did not find a way to extract them from TypeScript server files).
+It will also create `server_en_US.xml` and `iso639_en_US.xml` XLIFF file using server strings and custom strings (defined inside the script, we did not find a way to extract them from TypeScript server files).
```
$ npm run i18n:generate
@@ -25,7 +25,8 @@ $ zanata-cli push
## Pull translation
Pull XLIFF files from Zanata, and unescape them (so we retrieve inner elements in `source` tag, used by Angular).
-A hook converts `player` and `server` translation files to JSON (needed by Video.JS, and our application to have efficient runtime translation).
+A hook converts `player` and `server`, `iso639` translation files to JSON (needed by Video.JS, and our application to have efficient runtime translation).
+Then, `iso639` files will be merged in `server` files (so we have only one JSON file to serve server translations).
```
$ zanata-cli pull