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.ts17
-
+
- My settings
+ My account
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.ts178
+
+ If you disable transcoding, many videos from your users will not work!
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+ 180
+ Transcoding threadsapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 184
+ 186Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabledapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 203
+ 205Cacheapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 207
+ 209Previews cache sizeapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 210
+ 212Previews are not federated. We fetch them directly from the origin instance and cache them.app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 213
+ 215Customizationsapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 225
+ 227JavaScriptapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 228
+ 230Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre>app/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 231
+ 233
@@ -799,7 +805,7 @@ 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
- 247
+ 249Advanced configuration
@@ -811,7 +817,13 @@ Check this checkbox, save the configuration and test with a video URL of your in
Update configurationapp/+admin/config/edit-custom-config/edit-custom-config.component.ts
- 274
+ 276
+
+
+ It seems the configration is invalid. Please search potential errors in the different tabs.
+
+ app/+admin/config/edit-custom-config/edit-custom-config.component.ts
+ 277
@@ -1458,6 +1470,18 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-edit/shared/video-edit.component.ts109
+
+ Wait transcoding before publishing the video
+
+ app/videos/+video-edit/shared/video-edit.component.ts
+ 115
+
+
+ If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.
+
+ app/videos/+video-edit/shared/video-edit.component.ts
+ 118
+ Basic info
@@ -1468,19 +1492,19 @@ When you will upload a video in this channel, the video support field will be au
Upload thumbnailapp/videos/+video-edit/shared/video-edit.component.ts
- 119
+ 129Upload previewapp/videos/+video-edit/shared/video-edit.component.ts
- 126
+ 136Supportapp/videos/+video-edit/shared/video-edit.component.ts
- 132
+ 142app/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
+ 55Short text to tell people how they can support you (membership platform...).app/videos/+video-edit/shared/video-edit.component.ts
- 133
+ 143Advanced settingsapp/videos/+video-edit/shared/video-edit.component.ts
- 115
+ 125(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)
@@ -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
+ 89Download video
@@ -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
+ 71Report video
@@ -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
+ 60URL
@@ -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.ts35
-
- Video not found :'(
+
+
+ The video is being transcoded, it may not work properly.
+ app/videos/+video-watch/video-watch.component.ts6
@@ -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
+ 17Go the channel pageapp/videos/+video-watch/video-watch.component.ts
- 20
+ 22
-
- You can subscribe to this account via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.displayName}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and subscribe there. Subscription as a PeerTube user is being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.
+
+ You can subscribe to this account via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and subscribe there. Subscription as a PeerTube user is being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.app/videos/+video-watch/video-watch.component.ts
- 24
+ 26By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/>app/videos/+video-watch/video-watch.component.ts
- 29
+ 31
-
- Go the account page
+
+ Go to the account pageapp/videos/+video-watch/video-watch.component.ts
- 28
+ 30Like this videoapp/videos/+video-watch/video-watch.component.ts
- 41
+ 43Dislike this videoapp/videos/+video-watch/video-watch.component.ts
- 48
+ 50Download the videoapp/videos/+video-watch/video-watch.component.ts
- 68
+ 70Reportapp/videos/+video-watch/video-watch.component.ts
- 75
+ 77Report this videoapp/videos/+video-watch/video-watch.component.ts
- 74
+ 76Blacklistapp/videos/+video-watch/video-watch.component.ts
- 81
+ 83Blacklist this videoapp/videos/+video-watch/video-watch.component.ts
- 80
+ 82Update this videoapp/videos/+video-watch/video-watch.component.ts
- 86
+ 88Deleteapp/videos/+video-watch/video-watch.component.ts
- 93
+ 95app/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
Delete this videoapp/videos/+video-watch/video-watch.component.ts
- 92
+ 94Show moreapp/videos/+video-watch/video-watch.component.ts
- 112
+ 114Show lessapp/videos/+video-watch/video-watch.component.ts
- 118
+ 120
@@ -1730,7 +1756,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
- 125
+ 127
@@ -1738,7 +1764,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
- 134
+ 136
@@ -1746,7 +1772,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
- 143
+ 145
@@ -1754,7 +1780,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
- 152
+ 154
@@ -1762,7 +1788,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
- 161
+ 163
@@ -1770,13 +1796,13 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/video-watch.component.ts
- 175
+ 177Friendly Reminder:app/videos/+video-watch/video-watch.component.ts
- 187
+ 189
@@ -1784,19 +1810,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
- 189
+ 191More informationapp/videos/+video-watch/video-watch.component.ts
- 192
+ 194Get more informationapp/videos/+video-watch/video-watch.component.ts
- 192
+ 194
@@ -1804,7 +1830,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
- 195
+ 197
@@ -1814,8 +1840,8 @@ When you will upload a video in this channel, the video support field will be au
app/videos/+video-watch/comment/video-comments.component.ts3
-
- You can either comment on the page of your instance where this video is federated with your PeerTube account, or via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.displayName}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and find back the video. Direct commenting capabilities are being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>.
+
+ You can either comment on the page of your instance where this video is federated with your PeerTube account, or via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and find back the video. Direct commenting capabilities are being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>.app/videos/+video-watch/comment/video-comments.component.ts8
@@ -1824,13 +1850,13 @@ When you will upload a video in this channel, the video support field will be au
No comments.app/videos/+video-watch/comment/video-comments.component.ts
- 20
+ 19View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> repliesapp/videos/+video-watch/comment/video-comments.component.ts
- 56
+ 55
@@ -1838,7 +1864,7 @@ 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
- 65
+ 64Add comment...
@@ -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.ts1
+
+ 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.ts1
@@ -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.ts1
+
+ 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.ts1
@@ -2412,6 +2454,66 @@ When you will upload a video in this channel, the video support field will be au
1
+
+ Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos?
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted.
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>?
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted.
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+ src/app/videos/+video-watch/video-watch.component.ts
+ 1
+
+
+
+ Published
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ Waiting transcoding
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ To transcode
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+
+
+ Unknown state
+
+ src/app/+my-account/my-account-videos/my-account-videos.component.ts
+ 1
+
+ Error getting about from server
@@ -3158,13 +3260,6 @@ When you will upload a video in this channel, the video support field will be au
1
-
- Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted.
-
- src/app/videos/+video-watch/video-watch.component.ts
- 1
-
- <x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes
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 @@
+
+
+
+
+ Afar
+ undefined
+
+
+ Abkhazian
+ undefined
+
+
+ Afrikaans
+ undefined
+
+
+ Akan
+ undefined
+
+
+ Amharic
+ undefined
+
+
+ Arabic
+ undefined
+
+
+ Aragonese
+ undefined
+
+
+ American Sign Language
+ undefined
+
+
+ Assamese
+ undefined
+
+
+ Avaric
+ undefined
+
+
+ Aymara
+ undefined
+
+
+ Azerbaijani
+ undefined
+
+
+ Bashkir
+ undefined
+
+
+ Bambara
+ undefined
+
+
+ Belarusian
+ undefined
+
+
+ Bengali
+ undefined
+
+
+ British Sign Language
+ undefined
+
+
+ Bislama
+ undefined
+
+
+ Tibetan
+ undefined
+
+
+ Bosnian
+ undefined
+
+
+ Breton
+ undefined
+
+
+ Bulgarian
+ undefined
+
+
+ Brazilian Sign Language
+ undefined
+
+
+ Catalan
+ undefined
+
+
+ Czech
+ undefined
+
+
+ Chamorro
+ undefined
+
+
+ Chechen
+ undefined
+
+
+ Chuvash
+ undefined
+
+
+ Cornish
+ undefined
+
+
+ Corsican
+ undefined
+
+
+ Cree
+ undefined
+
+
+ Czech Sign Language
+ undefined
+
+
+ Chinese Sign Language
+ undefined
+
+
+ Welsh
+ undefined
+
+
+ Danish
+ undefined
+
+
+ German
+ undefined
+
+
+ Dhivehi
+ undefined
+
+
+ Danish Sign Language
+ undefined
+
+
+ Dzongkha
+ undefined
+
+
+ Modern Greek (1453-)
+ undefined
+
+
+ English
+ undefined
+
+
+ Estonian
+ undefined
+
+
+ Basque
+ undefined
+
+
+ Ewe
+ undefined
+
+
+ Faroese
+ undefined
+
+
+ Persian
+ undefined
+
+
+ Fijian
+ undefined
+
+
+ Finnish
+ undefined
+
+
+ French
+ undefined
+
+
+ Western Frisian
+ undefined
+
+
+ French Sign Language
+ undefined
+
+
+ Fulah
+ undefined
+
+
+ Scottish Gaelic
+ undefined
+
+
+ Irish
+ undefined
+
+
+ Galician
+ undefined
+
+
+ Manx
+ undefined
+
+
+ Guarani
+ undefined
+
+
+ German Sign Language
+ undefined
+
+
+ Gujarati
+ undefined
+
+
+ Haitian
+ undefined
+
+
+ Hausa
+ undefined
+
+
+ Serbo-Croatian
+ undefined
+
+
+ Hebrew
+ undefined
+
+
+ Herero
+ undefined
+
+
+ Hindi
+ undefined
+
+
+ Hiri Motu
+ undefined
+
+
+ Croatian
+ undefined
+
+
+ Hungarian
+ undefined
+
+
+ Armenian
+ undefined
+
+
+ Igbo
+ undefined
+
+
+ Sichuan Yi
+ undefined
+
+
+ Inuktitut
+ undefined
+
+
+ Indonesian
+ undefined
+
+
+ Inupiaq
+ undefined
+
+
+ Icelandic
+ undefined
+
+
+ Italian
+ undefined
+
+
+ Javanese
+ undefined
+
+
+ Japanese
+ undefined
+
+
+ Japanese Sign Language
+ undefined
+
+
+ Kalaallisut
+ undefined
+
+
+ Kannada
+ undefined
+
+
+ Kashmiri
+ undefined
+
+
+ Georgian
+ undefined
+
+
+ Kanuri
+ undefined
+
+
+ Kazakh
+ undefined
+
+
+ Khmer
+ undefined
+
+
+ Kikuyu
+ undefined
+
+
+ Kinyarwanda
+ undefined
+
+
+ Kirghiz
+ undefined
+
+
+ Komi
+ undefined
+
+
+ Kongo
+ undefined
+
+
+ Korean
+ undefined
+
+
+ Kuanyama
+ undefined
+
+
+ Kurdish
+ undefined
+
+
+ Lao
+ undefined
+
+
+ Latvian
+ undefined
+
+
+ Limburgan
+ undefined
+
+
+ Lingala
+ undefined
+
+
+ Lithuanian
+ undefined
+
+
+ Luxembourgish
+ undefined
+
+
+ Luba-Katanga
+ undefined
+
+
+ Ganda
+ undefined
+
+
+ Marshallese
+ undefined
+
+
+ Malayalam
+ undefined
+
+
+ Marathi
+ undefined
+
+
+ Macedonian
+ undefined
+
+
+ Malagasy
+ undefined
+
+
+ Maltese
+ undefined
+
+
+ Mongolian
+ undefined
+
+
+ Maori
+ undefined
+
+
+ Malay (macrolanguage)
+ undefined
+
+
+ Burmese
+ undefined
+
+
+ Nauru
+ undefined
+
+
+ Navajo
+ undefined
+
+
+ South Ndebele
+ undefined
+
+
+ North Ndebele
+ undefined
+
+
+ Ndonga
+ undefined
+
+
+ Nepali (macrolanguage)
+ undefined
+
+
+ Dutch
+ undefined
+
+
+ Norwegian Nynorsk
+ undefined
+
+
+ Norwegian Bokmål
+ undefined
+
+
+ Norwegian
+ undefined
+
+
+ Nyanja
+ undefined
+
+
+ Occitan (post 1500)
+ undefined
+
+
+ Ojibwa
+ undefined
+
+
+ Oriya (macrolanguage)
+ undefined
+
+
+ Oromo
+ undefined
+
+
+ Ossetian
+ undefined
+
+
+ Panjabi
+ undefined
+
+
+ Pakistan Sign Language
+ undefined
+
+
+ Polish
+ undefined
+
+
+ Portuguese
+ undefined
+
+
+ Pushto
+ undefined
+
+
+ Quechua
+ undefined
+
+
+ Romansh
+ undefined
+
+
+ Romanian
+ undefined
+
+
+ Russian Sign Language
+ undefined
+
+
+ Rundi
+ undefined
+
+
+ Russian
+ undefined
+
+
+ Sango
+ undefined
+
+
+ Saudi Arabian Sign Language
+ undefined
+
+
+ South African Sign Language
+ undefined
+
+
+ Sinhala
+ undefined
+
+
+ Slovak
+ undefined
+
+
+ Slovenian
+ undefined
+
+
+ Northern Sami
+ undefined
+
+
+ Samoan
+ undefined
+
+
+ Shona
+ undefined
+
+
+ Sindhi
+ undefined
+
+
+ Somali
+ undefined
+
+
+ Southern Sotho
+ undefined
+
+
+ Spanish
+ undefined
+
+
+ Albanian
+ undefined
+
+
+ Sardinian
+ undefined
+
+
+ Serbian
+ undefined
+
+
+ Swati
+ undefined
+
+
+ Sundanese
+ undefined
+
+
+ Swahili (macrolanguage)
+ undefined
+
+
+ Swedish
+ undefined
+
+
+ Swedish Sign Language
+ undefined
+
+
+ Tahitian
+ undefined
+
+
+ Tamil
+ undefined
+
+
+ Tatar
+ undefined
+
+
+ Telugu
+ undefined
+
+
+ Tajik
+ undefined
+
+
+ Tagalog
+ undefined
+
+
+ Thai
+ undefined
+
+
+ Tigrinya
+ undefined
+
+
+ Tonga (Tonga Islands)
+ undefined
+
+
+ Tswana
+ undefined
+
+
+ Tsonga
+ undefined
+
+
+ Turkmen
+ undefined
+
+
+ Turkish
+ undefined
+
+
+ Twi
+ undefined
+
+
+ Uighur
+ undefined
+
+
+ Ukrainian
+ undefined
+
+
+ Urdu
+ undefined
+
+
+ Uzbek
+ undefined
+
+
+ Venda
+ undefined
+
+
+ Vietnamese
+ undefined
+
+
+ Walloon
+ undefined
+
+
+ Wolof
+ undefined
+
+
+ Xhosa
+ undefined
+
+
+ Yiddish
+ undefined
+
+
+ Yoruba
+ undefined
+
+
+ Zhuang
+ undefined
+
+
+ Chinese
+ undefined
+
+
+ Zulu
+ 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 @@
Privateundefined
-
- Afar
- undefined
-
-
- Abkhazian
- undefined
-
-
- Afrikaans
- undefined
-
-
- Akan
- undefined
-
-
- Amharic
- undefined
-
-
- Arabic
- undefined
-
-
- Aragonese
- undefined
-
-
- American Sign Language
- undefined
-
-
- Assamese
- undefined
-
-
- Avaric
- undefined
-
-
- Aymara
- undefined
-
-
- Azerbaijani
- undefined
-
-
- Bashkir
- undefined
-
-
- Bambara
- undefined
-
-
- Belarusian
- undefined
-
-
- Bengali
- undefined
-
-
- British Sign Language
- undefined
-
-
- Bislama
- undefined
-
-
- Tibetan
- undefined
-
-
- Bosnian
- undefined
-
-
- Breton
- undefined
-
-
- Bulgarian
- undefined
-
-
- Brazilian Sign Language
- undefined
-
-
- Catalan
- undefined
-
-
- Czech
- undefined
-
-
- Chamorro
- undefined
-
-
- Chechen
- undefined
-
-
- Chuvash
- undefined
-
-
- Cornish
- undefined
-
-
- Corsican
- undefined
-
-
- Cree
- undefined
-
-
- Czech Sign Language
- undefined
-
-
- Chinese Sign Language
- undefined
-
-
- Welsh
- undefined
-
-
- Danish
- undefined
-
-
- German
- undefined
-
-
- Dhivehi
- undefined
-
-
- Danish Sign Language
- undefined
-
-
- Dzongkha
- undefined
-
-
- Modern Greek (1453-)
- undefined
-
-
- English
- undefined
-
-
- Estonian
- undefined
-
-
- Basque
- undefined
-
-
- Ewe
- undefined
-
-
- Faroese
- undefined
-
-
- Persian
- undefined
-
-
- Fijian
- undefined
-
-
- Finnish
- undefined
-
-
- French
- undefined
-
-
- Western Frisian
- undefined
-
-
- French Sign Language
- undefined
-
-
- Fulah
- undefined
-
-
- Scottish Gaelic
- undefined
-
-
- Irish
- undefined
-
-
- Galician
- undefined
-
-
- Manx
- undefined
-
-
- Guarani
- undefined
-
-
- German Sign Language
- undefined
-
-
- Gujarati
- undefined
-
-
- Haitian
- undefined
-
-
- Hausa
- undefined
-
-
- Serbo-Croatian
- undefined
-
-
- Hebrew
- undefined
-
-
- Herero
- undefined
-
-
- Hindi
- undefined
-
-
- Hiri Motu
- undefined
-
-
- Croatian
- undefined
-
-
- Hungarian
- undefined
-
-
- Armenian
- undefined
-
-
- Igbo
- undefined
-
-
- Sichuan Yi
- undefined
-
-
- Inuktitut
- undefined
-
-
- Indonesian
- undefined
-
-
- Inupiaq
- undefined
-
-
- Icelandic
- undefined
-
-
- Italian
- undefined
-
-
- Javanese
- undefined
-
-
- Japanese
- undefined
-
-
- Japanese Sign Language
- undefined
-
-
- Kalaallisut
- undefined
-
-
- Kannada
- undefined
-
-
- Kashmiri
- undefined
-
-
- Georgian
- undefined
-
-
- Kanuri
- undefined
-
-
- Kazakh
- undefined
-
-
- Khmer
- undefined
-
-
- Kikuyu
- undefined
-
-
- Kinyarwanda
- undefined
-
-
- Kirghiz
- undefined
-
-
- Komi
- undefined
-
-
- Kongo
- undefined
-
-
- Korean
- undefined
-
-
- Kuanyama
- undefined
-
-
- Kurdish
- undefined
-
-
- Lao
- undefined
-
-
- Latvian
- undefined
-
-
- Limburgan
- undefined
-
-
- Lingala
- undefined
-
-
- Lithuanian
- undefined
-
-
- Luxembourgish
- undefined
-
-
- Luba-Katanga
- undefined
-
-
- Ganda
- undefined
-
-
- Marshallese
- undefined
-
-
- Malayalam
- undefined
-
-
- Marathi
- undefined
-
-
- Macedonian
- undefined
-
-
- Malagasy
- undefined
-
-
- Maltese
- undefined
-
-
- Mongolian
- undefined
-
-
- Maori
- undefined
-
-
- Malay (macrolanguage)
- undefined
-
-
- Burmese
- undefined
-
-
- Nauru
- undefined
-
-
- Navajo
- undefined
-
-
- South Ndebele
- undefined
-
-
- North Ndebele
- undefined
-
-
- Ndonga
- undefined
-
-
- Nepali (macrolanguage)
- undefined
-
-
- Dutch
- undefined
-
-
- Norwegian Nynorsk
- undefined
-
-
- Norwegian Bokmål
- undefined
-
-
- Norwegian
- undefined
-
-
- Nyanja
- undefined
-
-
- Occitan (post 1500)
- undefined
-
-
- Ojibwa
- undefined
-
-
- Oriya (macrolanguage)
- undefined
-
-
- Oromo
- undefined
-
-
- Ossetian
- undefined
-
-
- Panjabi
- undefined
-
-
- Pakistan Sign Language
- undefined
-
-
- Polish
- undefined
-
-
- Portuguese
- undefined
-
-
- Pushto
- undefined
-
-
- Quechua
- undefined
-
-
- Romansh
- undefined
-
-
- Romanian
- undefined
-
-
- Russian Sign Language
- undefined
-
-
- Rundi
- undefined
-
-
- Russian
- undefined
-
-
- Sango
- undefined
-
-
- Saudi Arabian Sign Language
- undefined
-
-
- South African Sign Language
- undefined
-
-
- Sinhala
- undefined
-
-
- Slovak
- undefined
-
-
- Slovenian
- undefined
-
-
- Northern Sami
- undefined
-
-
- Samoan
- undefined
-
-
- Shona
- undefined
-
-
- Sindhi
- undefined
-
-
- Somali
- undefined
-
-
- Southern Sotho
- undefined
-
-
- Spanish
- undefined
-
-
- Albanian
- undefined
-
-
- Sardinian
- undefined
-
-
- Serbian
- undefined
-
-
- Swati
- undefined
-
-
- Sundanese
- undefined
-
-
- Swahili (macrolanguage)
- undefined
-
-
- Swedish
- undefined
-
-
- Swedish Sign Language
- undefined
-
-
- Tahitian
- undefined
-
-
- Tamil
- undefined
-
-
- Tatar
- undefined
-
-
- Telugu
- undefined
-
-
- Tajik
- undefined
-
-
- Tagalog
- undefined
-
-
- Thai
- undefined
-
-
- Tigrinya
- undefined
-
-
- Tonga (Tonga Islands)
- undefined
-
-
- Tswana
- undefined
-
-
- Tsonga
- undefined
-
-
- Turkmen
- undefined
-
-
- Turkish
- undefined
-
-
- Twi
- undefined
-
-
- Uighur
- undefined
-
-
- Ukrainian
- undefined
-
-
- Urdu
- undefined
-
-
- Uzbek
- undefined
-
-
- Venda
- undefined
-
-
- Vietnamese
- undefined
-
-
- Walloon
- undefined
-
-
- Wolof
- undefined
-
-
- Xhosa
- undefined
-
-
- Yiddish
- undefined
-
-
- Yoruba
- undefined
-
-
- Zhuang
- undefined
-
-
- Chinese
- undefined
-
-
- Zulu
- undefined
- Miscundefined
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 @@
+
+
+
+
+
+
+
+ Cancel
+
+ 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 @@
or create an account
- ou créer un compte
+ \nou créer un compte16
@@ -85,7 +85,7 @@
or create an account on another instance
- ou créer un compte sur une autre instance
+ \nou créer un compte sur une autre instance20
@@ -143,7 +143,7 @@
Reset my password
- Réinitialiser mon mot de passe
+ \nRéinitialiser mon mot de passe2
@@ -173,7 +173,7 @@
Create an account
- Créer un compte
+ \nCréer un compte3
@@ -189,7 +189,7 @@
Unlimited
- Illimité
+ \nIllimité16
@@ -293,15 +293,6 @@
17
-
-
- My settings
-
- Mes paramètres
-
- 21
-
-
Log out
@@ -551,7 +542,7 @@
User default video quota
- 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é
Transcoding threadsNombre de threads pour l'encodage
- 184
+ 186Resolution enabledDéfinition activée
- 203
+ 205CacheCache
- 207
+ 209Previews cache sizeTaille du cache des prévisualisations
- 210
+ 212Previews are not federated. We fetch them directly from the origin instance and cache them.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
+ 215CustomizationsPersonnalisations
- 225
+ 227JavaScriptJavaScript
- 228
+ 230Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre>É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é
Update configurationMettre à 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
Upload thumbnailTéléverser une vignette
- 119
+ 129Upload previewTéléverser un aperçu
- 126
+ 136SupportSoutenir
- 53
+ 55Short text to tell people how they can support you (membership platform...).Courte description des moyens qu'ont les utilisateurs de vous soutenir (financement participatif, etc.).
- 133
+ 143Advanced settingsParamé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
UpdateMettre à jour
- 87
+ 89
@@ -1449,7 +1440,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
DownloadTé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
SharePartager
- 58
+ 60
@@ -1516,13 +1507,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
35
-
- Video not found :'(
- Vidéo non trouvée :'(
-
- 6
-
- - views
@@ -1530,91 +1514,77 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au
- vues
- 15
+ 17Go the channel pageAller à la page de chaîne
- 20
-
-
-
- You can subscribe to this account via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@@</strong> and subscribe there. Subscription as a PeerTube user is being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.
- 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
+ 22By Par
- 29
-
-
-
- Go the account page
- Aller sur la page du compte
-
- 28
+ 31Like this videoJ'aime cette vidéo
- 41
+ 43Dislike this videoJe n'aime pas cette vidéo
- 48
+ 50Download the videoTélécharger la vidéo
- 68
+ 70ReportSignaler
- 75
+ 77Report this videoSignaler cette vidéo
- 74
+ 76BlacklistBlacklister
- 81
+ 83Blacklist this videoBlacklister cette vidéo
- 80
+ 82Update this videoMettre à 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
Delete this videoSupprimer cette vidéo
- 92
+ 94Show moreVoir plus
- 112
+ 114Show lessMontrer 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
+ 177Friendly Reminder: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
+ 191More informationPlus d'informations
- 192
+ 194Get more informationObtenir 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
-
- You can either comment on the page of your instance where this video is federated with your PeerTube account, or via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@@</strong> and find back the video. Direct commenting capabilities are being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>.
- 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
-
- No comments.Aucun commentaire.
- 20
+ 19View all repliesVoir 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
+
+ Video deleted.
+ La vidéo a été supprimée.
+
+ 1
+
+ Error getting about from serverErreur 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
-
- Video deleted.
- La vidéo a été supprimée.
-
- 1
-
- likes / dislikes 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