diff options
135 files changed, 14599 insertions, 5520 deletions
diff --git a/CREDITS.md b/CREDITS.md index ab1cacd78..9ae6761f5 100644 --- a/CREDITS.md +++ b/CREDITS.md | |||
@@ -4,24 +4,27 @@ | |||
4 | * [rigelk](https://github.com/rigelk) | 4 | * [rigelk](https://github.com/rigelk) |
5 | * [gegeweb](https://github.com/gegeweb) | 5 | * [gegeweb](https://github.com/gegeweb) |
6 | * [bnjbvr](https://github.com/bnjbvr) | 6 | * [bnjbvr](https://github.com/bnjbvr) |
7 | * [DavidLibeau](https://github.com/DavidLibeau) | ||
7 | * [jankeromnes](https://github.com/jankeromnes) | 8 | * [jankeromnes](https://github.com/jankeromnes) |
9 | * [Jorropo](https://github.com/Jorropo) | ||
8 | * [DimitriGilbert](https://github.com/DimitriGilbert) | 10 | * [DimitriGilbert](https://github.com/DimitriGilbert) |
9 | * [floSoX](https://github.com/floSoX) | 11 | * [floSoX](https://github.com/floSoX) |
10 | * [Green-Star](https://github.com/Green-Star) | 12 | * [Green-Star](https://github.com/Green-Star) |
11 | * [rezonant](https://github.com/rezonant) | 13 | * [rezonant](https://github.com/rezonant) |
12 | * [DavidLibeau](https://github.com/DavidLibeau) | ||
13 | * [JohnXLivingston](https://github.com/JohnXLivingston) | 14 | * [JohnXLivingston](https://github.com/JohnXLivingston) |
14 | * [okhin](https://github.com/okhin) | 15 | * [okhin](https://github.com/okhin) |
15 | * [fflorent](https://github.com/fflorent) | 16 | * [fflorent](https://github.com/fflorent) |
16 | * [ldidry](https://github.com/ldidry) | 17 | * [ldidry](https://github.com/ldidry) |
17 | * [kaiyou](https://github.com/kaiyou) | 18 | * [kaiyou](https://github.com/kaiyou) |
18 | * [dedesite](https://github.com/dedesite) | 19 | * [dedesite](https://github.com/dedesite) |
20 | * [Nautigsam](https://github.com/Nautigsam) | ||
19 | * [daftaupe](https://github.com/daftaupe) | 21 | * [daftaupe](https://github.com/daftaupe) |
20 | * [dadall](https://github.com/dadall) | 22 | * [dadall](https://github.com/dadall) |
21 | * [jonathanraes](https://github.com/jonathanraes) | 23 | * [jonathanraes](https://github.com/jonathanraes) |
22 | * [rhaamo](https://github.com/rhaamo) | 24 | * [rhaamo](https://github.com/rhaamo) |
23 | * [mrflos](https://github.com/mrflos) | 25 | * [mrflos](https://github.com/mrflos) |
24 | * [jocelynj](https://github.com/jocelynj) | 26 | * [jocelynj](https://github.com/jocelynj) |
27 | * [joshmorel](https://github.com/joshmorel) | ||
25 | * [LecygneNoir](https://github.com/LecygneNoir) | 28 | * [LecygneNoir](https://github.com/LecygneNoir) |
26 | * [lucaspontoexe](https://github.com/lucaspontoexe) | 29 | * [lucaspontoexe](https://github.com/lucaspontoexe) |
27 | * [flyingrub](https://github.com/flyingrub) | 30 | * [flyingrub](https://github.com/flyingrub) |
@@ -30,23 +33,25 @@ | |||
30 | * [taziden](https://github.com/taziden) | 33 | * [taziden](https://github.com/taziden) |
31 | * [sticmac](https://github.com/sticmac) | 34 | * [sticmac](https://github.com/sticmac) |
32 | * [luzpaz](https://github.com/luzpaz) | 35 | * [luzpaz](https://github.com/luzpaz) |
36 | * [louistio](https://github.com/louistio) | ||
33 | * [qsypoq](https://github.com/qsypoq) | 37 | * [qsypoq](https://github.com/qsypoq) |
34 | * [Anton-Latukha](https://github.com/Anton-Latukha) | 38 | * [Anton-Latukha](https://github.com/Anton-Latukha) |
35 | * [noplanman](https://github.com/noplanman) | 39 | * [noplanman](https://github.com/noplanman) |
36 | * [Nautigsam](https://github.com/Nautigsam) | ||
37 | * [benabbottnz](https://github.com/benabbottnz) | 40 | * [benabbottnz](https://github.com/benabbottnz) |
38 | * [ewft](https://github.com/ewft) | 41 | * [ewft](https://github.com/ewft) |
39 | * [WildYorkies](https://github.com/WildYorkies) | 42 | * [WildYorkies](https://github.com/WildYorkies) |
40 | * [Ealhad](https://github.com/Ealhad) | 43 | * [Ealhad](https://github.com/Ealhad) |
44 | * [DeeJayBro](https://github.com/DeeJayBro) | ||
41 | * [ebrehault](https://github.com/ebrehault) | 45 | * [ebrehault](https://github.com/ebrehault) |
42 | * [DatBewar](https://github.com/DatBewar) | 46 | * [DatBewar](https://github.com/DatBewar) |
43 | * [ReK2Fernandez](https://github.com/ReK2Fernandez) | 47 | * [ReK2Fernandez](https://github.com/ReK2Fernandez) |
44 | * [joshmorel](https://github.com/joshmorel) | 48 | * [lanodan](https://github.com/lanodan) |
45 | * [jlebras](https://github.com/jlebras) | 49 | * [jlebras](https://github.com/jlebras) |
46 | * [alcalyn](https://github.com/alcalyn) | 50 | * [alcalyn](https://github.com/alcalyn) |
47 | * [mkody](https://github.com/mkody) | 51 | * [mkody](https://github.com/mkody) |
48 | * [lucas-dclrcq](https://github.com/lucas-dclrcq) | 52 | * [lucas-dclrcq](https://github.com/lucas-dclrcq) |
49 | * [zapashcanon](https://github.com/zapashcanon) | 53 | * [zapashcanon](https://github.com/zapashcanon) |
54 | * [mart-e](https://github.com/mart-e) | ||
50 | * [1000i100](https://github.com/1000i100) | 55 | * [1000i100](https://github.com/1000i100) |
51 | * [zeograd](https://github.com/zeograd) | 56 | * [zeograd](https://github.com/zeograd) |
52 | * [PhieF](https://github.com/PhieF) | 57 | * [PhieF](https://github.com/PhieF) |
@@ -59,6 +64,7 @@ | |||
59 | * [melongbob](https://github.com/melongbob) | 64 | * [melongbob](https://github.com/melongbob) |
60 | * [anmol26s](https://github.com/anmol26s) | 65 | * [anmol26s](https://github.com/anmol26s) |
61 | * [AugierLe42e](https://github.com/AugierLe42e) | 66 | * [AugierLe42e](https://github.com/AugierLe42e) |
67 | * [imbsky](https://github.com/imbsky) | ||
62 | * [ctlaltdefeat](https://github.com/ctlaltdefeat) | 68 | * [ctlaltdefeat](https://github.com/ctlaltdefeat) |
63 | * [jomo](https://github.com/jomo) | 69 | * [jomo](https://github.com/jomo) |
64 | * [memoryboxes](https://github.com/memoryboxes) | 70 | * [memoryboxes](https://github.com/memoryboxes) |
@@ -77,22 +83,31 @@ | |||
77 | * [claichou](https://trad.framasoft.org/zanata/profile/view/claichou) | 83 | * [claichou](https://trad.framasoft.org/zanata/profile/view/claichou) |
78 | * [degrange](https://trad.framasoft.org/zanata/profile/view/degrange) | 84 | * [degrange](https://trad.framasoft.org/zanata/profile/view/degrange) |
79 | * [esoforte](https://trad.framasoft.org/zanata/profile/view/esoforte) | 85 | * [esoforte](https://trad.framasoft.org/zanata/profile/view/esoforte) |
86 | * [fkohrt](https://trad.framasoft.org/zanata/profile/view/fkohrt) | ||
80 | * [goofy](https://trad.framasoft.org/zanata/profile/view/goofy) | 87 | * [goofy](https://trad.framasoft.org/zanata/profile/view/goofy) |
81 | * [gorkaazk](https://trad.framasoft.org/zanata/profile/view/gorkaazk) | 88 | * [gorkaazk](https://trad.framasoft.org/zanata/profile/view/gorkaazk) |
82 | * [kedemferre](https://trad.framasoft.org/zanata/profile/view/kedemferre) | 89 | * [kedemferre](https://trad.framasoft.org/zanata/profile/view/kedemferre) |
83 | * [krkk](https://trad.framasoft.org/zanata/profile/view/krkk) | 90 | * [krkk](https://trad.framasoft.org/zanata/profile/view/krkk) |
84 | * [m4sk1n](https://trad.framasoft.org/zanata/profile/view/m4sk1n) | 91 | * [m4sk1n](https://trad.framasoft.org/zanata/profile/view/m4sk1n) |
85 | * [matograine](https://trad.framasoft.org/zanata/profile/view/matograine) | 92 | * [matograine](https://trad.framasoft.org/zanata/profile/view/matograine) |
93 | * [mhu](https://trad.framasoft.org/zanata/profile/view/mhu) | ||
86 | * [midgard](https://trad.framasoft.org/zanata/profile/view/midgard) | 94 | * [midgard](https://trad.framasoft.org/zanata/profile/view/midgard) |
95 | * [nitai](https://trad.framasoft.org/zanata/profile/view/nitai) | ||
87 | * [osoitz](https://trad.framasoft.org/zanata/profile/view/osoitz) | 96 | * [osoitz](https://trad.framasoft.org/zanata/profile/view/osoitz) |
97 | * [outloudvi](https://trad.framasoft.org/zanata/profile/view/outloudvi) | ||
88 | * [quentin](https://trad.framasoft.org/zanata/profile/view/quentin) | 98 | * [quentin](https://trad.framasoft.org/zanata/profile/view/quentin) |
89 | * [rigelk](https://trad.framasoft.org/zanata/profile/view/rigelk) | 99 | * [rigelk](https://trad.framasoft.org/zanata/profile/view/rigelk) |
100 | * [s8321414](https://trad.framasoft.org/zanata/profile/view/s8321414) | ||
90 | * [sercom_kc](https://trad.framasoft.org/zanata/profile/view/sercom_kc) | 101 | * [sercom_kc](https://trad.framasoft.org/zanata/profile/view/sercom_kc) |
91 | * [spla](https://trad.framasoft.org/zanata/profile/view/spla) | 102 | * [spla](https://trad.framasoft.org/zanata/profile/view/spla) |
92 | * [swedneck](https://trad.framasoft.org/zanata/profile/view/swedneck) | 103 | * [swedneck](https://trad.framasoft.org/zanata/profile/view/swedneck) |
104 | * [tagomago](https://trad.framasoft.org/zanata/profile/view/tagomago) | ||
93 | * [tirifto](https://trad.framasoft.org/zanata/profile/view/tirifto) | 105 | * [tirifto](https://trad.framasoft.org/zanata/profile/view/tirifto) |
106 | * [tuxayo](https://trad.framasoft.org/zanata/profile/view/tuxayo) | ||
94 | * [wanhua](https://trad.framasoft.org/zanata/profile/view/wanhua) | 107 | * [wanhua](https://trad.framasoft.org/zanata/profile/view/wanhua) |
95 | * [xinayder](https://trad.framasoft.org/zanata/profile/view/xinayder) | 108 | * [xinayder](https://trad.framasoft.org/zanata/profile/view/xinayder) |
109 | * [xosem](https://trad.framasoft.org/zanata/profile/view/xosem) | ||
110 | * [zveryok](https://trad.framasoft.org/zanata/profile/view/zveryok) | ||
96 | 111 | ||
97 | 112 | ||
98 | # Design | 113 | # Design |
diff --git a/client/package.json b/client/package.json index ff429ea73..fe7dd28a3 100644 --- a/client/package.json +++ b/client/package.json | |||
@@ -23,26 +23,27 @@ | |||
23 | "ngx-extractor": "ngx-extractor" | 23 | "ngx-extractor": "ngx-extractor" |
24 | }, | 24 | }, |
25 | "license": "GPLv3", | 25 | "license": "GPLv3", |
26 | "typings": "*.d.ts", | ||
26 | "resolutions": { | 27 | "resolutions": { |
27 | "video.js": "^7", | 28 | "video.js": "^7", |
28 | "webtorrent/create-torrent/junk": "^1", | 29 | "webtorrent/create-torrent/junk": "^1", |
29 | "simple-get": "^2.8.1" | 30 | "simple-get": "^2.8.1" |
30 | }, | 31 | }, |
31 | "devDependencies": { | 32 | "devDependencies": { |
32 | "@angular-devkit/build-angular": "~0.6.1", | 33 | "@angular-devkit/build-angular": "^0.7.1", |
33 | "@angular/animations": "~6.0.2", | 34 | "@angular/animations": "~6.1.0", |
34 | "@angular/cli": "6.0.8", | 35 | "@angular/cli": "~6.1.0", |
35 | "@angular/common": "~6.0.2", | 36 | "@angular/common": "~6.1.0", |
36 | "@angular/compiler": "~6.0.2", | 37 | "@angular/compiler": "~6.1.0", |
37 | "@angular/compiler-cli": "~6.0.2", | 38 | "@angular/compiler-cli": "~6.1.0", |
38 | "@angular/core": "~6.0.2", | 39 | "@angular/core": "~6.1.0", |
39 | "@angular/forms": "~6.0.2", | 40 | "@angular/forms": "~6.1.0", |
40 | "@angular/http": "~6.0.2", | 41 | "@angular/http": "~6.1.0", |
41 | "@angular/language-service": "^6.0.1", | 42 | "@angular/language-service": "~6.1.0", |
42 | "@angular/platform-browser": "~6.0.2", | 43 | "@angular/platform-browser": "~6.1.0", |
43 | "@angular/platform-browser-dynamic": "~6.0.2", | 44 | "@angular/platform-browser-dynamic": "~6.1.0", |
44 | "@angular/router": "~6.0.2", | 45 | "@angular/router": "~6.1.0", |
45 | "@angular/service-worker": "^6.0.1", | 46 | "@angular/service-worker": "~6.1.0", |
46 | "@angularclass/hmr": "^2.1.3", | 47 | "@angularclass/hmr": "^2.1.3", |
47 | "@ngx-loading-bar/core": "^2.0.0", | 48 | "@ngx-loading-bar/core": "^2.0.0", |
48 | "@ngx-loading-bar/http-client": "^2.0.0", | 49 | "@ngx-loading-bar/http-client": "^2.0.0", |
@@ -85,7 +86,7 @@ | |||
85 | "lodash-es": "^4.17.4", | 86 | "lodash-es": "^4.17.4", |
86 | "markdown-it": "^8.4.0", | 87 | "markdown-it": "^8.4.0", |
87 | "ngx-bootstrap": "3.0.1", | 88 | "ngx-bootstrap": "3.0.1", |
88 | "ngx-chips": "1.9.2", | 89 | "ngx-chips": "1.9.3", |
89 | "ngx-clipboard": "11.1.1", | 90 | "ngx-clipboard": "11.1.1", |
90 | "ngx-pipes": "^2.1.7", | 91 | "ngx-pipes": "^2.1.7", |
91 | "ngx-qrcode2": "^0.0.9", | 92 | "ngx-qrcode2": "^0.0.9", |
@@ -106,9 +107,9 @@ | |||
106 | "stream-http": "^2.8.3", | 107 | "stream-http": "^2.8.3", |
107 | "tslint": "^5.7.0", | 108 | "tslint": "^5.7.0", |
108 | "tslint-config-standard": "^7.0.0", | 109 | "tslint-config-standard": "^7.0.0", |
109 | "typescript": "2.7", | 110 | "typescript": "2.9", |
110 | "uglifyjs-webpack-plugin": "^1.1.2", | 111 | "uglifyjs-webpack-plugin": "^1.1.2", |
111 | "video.js": "7.2.0", | 112 | "video.js": "7.2", |
112 | "videojs-contextmenu": "^2.0.0", | 113 | "videojs-contextmenu": "^2.0.0", |
113 | "videojs-contextmenu-ui": "^4.0.0", | 114 | "videojs-contextmenu-ui": "^4.0.0", |
114 | "videojs-dock": "^2.0.2", | 115 | "videojs-dock": "^2.0.2", |
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html index 6e3f83ccf..13b43306b 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.html | |||
@@ -101,6 +101,13 @@ | |||
101 | </div> | 101 | </div> |
102 | </div> | 102 | </div> |
103 | 103 | ||
104 | <div i18n class="inner-form-title">Import</div> | ||
105 | |||
106 | <my-peertube-checkbox | ||
107 | inputName="importVideosHttpEnabled" formControlName="importVideosHttpEnabled" | ||
108 | i18n-labelText labelText="Video import with HTTP enabled" | ||
109 | ></my-peertube-checkbox> | ||
110 | |||
104 | <div i18n class="inner-form-title">Administrator</div> | 111 | <div i18n class="inner-form-title">Administrator</div> |
105 | 112 | ||
106 | <div class="form-group"> | 113 | <div class="form-group"> |
diff --git a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts index c77249a02..bc5ce6e5d 100644 --- a/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts +++ b/client/src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts | |||
@@ -29,6 +29,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { | |||
29 | { value: 50 * 1024 * 1024 * 1024, label: '50GB' } | 29 | { value: 50 * 1024 * 1024 * 1024, label: '50GB' } |
30 | ] | 30 | ] |
31 | transcodingThreadOptions = [ | 31 | transcodingThreadOptions = [ |
32 | { value: 0, label: 'Auto (via ffmpeg)' }, | ||
32 | { value: 1, label: '1' }, | 33 | { value: 1, label: '1' }, |
33 | { value: 2, label: '2' }, | 34 | { value: 2, label: '2' }, |
34 | { value: 4, label: '4' }, | 35 | { value: 4, label: '4' }, |
@@ -70,6 +71,7 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { | |||
70 | cacheCaptionsSize: this.customConfigValidatorsService.CACHE_CAPTIONS_SIZE, | 71 | cacheCaptionsSize: this.customConfigValidatorsService.CACHE_CAPTIONS_SIZE, |
71 | signupEnabled: null, | 72 | signupEnabled: null, |
72 | signupLimit: this.customConfigValidatorsService.SIGNUP_LIMIT, | 73 | signupLimit: this.customConfigValidatorsService.SIGNUP_LIMIT, |
74 | importVideosHttpEnabled: null, | ||
73 | adminEmail: this.customConfigValidatorsService.ADMIN_EMAIL, | 75 | adminEmail: this.customConfigValidatorsService.ADMIN_EMAIL, |
74 | userVideoQuota: this.userValidatorsService.USER_VIDEO_QUOTA, | 76 | userVideoQuota: this.userValidatorsService.USER_VIDEO_QUOTA, |
75 | transcodingThreads: this.customConfigValidatorsService.TRANSCODING_THREADS, | 77 | transcodingThreads: this.customConfigValidatorsService.TRANSCODING_THREADS, |
@@ -182,6 +184,13 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { | |||
182 | '720p': this.form.value[this.getResolutionKey('720p')], | 184 | '720p': this.form.value[this.getResolutionKey('720p')], |
183 | '1080p': this.form.value[this.getResolutionKey('1080p')] | 185 | '1080p': this.form.value[this.getResolutionKey('1080p')] |
184 | } | 186 | } |
187 | }, | ||
188 | import: { | ||
189 | videos: { | ||
190 | http: { | ||
191 | enabled: this.form.value['importVideosHttpEnabled'] | ||
192 | } | ||
193 | } | ||
185 | } | 194 | } |
186 | } | 195 | } |
187 | 196 | ||
@@ -221,7 +230,8 @@ export class EditCustomConfigComponent extends FormReactive implements OnInit { | |||
221 | transcodingThreads: this.customConfig.transcoding.threads, | 230 | transcodingThreads: this.customConfig.transcoding.threads, |
222 | transcodingEnabled: this.customConfig.transcoding.enabled, | 231 | transcodingEnabled: this.customConfig.transcoding.enabled, |
223 | customizationJavascript: this.customConfig.instance.customizations.javascript, | 232 | customizationJavascript: this.customConfig.instance.customizations.javascript, |
224 | customizationCSS: this.customConfig.instance.customizations.css | 233 | customizationCSS: this.customConfig.instance.customizations.css, |
234 | importVideosHttpEnabled: this.customConfig.import.videos.http.enabled | ||
225 | } | 235 | } |
226 | 236 | ||
227 | for (const resolution of this.resolutions) { | 237 | for (const resolution of this.resolutions) { |
diff --git a/client/src/app/+my-account/my-account-routing.module.ts b/client/src/app/+my-account/my-account-routing.module.ts index 91b464f75..6f0806e8a 100644 --- a/client/src/app/+my-account/my-account-routing.module.ts +++ b/client/src/app/+my-account/my-account-routing.module.ts | |||
@@ -8,6 +8,7 @@ import { MyAccountVideosComponent } from './my-account-videos/my-account-videos. | |||
8 | import { MyAccountVideoChannelsComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channels.component' | 8 | import { MyAccountVideoChannelsComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channels.component' |
9 | import { MyAccountVideoChannelCreateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-create.component' | 9 | import { MyAccountVideoChannelCreateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-create.component' |
10 | import { MyAccountVideoChannelUpdateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-update.component' | 10 | import { MyAccountVideoChannelUpdateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-update.component' |
11 | import { MyAccountVideoImportsComponent } from '@app/+my-account/my-account-video-imports/my-account-video-imports.component' | ||
11 | 12 | ||
12 | const myAccountRoutes: Routes = [ | 13 | const myAccountRoutes: Routes = [ |
13 | { | 14 | { |
@@ -64,6 +65,15 @@ const myAccountRoutes: Routes = [ | |||
64 | title: 'Account videos' | 65 | title: 'Account videos' |
65 | } | 66 | } |
66 | } | 67 | } |
68 | }, | ||
69 | { | ||
70 | path: 'video-imports', | ||
71 | component: MyAccountVideoImportsComponent, | ||
72 | data: { | ||
73 | meta: { | ||
74 | title: 'Account video imports' | ||
75 | } | ||
76 | } | ||
67 | } | 77 | } |
68 | ] | 78 | ] |
69 | } | 79 | } |
diff --git a/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html new file mode 100644 index 000000000..00b2d7cb0 --- /dev/null +++ b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.html | |||
@@ -0,0 +1,52 @@ | |||
1 | <p-table | ||
2 | [value]="videoImports" [lazy]="true" [paginator]="true" [totalRecords]="totalRecords" [rows]="rowsPerPage" | ||
3 | [sortField]="sort.field" [sortOrder]="sort.order" (onLazyLoad)="loadLazy($event)" dataKey="id" | ||
4 | > | ||
5 | <ng-template pTemplate="header"> | ||
6 | <tr> | ||
7 | <th style="width: 40px;"></th> | ||
8 | <th i18n>URL</th> | ||
9 | <th i18n>Video</th> | ||
10 | <th i18n style="width: 150px">State</th> | ||
11 | <th i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th> | ||
12 | <th></th> | ||
13 | </tr> | ||
14 | </ng-template> | ||
15 | |||
16 | <ng-template pTemplate="body" let-expanded="expanded" let-videoImport> | ||
17 | <tr> | ||
18 | <td> | ||
19 | <span *ngIf="videoImport.error" class="expander" [pRowToggler]="videoImport"> | ||
20 | <i [ngClass]="expanded ? 'glyphicon glyphicon-menu-down' : 'glyphicon glyphicon-menu-right'"></i> | ||
21 | </span> | ||
22 | </td> | ||
23 | |||
24 | <td> | ||
25 | <a [href]="videoImport.targetUrl" target="_blank" rel="noopener noreferrer">{{ videoImport.targetUrl }}</a> | ||
26 | </td> | ||
27 | |||
28 | <td *ngIf="isVideoImportPending(videoImport)"> | ||
29 | {{ videoImport.video.name }} | ||
30 | </td> | ||
31 | <td *ngIf="isVideoImportSuccess(videoImport)"> | ||
32 | <a [href]="getVideoUrl(videoImport.video)" target="_blank" rel="noopener noreferrer">{{ videoImport.video.name }}</a> | ||
33 | </td> | ||
34 | <td *ngIf="isVideoImportFailed(videoImport)"></td> | ||
35 | |||
36 | <td>{{ videoImport.state.label }}</td> | ||
37 | <td>{{ videoImport.createdAt }}</td> | ||
38 | |||
39 | <td class="action-cell"> | ||
40 | <my-edit-button *ngIf="isVideoImportSuccess(videoImport)" [routerLink]="getEditVideoUrl(videoImport.video)"></my-edit-button> | ||
41 | </td> | ||
42 | </tr> | ||
43 | </ng-template> | ||
44 | |||
45 | <ng-template pTemplate="rowexpansion" let-videoImport> | ||
46 | <tr class="video-import-error" *ngIf="videoImport.error"> | ||
47 | <td colspan="6"> | ||
48 | <pre>{{ videoImport.error }}</pre> | ||
49 | </td> | ||
50 | </tr> | ||
51 | </ng-template> | ||
52 | </p-table> | ||
diff --git a/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.scss b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.scss new file mode 100644 index 000000000..bdd2f8270 --- /dev/null +++ b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.scss | |||
@@ -0,0 +1,10 @@ | |||
1 | @import '_variables'; | ||
2 | @import '_mixins'; | ||
3 | |||
4 | pre { | ||
5 | font-size: 11px; | ||
6 | } | ||
7 | |||
8 | .video-import-error { | ||
9 | color: red; | ||
10 | } \ No newline at end of file | ||
diff --git a/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.ts b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.ts new file mode 100644 index 000000000..31ccb0bc8 --- /dev/null +++ b/client/src/app/+my-account/my-account-video-imports/my-account-video-imports.component.ts | |||
@@ -0,0 +1,66 @@ | |||
1 | import { Component, OnInit } from '@angular/core' | ||
2 | import { RestPagination, RestTable } from '@app/shared' | ||
3 | import { SortMeta } from 'primeng/components/common/sortmeta' | ||
4 | import { NotificationsService } from 'angular2-notifications' | ||
5 | import { ConfirmService } from '@app/core' | ||
6 | import { I18n } from '@ngx-translate/i18n-polyfill' | ||
7 | import { VideoImport, VideoImportState } from '../../../../../shared/models/videos' | ||
8 | import { VideoImportService } from '@app/shared/video-import' | ||
9 | |||
10 | @Component({ | ||
11 | selector: 'my-account-video-imports', | ||
12 | templateUrl: './my-account-video-imports.component.html', | ||
13 | styleUrls: [ './my-account-video-imports.component.scss' ] | ||
14 | }) | ||
15 | export class MyAccountVideoImportsComponent extends RestTable implements OnInit { | ||
16 | videoImports: VideoImport[] = [] | ||
17 | totalRecords = 0 | ||
18 | rowsPerPage = 10 | ||
19 | sort: SortMeta = { field: 'createdAt', order: 1 } | ||
20 | pagination: RestPagination = { count: this.rowsPerPage, start: 0 } | ||
21 | |||
22 | constructor ( | ||
23 | private notificationsService: NotificationsService, | ||
24 | private confirmService: ConfirmService, | ||
25 | private videoImportService: VideoImportService, | ||
26 | private i18n: I18n | ||
27 | ) { | ||
28 | super() | ||
29 | } | ||
30 | |||
31 | ngOnInit () { | ||
32 | this.loadSort() | ||
33 | } | ||
34 | |||
35 | isVideoImportSuccess (videoImport: VideoImport) { | ||
36 | return videoImport.state.id === VideoImportState.SUCCESS | ||
37 | } | ||
38 | |||
39 | isVideoImportPending (videoImport: VideoImport) { | ||
40 | return videoImport.state.id === VideoImportState.PENDING | ||
41 | } | ||
42 | |||
43 | isVideoImportFailed (videoImport: VideoImport) { | ||
44 | return videoImport.state.id === VideoImportState.FAILED | ||
45 | } | ||
46 | |||
47 | getVideoUrl (video: { uuid: string }) { | ||
48 | return '/videos/watch/' + video.uuid | ||
49 | } | ||
50 | |||
51 | getEditVideoUrl (video: { uuid: string }) { | ||
52 | return '/videos/update/' + video.uuid | ||
53 | } | ||
54 | |||
55 | protected loadData () { | ||
56 | this.videoImportService.getMyVideoImports(this.pagination, this.sort) | ||
57 | .subscribe( | ||
58 | resultList => { | ||
59 | this.videoImports = resultList.data | ||
60 | this.totalRecords = resultList.total | ||
61 | }, | ||
62 | |||
63 | err => this.notificationsService.error(this.i18n('Error'), err.message) | ||
64 | ) | ||
65 | } | ||
66 | } | ||
diff --git a/client/src/app/+my-account/my-account-videos/my-account-videos.component.ts b/client/src/app/+my-account/my-account-videos/my-account-videos.component.ts index 54830c75e..01e1ef1da 100644 --- a/client/src/app/+my-account/my-account-videos/my-account-videos.component.ts +++ b/client/src/app/+my-account/my-account-videos/my-account-videos.component.ts | |||
@@ -145,6 +145,8 @@ export class MyAccountVideosComponent extends AbstractVideoList implements OnIni | |||
145 | suffix = this.i18n('Waiting transcoding') | 145 | suffix = this.i18n('Waiting transcoding') |
146 | } else if (video.state.id === VideoState.TO_TRANSCODE) { | 146 | } else if (video.state.id === VideoState.TO_TRANSCODE) { |
147 | suffix = this.i18n('To transcode') | 147 | suffix = this.i18n('To transcode') |
148 | } else if (video.state.id === VideoState.TO_IMPORT) { | ||
149 | suffix = this.i18n('To import') | ||
148 | } else { | 150 | } else { |
149 | return '' | 151 | return '' |
150 | } | 152 | } |
diff --git a/client/src/app/+my-account/my-account.component.html b/client/src/app/+my-account/my-account.component.html index 48db55ad3..ddb0570db 100644 --- a/client/src/app/+my-account/my-account.component.html +++ b/client/src/app/+my-account/my-account.component.html | |||
@@ -5,6 +5,8 @@ | |||
5 | <a i18n routerLink="/my-account/video-channels" routerLinkActive="active" class="title-page">My video channels</a> | 5 | <a i18n routerLink="/my-account/video-channels" routerLinkActive="active" class="title-page">My video channels</a> |
6 | 6 | ||
7 | <a i18n routerLink="/my-account/videos" routerLinkActive="active" class="title-page">My videos</a> | 7 | <a i18n routerLink="/my-account/videos" routerLinkActive="active" class="title-page">My videos</a> |
8 | |||
9 | <a *ngIf="isVideoImportEnabled()" i18n routerLink="/my-account/video-imports" routerLinkActive="active" class="title-page">My video imports</a> | ||
8 | </div> | 10 | </div> |
9 | 11 | ||
10 | <div class="margin-content"> | 12 | <div class="margin-content"> |
diff --git a/client/src/app/+my-account/my-account.component.ts b/client/src/app/+my-account/my-account.component.ts index 7bb461d3c..6e29cdd83 100644 --- a/client/src/app/+my-account/my-account.component.ts +++ b/client/src/app/+my-account/my-account.component.ts | |||
@@ -1,7 +1,17 @@ | |||
1 | import { Component } from '@angular/core' | 1 | import { Component } from '@angular/core' |
2 | import { ServerService } from '@app/core' | ||
2 | 3 | ||
3 | @Component({ | 4 | @Component({ |
4 | selector: 'my-my-account', | 5 | selector: 'my-my-account', |
5 | templateUrl: './my-account.component.html' | 6 | templateUrl: './my-account.component.html' |
6 | }) | 7 | }) |
7 | export class MyAccountComponent {} | 8 | export class MyAccountComponent { |
9 | |||
10 | constructor ( | ||
11 | private serverService: ServerService | ||
12 | ) {} | ||
13 | |||
14 | isVideoImportEnabled () { | ||
15 | return this.serverService.getConfig().import.videos.http.enabled | ||
16 | } | ||
17 | } | ||
diff --git a/client/src/app/+my-account/my-account.module.ts b/client/src/app/+my-account/my-account.module.ts index 2088273e6..5403ab649 100644 --- a/client/src/app/+my-account/my-account.module.ts +++ b/client/src/app/+my-account/my-account.module.ts | |||
@@ -1,3 +1,4 @@ | |||
1 | import { TableModule } from 'primeng/table' | ||
1 | import { NgModule } from '@angular/core' | 2 | import { NgModule } from '@angular/core' |
2 | import { SharedModule } from '../shared' | 3 | import { SharedModule } from '../shared' |
3 | import { MyAccountRoutingModule } from './my-account-routing.module' | 4 | import { MyAccountRoutingModule } from './my-account-routing.module' |
@@ -11,11 +12,13 @@ import { MyAccountVideoChannelsComponent } from '@app/+my-account/my-account-vid | |||
11 | import { MyAccountVideoChannelCreateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-create.component' | 12 | import { MyAccountVideoChannelCreateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-create.component' |
12 | import { MyAccountVideoChannelUpdateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-update.component' | 13 | import { MyAccountVideoChannelUpdateComponent } from '@app/+my-account/my-account-video-channels/my-account-video-channel-update.component' |
13 | import { ActorAvatarInfoComponent } from '@app/+my-account/shared/actor-avatar-info.component' | 14 | import { ActorAvatarInfoComponent } from '@app/+my-account/shared/actor-avatar-info.component' |
15 | import { MyAccountVideoImportsComponent } from '@app/+my-account/my-account-video-imports/my-account-video-imports.component' | ||
14 | 16 | ||
15 | @NgModule({ | 17 | @NgModule({ |
16 | imports: [ | 18 | imports: [ |
17 | MyAccountRoutingModule, | 19 | MyAccountRoutingModule, |
18 | SharedModule | 20 | SharedModule, |
21 | TableModule | ||
19 | ], | 22 | ], |
20 | 23 | ||
21 | declarations: [ | 24 | declarations: [ |
@@ -28,7 +31,8 @@ import { ActorAvatarInfoComponent } from '@app/+my-account/shared/actor-avatar-i | |||
28 | MyAccountVideoChannelsComponent, | 31 | MyAccountVideoChannelsComponent, |
29 | MyAccountVideoChannelCreateComponent, | 32 | MyAccountVideoChannelCreateComponent, |
30 | MyAccountVideoChannelUpdateComponent, | 33 | MyAccountVideoChannelUpdateComponent, |
31 | ActorAvatarInfoComponent | 34 | ActorAvatarInfoComponent, |
35 | MyAccountVideoImportsComponent | ||
32 | ], | 36 | ], |
33 | 37 | ||
34 | exports: [ | 38 | exports: [ |
diff --git a/client/src/app/core/server/server.service.ts b/client/src/app/core/server/server.service.ts index 7b11c068e..ab317f0aa 100644 --- a/client/src/app/core/server/server.service.ts +++ b/client/src/app/core/server/server.service.ts | |||
@@ -68,6 +68,13 @@ export class ServerService { | |||
68 | }, | 68 | }, |
69 | user: { | 69 | user: { |
70 | videoQuota: -1 | 70 | videoQuota: -1 |
71 | }, | ||
72 | import: { | ||
73 | videos: { | ||
74 | http: { | ||
75 | enabled: false | ||
76 | } | ||
77 | } | ||
71 | } | 78 | } |
72 | } | 79 | } |
73 | private videoCategories: Array<VideoConstant<string>> = [] | 80 | private videoCategories: Array<VideoConstant<string>> = [] |
diff --git a/client/src/app/shared/misc/peertube-local-storage.ts b/client/src/app/shared/misc/peertube-local-storage.ts index ad761c82f..260f994b6 100644 --- a/client/src/app/shared/misc/peertube-local-storage.ts +++ b/client/src/app/shared/misc/peertube-local-storage.ts | |||
@@ -48,7 +48,7 @@ try { | |||
48 | const instance = new MemoryStorage() | 48 | const instance = new MemoryStorage() |
49 | 49 | ||
50 | peertubeLocalStorage = new Proxy(instance, { | 50 | peertubeLocalStorage = new Proxy(instance, { |
51 | set: function (obj, prop, value) { | 51 | set: function (obj, prop: string | number, value) { |
52 | if (MemoryStorage.prototype.hasOwnProperty(prop)) { | 52 | if (MemoryStorage.prototype.hasOwnProperty(prop)) { |
53 | instance[prop] = value | 53 | instance[prop] = value |
54 | } else { | 54 | } else { |
@@ -56,7 +56,7 @@ try { | |||
56 | } | 56 | } |
57 | return true | 57 | return true |
58 | }, | 58 | }, |
59 | get: function (target, name) { | 59 | get: function (target, name: string | number) { |
60 | if (MemoryStorage.prototype.hasOwnProperty(name)) { | 60 | if (MemoryStorage.prototype.hasOwnProperty(name)) { |
61 | return instance[name] | 61 | return instance[name] |
62 | } | 62 | } |
diff --git a/client/src/app/shared/shared.module.ts b/client/src/app/shared/shared.module.ts index 99df61cdb..62ce97102 100644 --- a/client/src/app/shared/shared.module.ts +++ b/client/src/app/shared/shared.module.ts | |||
@@ -51,6 +51,7 @@ import { ScreenService } from '@app/shared/misc/screen.service' | |||
51 | import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service' | 51 | import { VideoCaptionsValidatorsService } from '@app/shared/forms/form-validators/video-captions-validators.service' |
52 | import { VideoCaptionService } from '@app/shared/video-caption' | 52 | import { VideoCaptionService } from '@app/shared/video-caption' |
53 | import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component' | 53 | import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.component' |
54 | import { VideoImportService } from '@app/shared/video-import/video-import.service' | ||
54 | 55 | ||
55 | @NgModule({ | 56 | @NgModule({ |
56 | imports: [ | 57 | imports: [ |
@@ -143,6 +144,7 @@ import { PeertubeCheckboxComponent } from '@app/shared/forms/peertube-checkbox.c | |||
143 | VideoCommentValidatorsService, | 144 | VideoCommentValidatorsService, |
144 | VideoValidatorsService, | 145 | VideoValidatorsService, |
145 | VideoCaptionsValidatorsService, | 146 | VideoCaptionsValidatorsService, |
147 | VideoImportService, | ||
146 | 148 | ||
147 | I18nPrimengCalendarService, | 149 | I18nPrimengCalendarService, |
148 | ScreenService, | 150 | ScreenService, |
diff --git a/client/src/app/shared/video-import/index.ts b/client/src/app/shared/video-import/index.ts new file mode 100644 index 000000000..9bb73ec2c --- /dev/null +++ b/client/src/app/shared/video-import/index.ts | |||
@@ -0,0 +1 @@ | |||
export * from './video-import.service' | |||
diff --git a/client/src/app/shared/video-import/video-import.service.ts b/client/src/app/shared/video-import/video-import.service.ts new file mode 100644 index 000000000..59b58ab38 --- /dev/null +++ b/client/src/app/shared/video-import/video-import.service.ts | |||
@@ -0,0 +1,88 @@ | |||
1 | import { catchError, map, switchMap } from 'rxjs/operators' | ||
2 | import { HttpClient, HttpParams } from '@angular/common/http' | ||
3 | import { Injectable } from '@angular/core' | ||
4 | import { Observable } from 'rxjs' | ||
5 | import { VideoImport } from '../../../../../shared' | ||
6 | import { environment } from '../../../environments/environment' | ||
7 | import { RestExtractor, RestService } from '../rest' | ||
8 | import { VideoImportCreate } from '../../../../../shared/models/videos/video-import-create.model' | ||
9 | import { objectToFormData } from '@app/shared/misc/utils' | ||
10 | import { VideoUpdate } from '../../../../../shared/models/videos' | ||
11 | import { ResultList } from '../../../../../shared/models/result-list.model' | ||
12 | import { UserService } from '@app/shared/users/user.service' | ||
13 | import { SortMeta } from 'primeng/components/common/sortmeta' | ||
14 | import { RestPagination } from '@app/shared/rest' | ||
15 | import { ServerService } from '@app/core' | ||
16 | import { peertubeTranslate } from '@app/shared/i18n/i18n-utils' | ||
17 | |||
18 | @Injectable() | ||
19 | export class VideoImportService { | ||
20 | private static BASE_VIDEO_IMPORT_URL = environment.apiUrl + '/api/v1/videos/imports/' | ||
21 | |||
22 | constructor ( | ||
23 | private authHttp: HttpClient, | ||
24 | private restService: RestService, | ||
25 | private restExtractor: RestExtractor, | ||
26 | private serverService: ServerService | ||
27 | ) {} | ||
28 | |||
29 | importVideo (targetUrl: string, video: VideoUpdate): Observable<VideoImport> { | ||
30 | const url = VideoImportService.BASE_VIDEO_IMPORT_URL | ||
31 | const language = video.language || null | ||
32 | const licence = video.licence || null | ||
33 | const category = video.category || null | ||
34 | const description = video.description || null | ||
35 | const support = video.support || null | ||
36 | const scheduleUpdate = video.scheduleUpdate || null | ||
37 | |||
38 | const body: VideoImportCreate = { | ||
39 | targetUrl, | ||
40 | |||
41 | name: video.name, | ||
42 | category, | ||
43 | licence, | ||
44 | language, | ||
45 | support, | ||
46 | description, | ||
47 | channelId: video.channelId, | ||
48 | privacy: video.privacy, | ||
49 | tags: video.tags, | ||
50 | nsfw: video.nsfw, | ||
51 | waitTranscoding: video.waitTranscoding, | ||
52 | commentsEnabled: video.commentsEnabled, | ||
53 | thumbnailfile: video.thumbnailfile, | ||
54 | previewfile: video.previewfile, | ||
55 | scheduleUpdate | ||
56 | } | ||
57 | |||
58 | const data = objectToFormData(body) | ||
59 | return this.authHttp.post<VideoImport>(url, data) | ||
60 | .pipe(catchError(res => this.restExtractor.handleError(res))) | ||
61 | } | ||
62 | |||
63 | getMyVideoImports (pagination: RestPagination, sort: SortMeta): Observable<ResultList<VideoImport>> { | ||
64 | let params = new HttpParams() | ||
65 | params = this.restService.addRestGetParams(params, pagination, sort) | ||
66 | |||
67 | return this.authHttp | ||
68 | .get<ResultList<VideoImport>>(UserService.BASE_USERS_URL + '/me/videos/imports', { params }) | ||
69 | .pipe( | ||
70 | switchMap(res => this.extractVideoImports(res)), | ||
71 | map(res => this.restExtractor.convertResultListDateToHuman(res)), | ||
72 | catchError(err => this.restExtractor.handleError(err)) | ||
73 | ) | ||
74 | } | ||
75 | |||
76 | private extractVideoImports (result: ResultList<VideoImport>): Observable<ResultList<VideoImport>> { | ||
77 | return this.serverService.localeObservable | ||
78 | .pipe( | ||
79 | map(translations => { | ||
80 | result.data.forEach(d => | ||
81 | d.state.label = peertubeTranslate(d.state.label, translations) | ||
82 | ) | ||
83 | |||
84 | return result | ||
85 | }) | ||
86 | ) | ||
87 | } | ||
88 | } | ||
diff --git a/client/src/app/shared/video/video-edit.model.ts b/client/src/app/shared/video/video-edit.model.ts index 8562f8d25..0046be964 100644 --- a/client/src/app/shared/video/video-edit.model.ts +++ b/client/src/app/shared/video/video-edit.model.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import { VideoDetails } from './video-details.model' | ||
2 | import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' | 1 | import { VideoPrivacy } from '../../../../../shared/models/videos/video-privacy.enum' |
3 | import { VideoUpdate } from '../../../../../shared/models/videos' | 2 | import { VideoUpdate } from '../../../../../shared/models/videos' |
4 | import { VideoScheduleUpdate } from '../../../../../shared/models/videos/video-schedule-update.model' | 3 | import { VideoScheduleUpdate } from '../../../../../shared/models/videos/video-schedule-update.model' |
4 | import { Video } from '../../../../../shared/models/videos/video.model' | ||
5 | 5 | ||
6 | export class VideoEdit implements VideoUpdate { | 6 | export class VideoEdit implements VideoUpdate { |
7 | static readonly SPECIAL_SCHEDULED_PRIVACY = -1 | 7 | static readonly SPECIAL_SCHEDULED_PRIVACY = -1 |
@@ -26,26 +26,26 @@ export class VideoEdit implements VideoUpdate { | |||
26 | id?: number | 26 | id?: number |
27 | scheduleUpdate?: VideoScheduleUpdate | 27 | scheduleUpdate?: VideoScheduleUpdate |
28 | 28 | ||
29 | constructor (videoDetails?: VideoDetails) { | 29 | constructor (video?: Video & { tags: string[], commentsEnabled: boolean, support: string, thumbnailUrl: string, previewUrl: string }) { |
30 | if (videoDetails) { | 30 | if (video) { |
31 | this.id = videoDetails.id | 31 | this.id = video.id |
32 | this.uuid = videoDetails.uuid | 32 | this.uuid = video.uuid |
33 | this.category = videoDetails.category.id | 33 | this.category = video.category.id |
34 | this.licence = videoDetails.licence.id | 34 | this.licence = video.licence.id |
35 | this.language = videoDetails.language.id | 35 | this.language = video.language.id |
36 | this.description = videoDetails.description | 36 | this.description = video.description |
37 | this.name = videoDetails.name | 37 | this.name = video.name |
38 | this.tags = videoDetails.tags | 38 | this.tags = video.tags |
39 | this.nsfw = videoDetails.nsfw | 39 | this.nsfw = video.nsfw |
40 | this.commentsEnabled = videoDetails.commentsEnabled | 40 | this.commentsEnabled = video.commentsEnabled |
41 | this.waitTranscoding = videoDetails.waitTranscoding | 41 | this.waitTranscoding = video.waitTranscoding |
42 | this.channelId = videoDetails.channel.id | 42 | this.channelId = video.channel.id |
43 | this.privacy = videoDetails.privacy.id | 43 | this.privacy = video.privacy.id |
44 | this.support = videoDetails.support | 44 | this.support = video.support |
45 | this.thumbnailUrl = videoDetails.thumbnailUrl | 45 | this.thumbnailUrl = video.thumbnailUrl |
46 | this.previewUrl = videoDetails.previewUrl | 46 | this.previewUrl = video.previewUrl |
47 | 47 | ||
48 | this.scheduleUpdate = videoDetails.scheduledUpdate | 48 | this.scheduleUpdate = video.scheduledUpdate |
49 | } | 49 | } |
50 | } | 50 | } |
51 | 51 | ||
diff --git a/client/src/app/shared/video/video-thumbnail.component.html b/client/src/app/shared/video/video-thumbnail.component.html index 4909cf3f1..c1d45ea18 100644 --- a/client/src/app/shared/video/video-thumbnail.component.html +++ b/client/src/app/shared/video/video-thumbnail.component.html | |||
@@ -2,7 +2,7 @@ | |||
2 | [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name" | 2 | [routerLink]="['/videos/watch', video.uuid]" [attr.title]="video.name" |
3 | class="video-thumbnail" | 3 | class="video-thumbnail" |
4 | > | 4 | > |
5 | <img alt="" [attr.src]="getImageUrl()" [ngClass]="{ 'blur-filter': nsfw }" /> | 5 | <img alt="" [attr.aria-labelledby]="video.name" [attr.src]="getImageUrl()" [ngClass]="{ 'blur-filter': nsfw }" /> |
6 | 6 | ||
7 | <div class="video-thumbnail-overlay"> | 7 | <div class="video-thumbnail-overlay"> |
8 | {{ video.durationLabel }} | 8 | {{ video.durationLabel }} |
diff --git a/client/src/app/videos/+video-edit/video-add.component.html b/client/src/app/videos/+video-edit/video-add.component.html index 9c2c01c65..1575007d2 100644 --- a/client/src/app/videos/+video-edit/video-add.component.html +++ b/client/src/app/videos/+video-edit/video-add.component.html | |||
@@ -1,65 +1,17 @@ | |||
1 | <div class="margin-content"> | 1 | <div class="margin-content"> |
2 | <div class="title-page title-page-single"> | 2 | <div class="title-page title-page-single"> |
3 | <ng-container *ngIf="!videoFileName" i18n>Upload your video</ng-container> | 3 | <ng-container *ngIf="secondStepType === 'import'" i18n>Import {{ videoName }}</ng-container> |
4 | <ng-container *ngIf="videoFileName" i18n>Upload {{ videoFileName }}</ng-container> | 4 | <ng-container *ngIf="secondStepType === 'upload'" i18n>Upload {{ videoName }}</ng-container> |
5 | </div> | 5 | </div> |
6 | 6 | ||
7 | <div *ngIf="!isUploadingVideo" class="upload-video-container"> | 7 | <tabset class="video-add-tabset root-tabset bootstrap" [ngClass]="{ 'hide-nav': secondStepType !== undefined }"> |
8 | <div class="upload-video"> | ||
9 | <div class="icon icon-upload"></div> | ||
10 | 8 | ||
11 | <div class="button-file"> | 9 | <tab i18n-heading heading="Upload your video"> |
12 | <span i18n>Select the file to upload</span> | 10 | <my-video-upload #videoUpload (firstStepDone)="onFirstStepDone('upload', $event)"></my-video-upload> |
13 | <input #videofileInput type="file" name="videofile" id="videofile" [accept]="videoExtensions" (change)="fileChange()" /> | 11 | </tab> |
14 | </div> | ||
15 | <span class="button-file-extension">(.mp4, .webm, .ogv)</span> | ||
16 | 12 | ||
17 | <div class="form-group form-group-channel"> | 13 | <tab *ngIf="isVideoImportEnabled()" i18n-heading heading="Import your video"> |
18 | <label i18n for="first-step-channel">Channel</label> | 14 | <my-video-import #videoImport (firstStepDone)="onFirstStepDone('import', $event)"></my-video-import> |
19 | <div class="peertube-select-container"> | 15 | </tab> |
20 | <select id="first-step-channel" [(ngModel)]="firstStepChannelId"> | 16 | </tabset> |
21 | <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option> | ||
22 | </select> | ||
23 | </div> | ||
24 | </div> | ||
25 | |||
26 | <div class="form-group"> | ||
27 | <label i18n for="first-step-privacy">Privacy</label> | ||
28 | <div class="peertube-select-container"> | ||
29 | <select id="first-step-privacy" [(ngModel)]="firstStepPrivacyId"> | ||
30 | <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option> | ||
31 | <option [value]="SPECIAL_SCHEDULED_PRIVACY">Scheduled</option> | ||
32 | </select> | ||
33 | </div> | ||
34 | </div> | ||
35 | </div> | ||
36 | </div> | ||
37 | |||
38 | <div *ngIf="isUploadingVideo" class="upload-progress-cancel"> | ||
39 | <p-progressBar | ||
40 | [value]="videoUploadPercents" | ||
41 | [ngClass]="{ processing: videoUploadPercents === 100 && videoUploaded === false }" | ||
42 | ></p-progressBar> | ||
43 | <input *ngIf="videoUploaded === false" type="button" value="Cancel" (click)="cancelUpload()" /> | ||
44 | </div> | ||
45 | |||
46 | <!-- Hidden because we want to load the component --> | ||
47 | <form [hidden]="!isUploadingVideo" novalidate [formGroup]="form"> | ||
48 | <my-video-edit | ||
49 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" | ||
50 | [validationMessages]="validationMessages" [videoPrivacies]="videoPrivacies" [userVideoChannels]="userVideoChannels" | ||
51 | ></my-video-edit> | ||
52 | |||
53 | <div class="submit-container"> | ||
54 | <div i18n *ngIf="videoUploaded === false" class="message-submit">Publish will be available when upload is finished</div> | ||
55 | |||
56 | <div class="submit-button" | ||
57 | (click)="updateSecondStep()" | ||
58 | [ngClass]="{ disabled: !form.valid || isUpdatingVideo === true || videoUploaded !== true }" | ||
59 | > | ||
60 | <span class="icon icon-validate"></span> | ||
61 | <input type="button" i18n-value value="Publish" /> | ||
62 | </div> | ||
63 | </div> | ||
64 | </form> | ||
65 | </div> | 17 | </div> |
diff --git a/client/src/app/videos/+video-edit/video-add.component.scss b/client/src/app/videos/+video-edit/video-add.component.scss index c0b5f3d07..a811b9cf0 100644 --- a/client/src/app/videos/+video-edit/video-add.component.scss +++ b/client/src/app/videos/+video-edit/video-add.component.scss | |||
@@ -1,101 +1,54 @@ | |||
1 | @import '_variables'; | 1 | @import '_variables'; |
2 | @import '_mixins'; | 2 | @import '_mixins'; |
3 | 3 | ||
4 | .upload-video-container { | 4 | $border-width: 3px; |
5 | border-radius: 3px; | 5 | $border-type: solid; |
6 | background-color: #F7F7F7; | 6 | $border-color: #EAEAEA; |
7 | border: 3px solid #EAEAEA; | ||
8 | width: 100%; | ||
9 | height: 440px; | ||
10 | margin-top: 40px; | ||
11 | display: flex; | ||
12 | justify-content: center; | ||
13 | align-items: center; | ||
14 | 7 | ||
15 | .peertube-select-container { | 8 | $background-color: #F7F7F7; |
16 | @include peertube-select-container(190px); | ||
17 | } | ||
18 | |||
19 | .upload-video { | ||
20 | display: flex; | ||
21 | flex-direction: column; | ||
22 | align-items: center; | ||
23 | |||
24 | .form-group-channel { | ||
25 | margin-bottom: 20px; | ||
26 | } | ||
27 | |||
28 | .icon.icon-upload { | ||
29 | @include icon(90px); | ||
30 | margin-bottom: 25px; | ||
31 | cursor: default; | ||
32 | |||
33 | background-image: url('../../../assets/images/video/upload.svg'); | ||
34 | } | ||
35 | |||
36 | .button-file { | ||
37 | @include peertube-button-file(auto); | ||
38 | |||
39 | min-width: 190px; | ||
40 | } | ||
41 | 9 | ||
42 | .button-file-extension { | 10 | /deep/ tabset.root-tabset.video-add-tabset { |
43 | display: block; | 11 | &.hide-nav .nav { |
44 | font-size: 12px; | 12 | display: none !important; |
45 | margin-top: 5px; | ||
46 | } | ||
47 | } | ||
48 | |||
49 | .form-group-channel { | ||
50 | margin-top: 35px; | ||
51 | } | 13 | } |
52 | } | ||
53 | 14 | ||
54 | .upload-progress-cancel { | 15 | & > .nav { |
55 | display: flex; | ||
56 | margin-top: 25px; | ||
57 | margin-bottom: 40px; | ||
58 | 16 | ||
59 | p-progressBar { | 17 | border-bottom: $border-width $border-type $border-color; |
60 | flex-grow: 1; | 18 | margin: 0 !important; |
61 | |||
62 | /deep/ .ui-progressbar { | ||
63 | font-size: 15px !important; | ||
64 | color: #fff !important; | ||
65 | height: 30px !important; | ||
66 | line-height: 30px !important; | ||
67 | border-radius: 3px !important; | ||
68 | background-color: rgba(11, 204, 41, 0.16) !important; | ||
69 | |||
70 | .ui-progressbar-value { | ||
71 | background-color: #0BCC29 !important; | ||
72 | } | ||
73 | 19 | ||
74 | .ui-progressbar-label { | 20 | & > li { |
75 | text-align: left; | 21 | margin-bottom: -$border-width; |
76 | padding-left: 18px; | ||
77 | margin-top: 0 !important; | ||
78 | } | ||
79 | } | 22 | } |
80 | 23 | ||
81 | &.processing { | 24 | .nav-link { |
82 | /deep/ .ui-progressbar-label { | 25 | height: 40px !important; |
83 | // Same color as background to hide "100%" | 26 | padding: 0 30px !important; |
84 | color: rgba(11, 204, 41, 0.16) !important; | 27 | font-size: 15px; |
28 | |||
29 | &.active { | ||
30 | border: $border-width $border-type $border-color; | ||
31 | border-bottom: none; | ||
32 | background-color: $background-color !important; | ||
85 | 33 | ||
86 | &::before { | 34 | span { |
87 | content: 'Processing...'; | 35 | border-bottom: 2px solid #F1680D; |
88 | color: #fff; | 36 | font-weight: $font-bold; |
89 | } | 37 | } |
90 | } | 38 | } |
91 | } | 39 | } |
92 | } | 40 | } |
93 | 41 | ||
94 | input { | 42 | .upload-video-container { |
95 | @include peertube-button; | 43 | border: $border-width $border-type $border-color; |
96 | @include grey-button; | 44 | border-top: none; |
97 | 45 | ||
98 | margin-left: 10px; | 46 | background-color: $background-color; |
47 | border-radius: 3px; | ||
48 | width: 100%; | ||
49 | height: 440px; | ||
50 | display: flex; | ||
51 | justify-content: center; | ||
52 | align-items: center; | ||
99 | } | 53 | } |
100 | } | 54 | } \ No newline at end of file |
101 | |||
diff --git a/client/src/app/videos/+video-edit/video-add.component.ts b/client/src/app/videos/+video-edit/video-add.component.ts index 651ee8dd2..69b364ddd 100644 --- a/client/src/app/videos/+video-edit/video-add.component.ts +++ b/client/src/app/videos/+video-edit/video-add.component.ts | |||
@@ -1,251 +1,38 @@ | |||
1 | import { HttpEventType, HttpResponse } from '@angular/common/http' | 1 | import { Component, ViewChild } from '@angular/core' |
2 | import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core' | ||
3 | import { Router } from '@angular/router' | ||
4 | import { UserService } from '@app/shared' | ||
5 | import { CanComponentDeactivate } from '@app/shared/guards/can-deactivate-guard.service' | 2 | import { CanComponentDeactivate } from '@app/shared/guards/can-deactivate-guard.service' |
6 | import { LoadingBarService } from '@ngx-loading-bar/core' | 3 | import { VideoImportComponent } from '@app/videos/+video-edit/video-import.component' |
7 | import { NotificationsService } from 'angular2-notifications' | 4 | import { VideoUploadComponent } from '@app/videos/+video-edit/video-upload.component' |
8 | import { BytesPipe } from 'ngx-pipes' | 5 | import { ServerService } from '@app/core' |
9 | import { Subscription } from 'rxjs' | ||
10 | import { VideoConstant, VideoPrivacy } from '../../../../../shared/models/videos' | ||
11 | import { AuthService, ServerService } from '../../core' | ||
12 | import { FormReactive } from '../../shared' | ||
13 | import { populateAsyncUserVideoChannels } from '../../shared/misc/utils' | ||
14 | import { VideoEdit } from '../../shared/video/video-edit.model' | ||
15 | import { VideoService } from '../../shared/video/video.service' | ||
16 | import { I18n } from '@ngx-translate/i18n-polyfill' | ||
17 | import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' | ||
18 | import { switchMap } from 'rxjs/operators' | ||
19 | import { VideoCaptionService } from '@app/shared/video-caption' | ||
20 | import { VideoCaptionEdit } from '@app/shared/video-caption/video-caption-edit.model' | ||
21 | 6 | ||
22 | @Component({ | 7 | @Component({ |
23 | selector: 'my-videos-add', | 8 | selector: 'my-videos-add', |
24 | templateUrl: './video-add.component.html', | 9 | templateUrl: './video-add.component.html', |
25 | styleUrls: [ | 10 | styleUrls: [ './video-add.component.scss' ] |
26 | './shared/video-edit.component.scss', | ||
27 | './video-add.component.scss' | ||
28 | ] | ||
29 | }) | 11 | }) |
30 | export class VideoAddComponent extends FormReactive implements OnInit, OnDestroy, CanComponentDeactivate { | 12 | export class VideoAddComponent implements CanComponentDeactivate { |
31 | @ViewChild('videofileInput') videofileInput | 13 | @ViewChild('videoUpload') videoUpload: VideoUploadComponent |
14 | @ViewChild('videoImport') videoImport: VideoImportComponent | ||
32 | 15 | ||
33 | // So that it can be accessed in the template | 16 | secondStepType: 'upload' | 'import' |
34 | readonly SPECIAL_SCHEDULED_PRIVACY = VideoEdit.SPECIAL_SCHEDULED_PRIVACY | 17 | videoName: string |
35 | |||
36 | isUploadingVideo = false | ||
37 | isUpdatingVideo = false | ||
38 | videoUploaded = false | ||
39 | videoUploadObservable: Subscription = null | ||
40 | videoUploadPercents = 0 | ||
41 | videoUploadedIds = { | ||
42 | id: 0, | ||
43 | uuid: '' | ||
44 | } | ||
45 | videoFileName: string | ||
46 | |||
47 | userVideoChannels: { id: number, label: string, support: string }[] = [] | ||
48 | userVideoQuotaUsed = 0 | ||
49 | videoPrivacies: VideoConstant<string>[] = [] | ||
50 | firstStepPrivacyId = 0 | ||
51 | firstStepChannelId = 0 | ||
52 | videoCaptions: VideoCaptionEdit[] = [] | ||
53 | 18 | ||
54 | constructor ( | 19 | constructor ( |
55 | protected formValidatorService: FormValidatorService, | 20 | private serverService: ServerService |
56 | private router: Router, | 21 | ) {} |
57 | private notificationsService: NotificationsService, | ||
58 | private authService: AuthService, | ||
59 | private userService: UserService, | ||
60 | private serverService: ServerService, | ||
61 | private videoService: VideoService, | ||
62 | private loadingBar: LoadingBarService, | ||
63 | private i18n: I18n, | ||
64 | private videoCaptionService: VideoCaptionService | ||
65 | ) { | ||
66 | super() | ||
67 | } | ||
68 | |||
69 | get videoExtensions () { | ||
70 | return this.serverService.getConfig().video.file.extensions.join(',') | ||
71 | } | ||
72 | |||
73 | ngOnInit () { | ||
74 | this.buildForm({}) | ||
75 | |||
76 | populateAsyncUserVideoChannels(this.authService, this.userVideoChannels) | ||
77 | .then(() => this.firstStepChannelId = this.userVideoChannels[0].id) | ||
78 | |||
79 | this.userService.getMyVideoQuotaUsed() | ||
80 | .subscribe(data => this.userVideoQuotaUsed = data.videoQuotaUsed) | ||
81 | |||
82 | this.serverService.videoPrivaciesLoaded | ||
83 | .subscribe( | ||
84 | () => { | ||
85 | this.videoPrivacies = this.serverService.getVideoPrivacies() | ||
86 | 22 | ||
87 | // Public by default | 23 | onFirstStepDone (type: 'upload' | 'import', videoName: string) { |
88 | this.firstStepPrivacyId = VideoPrivacy.PUBLIC | 24 | this.secondStepType = type |
89 | }) | 25 | this.videoName = videoName |
90 | } | ||
91 | |||
92 | ngOnDestroy () { | ||
93 | if (this.videoUploadObservable) { | ||
94 | this.videoUploadObservable.unsubscribe() | ||
95 | } | ||
96 | } | 26 | } |
97 | 27 | ||
98 | canDeactivate () { | 28 | canDeactivate () { |
99 | let text = '' | 29 | if (this.secondStepType === 'upload') return this.videoUpload.canDeactivate() |
100 | 30 | if (this.secondStepType === 'import') return this.videoImport.canDeactivate() | |
101 | if (this.videoUploaded === true) { | ||
102 | // FIXME: cannot concatenate strings inside i18n service :/ | ||
103 | text = this.i18n('Your video was uploaded in your account and is private.') + | ||
104 | this.i18n('But associated data (tags, description...) will be lost, are you sure you want to leave this page?') | ||
105 | } else { | ||
106 | text = this.i18n('Your video is not uploaded yet, are you sure you want to leave this page?') | ||
107 | } | ||
108 | |||
109 | return { | ||
110 | canDeactivate: !this.isUploadingVideo, | ||
111 | text | ||
112 | } | ||
113 | } | ||
114 | |||
115 | fileChange () { | ||
116 | this.uploadFirstStep() | ||
117 | } | ||
118 | |||
119 | checkForm () { | ||
120 | this.forceCheck() | ||
121 | |||
122 | return this.form.valid | ||
123 | } | ||
124 | 31 | ||
125 | cancelUpload () { | 32 | return { canDeactivate: true } |
126 | if (this.videoUploadObservable !== null) { | ||
127 | this.videoUploadObservable.unsubscribe() | ||
128 | this.isUploadingVideo = false | ||
129 | this.videoUploadPercents = 0 | ||
130 | this.videoUploadObservable = null | ||
131 | this.notificationsService.info(this.i18n('Info'), this.i18n('Upload cancelled')) | ||
132 | } | ||
133 | } | 33 | } |
134 | 34 | ||
135 | uploadFirstStep () { | 35 | isVideoImportEnabled () { |
136 | const videofile = this.videofileInput.nativeElement.files[0] as File | 36 | return this.serverService.getConfig().import.videos.http.enabled |
137 | if (!videofile) return | ||
138 | |||
139 | // Cannot upload videos > 8GB for now | ||
140 | if (videofile.size > 8 * 1024 * 1024 * 1024) { | ||
141 | this.notificationsService.error(this.i18n('Error'), this.i18n('We are sorry but PeerTube cannot handle videos > 8GB')) | ||
142 | return | ||
143 | } | ||
144 | |||
145 | const videoQuota = this.authService.getUser().videoQuota | ||
146 | if (videoQuota !== -1 && (this.userVideoQuotaUsed + videofile.size) > videoQuota) { | ||
147 | const bytePipes = new BytesPipe() | ||
148 | |||
149 | const msg = this.i18n( | ||
150 | 'Your video quota is exceeded with this video (video size: {{ videoSize }}, used: {{ videoQuotaUsed }}, quota: {{ videoQuota }})', | ||
151 | { | ||
152 | videoSize: bytePipes.transform(videofile.size, 0), | ||
153 | videoQuotaUsed: bytePipes.transform(this.userVideoQuotaUsed, 0), | ||
154 | videoQuota: bytePipes.transform(videoQuota, 0) | ||
155 | } | ||
156 | ) | ||
157 | this.notificationsService.error(this.i18n('Error'), msg) | ||
158 | return | ||
159 | } | ||
160 | |||
161 | this.videoFileName = videofile.name | ||
162 | |||
163 | const nameWithoutExtension = videofile.name.replace(/\.[^/.]+$/, '') | ||
164 | let name: string | ||
165 | |||
166 | // If the name of the file is very small, keep the extension | ||
167 | if (nameWithoutExtension.length < 3) name = videofile.name | ||
168 | else name = nameWithoutExtension | ||
169 | |||
170 | const privacy = this.firstStepPrivacyId.toString() | ||
171 | const nsfw = false | ||
172 | const waitTranscoding = true | ||
173 | const commentsEnabled = true | ||
174 | const channelId = this.firstStepChannelId.toString() | ||
175 | |||
176 | const formData = new FormData() | ||
177 | formData.append('name', name) | ||
178 | // Put the video "private" -> we are waiting the user validation of the second step | ||
179 | formData.append('privacy', VideoPrivacy.PRIVATE.toString()) | ||
180 | formData.append('nsfw', '' + nsfw) | ||
181 | formData.append('commentsEnabled', '' + commentsEnabled) | ||
182 | formData.append('waitTranscoding', '' + waitTranscoding) | ||
183 | formData.append('channelId', '' + channelId) | ||
184 | formData.append('videofile', videofile) | ||
185 | |||
186 | this.isUploadingVideo = true | ||
187 | this.form.patchValue({ | ||
188 | name, | ||
189 | privacy, | ||
190 | nsfw, | ||
191 | channelId | ||
192 | }) | ||
193 | |||
194 | this.videoUploadObservable = this.videoService.uploadVideo(formData).subscribe( | ||
195 | event => { | ||
196 | if (event.type === HttpEventType.UploadProgress) { | ||
197 | this.videoUploadPercents = Math.round(100 * event.loaded / event.total) | ||
198 | } else if (event instanceof HttpResponse) { | ||
199 | this.videoUploaded = true | ||
200 | |||
201 | this.videoUploadedIds = event.body.video | ||
202 | |||
203 | this.videoUploadObservable = null | ||
204 | } | ||
205 | }, | ||
206 | |||
207 | err => { | ||
208 | // Reset progress | ||
209 | this.isUploadingVideo = false | ||
210 | this.videoUploadPercents = 0 | ||
211 | this.videoUploadObservable = null | ||
212 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
213 | } | ||
214 | ) | ||
215 | } | ||
216 | |||
217 | updateSecondStep () { | ||
218 | if (this.checkForm() === false) { | ||
219 | return | ||
220 | } | ||
221 | |||
222 | const video = new VideoEdit() | ||
223 | video.patch(this.form.value) | ||
224 | video.id = this.videoUploadedIds.id | ||
225 | video.uuid = this.videoUploadedIds.uuid | ||
226 | |||
227 | this.isUpdatingVideo = true | ||
228 | this.loadingBar.start() | ||
229 | this.videoService.updateVideo(video) | ||
230 | .pipe( | ||
231 | // Then update captions | ||
232 | switchMap(() => this.videoCaptionService.updateCaptions(video.id, this.videoCaptions)) | ||
233 | ) | ||
234 | .subscribe( | ||
235 | () => { | ||
236 | this.isUpdatingVideo = false | ||
237 | this.isUploadingVideo = false | ||
238 | this.loadingBar.complete() | ||
239 | |||
240 | this.notificationsService.success(this.i18n('Success'), this.i18n('Video published.')) | ||
241 | this.router.navigate([ '/videos/watch', video.uuid ]) | ||
242 | }, | ||
243 | |||
244 | err => { | ||
245 | this.isUpdatingVideo = false | ||
246 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
247 | console.error(err) | ||
248 | } | ||
249 | ) | ||
250 | } | 37 | } |
251 | } | 38 | } |
diff --git a/client/src/app/videos/+video-edit/video-add.module.ts b/client/src/app/videos/+video-edit/video-add.module.ts index 1bfedf251..91f544971 100644 --- a/client/src/app/videos/+video-edit/video-add.module.ts +++ b/client/src/app/videos/+video-edit/video-add.module.ts | |||
@@ -5,6 +5,8 @@ import { VideoEditModule } from './shared/video-edit.module' | |||
5 | import { VideoAddRoutingModule } from './video-add-routing.module' | 5 | import { VideoAddRoutingModule } from './video-add-routing.module' |
6 | import { VideoAddComponent } from './video-add.component' | 6 | import { VideoAddComponent } from './video-add.component' |
7 | import { CanDeactivateGuard } from '../../shared/guards/can-deactivate-guard.service' | 7 | import { CanDeactivateGuard } from '../../shared/guards/can-deactivate-guard.service' |
8 | import { VideoUploadComponent } from '@app/videos/+video-edit/video-upload.component' | ||
9 | import { VideoImportComponent } from '@app/videos/+video-edit/video-import.component' | ||
8 | 10 | ||
9 | @NgModule({ | 11 | @NgModule({ |
10 | imports: [ | 12 | imports: [ |
@@ -14,7 +16,9 @@ import { CanDeactivateGuard } from '../../shared/guards/can-deactivate-guard.ser | |||
14 | ProgressBarModule | 16 | ProgressBarModule |
15 | ], | 17 | ], |
16 | declarations: [ | 18 | declarations: [ |
17 | VideoAddComponent | 19 | VideoAddComponent, |
20 | VideoUploadComponent, | ||
21 | VideoImportComponent | ||
18 | ], | 22 | ], |
19 | exports: [ | 23 | exports: [ |
20 | VideoAddComponent | 24 | VideoAddComponent |
diff --git a/client/src/app/videos/+video-edit/video-import.component.html b/client/src/app/videos/+video-edit/video-import.component.html new file mode 100644 index 000000000..6b431f6f6 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-import.component.html | |||
@@ -0,0 +1,60 @@ | |||
1 | <div *ngIf="!hasImportedVideo" class="upload-video-container"> | ||
2 | <div class="import-video"> | ||
3 | <div class="icon icon-upload"></div> | ||
4 | |||
5 | <div class="form-group"> | ||
6 | <label i18n for="targetUrl">URL</label> | ||
7 | <my-help | ||
8 | helpType="custom" i18n-customHtml | ||
9 | customHtml="You can import any URL <a href='https://rg3.github.io/youtube-dl/supportedsites.html' target='_blank' rel='noopener noreferrer'>supported by youtube-dl</a> or URL that points to a raw MP4 file. You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance." | ||
10 | ></my-help> | ||
11 | |||
12 | <input type="text" id="targetUrl" [(ngModel)]="targetUrl" /> | ||
13 | </div> | ||
14 | |||
15 | <div class="form-group"> | ||
16 | <label i18n for="first-step-channel">Channel</label> | ||
17 | <div class="peertube-select-container"> | ||
18 | <select id="first-step-channel" [(ngModel)]="firstStepChannelId"> | ||
19 | <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option> | ||
20 | </select> | ||
21 | </div> | ||
22 | </div> | ||
23 | |||
24 | <div class="form-group"> | ||
25 | <label i18n for="first-step-privacy">Privacy</label> | ||
26 | <div class="peertube-select-container"> | ||
27 | <select id="first-step-privacy" [(ngModel)]="firstStepPrivacyId"> | ||
28 | <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option> | ||
29 | </select> | ||
30 | </div> | ||
31 | </div> | ||
32 | |||
33 | <input | ||
34 | type="button" i18n-value value="Import" | ||
35 | [disabled]="!isTargetUrlValid() || isImportingVideo" (click)="importVideo()" | ||
36 | /> | ||
37 | </div> | ||
38 | </div> | ||
39 | |||
40 | <div *ngIf="hasImportedVideo" class="alert alert-info" i18n> | ||
41 | Congratulations, the video behind {{ targetUrl }} will be imported! You can already add information about this video. | ||
42 | </div> | ||
43 | |||
44 | <!-- Hidden because we want to load the component --> | ||
45 | <form [hidden]="!hasImportedVideo" novalidate [formGroup]="form"> | ||
46 | <my-video-edit | ||
47 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" [schedulePublicationPossible]="false" | ||
48 | [validationMessages]="validationMessages" [videoPrivacies]="videoPrivacies" [userVideoChannels]="userVideoChannels" | ||
49 | ></my-video-edit> | ||
50 | |||
51 | <div class="submit-container"> | ||
52 | <div class="submit-button" | ||
53 | (click)="updateSecondStep()" | ||
54 | [ngClass]="{ disabled: !form.valid || isUpdatingVideo === true }" | ||
55 | > | ||
56 | <span class="icon icon-validate"></span> | ||
57 | <input type="button" i18n-value value="Update" /> | ||
58 | </div> | ||
59 | </div> | ||
60 | </form> | ||
diff --git a/client/src/app/videos/+video-edit/video-import.component.scss b/client/src/app/videos/+video-edit/video-import.component.scss new file mode 100644 index 000000000..9ada9db19 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-import.component.scss | |||
@@ -0,0 +1,37 @@ | |||
1 | @import '_variables'; | ||
2 | @import '_mixins'; | ||
3 | |||
4 | $width-size: 190px; | ||
5 | |||
6 | .peertube-select-container { | ||
7 | @include peertube-select-container($width-size); | ||
8 | } | ||
9 | |||
10 | .import-video { | ||
11 | display: flex; | ||
12 | flex-direction: column; | ||
13 | align-items: center; | ||
14 | |||
15 | .icon.icon-upload { | ||
16 | @include icon(90px); | ||
17 | margin-bottom: 25px; | ||
18 | cursor: default; | ||
19 | |||
20 | background-image: url('../../../assets/images/video/upload.svg'); | ||
21 | } | ||
22 | |||
23 | input[type=text] { | ||
24 | @include peertube-input-text($width-size); | ||
25 | display: block; | ||
26 | } | ||
27 | |||
28 | input[type=button] { | ||
29 | @include peertube-button; | ||
30 | @include orange-button; | ||
31 | |||
32 | width: $width-size; | ||
33 | margin-top: 30px; | ||
34 | } | ||
35 | } | ||
36 | |||
37 | |||
diff --git a/client/src/app/videos/+video-edit/video-import.component.ts b/client/src/app/videos/+video-edit/video-import.component.ts new file mode 100644 index 000000000..5f14efd54 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-import.component.ts | |||
@@ -0,0 +1,164 @@ | |||
1 | import { Component, EventEmitter, OnInit, Output } from '@angular/core' | ||
2 | import { Router } from '@angular/router' | ||
3 | import { CanComponentDeactivate } from '@app/shared/guards/can-deactivate-guard.service' | ||
4 | import { NotificationsService } from 'angular2-notifications' | ||
5 | import { VideoConstant, VideoPrivacy, VideoUpdate } from '../../../../../shared/models/videos' | ||
6 | import { AuthService, ServerService } from '../../core' | ||
7 | import { FormReactive } from '../../shared' | ||
8 | import { populateAsyncUserVideoChannels } from '../../shared/misc/utils' | ||
9 | import { VideoService } from '../../shared/video/video.service' | ||
10 | import { I18n } from '@ngx-translate/i18n-polyfill' | ||
11 | import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' | ||
12 | import { VideoCaptionEdit } from '@app/shared/video-caption/video-caption-edit.model' | ||
13 | import { VideoImportService } from '@app/shared/video-import' | ||
14 | import { VideoEdit } from '@app/shared/video/video-edit.model' | ||
15 | import { switchMap } from 'rxjs/operators' | ||
16 | import { LoadingBarService } from '@ngx-loading-bar/core' | ||
17 | import { VideoCaptionService } from '@app/shared/video-caption' | ||
18 | |||
19 | @Component({ | ||
20 | selector: 'my-video-import', | ||
21 | templateUrl: './video-import.component.html', | ||
22 | styleUrls: [ | ||
23 | './shared/video-edit.component.scss', | ||
24 | './video-import.component.scss' | ||
25 | ] | ||
26 | }) | ||
27 | export class VideoImportComponent extends FormReactive implements OnInit, CanComponentDeactivate { | ||
28 | @Output() firstStepDone = new EventEmitter<string>() | ||
29 | |||
30 | targetUrl = '' | ||
31 | videoFileName: string | ||
32 | |||
33 | isImportingVideo = false | ||
34 | hasImportedVideo = false | ||
35 | isUpdatingVideo = false | ||
36 | |||
37 | userVideoChannels: { id: number, label: string, support: string }[] = [] | ||
38 | videoPrivacies: VideoConstant<string>[] = [] | ||
39 | videoCaptions: VideoCaptionEdit[] = [] | ||
40 | |||
41 | firstStepPrivacyId = 0 | ||
42 | firstStepChannelId = 0 | ||
43 | video: VideoEdit | ||
44 | |||
45 | constructor ( | ||
46 | protected formValidatorService: FormValidatorService, | ||
47 | private router: Router, | ||
48 | private loadingBar: LoadingBarService, | ||
49 | private notificationsService: NotificationsService, | ||
50 | private authService: AuthService, | ||
51 | private serverService: ServerService, | ||
52 | private videoService: VideoService, | ||
53 | private videoImportService: VideoImportService, | ||
54 | private videoCaptionService: VideoCaptionService, | ||
55 | private i18n: I18n | ||
56 | ) { | ||
57 | super() | ||
58 | } | ||
59 | |||
60 | ngOnInit () { | ||
61 | this.buildForm({}) | ||
62 | |||
63 | populateAsyncUserVideoChannels(this.authService, this.userVideoChannels) | ||
64 | .then(() => this.firstStepChannelId = this.userVideoChannels[ 0 ].id) | ||
65 | |||
66 | this.serverService.videoPrivaciesLoaded | ||
67 | .subscribe( | ||
68 | () => { | ||
69 | this.videoPrivacies = this.serverService.getVideoPrivacies() | ||
70 | |||
71 | // Private by default | ||
72 | this.firstStepPrivacyId = VideoPrivacy.PRIVATE | ||
73 | }) | ||
74 | } | ||
75 | |||
76 | canDeactivate () { | ||
77 | return { canDeactivate: true } | ||
78 | } | ||
79 | |||
80 | checkForm () { | ||
81 | this.forceCheck() | ||
82 | |||
83 | return this.form.valid | ||
84 | } | ||
85 | |||
86 | isTargetUrlValid () { | ||
87 | return this.targetUrl && this.targetUrl.match(/https?:\/\//) | ||
88 | } | ||
89 | |||
90 | importVideo () { | ||
91 | this.isImportingVideo = true | ||
92 | |||
93 | const videoUpdate: VideoUpdate = { | ||
94 | privacy: this.firstStepPrivacyId, | ||
95 | waitTranscoding: false, | ||
96 | commentsEnabled: true, | ||
97 | channelId: this.firstStepChannelId | ||
98 | } | ||
99 | |||
100 | this.loadingBar.start() | ||
101 | |||
102 | this.videoImportService.importVideo(this.targetUrl, videoUpdate).subscribe( | ||
103 | res => { | ||
104 | this.loadingBar.complete() | ||
105 | this.firstStepDone.emit(res.video.name) | ||
106 | this.isImportingVideo = false | ||
107 | this.hasImportedVideo = true | ||
108 | |||
109 | this.video = new VideoEdit(Object.assign(res.video, { | ||
110 | commentsEnabled: videoUpdate.commentsEnabled, | ||
111 | support: null, | ||
112 | thumbnailUrl: null, | ||
113 | previewUrl: null | ||
114 | })) | ||
115 | this.hydrateFormFromVideo() | ||
116 | }, | ||
117 | |||
118 | err => { | ||
119 | this.loadingBar.complete() | ||
120 | this.isImportingVideo = false | ||
121 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
122 | } | ||
123 | ) | ||
124 | } | ||
125 | |||
126 | updateSecondStep () { | ||
127 | if (this.checkForm() === false) { | ||
128 | return | ||
129 | } | ||
130 | |||
131 | this.video.patch(this.form.value) | ||
132 | |||
133 | this.loadingBar.start() | ||
134 | this.isUpdatingVideo = true | ||
135 | |||
136 | // Update the video | ||
137 | this.videoService.updateVideo(this.video) | ||
138 | .pipe( | ||
139 | // Then update captions | ||
140 | switchMap(() => this.videoCaptionService.updateCaptions(this.video.id, this.videoCaptions)) | ||
141 | ) | ||
142 | .subscribe( | ||
143 | () => { | ||
144 | this.isUpdatingVideo = false | ||
145 | this.loadingBar.complete() | ||
146 | this.notificationsService.success(this.i18n('Success'), this.i18n('Video to import updated.')) | ||
147 | |||
148 | this.router.navigate([ '/my-account', 'video-imports' ]) | ||
149 | }, | ||
150 | |||
151 | err => { | ||
152 | this.loadingBar.complete() | ||
153 | this.isUpdatingVideo = false | ||
154 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
155 | console.error(err) | ||
156 | } | ||
157 | ) | ||
158 | |||
159 | } | ||
160 | |||
161 | private hydrateFormFromVideo () { | ||
162 | this.form.patchValue(this.video.toFormPatch()) | ||
163 | } | ||
164 | } | ||
diff --git a/client/src/app/videos/+video-edit/video-update.component.ts b/client/src/app/videos/+video-edit/video-update.component.ts index 798c48f3c..0c60e3439 100644 --- a/client/src/app/videos/+video-edit/video-update.component.ts +++ b/client/src/app/videos/+video-edit/video-update.component.ts | |||
@@ -126,7 +126,6 @@ export class VideoUpdateComponent extends FormReactive implements OnInit { | |||
126 | console.error(err) | 126 | console.error(err) |
127 | } | 127 | } |
128 | ) | 128 | ) |
129 | |||
130 | } | 129 | } |
131 | 130 | ||
132 | private hydrateFormFromVideo () { | 131 | private hydrateFormFromVideo () { |
diff --git a/client/src/app/videos/+video-edit/video-upload.component.html b/client/src/app/videos/+video-edit/video-upload.component.html new file mode 100644 index 000000000..8c0723155 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-upload.component.html | |||
@@ -0,0 +1,58 @@ | |||
1 | <div *ngIf="!isUploadingVideo" class="upload-video-container"> | ||
2 | <div class="upload-video"> | ||
3 | <div class="icon icon-upload"></div> | ||
4 | |||
5 | <div class="button-file"> | ||
6 | <span i18n>Select the file to upload</span> | ||
7 | <input #videofileInput type="file" name="videofile" id="videofile" [accept]="videoExtensions" (change)="fileChange()" /> | ||
8 | </div> | ||
9 | <span class="button-file-extension">(.mp4, .webm, .ogv)</span> | ||
10 | |||
11 | <div class="form-group form-group-channel"> | ||
12 | <label i18n for="first-step-channel">Channel</label> | ||
13 | <div class="peertube-select-container"> | ||
14 | <select id="first-step-channel" [(ngModel)]="firstStepChannelId"> | ||
15 | <option *ngFor="let channel of userVideoChannels" [value]="channel.id">{{ channel.label }}</option> | ||
16 | </select> | ||
17 | </div> | ||
18 | </div> | ||
19 | |||
20 | <div class="form-group"> | ||
21 | <label i18n for="first-step-privacy">Privacy</label> | ||
22 | <div class="peertube-select-container"> | ||
23 | <select id="first-step-privacy" [(ngModel)]="firstStepPrivacyId"> | ||
24 | <option *ngFor="let privacy of videoPrivacies" [value]="privacy.id">{{ privacy.label }}</option> | ||
25 | <option [value]="SPECIAL_SCHEDULED_PRIVACY">Scheduled</option> | ||
26 | </select> | ||
27 | </div> | ||
28 | </div> | ||
29 | </div> | ||
30 | </div> | ||
31 | |||
32 | <div *ngIf="isUploadingVideo" class="upload-progress-cancel"> | ||
33 | <p-progressBar | ||
34 | [value]="videoUploadPercents" | ||
35 | [ngClass]="{ processing: videoUploadPercents === 100 && videoUploaded === false }" | ||
36 | ></p-progressBar> | ||
37 | <input *ngIf="videoUploaded === false" type="button" value="Cancel" (click)="cancelUpload()" /> | ||
38 | </div> | ||
39 | |||
40 | <!-- Hidden because we want to load the component --> | ||
41 | <form [hidden]="!isUploadingVideo" novalidate [formGroup]="form"> | ||
42 | <my-video-edit | ||
43 | [form]="form" [formErrors]="formErrors" [videoCaptions]="videoCaptions" | ||
44 | [validationMessages]="validationMessages" [videoPrivacies]="videoPrivacies" [userVideoChannels]="userVideoChannels" | ||
45 | ></my-video-edit> | ||
46 | |||
47 | <div class="submit-container"> | ||
48 | <div i18n *ngIf="videoUploaded === false" class="message-submit">Publish will be available when upload is finished</div> | ||
49 | |||
50 | <div class="submit-button" | ||
51 | (click)="updateSecondStep()" | ||
52 | [ngClass]="{ disabled: !form.valid || isUpdatingVideo === true || videoUploaded !== true }" | ||
53 | > | ||
54 | <span class="icon icon-validate"></span> | ||
55 | <input type="button" i18n-value value="Publish" /> | ||
56 | </div> | ||
57 | </div> | ||
58 | </form> \ No newline at end of file | ||
diff --git a/client/src/app/videos/+video-edit/video-upload.component.scss b/client/src/app/videos/+video-edit/video-upload.component.scss new file mode 100644 index 000000000..015835672 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-upload.component.scss | |||
@@ -0,0 +1,85 @@ | |||
1 | @import '_variables'; | ||
2 | @import '_mixins'; | ||
3 | |||
4 | .peertube-select-container { | ||
5 | @include peertube-select-container(190px); | ||
6 | } | ||
7 | |||
8 | .upload-video { | ||
9 | display: flex; | ||
10 | flex-direction: column; | ||
11 | align-items: center; | ||
12 | |||
13 | .form-group-channel { | ||
14 | margin-bottom: 20px; | ||
15 | margin-top: 35px; | ||
16 | } | ||
17 | |||
18 | .icon.icon-upload { | ||
19 | @include icon(90px); | ||
20 | margin-bottom: 25px; | ||
21 | cursor: default; | ||
22 | |||
23 | background-image: url('../../../assets/images/video/upload.svg'); | ||
24 | } | ||
25 | |||
26 | .button-file { | ||
27 | @include peertube-button-file(auto); | ||
28 | |||
29 | min-width: 190px; | ||
30 | } | ||
31 | |||
32 | .button-file-extension { | ||
33 | display: block; | ||
34 | font-size: 12px; | ||
35 | margin-top: 5px; | ||
36 | } | ||
37 | } | ||
38 | |||
39 | .upload-progress-cancel { | ||
40 | display: flex; | ||
41 | margin-top: 25px; | ||
42 | margin-bottom: 40px; | ||
43 | |||
44 | p-progressBar { | ||
45 | flex-grow: 1; | ||
46 | |||
47 | /deep/ .ui-progressbar { | ||
48 | font-size: 15px !important; | ||
49 | color: #fff !important; | ||
50 | height: 30px !important; | ||
51 | line-height: 30px !important; | ||
52 | border-radius: 3px !important; | ||
53 | background-color: rgba(11, 204, 41, 0.16) !important; | ||
54 | |||
55 | .ui-progressbar-value { | ||
56 | background-color: #0BCC29 !important; | ||
57 | } | ||
58 | |||
59 | .ui-progressbar-label { | ||
60 | text-align: left; | ||
61 | padding-left: 18px; | ||
62 | margin-top: 0 !important; | ||
63 | } | ||
64 | } | ||
65 | |||
66 | &.processing { | ||
67 | /deep/ .ui-progressbar-label { | ||
68 | // Same color as background to hide "100%" | ||
69 | color: rgba(11, 204, 41, 0.16) !important; | ||
70 | |||
71 | &::before { | ||
72 | content: 'Processing...'; | ||
73 | color: #fff; | ||
74 | } | ||
75 | } | ||
76 | } | ||
77 | } | ||
78 | |||
79 | input { | ||
80 | @include peertube-button; | ||
81 | @include grey-button; | ||
82 | |||
83 | margin-left: 10px; | ||
84 | } | ||
85 | } \ No newline at end of file | ||
diff --git a/client/src/app/videos/+video-edit/video-upload.component.ts b/client/src/app/videos/+video-edit/video-upload.component.ts new file mode 100644 index 000000000..c5e9c1592 --- /dev/null +++ b/client/src/app/videos/+video-edit/video-upload.component.ts | |||
@@ -0,0 +1,251 @@ | |||
1 | import { HttpEventType, HttpResponse } from '@angular/common/http' | ||
2 | import { Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core' | ||
3 | import { Router } from '@angular/router' | ||
4 | import { UserService } from '@app/shared' | ||
5 | import { CanComponentDeactivate } from '@app/shared/guards/can-deactivate-guard.service' | ||
6 | import { LoadingBarService } from '@ngx-loading-bar/core' | ||
7 | import { NotificationsService } from 'angular2-notifications' | ||
8 | import { BytesPipe } from 'ngx-pipes' | ||
9 | import { Subscription } from 'rxjs' | ||
10 | import { VideoConstant, VideoPrivacy } from '../../../../../shared/models/videos' | ||
11 | import { AuthService, ServerService } from '../../core' | ||
12 | import { FormReactive } from '../../shared' | ||
13 | import { populateAsyncUserVideoChannels } from '../../shared/misc/utils' | ||
14 | import { VideoEdit } from '../../shared/video/video-edit.model' | ||
15 | import { VideoService } from '../../shared/video/video.service' | ||
16 | import { I18n } from '@ngx-translate/i18n-polyfill' | ||
17 | import { FormValidatorService } from '@app/shared/forms/form-validators/form-validator.service' | ||
18 | import { switchMap } from 'rxjs/operators' | ||
19 | import { VideoCaptionService } from '@app/shared/video-caption' | ||
20 | import { VideoCaptionEdit } from '@app/shared/video-caption/video-caption-edit.model' | ||
21 | |||
22 | @Component({ | ||
23 | selector: 'my-video-upload', | ||
24 | templateUrl: './video-upload.component.html', | ||
25 | styleUrls: [ | ||
26 | './shared/video-edit.component.scss', | ||
27 | './video-upload.component.scss' | ||
28 | ] | ||
29 | }) | ||
30 | export class VideoUploadComponent extends FormReactive implements OnInit, OnDestroy, CanComponentDeactivate { | ||
31 | @Output() firstStepDone = new EventEmitter<string>() | ||
32 | @ViewChild('videofileInput') videofileInput | ||
33 | |||
34 | // So that it can be accessed in the template | ||
35 | readonly SPECIAL_SCHEDULED_PRIVACY = VideoEdit.SPECIAL_SCHEDULED_PRIVACY | ||
36 | |||
37 | isUploadingVideo = false | ||
38 | isUpdatingVideo = false | ||
39 | videoUploaded = false | ||
40 | videoUploadObservable: Subscription = null | ||
41 | videoUploadPercents = 0 | ||
42 | videoUploadedIds = { | ||
43 | id: 0, | ||
44 | uuid: '' | ||
45 | } | ||
46 | |||
47 | userVideoChannels: { id: number, label: string, support: string }[] = [] | ||
48 | userVideoQuotaUsed = 0 | ||
49 | videoPrivacies: VideoConstant<string>[] = [] | ||
50 | firstStepPrivacyId = 0 | ||
51 | firstStepChannelId = 0 | ||
52 | videoCaptions: VideoCaptionEdit[] = [] | ||
53 | |||
54 | constructor ( | ||
55 | protected formValidatorService: FormValidatorService, | ||
56 | private router: Router, | ||
57 | private notificationsService: NotificationsService, | ||
58 | private authService: AuthService, | ||
59 | private userService: UserService, | ||
60 | private serverService: ServerService, | ||
61 | private videoService: VideoService, | ||
62 | private loadingBar: LoadingBarService, | ||
63 | private i18n: I18n, | ||
64 | private videoCaptionService: VideoCaptionService | ||
65 | ) { | ||
66 | super() | ||
67 | } | ||
68 | |||
69 | get videoExtensions () { | ||
70 | return this.serverService.getConfig().video.file.extensions.join(',') | ||
71 | } | ||
72 | |||
73 | ngOnInit () { | ||
74 | this.buildForm({}) | ||
75 | |||
76 | populateAsyncUserVideoChannels(this.authService, this.userVideoChannels) | ||
77 | .then(() => this.firstStepChannelId = this.userVideoChannels[0].id) | ||
78 | |||
79 | this.userService.getMyVideoQuotaUsed() | ||
80 | .subscribe(data => this.userVideoQuotaUsed = data.videoQuotaUsed) | ||
81 | |||
82 | this.serverService.videoPrivaciesLoaded | ||
83 | .subscribe( | ||
84 | () => { | ||
85 | this.videoPrivacies = this.serverService.getVideoPrivacies() | ||
86 | |||
87 | // Public by default | ||
88 | this.firstStepPrivacyId = VideoPrivacy.PUBLIC | ||
89 | }) | ||
90 | } | ||
91 | |||
92 | ngOnDestroy () { | ||
93 | if (this.videoUploadObservable) { | ||
94 | this.videoUploadObservable.unsubscribe() | ||
95 | } | ||
96 | } | ||
97 | |||
98 | canDeactivate () { | ||
99 | let text = '' | ||
100 | |||
101 | if (this.videoUploaded === true) { | ||
102 | // FIXME: cannot concatenate strings inside i18n service :/ | ||
103 | text = this.i18n('Your video was uploaded to your account and is private.') + | ||
104 | this.i18n('But associated data (tags, description...) will be lost, are you sure you want to leave this page?') | ||
105 | } else { | ||
106 | text = this.i18n('Your video is not uploaded yet, are you sure you want to leave this page?') | ||
107 | } | ||
108 | |||
109 | return { | ||
110 | canDeactivate: !this.isUploadingVideo, | ||
111 | text | ||
112 | } | ||
113 | } | ||
114 | |||
115 | fileChange () { | ||
116 | this.uploadFirstStep() | ||
117 | } | ||
118 | |||
119 | checkForm () { | ||
120 | this.forceCheck() | ||
121 | |||
122 | return this.form.valid | ||
123 | } | ||
124 | |||
125 | cancelUpload () { | ||
126 | if (this.videoUploadObservable !== null) { | ||
127 | this.videoUploadObservable.unsubscribe() | ||
128 | this.isUploadingVideo = false | ||
129 | this.videoUploadPercents = 0 | ||
130 | this.videoUploadObservable = null | ||
131 | this.notificationsService.info(this.i18n('Info'), this.i18n('Upload cancelled')) | ||
132 | } | ||
133 | } | ||
134 | |||
135 | uploadFirstStep () { | ||
136 | const videofile = this.videofileInput.nativeElement.files[0] as File | ||
137 | if (!videofile) return | ||
138 | |||
139 | // Cannot upload videos > 8GB for now | ||
140 | if (videofile.size > 8 * 1024 * 1024 * 1024) { | ||
141 | this.notificationsService.error(this.i18n('Error'), this.i18n('We are sorry but PeerTube cannot handle videos > 8GB')) | ||
142 | return | ||
143 | } | ||
144 | |||
145 | const videoQuota = this.authService.getUser().videoQuota | ||
146 | if (videoQuota !== -1 && (this.userVideoQuotaUsed + videofile.size) > videoQuota) { | ||
147 | const bytePipes = new BytesPipe() | ||
148 | |||
149 | const msg = this.i18n( | ||
150 | 'Your video quota is exceeded with this video (video size: {{ videoSize }}, used: {{ videoQuotaUsed }}, quota: {{ videoQuota }})', | ||
151 | { | ||
152 | videoSize: bytePipes.transform(videofile.size, 0), | ||
153 | videoQuotaUsed: bytePipes.transform(this.userVideoQuotaUsed, 0), | ||
154 | videoQuota: bytePipes.transform(videoQuota, 0) | ||
155 | } | ||
156 | ) | ||
157 | this.notificationsService.error(this.i18n('Error'), msg) | ||
158 | return | ||
159 | } | ||
160 | |||
161 | const nameWithoutExtension = videofile.name.replace(/\.[^/.]+$/, '') | ||
162 | let name: string | ||
163 | |||
164 | // If the name of the file is very small, keep the extension | ||
165 | if (nameWithoutExtension.length < 3) name = videofile.name | ||
166 | else name = nameWithoutExtension | ||
167 | |||
168 | const privacy = this.firstStepPrivacyId.toString() | ||
169 | const nsfw = false | ||
170 | const waitTranscoding = true | ||
171 | const commentsEnabled = true | ||
172 | const channelId = this.firstStepChannelId.toString() | ||
173 | |||
174 | const formData = new FormData() | ||
175 | formData.append('name', name) | ||
176 | // Put the video "private" -> we are waiting the user validation of the second step | ||
177 | formData.append('privacy', VideoPrivacy.PRIVATE.toString()) | ||
178 | formData.append('nsfw', '' + nsfw) | ||
179 | formData.append('commentsEnabled', '' + commentsEnabled) | ||
180 | formData.append('waitTranscoding', '' + waitTranscoding) | ||
181 | formData.append('channelId', '' + channelId) | ||
182 | formData.append('videofile', videofile) | ||
183 | |||
184 | this.isUploadingVideo = true | ||
185 | this.firstStepDone.emit(name) | ||
186 | |||
187 | this.form.patchValue({ | ||
188 | name, | ||
189 | privacy, | ||
190 | nsfw, | ||
191 | channelId | ||
192 | }) | ||
193 | |||
194 | this.videoUploadObservable = this.videoService.uploadVideo(formData).subscribe( | ||
195 | event => { | ||
196 | if (event.type === HttpEventType.UploadProgress) { | ||
197 | this.videoUploadPercents = Math.round(100 * event.loaded / event.total) | ||
198 | } else if (event instanceof HttpResponse) { | ||
199 | this.videoUploaded = true | ||
200 | |||
201 | this.videoUploadedIds = event.body.video | ||
202 | |||
203 | this.videoUploadObservable = null | ||
204 | } | ||
205 | }, | ||
206 | |||
207 | err => { | ||
208 | // Reset progress | ||
209 | this.isUploadingVideo = false | ||
210 | this.videoUploadPercents = 0 | ||
211 | this.videoUploadObservable = null | ||
212 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
213 | } | ||
214 | ) | ||
215 | } | ||
216 | |||
217 | updateSecondStep () { | ||
218 | if (this.checkForm() === false) { | ||
219 | return | ||
220 | } | ||
221 | |||
222 | const video = new VideoEdit() | ||
223 | video.patch(this.form.value) | ||
224 | video.id = this.videoUploadedIds.id | ||
225 | video.uuid = this.videoUploadedIds.uuid | ||
226 | |||
227 | this.isUpdatingVideo = true | ||
228 | this.loadingBar.start() | ||
229 | this.videoService.updateVideo(video) | ||
230 | .pipe( | ||
231 | // Then update captions | ||
232 | switchMap(() => this.videoCaptionService.updateCaptions(video.id, this.videoCaptions)) | ||
233 | ) | ||
234 | .subscribe( | ||
235 | () => { | ||
236 | this.isUpdatingVideo = false | ||
237 | this.isUploadingVideo = false | ||
238 | this.loadingBar.complete() | ||
239 | |||
240 | this.notificationsService.success(this.i18n('Success'), this.i18n('Video published.')) | ||
241 | this.router.navigate([ '/videos/watch', video.uuid ]) | ||
242 | }, | ||
243 | |||
244 | err => { | ||
245 | this.isUpdatingVideo = false | ||
246 | this.notificationsService.error(this.i18n('Error'), err.message) | ||
247 | console.error(err) | ||
248 | } | ||
249 | ) | ||
250 | } | ||
251 | } | ||
diff --git a/client/src/app/videos/+video-watch/video-watch.component.html b/client/src/app/videos/+video-watch/video-watch.component.html index f39b5a94a..5a132112d 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.html +++ b/client/src/app/videos/+video-watch/video-watch.component.html | |||
@@ -8,6 +8,10 @@ | |||
8 | </div> | 8 | </div> |
9 | </div> | 9 | </div> |
10 | 10 | ||
11 | <div i18n class="alert alert-warning" *ngIf="isVideoToImport()"> | ||
12 | The video is being imported, it will be available when the import is finished. | ||
13 | </div> | ||
14 | |||
11 | <div i18n class="alert alert-warning" *ngIf="isVideoToTranscode()"> | 15 | <div i18n class="alert alert-warning" *ngIf="isVideoToTranscode()"> |
12 | The video is being transcoded, it may not work properly. | 16 | The video is being transcoded, it may not work properly. |
13 | </div> | 17 | </div> |
diff --git a/client/src/app/videos/+video-watch/video-watch.component.ts b/client/src/app/videos/+video-watch/video-watch.component.ts index afbb0c596..04bcc6cd1 100644 --- a/client/src/app/videos/+video-watch/video-watch.component.ts +++ b/client/src/app/videos/+video-watch/video-watch.component.ts | |||
@@ -10,7 +10,7 @@ import { forkJoin, Subscription } from 'rxjs' | |||
10 | import * as videojs from 'video.js' | 10 | import * as videojs from 'video.js' |
11 | import 'videojs-hotkeys' | 11 | import 'videojs-hotkeys' |
12 | import * as WebTorrent from 'webtorrent' | 12 | import * as WebTorrent from 'webtorrent' |
13 | import { ResultList, UserVideoRateType, VideoPrivacy, VideoRateType, VideoState } from '../../../../../shared' | 13 | import { UserVideoRateType, VideoPrivacy, VideoRateType, VideoState } from '../../../../../shared' |
14 | import '../../../assets/player/peertube-videojs-plugin' | 14 | import '../../../assets/player/peertube-videojs-plugin' |
15 | import { AuthService, ConfirmService } from '../../core' | 15 | import { AuthService, ConfirmService } from '../../core' |
16 | import { RestExtractor, VideoBlacklistService } from '../../shared' | 16 | import { RestExtractor, VideoBlacklistService } from '../../shared' |
@@ -28,7 +28,6 @@ import { environment } from '../../../environments/environment' | |||
28 | import { getDevLocale, isOnDevLocale } from '@app/shared/i18n/i18n-utils' | 28 | import { getDevLocale, isOnDevLocale } from '@app/shared/i18n/i18n-utils' |
29 | import { VideoCaptionService } from '@app/shared/video-caption' | 29 | import { VideoCaptionService } from '@app/shared/video-caption' |
30 | import { VideoCaption } from '../../../../../shared/models/videos/video-caption.model' | 30 | import { VideoCaption } from '../../../../../shared/models/videos/video-caption.model' |
31 | import { VideoJSCaption } from '../../../assets/player/peertube-videojs-typings' | ||
32 | 31 | ||
33 | @Component({ | 32 | @Component({ |
34 | selector: 'my-video-watch', | 33 | selector: 'my-video-watch', |
@@ -290,6 +289,10 @@ export class VideoWatchComponent implements OnInit, OnDestroy { | |||
290 | return this.video && this.video.state.id === VideoState.TO_TRANSCODE | 289 | return this.video && this.video.state.id === VideoState.TO_TRANSCODE |
291 | } | 290 | } |
292 | 291 | ||
292 | isVideoToImport () { | ||
293 | return this.video && this.video.state.id === VideoState.TO_IMPORT | ||
294 | } | ||
295 | |||
293 | hasVideoScheduledPublication () { | 296 | hasVideoScheduledPublication () { |
294 | return this.video && this.video.scheduledUpdate !== undefined | 297 | return this.video && this.video.scheduledUpdate !== undefined |
295 | } | 298 | } |
diff --git a/client/src/app/videos/shared/markdown.service.ts b/client/src/app/videos/shared/markdown.service.ts index 14eeba777..3ef16fdb9 100644 --- a/client/src/app/videos/shared/markdown.service.ts +++ b/client/src/app/videos/shared/markdown.service.ts | |||
@@ -72,5 +72,6 @@ export class MarkdownService { | |||
72 | 72 | ||
73 | private avoidTruncatedLinks (html: string) { | 73 | private avoidTruncatedLinks (html: string) { |
74 | return html.replace(/<a[^>]+>([^<]+)<\/a>\s*...((<\/p>)|(<\/li>)|(<\/strong>))?$/mi, '$1...') | 74 | return html.replace(/<a[^>]+>([^<]+)<\/a>\s*...((<\/p>)|(<\/li>)|(<\/strong>))?$/mi, '$1...') |
75 | .replace(/\[[^\]]+\]?\(?([^\)]+)$/, '$1') | ||
75 | } | 76 | } |
76 | } | 77 | } |
diff --git a/client/src/locale/source/angular_en_US.xml b/client/src/locale/source/angular_en_US.xml index 825634a5b..f7897a8d6 100644 --- a/client/src/locale/source/angular_en_US.xml +++ b/client/src/locale/source/angular_en_US.xml | |||
@@ -270,11 +270,17 @@ | |||
270 | <context context-type="sourcefile">app/+admin/users/user-edit/user-update.component.ts</context> | 270 | <context context-type="sourcefile">app/+admin/users/user-edit/user-update.component.ts</context> |
271 | <context context-type="linenumber">8</context> | 271 | <context context-type="linenumber">8</context> |
272 | </context-group> | 272 | </context-group> |
273 | </trans-unit><trans-unit id="2ac776627e18565d7ae85cd7f4cd033bc5d0c88b" datatype="html"> | ||
274 | <source>I have read and agree to the <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Terms</a> of this instance</source> | ||
275 | <context-group purpose="location"> | ||
276 | <context context-type="sourcefile">app/signup/signup.component.ts</context> | ||
277 | <context context-type="linenumber">60</context> | ||
278 | </context-group> | ||
273 | </trans-unit><trans-unit id="717a5e3574fec754fbeb348c2d5561c4d81facc4" datatype="html"> | 279 | </trans-unit><trans-unit id="717a5e3574fec754fbeb348c2d5561c4d81facc4" datatype="html"> |
274 | <source>Signup</source> | 280 | <source>Signup</source> |
275 | <context-group purpose="location"> | 281 | <context-group purpose="location"> |
276 | <context context-type="sourcefile">app/signup/signup.component.ts</context> | 282 | <context context-type="sourcefile">app/signup/signup.component.ts</context> |
277 | <context context-type="linenumber">57</context> | 283 | <context context-type="linenumber">68</context> |
278 | </context-group> | 284 | </context-group> |
279 | <context-group purpose="location"> | 285 | <context-group purpose="location"> |
280 | <context context-type="sourcefile">app/+about/about-instance/about-instance.component.ts</context> | 286 | <context context-type="sourcefile">app/+about/about-instance/about-instance.component.ts</context> |
@@ -476,7 +482,7 @@ | |||
476 | </context-group> | 482 | </context-group> |
477 | <context-group purpose="location"> | 483 | <context-group purpose="location"> |
478 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 484 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
479 | <context context-type="linenumber">143</context> | 485 | <context context-type="linenumber">144</context> |
480 | </context-group> | 486 | </context-group> |
481 | </trans-unit><trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c" datatype="html"> | 487 | </trans-unit><trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c" datatype="html"> |
482 | <source>Licence</source> | 488 | <source>Licence</source> |
@@ -490,7 +496,7 @@ | |||
490 | </context-group> | 496 | </context-group> |
491 | <context-group purpose="location"> | 497 | <context-group purpose="location"> |
492 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 498 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
493 | <context context-type="linenumber">152</context> | 499 | <context context-type="linenumber">153</context> |
494 | </context-group> | 500 | </context-group> |
495 | </trans-unit><trans-unit id="fe46ccaae902ce974e2441abe752399288298619" datatype="html"> | 501 | </trans-unit><trans-unit id="fe46ccaae902ce974e2441abe752399288298619" datatype="html"> |
496 | <source>Language</source> | 502 | <source>Language</source> |
@@ -508,7 +514,7 @@ | |||
508 | </context-group> | 514 | </context-group> |
509 | <context-group purpose="location"> | 515 | <context-group purpose="location"> |
510 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 516 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
511 | <context context-type="linenumber">161</context> | 517 | <context context-type="linenumber">162</context> |
512 | </context-group> | 518 | </context-group> |
513 | </trans-unit><trans-unit id="c8d58c4fbe23e51af3dc8f58cb4a81eac20739e8" datatype="html"> | 519 | </trans-unit><trans-unit id="c8d58c4fbe23e51af3dc8f58cb4a81eac20739e8" datatype="html"> |
514 | <source>All of these tags</source> | 520 | <source>All of these tags</source> |
@@ -1569,11 +1575,11 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
1569 | </context-group> | 1575 | </context-group> |
1570 | <context-group purpose="location"> | 1576 | <context-group purpose="location"> |
1571 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1577 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1572 | <context context-type="linenumber">148</context> | 1578 | <context context-type="linenumber">154</context> |
1573 | </context-group> | 1579 | </context-group> |
1574 | <context-group purpose="location"> | 1580 | <context-group purpose="location"> |
1575 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1581 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1576 | <context context-type="linenumber">106</context> | 1582 | <context context-type="linenumber">107</context> |
1577 | </context-group> | 1583 | </context-group> |
1578 | <context-group purpose="location"> | 1584 | <context-group purpose="location"> |
1579 | <context context-type="sourcefile">app/videos/+video-watch/comment/video-comment.component.ts</context> | 1585 | <context context-type="sourcefile">app/videos/+video-watch/comment/video-comment.component.ts</context> |
@@ -1762,7 +1768,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1762 | </context-group> | 1768 | </context-group> |
1763 | <context-group purpose="location"> | 1769 | <context-group purpose="location"> |
1764 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1770 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1765 | <context context-type="linenumber">138</context> | 1771 | <context context-type="linenumber">139</context> |
1766 | </context-group> | 1772 | </context-group> |
1767 | </trans-unit><trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215" datatype="html"> | 1773 | </trans-unit><trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215" datatype="html"> |
1768 | <source>Publish will be available when upload is finished</source> | 1774 | <source>Publish will be available when upload is finished</source> |
@@ -1816,7 +1822,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1816 | </context-group> | 1822 | </context-group> |
1817 | <context-group purpose="location"> | 1823 | <context-group purpose="location"> |
1818 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1824 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1819 | <context context-type="linenumber">170</context> | 1825 | <context context-type="linenumber">171</context> |
1820 | </context-group> | 1826 | </context-group> |
1821 | </trans-unit><trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82" datatype="html"> | 1827 | </trans-unit><trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82" datatype="html"> |
1822 | <source>(press Enter to add)</source> | 1828 | <source>(press Enter to add)</source> |
@@ -1878,6 +1884,24 @@ When you will upload a video in this channel, the video support field will be au | |||
1878 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1884 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1879 | <context context-type="linenumber">139</context> | 1885 | <context context-type="linenumber">139</context> |
1880 | </context-group> | 1886 | </context-group> |
1887 | </trans-unit><trans-unit id="a46a7503167b77b3ec4e28274a3d1dda637617ed" datatype="html"> | ||
1888 | <source>See the subtitle file</source> | ||
1889 | <context-group purpose="location"> | ||
1890 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | ||
1891 | <context context-type="linenumber">148</context> | ||
1892 | </context-group> | ||
1893 | </trans-unit><trans-unit id="308a79679d012938a625e41fdd4b804fe42b57b9" datatype="html"> | ||
1894 | <source>Cancel create</source> | ||
1895 | <context-group purpose="location"> | ||
1896 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | ||
1897 | <context context-type="linenumber">162</context> | ||
1898 | </context-group> | ||
1899 | </trans-unit><trans-unit id="88395fc0137e46a9853cf16762bf5a87687d0d0c" datatype="html"> | ||
1900 | <source>Cancel deletion</source> | ||
1901 | <context-group purpose="location"> | ||
1902 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | ||
1903 | <context context-type="linenumber">170</context> | ||
1904 | </context-group> | ||
1881 | </trans-unit><trans-unit id="0c720e0dd9e6c60095f961cb714f47e8c0090f93" datatype="html"> | 1905 | </trans-unit><trans-unit id="0c720e0dd9e6c60095f961cb714f47e8c0090f93" datatype="html"> |
1882 | <source>Captions</source> | 1906 | <source>Captions</source> |
1883 | <context-group purpose="location"> | 1907 | <context-group purpose="location"> |
@@ -1888,19 +1912,19 @@ When you will upload a video in this channel, the video support field will be au | |||
1888 | <source>Upload thumbnail</source> | 1912 | <source>Upload thumbnail</source> |
1889 | <context-group purpose="location"> | 1913 | <context-group purpose="location"> |
1890 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1914 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1891 | <context context-type="linenumber">163</context> | 1915 | <context context-type="linenumber">186</context> |
1892 | </context-group> | 1916 | </context-group> |
1893 | </trans-unit><trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639" datatype="html"> | 1917 | </trans-unit><trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639" datatype="html"> |
1894 | <source>Upload preview</source> | 1918 | <source>Upload preview</source> |
1895 | <context-group purpose="location"> | 1919 | <context-group purpose="location"> |
1896 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1920 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1897 | <context context-type="linenumber">170</context> | 1921 | <context context-type="linenumber">193</context> |
1898 | </context-group> | 1922 | </context-group> |
1899 | </trans-unit><trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604" datatype="html"> | 1923 | </trans-unit><trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604" datatype="html"> |
1900 | <source>Support</source> | 1924 | <source>Support</source> |
1901 | <context-group purpose="location"> | 1925 | <context-group purpose="location"> |
1902 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1926 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1903 | <context context-type="linenumber">176</context> | 1927 | <context context-type="linenumber">199</context> |
1904 | </context-group> | 1928 | </context-group> |
1905 | <context-group purpose="location"> | 1929 | <context-group purpose="location"> |
1906 | <context context-type="sourcefile">app/videos/+video-watch/modal/video-support.component.ts</context> | 1930 | <context context-type="sourcefile">app/videos/+video-watch/modal/video-support.component.ts</context> |
@@ -1908,19 +1932,19 @@ When you will upload a video in this channel, the video support field will be au | |||
1908 | </context-group> | 1932 | </context-group> |
1909 | <context-group purpose="location"> | 1933 | <context-group purpose="location"> |
1910 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1934 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1911 | <context context-type="linenumber">66</context> | 1935 | <context context-type="linenumber">67</context> |
1912 | </context-group> | 1936 | </context-group> |
1913 | </trans-unit><trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0" datatype="html"> | 1937 | </trans-unit><trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0" datatype="html"> |
1914 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1938 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1915 | <context-group purpose="location"> | 1939 | <context-group purpose="location"> |
1916 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1940 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1917 | <context context-type="linenumber">177</context> | 1941 | <context context-type="linenumber">200</context> |
1918 | </context-group> | 1942 | </context-group> |
1919 | </trans-unit><trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1" datatype="html"> | 1943 | </trans-unit><trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1" datatype="html"> |
1920 | <source>Advanced settings</source> | 1944 | <source>Advanced settings</source> |
1921 | <context-group purpose="location"> | 1945 | <context-group purpose="location"> |
1922 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> | 1946 | <context context-type="sourcefile">app/videos/+video-edit/shared/video-edit.component.ts</context> |
1923 | <context context-type="linenumber">159</context> | 1947 | <context context-type="linenumber">182</context> |
1924 | </context-group> | 1948 | </context-group> |
1925 | </trans-unit><trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0" datatype="html"> | 1949 | </trans-unit><trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0" datatype="html"> |
1926 | <source> | 1950 | <source> |
@@ -1938,7 +1962,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1938 | </context-group> | 1962 | </context-group> |
1939 | <context-group purpose="location"> | 1963 | <context-group purpose="location"> |
1940 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1964 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1941 | <context context-type="linenumber">100</context> | 1965 | <context context-type="linenumber">101</context> |
1942 | </context-group> | 1966 | </context-group> |
1943 | </trans-unit><trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611" datatype="html"> | 1967 | </trans-unit><trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611" datatype="html"> |
1944 | <source>Download video</source> | 1968 | <source>Download video</source> |
@@ -1972,7 +1996,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1972 | </context-group> | 1996 | </context-group> |
1973 | <context-group purpose="location"> | 1997 | <context-group purpose="location"> |
1974 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 1998 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
1975 | <context context-type="linenumber">82</context> | 1999 | <context context-type="linenumber">83</context> |
1976 | </context-group> | 2000 | </context-group> |
1977 | </trans-unit><trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b" datatype="html"> | 2001 | </trans-unit><trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b" datatype="html"> |
1978 | <source>Report video</source> | 2002 | <source>Report video</source> |
@@ -2008,7 +2032,7 @@ When you will upload a video in this channel, the video support field will be au | |||
2008 | </context-group> | 2032 | </context-group> |
2009 | <context-group purpose="location"> | 2033 | <context-group purpose="location"> |
2010 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2034 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2011 | <context context-type="linenumber">71</context> | 2035 | <context context-type="linenumber">72</context> |
2012 | </context-group> | 2036 | </context-group> |
2013 | </trans-unit><trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html"> | 2037 | </trans-unit><trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6" datatype="html"> |
2014 | <source>URL</source> | 2038 | <source>URL</source> |
@@ -2066,89 +2090,89 @@ When you will upload a video in this channel, the video support field will be au | |||
2066 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2090 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2067 | <context context-type="linenumber">31</context> | 2091 | <context context-type="linenumber">31</context> |
2068 | </context-group> | 2092 | </context-group> |
2069 | </trans-unit><trans-unit id="57075c778cf28b81272df4eb17da944366c98e51" datatype="html"> | ||
2070 | <source>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>.</source> | ||
2071 | <context-group purpose="location"> | ||
2072 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | ||
2073 | <context context-type="linenumber">37</context> | ||
2074 | </context-group> | ||
2075 | </trans-unit><trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c" datatype="html"> | 2093 | </trans-unit><trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c" datatype="html"> |
2076 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 2094 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
2077 | <context-group purpose="location"> | 2095 | <context-group purpose="location"> |
2078 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2096 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2079 | <context context-type="linenumber">42</context> | 2097 | <context context-type="linenumber">41</context> |
2080 | </context-group> | 2098 | </context-group> |
2081 | </trans-unit><trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c" datatype="html"> | 2099 | </trans-unit><trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c" datatype="html"> |
2082 | <source>Go to the account page</source> | 2100 | <source>Go to the account page</source> |
2083 | <context-group purpose="location"> | 2101 | <context-group purpose="location"> |
2084 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2102 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2085 | <context context-type="linenumber">41</context> | 2103 | <context context-type="linenumber">40</context> |
2104 | </context-group> | ||
2105 | </trans-unit><trans-unit id="57075c778cf28b81272df4eb17da944366c98e51" datatype="html"> | ||
2106 | <source>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>.</source> | ||
2107 | <context-group purpose="location"> | ||
2108 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | ||
2109 | <context context-type="linenumber">45</context> | ||
2086 | </context-group> | 2110 | </context-group> |
2087 | </trans-unit><trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced" datatype="html"> | 2111 | </trans-unit><trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced" datatype="html"> |
2088 | <source>Like this video</source> | 2112 | <source>Like this video</source> |
2089 | <context-group purpose="location"> | 2113 | <context-group purpose="location"> |
2090 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2114 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2091 | <context context-type="linenumber">54</context> | 2115 | <context context-type="linenumber">55</context> |
2092 | </context-group> | 2116 | </context-group> |
2093 | </trans-unit><trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509" datatype="html"> | 2117 | </trans-unit><trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509" datatype="html"> |
2094 | <source>Dislike this video</source> | 2118 | <source>Dislike this video</source> |
2095 | <context-group purpose="location"> | 2119 | <context-group purpose="location"> |
2096 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2120 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2097 | <context context-type="linenumber">61</context> | 2121 | <context context-type="linenumber">62</context> |
2098 | </context-group> | 2122 | </context-group> |
2099 | </trans-unit><trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2" datatype="html"> | 2123 | </trans-unit><trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2" datatype="html"> |
2100 | <source>Download the video</source> | 2124 | <source>Download the video</source> |
2101 | <context-group purpose="location"> | 2125 | <context-group purpose="location"> |
2102 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2126 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2103 | <context context-type="linenumber">81</context> | 2127 | <context context-type="linenumber">82</context> |
2104 | </context-group> | 2128 | </context-group> |
2105 | </trans-unit><trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a" datatype="html"> | 2129 | </trans-unit><trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a" datatype="html"> |
2106 | <source>Report</source> | 2130 | <source>Report</source> |
2107 | <context-group purpose="location"> | 2131 | <context-group purpose="location"> |
2108 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2132 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2109 | <context context-type="linenumber">88</context> | 2133 | <context context-type="linenumber">89</context> |
2110 | </context-group> | 2134 | </context-group> |
2111 | </trans-unit><trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf" datatype="html"> | 2135 | </trans-unit><trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf" datatype="html"> |
2112 | <source>Report this video</source> | 2136 | <source>Report this video</source> |
2113 | <context-group purpose="location"> | 2137 | <context-group purpose="location"> |
2114 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2138 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2115 | <context context-type="linenumber">87</context> | 2139 | <context context-type="linenumber">88</context> |
2116 | </context-group> | 2140 | </context-group> |
2117 | </trans-unit><trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61" datatype="html"> | 2141 | </trans-unit><trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61" datatype="html"> |
2118 | <source>Blacklist</source> | 2142 | <source>Blacklist</source> |
2119 | <context-group purpose="location"> | 2143 | <context-group purpose="location"> |
2120 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2144 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2121 | <context context-type="linenumber">94</context> | 2145 | <context context-type="linenumber">95</context> |
2122 | </context-group> | 2146 | </context-group> |
2123 | </trans-unit><trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037" datatype="html"> | 2147 | </trans-unit><trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037" datatype="html"> |
2124 | <source>Blacklist this video</source> | 2148 | <source>Blacklist this video</source> |
2125 | <context-group purpose="location"> | 2149 | <context-group purpose="location"> |
2126 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2150 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2127 | <context context-type="linenumber">93</context> | 2151 | <context context-type="linenumber">94</context> |
2128 | </context-group> | 2152 | </context-group> |
2129 | </trans-unit><trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1" datatype="html"> | 2153 | </trans-unit><trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1" datatype="html"> |
2130 | <source>Update this video</source> | 2154 | <source>Update this video</source> |
2131 | <context-group purpose="location"> | 2155 | <context-group purpose="location"> |
2132 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2156 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2133 | <context context-type="linenumber">99</context> | 2157 | <context context-type="linenumber">100</context> |
2134 | </context-group> | 2158 | </context-group> |
2135 | </trans-unit><trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5" datatype="html"> | 2159 | </trans-unit><trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5" datatype="html"> |
2136 | <source>Delete this video</source> | 2160 | <source>Delete this video</source> |
2137 | <context-group purpose="location"> | 2161 | <context-group purpose="location"> |
2138 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2162 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2139 | <context context-type="linenumber">105</context> | 2163 | <context context-type="linenumber">106</context> |
2140 | </context-group> | 2164 | </context-group> |
2141 | </trans-unit><trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b" datatype="html"> | 2165 | </trans-unit><trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b" datatype="html"> |
2142 | <source>Show more</source> | 2166 | <source>Show more</source> |
2143 | <context-group purpose="location"> | 2167 | <context-group purpose="location"> |
2144 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2168 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2145 | <context context-type="linenumber">125</context> | 2169 | <context context-type="linenumber">126</context> |
2146 | </context-group> | 2170 | </context-group> |
2147 | </trans-unit><trans-unit id="5403a767248e304199592271bba3366d2ca3f903" datatype="html"> | 2171 | </trans-unit><trans-unit id="5403a767248e304199592271bba3366d2ca3f903" datatype="html"> |
2148 | <source>Show less</source> | 2172 | <source>Show less</source> |
2149 | <context-group purpose="location"> | 2173 | <context-group purpose="location"> |
2150 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2174 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2151 | <context context-type="linenumber">131</context> | 2175 | <context context-type="linenumber">132</context> |
2152 | </context-group> | 2176 | </context-group> |
2153 | </trans-unit><trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1" datatype="html"> | 2177 | </trans-unit><trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1" datatype="html"> |
2154 | <source> | 2178 | <source> |
@@ -2156,13 +2180,13 @@ When you will upload a video in this channel, the video support field will be au | |||
2156 | </source> | 2180 | </source> |
2157 | <context-group purpose="location"> | 2181 | <context-group purpose="location"> |
2158 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2182 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2159 | <context context-type="linenumber">182</context> | 2183 | <context context-type="linenumber">183</context> |
2160 | </context-group> | 2184 | </context-group> |
2161 | </trans-unit><trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c" datatype="html"> | 2185 | </trans-unit><trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c" datatype="html"> |
2162 | <source>Friendly Reminder:</source> | 2186 | <source>Friendly Reminder:</source> |
2163 | <context-group purpose="location"> | 2187 | <context-group purpose="location"> |
2164 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2188 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2165 | <context context-type="linenumber">194</context> | 2189 | <context context-type="linenumber">195</context> |
2166 | </context-group> | 2190 | </context-group> |
2167 | </trans-unit><trans-unit id="329900dd14bc4ca33cec3775d25c246e4cde7867" datatype="html"> | 2191 | </trans-unit><trans-unit id="329900dd14bc4ca33cec3775d25c246e4cde7867" datatype="html"> |
2168 | <source> | 2192 | <source> |
@@ -2170,19 +2194,19 @@ When you will upload a video in this channel, the video support field will be au | |||
2170 | </source> | 2194 | </source> |
2171 | <context-group purpose="location"> | 2195 | <context-group purpose="location"> |
2172 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2196 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2173 | <context context-type="linenumber">196</context> | 2197 | <context context-type="linenumber">197</context> |
2174 | </context-group> | 2198 | </context-group> |
2175 | </trans-unit><trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html"> | 2199 | </trans-unit><trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e" datatype="html"> |
2176 | <source>More information</source> | 2200 | <source>More information</source> |
2177 | <context-group purpose="location"> | 2201 | <context-group purpose="location"> |
2178 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2202 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2179 | <context context-type="linenumber">199</context> | 2203 | <context context-type="linenumber">200</context> |
2180 | </context-group> | 2204 | </context-group> |
2181 | </trans-unit><trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318" datatype="html"> | 2205 | </trans-unit><trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318" datatype="html"> |
2182 | <source>Get more information</source> | 2206 | <source>Get more information</source> |
2183 | <context-group purpose="location"> | 2207 | <context-group purpose="location"> |
2184 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2208 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2185 | <context context-type="linenumber">199</context> | 2209 | <context context-type="linenumber">200</context> |
2186 | </context-group> | 2210 | </context-group> |
2187 | </trans-unit><trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f" datatype="html"> | 2211 | </trans-unit><trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f" datatype="html"> |
2188 | <source> | 2212 | <source> |
@@ -2190,7 +2214,7 @@ When you will upload a video in this channel, the video support field will be au | |||
2190 | </source> | 2214 | </source> |
2191 | <context-group purpose="location"> | 2215 | <context-group purpose="location"> |
2192 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> | 2216 | <context context-type="sourcefile">app/videos/+video-watch/video-watch.component.ts</context> |
2193 | <context context-type="linenumber">202</context> | 2217 | <context context-type="linenumber">203</context> |
2194 | </context-group> | 2218 | </context-group> |
2195 | </trans-unit><trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7" datatype="html"> | 2219 | </trans-unit><trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7" datatype="html"> |
2196 | <source> | 2220 | <source> |
@@ -3294,6 +3318,13 @@ When you will upload a video in this channel, the video support field will be au | |||
3294 | <context context-type="linenumber">1</context> | 3318 | <context context-type="linenumber">1</context> |
3295 | </context-group> | 3319 | </context-group> |
3296 | </trans-unit> | 3320 | </trans-unit> |
3321 | <trans-unit id="4a3ebc6ddb6b6677aed7b04eb503f9ddd0cfe561" datatype="html"> | ||
3322 | <source>You must to agree with the instance terms in order to registering on it.</source> | ||
3323 | <context-group purpose="location"> | ||
3324 | <context context-type="sourcefile">src/app/shared/forms/form-validators/user-validators.service.ts</context> | ||
3325 | <context context-type="linenumber">1</context> | ||
3326 | </context-group> | ||
3327 | </trans-unit> | ||
3297 | <trans-unit id="b3cf1889d2fdd6b15e697c270c9b80772fe2cae6" datatype="html"> | 3328 | <trans-unit id="b3cf1889d2fdd6b15e697c270c9b80772fe2cae6" datatype="html"> |
3298 | <source>Report reason is required.</source> | 3329 | <source>Report reason is required.</source> |
3299 | <context-group purpose="location"> | 3330 | <context-group purpose="location"> |
diff --git a/client/src/locale/target/angular_ca_ES.xml b/client/src/locale/target/angular_ca_ES.xml index 278df2696..d0be071d3 100644 --- a/client/src/locale/target/angular_ca_ES.xml +++ b/client/src/locale/target/angular_ca_ES.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Cancel·la | 11 | Cancel·la |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Obtenir ajuda</target> | 47 | <target>Obtenir ajuda</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -106,7 +106,7 @@ | |||
106 | <source>Password</source> | 106 | <source>Password</source> |
107 | <target>Contrasenya</target> | 107 | <target>Contrasenya</target> |
108 | <context-group name="null"> | 108 | <context-group name="null"> |
109 | <context context-type="linenumber">28</context> | 109 | <context context-type="linenumber">12</context> |
110 | </context-group> | 110 | </context-group> |
111 | </trans-unit> | 111 | </trans-unit> |
112 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 112 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -329,6 +329,27 @@ | |||
329 | <context context-type="linenumber">9</context> | 329 | <context context-type="linenumber">9</context> |
330 | </context-group> | 330 | </context-group> |
331 | </trans-unit> | 331 | </trans-unit> |
332 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
333 | <source>Category</source> | ||
334 | <target>Categoria</target> | ||
335 | <context-group name="null"> | ||
336 | <context context-type="linenumber">144</context> | ||
337 | </context-group> | ||
338 | </trans-unit> | ||
339 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
340 | <source>Licence</source> | ||
341 | <target>Llicència</target> | ||
342 | <context-group name="null"> | ||
343 | <context context-type="linenumber">153</context> | ||
344 | </context-group> | ||
345 | </trans-unit> | ||
346 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
347 | <source>Language</source> | ||
348 | <target>Llengua</target> | ||
349 | <context-group name="null"> | ||
350 | <context context-type="linenumber">162</context> | ||
351 | </context-group> | ||
352 | </trans-unit> | ||
332 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 353 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
333 | <source>No results.</source> | 354 | <source>No results.</source> |
334 | <target>Sense resultats.</target> | 355 | <target>Sense resultats.</target> |
@@ -553,21 +574,6 @@ | |||
553 | <context context-type="linenumber">51</context> | 574 | <context context-type="linenumber">51</context> |
554 | </context-group> | 575 | </context-group> |
555 | </trans-unit> | 576 | </trans-unit> |
556 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
557 | <source> | ||
558 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
559 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
560 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
561 | </source> | ||
562 | <target> | ||
563 | Els seguidors del lloc web no s'envien directament: perquè utilitzem WebRTC dins del navegador web, el protocol és diferent al de BitTorrent clàssic. | ||
564 | Quan et trobes en un navegador web, envia una senyal al rastrejador que conté la teva adreça IP, que seleccionarà aleatòriament altres punts per a reenviar la informació. | ||
565 | Veure <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>aquest document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> per a més informació | ||
566 | </target> | ||
567 | <context-group name="null"> | ||
568 | <context context-type="linenumber">55</context> | ||
569 | </context-group> | ||
570 | </trans-unit> | ||
571 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 577 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
572 | <source> | 578 | <source> |
573 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 579 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -581,13 +587,6 @@ | |||
581 | <context context-type="linenumber">62</context> | 587 | <context context-type="linenumber">62</context> |
582 | </context-group> | 588 | </context-group> |
583 | </trans-unit> | 589 | </trans-unit> |
584 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
585 | <source>How does PeerTube compares to YouTube?</source> | ||
586 | <target>Com es compara PeerTube amb YouTube?</target> | ||
587 | <context-group name="null"> | ||
588 | <context context-type="linenumber">67</context> | ||
589 | </context-group> | ||
590 | </trans-unit> | ||
591 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 590 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
592 | <source> | 591 | <source> |
593 | The threats to privacy in YouTube are different from PeerTube's. | 592 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -803,42 +802,42 @@ | |||
803 | <source>Signup enabled</source> | 802 | <source>Signup enabled</source> |
804 | <target>Registre activat</target> | 803 | <target>Registre activat</target> |
805 | <context-group name="null"> | 804 | <context-group name="null"> |
806 | <context context-type="linenumber">92</context> | 805 | <context context-type="linenumber">90</context> |
807 | </context-group> | 806 | </context-group> |
808 | </trans-unit> | 807 | </trans-unit> |
809 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 808 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
810 | <source>Signup limit</source> | 809 | <source>Signup limit</source> |
811 | <target>Limit de registres</target> | 810 | <target>Limit de registres</target> |
812 | <context-group name="null"> | 811 | <context-group name="null"> |
813 | <context context-type="linenumber">96</context> | 812 | <context context-type="linenumber">94</context> |
814 | </context-group> | 813 | </context-group> |
815 | </trans-unit> | 814 | </trans-unit> |
816 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 815 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
817 | <source>Administrator</source> | 816 | <source>Administrator</source> |
818 | <target>Administrador</target> | 817 | <target>Administrador</target> |
819 | <context-group name="null"> | 818 | <context-group name="null"> |
820 | <context context-type="linenumber">106</context> | 819 | <context context-type="linenumber">104</context> |
821 | </context-group> | 820 | </context-group> |
822 | </trans-unit> | 821 | </trans-unit> |
823 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 822 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
824 | <source>Admin email</source> | 823 | <source>Admin email</source> |
825 | <target>Correu del Administrador</target> | 824 | <target>Correu del Administrador</target> |
826 | <context-group name="null"> | 825 | <context-group name="null"> |
827 | <context context-type="linenumber">109</context> | 826 | <context context-type="linenumber">107</context> |
828 | </context-group> | 827 | </context-group> |
829 | </trans-unit> | 828 | </trans-unit> |
830 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 829 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
831 | <source>Users</source> | 830 | <source>Users</source> |
832 | <target>Usuaris</target> | 831 | <target>Usuaris</target> |
833 | <context-group name="null"> | 832 | <context-group name="null"> |
834 | <context context-type="linenumber">119</context> | 833 | <context context-type="linenumber">117</context> |
835 | </context-group> | 834 | </context-group> |
836 | </trans-unit> | 835 | </trans-unit> |
837 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 836 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
838 | <source>User default video quota</source> | 837 | <source>User default video quota</source> |
839 | <target>Quota de vídeo per defecte de l'usuari</target> | 838 | <target>Quota de vídeo per defecte de l'usuari</target> |
840 | <context-group name="null"> | 839 | <context-group name="null"> |
841 | <context context-type="linenumber">122</context> | 840 | <context context-type="linenumber">120</context> |
842 | </context-group> | 841 | </context-group> |
843 | </trans-unit> | 842 | </trans-unit> |
844 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 843 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -852,28 +851,28 @@ | |||
852 | <source>Twitter</source> | 851 | <source>Twitter</source> |
853 | <target>Twitter</target> | 852 | <target>Twitter</target> |
854 | <context-group name="null"> | 853 | <context-group name="null"> |
855 | <context context-type="linenumber">138</context> | 854 | <context context-type="linenumber">136</context> |
856 | </context-group> | 855 | </context-group> |
857 | </trans-unit> | 856 | </trans-unit> |
858 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 857 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
859 | <source>Your Twitter username</source> | 858 | <source>Your Twitter username</source> |
860 | <target>El teu nom d'usuari de Twitter</target> | 859 | <target>El teu nom d'usuari de Twitter</target> |
861 | <context-group name="null"> | 860 | <context-group name="null"> |
862 | <context context-type="linenumber">141</context> | 861 | <context context-type="linenumber">139</context> |
863 | </context-group> | 862 | </context-group> |
864 | </trans-unit> | 863 | </trans-unit> |
865 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 864 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
866 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 865 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
867 | <target>Indica el compte de Twitter del lloc web o plataforma en què es va publicar el contingut.</target> | 866 | <target>Indica el compte de Twitter del lloc web o plataforma en què es va publicar el contingut.</target> |
868 | <context-group name="null"> | 867 | <context-group name="null"> |
869 | <context context-type="linenumber">144</context> | 868 | <context context-type="linenumber">142</context> |
870 | </context-group> | 869 | </context-group> |
871 | </trans-unit> | 870 | </trans-unit> |
872 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 871 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
873 | <source>Instance whitelisted by Twitter</source> | 872 | <source>Instance whitelisted by Twitter</source> |
874 | <target>Instància a la llista blanca de Twitter</target> | 873 | <target>Instància a la llista blanca de Twitter</target> |
875 | <context-group name="null"> | 874 | <context-group name="null"> |
876 | <context context-type="linenumber">159</context> | 875 | <context context-type="linenumber">155</context> |
877 | </context-group> | 876 | </context-group> |
878 | </trans-unit> | 877 | </trans-unit> |
879 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 878 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -884,91 +883,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
884 | Si la instància no es troba a la llista blanca, utilitzem una targeta d'enllaç d'imatge que redirigirà a la teva instància de PeerTube.<br /><br /> | 883 | Si la instància no es troba a la llista blanca, utilitzem una targeta d'enllaç d'imatge que redirigirà a la teva instància de PeerTube.<br /><br /> |
885 | Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la teva instància (https://exemple.com/videos/veure/exemple) a <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> per comprovar si la teva instància és a la llista blanca.</target> | 884 | Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la teva instància (https://exemple.com/videos/veure/exemple) a <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> per comprovar si la teva instància és a la llista blanca.</target> |
886 | <context-group name="null"> | 885 | <context-group name="null"> |
887 | <context context-type="linenumber">162</context> | 886 | <context context-type="linenumber">156</context> |
888 | </context-group> | 887 | </context-group> |
889 | </trans-unit> | 888 | </trans-unit> |
890 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 889 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
891 | <source>Services</source> | 890 | <source>Services</source> |
892 | <target>Serveis</target> | 891 | <target>Serveis</target> |
893 | <context-group name="null"> | 892 | <context-group name="null"> |
894 | <context context-type="linenumber">136</context> | 893 | <context context-type="linenumber">134</context> |
895 | </context-group> | 894 | </context-group> |
896 | </trans-unit> | 895 | </trans-unit> |
897 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 896 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
898 | <source>Transcoding</source> | 897 | <source>Transcoding</source> |
899 | <target>Transcodificació</target> | 898 | <target>Transcodificació</target> |
900 | <context-group name="null"> | 899 | <context-group name="null"> |
901 | <context context-type="linenumber">172</context> | 900 | <context context-type="linenumber">164</context> |
902 | </context-group> | 901 | </context-group> |
903 | </trans-unit> | 902 | </trans-unit> |
904 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 903 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
905 | <source>Transcoding enabled</source> | 904 | <source>Transcoding enabled</source> |
906 | <target>Transcodificació activada</target> | 905 | <target>Transcodificació activada</target> |
907 | <context-group name="null"> | 906 | <context-group name="null"> |
908 | <context context-type="linenumber">178</context> | 907 | <context context-type="linenumber">168</context> |
909 | </context-group> | 908 | </context-group> |
910 | </trans-unit> | 909 | </trans-unit> |
911 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 910 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
912 | <source>If you disable transcoding, many videos from your users will not work!</source> | 911 | <source>If you disable transcoding, many videos from your users will not work!</source> |
913 | <target>Si desactives la transcodificació, molts vídeos dels teus usuaris no funcionaran.</target> | 912 | <target>Si desactives la transcodificació, molts vídeos dels teus usuaris no funcionaran.</target> |
914 | <context-group name="null"> | 913 | <context-group name="null"> |
915 | <context context-type="linenumber">180</context> | 914 | <context context-type="linenumber">169</context> |
916 | </context-group> | 915 | </context-group> |
917 | </trans-unit> | 916 | </trans-unit> |
918 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 917 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
919 | <source>Transcoding threads</source> | 918 | <source>Transcoding threads</source> |
920 | <target>Subprocessos per la transcodificació</target> | 919 | <target>Subprocessos per la transcodificació</target> |
921 | <context-group name="null"> | 920 | <context-group name="null"> |
922 | <context context-type="linenumber">186</context> | 921 | <context context-type="linenumber">175</context> |
923 | </context-group> | ||
924 | </trans-unit> | ||
925 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
926 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
927 | <target>Resolució <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> activada</target> | ||
928 | <context-group name="null"> | ||
929 | <context context-type="linenumber">205</context> | ||
930 | </context-group> | ||
931 | </trans-unit> | ||
932 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
933 | <source>Cache</source> | ||
934 | <target>Memòria cau</target> | ||
935 | <context-group name="null"> | ||
936 | <context context-type="linenumber">209</context> | ||
937 | </context-group> | 922 | </context-group> |
938 | </trans-unit> | 923 | </trans-unit> |
939 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 924 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
940 | <source>Previews cache size</source> | 925 | <source>Previews cache size</source> |
941 | <target>Memòria cau per a visualitzacions prèvies</target> | 926 | <target>Memòria cau per a visualitzacions prèvies</target> |
942 | <context-group name="null"> | 927 | <context-group name="null"> |
943 | <context context-type="linenumber">212</context> | 928 | <context context-type="linenumber">207</context> |
944 | </context-group> | ||
945 | </trans-unit> | ||
946 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
947 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
948 | <target>Les visualitzacions prèvies no estan federades. Les obtenim directament des de la instància d'origen i les emmagatzemem en la memòria cau.</target> | ||
949 | <context-group name="null"> | ||
950 | <context context-type="linenumber">215</context> | ||
951 | </context-group> | 929 | </context-group> |
952 | </trans-unit> | 930 | </trans-unit> |
953 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 931 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
954 | <source>Customizations</source> | 932 | <source>Customizations</source> |
955 | <target>Personalitzacions</target> | 933 | <target>Personalitzacions</target> |
956 | <context-group name="null"> | 934 | <context-group name="null"> |
957 | <context context-type="linenumber">227</context> | 935 | <context context-type="linenumber">228</context> |
958 | </context-group> | 936 | </context-group> |
959 | </trans-unit> | 937 | </trans-unit> |
960 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 938 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
961 | <source>JavaScript</source> | 939 | <source>JavaScript</source> |
962 | <target>JavaScript</target> | 940 | <target>JavaScript</target> |
963 | <context-group name="null"> | 941 | <context-group name="null"> |
964 | <context context-type="linenumber">230</context> | 942 | <context context-type="linenumber">231</context> |
965 | </context-group> | 943 | </context-group> |
966 | </trans-unit> | 944 | </trans-unit> |
967 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 945 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
968 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 946 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
969 | <target>Escriu directament el codi JavaScript.<br />Exemple: <pre>console.log('la meva instància és sorprenent');</pre></target> | 947 | <target>Escriu directament el codi JavaScript.<br />Exemple: <pre>console.log('la meva instància és sorprenent');</pre></target> |
970 | <context-group name="null"> | 948 | <context-group name="null"> |
971 | <context context-type="linenumber">233</context> | 949 | <context context-type="linenumber">234</context> |
972 | </context-group> | 950 | </context-group> |
973 | </trans-unit> | 951 | </trans-unit> |
974 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 952 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -1003,28 +981,28 @@ Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la | |||
1003 | </pre> | 981 | </pre> |
1004 | </target> | 982 | </target> |
1005 | <context-group name="null"> | 983 | <context-group name="null"> |
1006 | <context context-type="linenumber">249</context> | 984 | <context context-type="linenumber">250</context> |
1007 | </context-group> | 985 | </context-group> |
1008 | </trans-unit> | 986 | </trans-unit> |
1009 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 987 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1010 | <source>Advanced configuration</source> | 988 | <source>Advanced configuration</source> |
1011 | <target>Configuració avançada</target> | 989 | <target>Configuració avançada</target> |
1012 | <context-group name="null"> | 990 | <context-group name="null"> |
1013 | <context context-type="linenumber">170</context> | 991 | <context context-type="linenumber">162</context> |
1014 | </context-group> | 992 | </context-group> |
1015 | </trans-unit> | 993 | </trans-unit> |
1016 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 994 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1017 | <source>Update configuration</source> | 995 | <source>Update configuration</source> |
1018 | <target>Actualitza la configuració</target> | 996 | <target>Actualitza la configuració</target> |
1019 | <context-group name="null"> | 997 | <context-group name="null"> |
1020 | <context context-type="linenumber">276</context> | 998 | <context context-type="linenumber">277</context> |
1021 | </context-group> | 999 | </context-group> |
1022 | </trans-unit> | 1000 | </trans-unit> |
1023 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 1001 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1024 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 1002 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1025 | <target>Sembla que la configuració no és vàlida. Cerca possibles errors a les diferents pestanyes.</target> | 1003 | <target>Sembla que la configuració no és vàlida. Cerca possibles errors a les diferents pestanyes.</target> |
1026 | <context-group name="null"> | 1004 | <context-group name="null"> |
1027 | <context context-type="linenumber">277</context> | 1005 | <context context-type="linenumber">278</context> |
1028 | </context-group> | 1006 | </context-group> |
1029 | </trans-unit> | 1007 | </trans-unit> |
1030 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1008 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1174,13 +1152,6 @@ Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la | |||
1174 | <context context-type="linenumber">19</context> | 1152 | <context context-type="linenumber">19</context> |
1175 | </context-group> | 1153 | </context-group> |
1176 | </trans-unit> | 1154 | </trans-unit> |
1177 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1178 | <source>Updated</source> | ||
1179 | <target>Actualitzat</target> | ||
1180 | <context-group name="null"> | ||
1181 | <context context-type="linenumber">22</context> | ||
1182 | </context-group> | ||
1183 | </trans-unit> | ||
1184 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1155 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1185 | <source>Create user</source> | 1156 | <source>Create user</source> |
1186 | <target>Afegir usuari</target> | 1157 | <target>Afegir usuari</target> |
@@ -1355,53 +1326,32 @@ Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la | |||
1355 | <context context-type="linenumber">7</context> | 1326 | <context context-type="linenumber">7</context> |
1356 | </context-group> | 1327 | </context-group> |
1357 | </trans-unit> | 1328 | </trans-unit> |
1358 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1359 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1360 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscriptors</target> | ||
1361 | <context-group name="null"> | ||
1362 | <context context-type="linenumber">9</context> | ||
1363 | </context-group> | ||
1364 | </trans-unit> | ||
1365 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1366 | <source>Change your avatar</source> | ||
1367 | <target>Canvia el teu avatar</target> | ||
1368 | <context-group name="null"> | ||
1369 | <context context-type="linenumber">14</context> | ||
1370 | </context-group> | ||
1371 | </trans-unit> | ||
1372 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1373 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1374 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, mida màxima: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1375 | <context-group name="null"> | ||
1376 | <context context-type="linenumber">17</context> | ||
1377 | </context-group> | ||
1378 | </trans-unit> | ||
1379 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1329 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1380 | <source>Video quota:</source> | 1330 | <source>Video quota:</source> |
1381 | <target>Quota de vídeo:</target> | 1331 | <target>Quota de vídeo:</target> |
1382 | <context-group name="null"> | 1332 | <context-group name="null"> |
1383 | <context context-type="linenumber">20</context> | 1333 | <context context-type="linenumber">4</context> |
1384 | </context-group> | 1334 | </context-group> |
1385 | </trans-unit> | 1335 | </trans-unit> |
1386 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1336 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1387 | <source>Profile</source> | 1337 | <source>Profile</source> |
1388 | <target>Perfil</target> | 1338 | <target>Perfil</target> |
1389 | <context-group name="null"> | 1339 | <context-group name="null"> |
1390 | <context context-type="linenumber">24</context> | 1340 | <context context-type="linenumber">8</context> |
1391 | </context-group> | 1341 | </context-group> |
1392 | </trans-unit> | 1342 | </trans-unit> |
1393 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1343 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1394 | <source>Video settings</source> | 1344 | <source>Video settings</source> |
1395 | <target>Ajustos de vídeo</target> | 1345 | <target>Ajustos de vídeo</target> |
1396 | <context-group name="null"> | 1346 | <context-group name="null"> |
1397 | <context context-type="linenumber">31</context> | 1347 | <context context-type="linenumber">15</context> |
1398 | </context-group> | 1348 | </context-group> |
1399 | </trans-unit> | 1349 | </trans-unit> |
1400 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1350 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1401 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1351 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1402 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions</target> | 1352 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions</target> |
1403 | <context-group name="null"> | 1353 | <context-group name="null"> |
1404 | <context context-type="linenumber">20</context> | 1354 | <context context-type="linenumber">19</context> |
1405 | </context-group> | 1355 | </context-group> |
1406 | </trans-unit> | 1356 | </trans-unit> |
1407 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1357 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1429,14 +1379,7 @@ Marca aquesta casella, desa la configuració i prova amb una URL de vídeo de la | |||
1429 | <source>Create a video channel</source> | 1379 | <source>Create a video channel</source> |
1430 | <target>Crea un canal de vídeo</target> | 1380 | <target>Crea un canal de vídeo</target> |
1431 | <context-group name="null"> | 1381 | <context-group name="null"> |
1432 | <context context-type="linenumber">1</context> | 1382 | <context context-type="linenumber">6</context> |
1433 | </context-group> | ||
1434 | </trans-unit> | ||
1435 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1436 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1437 | <target>Actualitza <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1438 | <context-group name="null"> | ||
1439 | <context context-type="linenumber">2</context> | ||
1440 | </context-group> | 1383 | </context-group> |
1441 | </trans-unit> | 1384 | </trans-unit> |
1442 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1385 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1452,7 +1395,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1452 | <target>Text breu per dir a la gent com poden donar suport al teu canal (plataforma de pertinença ...).S<br /><br /> | 1395 | <target>Text breu per dir a la gent com poden donar suport al teu canal (plataforma de pertinença ...).S<br /><br /> |
1453 | Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplirà automàticament amb aquest text.</target> | 1396 | Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplirà automàticament amb aquest text.</target> |
1454 | <context-group name="null"> | 1397 | <context-group name="null"> |
1455 | <context context-type="linenumber">32</context> | 1398 | <context context-type="linenumber">36</context> |
1456 | </context-group> | 1399 | </context-group> |
1457 | </trans-unit> | 1400 | </trans-unit> |
1458 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1401 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1487,14 +1430,14 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1487 | <source>Automatically plays video</source> | 1430 | <source>Automatically plays video</source> |
1488 | <target>Reprodueix vídeo automàticament</target> | 1431 | <target>Reprodueix vídeo automàticament</target> |
1489 | <context-group name="null"> | 1432 | <context-group name="null"> |
1490 | <context context-type="linenumber">24</context> | 1433 | <context context-type="linenumber">20</context> |
1491 | </context-group> | 1434 | </context-group> |
1492 | </trans-unit> | 1435 | </trans-unit> |
1493 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1436 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1494 | <source>Save</source> | 1437 | <source>Save</source> |
1495 | <target>Desa</target> | 1438 | <target>Desa</target> |
1496 | <context-group name="null"> | 1439 | <context-group name="null"> |
1497 | <context context-type="linenumber">27</context> | 1440 | <context context-type="linenumber">23</context> |
1498 | </context-group> | 1441 | </context-group> |
1499 | </trans-unit> | 1442 | </trans-unit> |
1500 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1443 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1504,6 +1447,13 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1504 | <context context-type="linenumber">27</context> | 1447 | <context context-type="linenumber">27</context> |
1505 | </context-group> | 1448 | </context-group> |
1506 | </trans-unit> | 1449 | </trans-unit> |
1450 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1451 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1452 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, mida màxima: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1453 | <context-group name="null"> | ||
1454 | <context context-type="linenumber">18</context> | ||
1455 | </context-group> | ||
1456 | </trans-unit> | ||
1507 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1457 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1508 | <source> | 1458 | <source> |
1509 | Sorry, but we couldn't find the page you were looking for. | 1459 | Sorry, but we couldn't find the page you were looking for. |
@@ -1575,21 +1525,21 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1575 | <source>Privacy</source> | 1525 | <source>Privacy</source> |
1576 | <target>Privacitat</target> | 1526 | <target>Privacitat</target> |
1577 | <context-group name="null"> | 1527 | <context-group name="null"> |
1578 | <context context-type="linenumber">86</context> | 1528 | <context context-type="linenumber">139</context> |
1579 | </context-group> | 1529 | </context-group> |
1580 | </trans-unit> | 1530 | </trans-unit> |
1581 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1531 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1582 | <source>Publish will be available when upload is finished</source> | 1532 | <source>Publish will be available when upload is finished</source> |
1583 | <target>La publicació estarà disponible quan finalitzi la càrrega</target> | 1533 | <target>La publicació estarà disponible quan finalitzi la càrrega</target> |
1584 | <context-group name="null"> | 1534 | <context-group name="null"> |
1585 | <context context-type="linenumber">53</context> | 1535 | <context context-type="linenumber">54</context> |
1586 | </context-group> | 1536 | </context-group> |
1587 | </trans-unit> | 1537 | </trans-unit> |
1588 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1538 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1589 | <source>Publish</source> | 1539 | <source>Publish</source> |
1590 | <target>Publica</target> | 1540 | <target>Publica</target> |
1591 | <context-group name="null"> | 1541 | <context-group name="null"> |
1592 | <context context-type="linenumber">60</context> | 1542 | <context context-type="linenumber">61</context> |
1593 | </context-group> | 1543 | </context-group> |
1594 | </trans-unit> | 1544 | </trans-unit> |
1595 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1545 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1603,7 +1553,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1603 | <source>Tags</source> | 1553 | <source>Tags</source> |
1604 | <target>Etiquetes</target> | 1554 | <target>Etiquetes</target> |
1605 | <context-group name="null"> | 1555 | <context-group name="null"> |
1606 | <context context-type="linenumber">15</context> | 1556 | <context context-type="linenumber">171</context> |
1607 | </context-group> | 1557 | </context-group> |
1608 | </trans-unit> | 1558 | </trans-unit> |
1609 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1559 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1620,27 +1570,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1620 | <context context-type="linenumber">24</context> | 1570 | <context context-type="linenumber">24</context> |
1621 | </context-group> | 1571 | </context-group> |
1622 | </trans-unit> | 1572 | </trans-unit> |
1623 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1624 | <source>Category</source> | ||
1625 | <target>Categoria</target> | ||
1626 | <context-group name="null"> | ||
1627 | <context context-type="linenumber">44</context> | ||
1628 | </context-group> | ||
1629 | </trans-unit> | ||
1630 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1631 | <source>Licence</source> | ||
1632 | <target>Llicència</target> | ||
1633 | <context-group name="null"> | ||
1634 | <context context-type="linenumber">58</context> | ||
1635 | </context-group> | ||
1636 | </trans-unit> | ||
1637 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1638 | <source>Language</source> | ||
1639 | <target>Llengua</target> | ||
1640 | <context-group name="null"> | ||
1641 | <context context-type="linenumber">72</context> | ||
1642 | </context-group> | ||
1643 | </trans-unit> | ||
1644 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1573 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1645 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1574 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1646 | <target>Programa la publicació (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1575 | <target>Programa la publicació (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1652,35 +1581,28 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1652 | <source>This video contains mature or explicit content</source> | 1581 | <source>This video contains mature or explicit content</source> |
1653 | <target>Aquest vídeo conté contingut madur o explícit</target> | 1582 | <target>Aquest vídeo conté contingut madur o explícit</target> |
1654 | <context-group name="null"> | 1583 | <context-group name="null"> |
1655 | <context context-type="linenumber">116</context> | 1584 | <context context-type="linenumber">115</context> |
1656 | </context-group> | 1585 | </context-group> |
1657 | </trans-unit> | 1586 | </trans-unit> |
1658 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1587 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1659 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1588 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1660 | <target>Alguns instàncies, de manera determinada, no mostren els vídeos que contenen contingut madur o explícit.</target> | 1589 | <target>Alguns instàncies, de manera determinada, no mostren els vídeos que contenen contingut madur o explícit.</target> |
1661 | <context-group name="null"> | 1590 | <context-group name="null"> |
1662 | <context context-type="linenumber">119</context> | 1591 | <context context-type="linenumber">116</context> |
1663 | </context-group> | 1592 | </context-group> |
1664 | </trans-unit> | 1593 | </trans-unit> |
1665 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1594 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1666 | <source>Enable video comments</source> | 1595 | <source>Enable video comments</source> |
1667 | <target>Activa els comentaris de vídeo</target> | 1596 | <target>Activa els comentaris de vídeo</target> |
1668 | <context-group name="null"> | 1597 | <context-group name="null"> |
1669 | <context context-type="linenumber">126</context> | 1598 | <context context-type="linenumber">121</context> |
1670 | </context-group> | 1599 | </context-group> |
1671 | </trans-unit> | 1600 | </trans-unit> |
1672 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1601 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1673 | <source>Wait transcoding before publishing the video</source> | 1602 | <source>Wait transcoding before publishing the video</source> |
1674 | <target>Espera la transcodificació abans de publicar el vídeo</target> | 1603 | <target>Espera la transcodificació abans de publicar el vídeo</target> |
1675 | <context-group name="null"> | 1604 | <context-group name="null"> |
1676 | <context context-type="linenumber">132</context> | 1605 | <context context-type="linenumber">126</context> |
1677 | </context-group> | ||
1678 | </trans-unit> | ||
1679 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1680 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1681 | <target>Si decideixes no esperar la transcodificació abans de publicar el vídeo, no es podrà reproduir fins que no finalitzi.</target> | ||
1682 | <context-group name="null"> | ||
1683 | <context context-type="linenumber">135</context> | ||
1684 | </context-group> | 1606 | </context-group> |
1685 | </trans-unit> | 1607 | </trans-unit> |
1686 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1608 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1694,42 +1616,35 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1694 | <source>Upload thumbnail</source> | 1616 | <source>Upload thumbnail</source> |
1695 | <target>Puja miniatura</target> | 1617 | <target>Puja miniatura</target> |
1696 | <context-group name="null"> | 1618 | <context-group name="null"> |
1697 | <context context-type="linenumber">146</context> | 1619 | <context context-type="linenumber">186</context> |
1698 | </context-group> | 1620 | </context-group> |
1699 | </trans-unit> | 1621 | </trans-unit> |
1700 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1622 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1701 | <source>Upload preview</source> | 1623 | <source>Upload preview</source> |
1702 | <target>Previsualitza la càrrega</target> | 1624 | <target>Previsualitza la càrrega</target> |
1703 | <context-group name="null"> | 1625 | <context-group name="null"> |
1704 | <context context-type="linenumber">153</context> | 1626 | <context context-type="linenumber">193</context> |
1705 | </context-group> | 1627 | </context-group> |
1706 | </trans-unit> | 1628 | </trans-unit> |
1707 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1629 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1708 | <source>Support</source> | 1630 | <source>Support</source> |
1709 | <target>Suporta</target> | 1631 | <target>Suporta</target> |
1710 | <context-group name="null"> | 1632 | <context-group name="null"> |
1711 | <context context-type="linenumber">59</context> | 1633 | <context context-type="linenumber">67</context> |
1712 | </context-group> | 1634 | </context-group> |
1713 | </trans-unit> | 1635 | </trans-unit> |
1714 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1636 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1715 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1637 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1716 | <target>Text breu per dir a la gent com us poden ajudar (plataforma de pertinença ...).</target> | 1638 | <target>Text breu per dir a la gent com us poden ajudar (plataforma de pertinença ...).</target> |
1717 | <context-group name="null"> | 1639 | <context-group name="null"> |
1718 | <context context-type="linenumber">160</context> | 1640 | <context context-type="linenumber">200</context> |
1719 | </context-group> | 1641 | </context-group> |
1720 | </trans-unit> | 1642 | </trans-unit> |
1721 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1643 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1722 | <source>Advanced settings</source> | 1644 | <source>Advanced settings</source> |
1723 | <target>Ajustos avançats</target> | 1645 | <target>Ajustos avançats</target> |
1724 | <context-group name="null"> | 1646 | <context-group name="null"> |
1725 | <context context-type="linenumber">142</context> | 1647 | <context context-type="linenumber">182</context> |
1726 | </context-group> | ||
1727 | </trans-unit> | ||
1728 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1729 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1730 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, mida màxima: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1731 | <context-group name="null"> | ||
1732 | <context context-type="linenumber">11</context> | ||
1733 | </context-group> | 1648 | </context-group> |
1734 | </trans-unit> | 1649 | </trans-unit> |
1735 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1650 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1747,7 +1662,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1747 | <source>Update</source> | 1662 | <source>Update</source> |
1748 | <target>Actualitza</target> | 1663 | <target>Actualitza</target> |
1749 | <context-group name="null"> | 1664 | <context-group name="null"> |
1750 | <context context-type="linenumber">93</context> | 1665 | <context context-type="linenumber">101</context> |
1751 | </context-group> | 1666 | </context-group> |
1752 | </trans-unit> | 1667 | </trans-unit> |
1753 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1668 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1757,32 +1672,18 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1757 | <context context-type="linenumber">7</context> | 1672 | <context context-type="linenumber">7</context> |
1758 | </context-group> | 1673 | </context-group> |
1759 | </trans-unit> | 1674 | </trans-unit> |
1760 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1761 | <source>Torrent</source> | ||
1762 | <target>Torrent</target> | ||
1763 | <context-group name="null"> | ||
1764 | <context context-type="linenumber">20</context> | ||
1765 | </context-group> | ||
1766 | </trans-unit> | ||
1767 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1675 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1768 | <source>Direct download</source> | 1676 | <source>Direct download</source> |
1769 | <target>Descàrrega directe</target> | 1677 | <target>Descàrrega directe</target> |
1770 | <context-group name="null"> | 1678 | <context-group name="null"> |
1771 | <context context-type="linenumber">25</context> | 1679 | <context context-type="linenumber">20</context> |
1772 | </context-group> | ||
1773 | </trans-unit> | ||
1774 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1775 | <source>Torrent (magnet)</source> | ||
1776 | <target>Torrent (magnet)</target> | ||
1777 | <context-group name="null"> | ||
1778 | <context context-type="linenumber">30</context> | ||
1779 | </context-group> | 1680 | </context-group> |
1780 | </trans-unit> | 1681 | </trans-unit> |
1781 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1682 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1782 | <source>Download</source> | 1683 | <source>Download</source> |
1783 | <target>Descàrrega</target> | 1684 | <target>Descàrrega</target> |
1784 | <context-group name="null"> | 1685 | <context-group name="null"> |
1785 | <context context-type="linenumber">75</context> | 1686 | <context context-type="linenumber">83</context> |
1786 | </context-group> | 1687 | </context-group> |
1787 | </trans-unit> | 1688 | </trans-unit> |
1788 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1689 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1821,7 +1722,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1821 | <source>Share</source> | 1722 | <source>Share</source> |
1822 | <target>Comparteix</target> | 1723 | <target>Comparteix</target> |
1823 | <context-group name="null"> | 1724 | <context-group name="null"> |
1824 | <context context-type="linenumber">64</context> | 1725 | <context context-type="linenumber">72</context> |
1825 | </context-group> | 1726 | </context-group> |
1826 | </trans-unit> | 1727 | </trans-unit> |
1827 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1728 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1857,7 +1758,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1857 | El vídeo s'està transcodificant, pot ser que no funcioni correctament. | 1758 | El vídeo s'està transcodificant, pot ser que no funcioni correctament. |
1858 | </target> | 1759 | </target> |
1859 | <context-group name="null"> | 1760 | <context-group name="null"> |
1860 | <context context-type="linenumber">6</context> | 1761 | <context context-type="linenumber">11</context> |
1861 | </context-group> | 1762 | </context-group> |
1862 | </trans-unit> | 1763 | </trans-unit> |
1863 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1764 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1868,7 +1769,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1868 | Aquest vídeo es publicarà en <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1769 | Aquest vídeo es publicarà en <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1869 | </target> | 1770 | </target> |
1870 | <context-group name="null"> | 1771 | <context-group name="null"> |
1871 | <context context-type="linenumber">10</context> | 1772 | <context context-type="linenumber">15</context> |
1872 | </context-group> | 1773 | </context-group> |
1873 | </trans-unit> | 1774 | </trans-unit> |
1874 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1775 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1879,167 +1780,112 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
1879 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions | 1780 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualitzacions |
1880 | </target> | 1781 | </target> |
1881 | <context-group name="null"> | 1782 | <context-group name="null"> |
1882 | <context context-type="linenumber">21</context> | 1783 | <context context-type="linenumber">26</context> |
1883 | </context-group> | 1784 | </context-group> |
1884 | </trans-unit> | 1785 | </trans-unit> |
1885 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1786 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1886 | <source>Go the channel page</source> | 1787 | <source>Go the channel page</source> |
1887 | <target>Anar a la pàgina del canal</target> | 1788 | <target>Anar a la pàgina del canal</target> |
1888 | <context-group name="null"> | 1789 | <context-group name="null"> |
1889 | <context context-type="linenumber">26</context> | 1790 | <context context-type="linenumber">31</context> |
1890 | </context-group> | ||
1891 | </trans-unit> | ||
1892 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1893 | <source>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>.</source> | ||
1894 | <target>Pots subscriu-re''t a aquest compte mitjançant qualsevol instància del fedivers que sigui compatible amb ActivityPub. Per exemple, amb Mastodon o Pleroma, pots escriure en el quadre de cerca <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> i subscriu-re''t allà. S''està treballant en la subscripció com a usuari de PeerTube a <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1895 | <context-group name="null"> | ||
1896 | <context context-type="linenumber">30</context> | ||
1897 | </context-group> | 1791 | </context-group> |
1898 | </trans-unit> | 1792 | </trans-unit> |
1899 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1793 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1900 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1794 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1901 | <target>Per <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1795 | <target>Per <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1902 | <context-group name="null"> | 1796 | <context-group name="null"> |
1903 | <context context-type="linenumber">35</context> | 1797 | <context context-type="linenumber">41</context> |
1904 | </context-group> | 1798 | </context-group> |
1905 | </trans-unit> | 1799 | </trans-unit> |
1906 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1800 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1907 | <source>Go to the account page</source> | 1801 | <source>Go to the account page</source> |
1908 | <target>Anar a la pàgina del compte</target> | 1802 | <target>Anar a la pàgina del compte</target> |
1909 | <context-group name="null"> | 1803 | <context-group name="null"> |
1910 | <context context-type="linenumber">34</context> | 1804 | <context context-type="linenumber">40</context> |
1805 | </context-group> | ||
1806 | </trans-unit> | ||
1807 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1808 | <source>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>.</source> | ||
1809 | <target>Pots subscriu-re''t a aquest compte mitjançant qualsevol instància del fedivers que sigui compatible amb ActivityPub. Per exemple, amb Mastodon o Pleroma, pots escriure en el quadre de cerca <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> i subscriu-re''t allà. S''està treballant en la subscripció com a usuari de PeerTube a <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1810 | <context-group name="null"> | ||
1811 | <context context-type="linenumber">45</context> | ||
1911 | </context-group> | 1812 | </context-group> |
1912 | </trans-unit> | 1813 | </trans-unit> |
1913 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1814 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1914 | <source>Like this video</source> | 1815 | <source>Like this video</source> |
1915 | <target>M'agrada aquest vídeo</target> | 1816 | <target>M'agrada aquest vídeo</target> |
1916 | <context-group name="null"> | 1817 | <context-group name="null"> |
1917 | <context context-type="linenumber">47</context> | 1818 | <context context-type="linenumber">55</context> |
1918 | </context-group> | 1819 | </context-group> |
1919 | </trans-unit> | 1820 | </trans-unit> |
1920 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1821 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1921 | <source>Dislike this video</source> | 1822 | <source>Dislike this video</source> |
1922 | <target>No m'agrada aquest vídeo</target> | 1823 | <target>No m'agrada aquest vídeo</target> |
1923 | <context-group name="null"> | 1824 | <context-group name="null"> |
1924 | <context context-type="linenumber">54</context> | 1825 | <context context-type="linenumber">62</context> |
1925 | </context-group> | 1826 | </context-group> |
1926 | </trans-unit> | 1827 | </trans-unit> |
1927 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1828 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1928 | <source>Download the video</source> | 1829 | <source>Download the video</source> |
1929 | <target>Descarrega el vídeo</target> | 1830 | <target>Descarrega el vídeo</target> |
1930 | <context-group name="null"> | 1831 | <context-group name="null"> |
1931 | <context context-type="linenumber">74</context> | 1832 | <context context-type="linenumber">82</context> |
1932 | </context-group> | 1833 | </context-group> |
1933 | </trans-unit> | 1834 | </trans-unit> |
1934 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1835 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1935 | <source>Report</source> | 1836 | <source>Report</source> |
1936 | <target>Reporta</target> | 1837 | <target>Reporta</target> |
1937 | <context-group name="null"> | 1838 | <context-group name="null"> |
1938 | <context context-type="linenumber">81</context> | 1839 | <context context-type="linenumber">89</context> |
1939 | </context-group> | 1840 | </context-group> |
1940 | </trans-unit> | 1841 | </trans-unit> |
1941 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1842 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1942 | <source>Report this video</source> | 1843 | <source>Report this video</source> |
1943 | <target>Reporta aquest vídeo</target> | 1844 | <target>Reporta aquest vídeo</target> |
1944 | <context-group name="null"> | 1845 | <context-group name="null"> |
1945 | <context context-type="linenumber">80</context> | 1846 | <context context-type="linenumber">88</context> |
1946 | </context-group> | 1847 | </context-group> |
1947 | </trans-unit> | 1848 | </trans-unit> |
1948 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1849 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1949 | <source>Blacklist</source> | 1850 | <source>Blacklist</source> |
1950 | <target>Llista negra</target> | 1851 | <target>Llista negra</target> |
1951 | <context-group name="null"> | 1852 | <context-group name="null"> |
1952 | <context context-type="linenumber">87</context> | 1853 | <context context-type="linenumber">95</context> |
1953 | </context-group> | 1854 | </context-group> |
1954 | </trans-unit> | 1855 | </trans-unit> |
1955 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1856 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1956 | <source>Blacklist this video</source> | 1857 | <source>Blacklist this video</source> |
1957 | <target>Llista negra d'aquest vídeo</target> | 1858 | <target>Llista negra d'aquest vídeo</target> |
1958 | <context-group name="null"> | 1859 | <context-group name="null"> |
1959 | <context context-type="linenumber">86</context> | 1860 | <context context-type="linenumber">94</context> |
1960 | </context-group> | 1861 | </context-group> |
1961 | </trans-unit> | 1862 | </trans-unit> |
1962 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1863 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1963 | <source>Update this video</source> | 1864 | <source>Update this video</source> |
1964 | <target>Actualitza aquest vídeo</target> | 1865 | <target>Actualitza aquest vídeo</target> |
1965 | <context-group name="null"> | 1866 | <context-group name="null"> |
1966 | <context context-type="linenumber">92</context> | 1867 | <context context-type="linenumber">100</context> |
1967 | </context-group> | 1868 | </context-group> |
1968 | </trans-unit> | 1869 | </trans-unit> |
1969 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1870 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1970 | <source>Delete this video</source> | 1871 | <source>Delete this video</source> |
1971 | <target>Esborra aquest vídeo</target> | 1872 | <target>Esborra aquest vídeo</target> |
1972 | <context-group name="null"> | 1873 | <context-group name="null"> |
1973 | <context context-type="linenumber">98</context> | 1874 | <context context-type="linenumber">106</context> |
1974 | </context-group> | 1875 | </context-group> |
1975 | </trans-unit> | 1876 | </trans-unit> |
1976 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1877 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1977 | <source>Show more</source> | 1878 | <source>Show more</source> |
1978 | <target>Veure més</target> | 1879 | <target>Veure més</target> |
1979 | <context-group name="null"> | 1880 | <context-group name="null"> |
1980 | <context context-type="linenumber">118</context> | 1881 | <context context-type="linenumber">126</context> |
1981 | </context-group> | 1882 | </context-group> |
1982 | </trans-unit> | 1883 | </trans-unit> |
1983 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1884 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1984 | <source>Show less</source> | 1885 | <source>Show less</source> |
1985 | <target>Veure menys</target> | 1886 | <target>Veure menys</target> |
1986 | <context-group name="null"> | 1887 | <context-group name="null"> |
1987 | <context context-type="linenumber">124</context> | 1888 | <context context-type="linenumber">132</context> |
1988 | </context-group> | ||
1989 | </trans-unit> | ||
1990 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1991 | <source> | ||
1992 | Privacy | ||
1993 | </source> | ||
1994 | <target> | ||
1995 | Privacitat | ||
1996 | </target> | ||
1997 | <context-group name="null"> | ||
1998 | <context context-type="linenumber">131</context> | ||
1999 | </context-group> | ||
2000 | </trans-unit> | ||
2001 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
2002 | <source> | ||
2003 | Category | ||
2004 | </source> | ||
2005 | <target> | ||
2006 | Categoria | ||
2007 | </target> | ||
2008 | <context-group name="null"> | ||
2009 | <context context-type="linenumber">140</context> | ||
2010 | </context-group> | ||
2011 | </trans-unit> | ||
2012 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2013 | <source> | ||
2014 | Licence | ||
2015 | </source> | ||
2016 | <target> | ||
2017 | Llicència | ||
2018 | </target> | ||
2019 | <context-group name="null"> | ||
2020 | <context context-type="linenumber">149</context> | ||
2021 | </context-group> | ||
2022 | </trans-unit> | ||
2023 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2024 | <source> | ||
2025 | Language | ||
2026 | </source> | ||
2027 | <target> | ||
2028 | Llengua | ||
2029 | </target> | ||
2030 | <context-group name="null"> | ||
2031 | <context context-type="linenumber">158</context> | ||
2032 | </context-group> | ||
2033 | </trans-unit> | ||
2034 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2035 | <source> | ||
2036 | Tags | ||
2037 | </source> | ||
2038 | <target> | ||
2039 | Etiquetes | ||
2040 | </target> | ||
2041 | <context-group name="null"> | ||
2042 | <context context-type="linenumber">167</context> | ||
2043 | </context-group> | 1889 | </context-group> |
2044 | </trans-unit> | 1890 | </trans-unit> |
2045 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1891 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2050,24 +1896,13 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
2050 | Altres vídeos | 1896 | Altres vídeos |
2051 | </target> | 1897 | </target> |
2052 | <context-group name="null"> | 1898 | <context-group name="null"> |
2053 | <context context-type="linenumber">181</context> | 1899 | <context context-type="linenumber">183</context> |
2054 | </context-group> | 1900 | </context-group> |
2055 | </trans-unit> | 1901 | </trans-unit> |
2056 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1902 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2057 | <source>Friendly Reminder:</source> | 1903 | <source>Friendly Reminder:</source> |
2058 | <target>Recordatori amistós:</target> | 1904 | <target>Recordatori amistós:</target> |
2059 | <context-group name="null"> | 1905 | <context-group name="null"> |
2060 | <context context-type="linenumber">193</context> | ||
2061 | </context-group> | ||
2062 | </trans-unit> | ||
2063 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2064 | <source> | ||
2065 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2066 | </source> | ||
2067 | <target> | ||
2068 | El sistema de compartició utilitzat per aquest vídeo implica que part de la informació tècnica sobre el teu sistema (com ara una adreça IP pública) es pot accedir de forma pública. | ||
2069 | </target> | ||
2070 | <context-group name="null"> | ||
2071 | <context context-type="linenumber">195</context> | 1906 | <context context-type="linenumber">195</context> |
2072 | </context-group> | 1907 | </context-group> |
2073 | </trans-unit> | 1908 | </trans-unit> |
@@ -2075,14 +1910,14 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
2075 | <source>More information</source> | 1910 | <source>More information</source> |
2076 | <target>Més informació</target> | 1911 | <target>Més informació</target> |
2077 | <context-group name="null"> | 1912 | <context-group name="null"> |
2078 | <context context-type="linenumber">198</context> | 1913 | <context context-type="linenumber">200</context> |
2079 | </context-group> | 1914 | </context-group> |
2080 | </trans-unit> | 1915 | </trans-unit> |
2081 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1916 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2082 | <source>Get more information</source> | 1917 | <source>Get more information</source> |
2083 | <target>Obtenir més informació</target> | 1918 | <target>Obtenir més informació</target> |
2084 | <context-group name="null"> | 1919 | <context-group name="null"> |
2085 | <context context-type="linenumber">198</context> | 1920 | <context context-type="linenumber">200</context> |
2086 | </context-group> | 1921 | </context-group> |
2087 | </trans-unit> | 1922 | </trans-unit> |
2088 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1923 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2093,7 +1928,7 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
2093 | D'acord | 1928 | D'acord |
2094 | </target> | 1929 | </target> |
2095 | <context-group name="null"> | 1930 | <context-group name="null"> |
2096 | <context context-type="linenumber">201</context> | 1931 | <context context-type="linenumber">203</context> |
2097 | </context-group> | 1932 | </context-group> |
2098 | </trans-unit> | 1933 | </trans-unit> |
2099 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1934 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2565,13 +2400,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
2565 | <context context-type="linenumber">1</context> | 2400 | <context context-type="linenumber">1</context> |
2566 | </context-group> | 2401 | </context-group> |
2567 | </trans-unit> | 2402 | </trans-unit> |
2568 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2569 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2570 | <target>S''enviarà un correu electrònic amb les instruccions de restabliment de la contrasenya a <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</target> | ||
2571 | <context-group name="null"> | ||
2572 | <context context-type="linenumber">1</context> | ||
2573 | </context-group> | ||
2574 | </trans-unit> | ||
2575 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2403 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2576 | <source>Unable to find user id or verification string.</source> | 2404 | <source>Unable to find user id or verification string.</source> |
2577 | <target>No es pot trobar l'identificador d'usuari ni la cadena de verificació.</target> | 2405 | <target>No es pot trobar l'identificador d'usuari ni la cadena de verificació.</target> |
@@ -2586,6 +2414,20 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
2586 | <context context-type="linenumber">1</context> | 2414 | <context context-type="linenumber">1</context> |
2587 | </context-group> | 2415 | </context-group> |
2588 | </trans-unit> | 2416 | </trans-unit> |
2417 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2418 | <source>Today</source> | ||
2419 | <target>Avui</target> | ||
2420 | <context-group name="null"> | ||
2421 | <context context-type="linenumber">1</context> | ||
2422 | </context-group> | ||
2423 | </trans-unit> | ||
2424 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2425 | <source>Search</source> | ||
2426 | <target>Cerca</target> | ||
2427 | <context-group name="null"> | ||
2428 | <context context-type="linenumber">1</context> | ||
2429 | </context-group> | ||
2430 | </trans-unit> | ||
2589 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2431 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2590 | <source>Instance name is required.</source> | 2432 | <source>Instance name is required.</source> |
2591 | <target>El nom de la instància és obligatori.</target> | 2433 | <target>El nom de la instància és obligatori.</target> |
@@ -3272,13 +3114,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
3272 | <context context-type="linenumber">1</context> | 3114 | <context context-type="linenumber">1</context> |
3273 | </context-group> | 3115 | </context-group> |
3274 | </trans-unit> | 3116 | </trans-unit> |
3275 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3276 | <source>Today</source> | ||
3277 | <target>Avui</target> | ||
3278 | <context-group name="null"> | ||
3279 | <context context-type="linenumber">1</context> | ||
3280 | </context-group> | ||
3281 | </trans-unit> | ||
3282 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3117 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3283 | <source>Clear</source> | 3118 | <source>Clear</source> |
3284 | <target>Clar</target> | 3119 | <target>Clar</target> |
@@ -3482,13 +3317,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
3482 | <context context-type="linenumber">1</context> | 3317 | <context context-type="linenumber">1</context> |
3483 | </context-group> | 3318 | </context-group> |
3484 | </trans-unit> | 3319 | </trans-unit> |
3485 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3486 | <source>This image is too large.</source> | ||
3487 | <target>Aquesta imatge és massa gran.</target> | ||
3488 | <context-group name="null"> | ||
3489 | <context context-type="linenumber">1</context> | ||
3490 | </context-group> | ||
3491 | </trans-unit> | ||
3492 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3320 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3493 | <source>Your video was uploaded in your account and is private.</source> | 3321 | <source>Your video was uploaded in your account and is private.</source> |
3494 | <target>El teu vídeo s'ha penjat al teu compte i és privat.</target> | 3322 | <target>El teu vídeo s'ha penjat al teu compte i és privat.</target> |
@@ -3524,13 +3352,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
3524 | <context context-type="linenumber">1</context> | 3352 | <context context-type="linenumber">1</context> |
3525 | </context-group> | 3353 | </context-group> |
3526 | </trans-unit> | 3354 | </trans-unit> |
3527 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3528 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3529 | <target>Ho sento, però PeerTube no pot manejar vídeos> 4 GB</target> | ||
3530 | <context-group name="null"> | ||
3531 | <context context-type="linenumber">1</context> | ||
3532 | </context-group> | ||
3533 | </trans-unit> | ||
3534 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3355 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3535 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3356 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3536 | <target>La teva quota de vídeo s''ha superat amb aquest vídeo (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3357 | <target>La teva quota de vídeo s''ha superat amb aquest vídeo (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3601,13 +3422,6 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
3601 | <context context-type="linenumber">1</context> | 3422 | <context context-type="linenumber">1</context> |
3602 | </context-group> | 3423 | </context-group> |
3603 | </trans-unit> | 3424 | </trans-unit> |
3604 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3605 | <source>Cannot fetch video from server, maybe down.</source> | ||
3606 | <target>No es pot obtenir el vídeo del servidor, potser està caigut.</target> | ||
3607 | <context-group name="null"> | ||
3608 | <context context-type="linenumber">1</context> | ||
3609 | </context-group> | ||
3610 | </trans-unit> | ||
3611 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3425 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3612 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3426 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3613 | <target>Aquest vídeo conté contingut madur o explícit. Estàs segur que el vols veure?</target> | 3427 | <target>Aquest vídeo conté contingut madur o explícit. Estàs segur que el vols veure?</target> |
@@ -3622,12 +3436,5 @@ Quan pugis un vídeo en aquest canal, el camp d'assistència de vídeo s'omplir | |||
3622 | <context context-type="linenumber">1</context> | 3436 | <context context-type="linenumber">1</context> |
3623 | </context-group> | 3437 | </context-group> |
3624 | </trans-unit> | 3438 | </trans-unit> |
3625 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3626 | <source>Search</source> | ||
3627 | <target>Cerca</target> | ||
3628 | <context-group name="null"> | ||
3629 | <context context-type="linenumber">1</context> | ||
3630 | </context-group> | ||
3631 | </trans-unit> | ||
3632 | </body> | 3439 | </body> |
3633 | </file></xliff> \ No newline at end of file | 3440 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_cs_CZ.xml b/client/src/locale/target/angular_cs_CZ.xml index 53a6ca3df..bfc58c07c 100644 --- a/client/src/locale/target/angular_cs_CZ.xml +++ b/client/src/locale/target/angular_cs_CZ.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Zrušit | 11 | Zrušit |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Získat pomoc</target> | 47 | <target>Získat pomoc</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Heslo</target> | 108 | <target>Heslo</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -330,6 +330,27 @@ | |||
330 | <context context-type="linenumber">9</context> | 330 | <context context-type="linenumber">9</context> |
331 | </context-group> | 331 | </context-group> |
332 | </trans-unit> | 332 | </trans-unit> |
333 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
334 | <source>Category</source> | ||
335 | <target>Kategorie</target> | ||
336 | <context-group name="null"> | ||
337 | <context context-type="linenumber">144</context> | ||
338 | </context-group> | ||
339 | </trans-unit> | ||
340 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
341 | <source>Licence</source> | ||
342 | <target>Licence</target> | ||
343 | <context-group name="null"> | ||
344 | <context context-type="linenumber">153</context> | ||
345 | </context-group> | ||
346 | </trans-unit> | ||
347 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
348 | <source>Language</source> | ||
349 | <target>Jazyk</target> | ||
350 | <context-group name="null"> | ||
351 | <context context-type="linenumber">162</context> | ||
352 | </context-group> | ||
353 | </trans-unit> | ||
333 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 354 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
334 | <source>No results.</source> | 355 | <source>No results.</source> |
335 | <target>Žádné výsledky.</target> | 356 | <target>Žádné výsledky.</target> |
@@ -548,21 +569,6 @@ | |||
548 | <context context-type="linenumber">51</context> | 569 | <context context-type="linenumber">51</context> |
549 | </context-group> | 570 | </context-group> |
550 | </trans-unit> | 571 | </trans-unit> |
551 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
552 | <source> | ||
553 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
554 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
555 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
556 | </source> | ||
557 | <target> | ||
558 | Webový peeři nejsou odesílání přímo trackerem: jelikož používáme WebRTC uvnitř prohlížeče, protokol je odlišný od klasického BitTorrentu. | ||
559 | Když jste ve webovém prohlížeči, odešlete signál obsahující vaši IP adresu do trackeru, který náhodně vybírá ostatní uživatele, kteří budou předávat informace. | ||
560 | Pro více informací si přečtěte <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>tento dokument<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> | ||
561 | </target> | ||
562 | <context-group name="null"> | ||
563 | <context context-type="linenumber">55</context> | ||
564 | </context-group> | ||
565 | </trans-unit> | ||
566 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 572 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
567 | <source> | 573 | <source> |
568 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 574 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -576,13 +582,6 @@ | |||
576 | <context context-type="linenumber">62</context> | 582 | <context context-type="linenumber">62</context> |
577 | </context-group> | 583 | </context-group> |
578 | </trans-unit> | 584 | </trans-unit> |
579 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
580 | <source>How does PeerTube compares to YouTube?</source> | ||
581 | <target>Jak si stojí PeerTube ve srovnání s YouTube?</target> | ||
582 | <context-group name="null"> | ||
583 | <context context-type="linenumber">67</context> | ||
584 | </context-group> | ||
585 | </trans-unit> | ||
586 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 585 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
587 | <source> | 586 | <source> |
588 | The threats to privacy in YouTube are different from PeerTube's. | 587 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -798,42 +797,42 @@ | |||
798 | <source>Signup enabled</source> | 797 | <source>Signup enabled</source> |
799 | <target>Povolit registrace</target> | 798 | <target>Povolit registrace</target> |
800 | <context-group name="null"> | 799 | <context-group name="null"> |
801 | <context context-type="linenumber">92</context> | 800 | <context context-type="linenumber">90</context> |
802 | </context-group> | 801 | </context-group> |
803 | </trans-unit> | 802 | </trans-unit> |
804 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 803 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
805 | <source>Signup limit</source> | 804 | <source>Signup limit</source> |
806 | <target>Limit registrací</target> | 805 | <target>Limit registrací</target> |
807 | <context-group name="null"> | 806 | <context-group name="null"> |
808 | <context context-type="linenumber">96</context> | 807 | <context context-type="linenumber">94</context> |
809 | </context-group> | 808 | </context-group> |
810 | </trans-unit> | 809 | </trans-unit> |
811 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 810 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
812 | <source>Administrator</source> | 811 | <source>Administrator</source> |
813 | <target>Administrátor</target> | 812 | <target>Administrátor</target> |
814 | <context-group name="null"> | 813 | <context-group name="null"> |
815 | <context context-type="linenumber">106</context> | 814 | <context context-type="linenumber">104</context> |
816 | </context-group> | 815 | </context-group> |
817 | </trans-unit> | 816 | </trans-unit> |
818 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 817 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
819 | <source>Admin email</source> | 818 | <source>Admin email</source> |
820 | <target>Email administrátora</target> | 819 | <target>Email administrátora</target> |
821 | <context-group name="null"> | 820 | <context-group name="null"> |
822 | <context context-type="linenumber">109</context> | 821 | <context context-type="linenumber">107</context> |
823 | </context-group> | 822 | </context-group> |
824 | </trans-unit> | 823 | </trans-unit> |
825 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 824 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
826 | <source>Users</source> | 825 | <source>Users</source> |
827 | <target>Uživatelé</target> | 826 | <target>Uživatelé</target> |
828 | <context-group name="null"> | 827 | <context-group name="null"> |
829 | <context context-type="linenumber">119</context> | 828 | <context context-type="linenumber">117</context> |
830 | </context-group> | 829 | </context-group> |
831 | </trans-unit> | 830 | </trans-unit> |
832 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 831 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
833 | <source>User default video quota</source> | 832 | <source>User default video quota</source> |
834 | <target>Výchozí limit na uživatele</target> | 833 | <target>Výchozí limit na uživatele</target> |
835 | <context-group name="null"> | 834 | <context-group name="null"> |
836 | <context context-type="linenumber">122</context> | 835 | <context context-type="linenumber">120</context> |
837 | </context-group> | 836 | </context-group> |
838 | </trans-unit> | 837 | </trans-unit> |
839 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 838 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -847,28 +846,28 @@ | |||
847 | <source>Twitter</source> | 846 | <source>Twitter</source> |
848 | <target>Twitter</target> | 847 | <target>Twitter</target> |
849 | <context-group name="null"> | 848 | <context-group name="null"> |
850 | <context context-type="linenumber">138</context> | 849 | <context context-type="linenumber">136</context> |
851 | </context-group> | 850 | </context-group> |
852 | </trans-unit> | 851 | </trans-unit> |
853 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 852 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
854 | <source>Your Twitter username</source> | 853 | <source>Your Twitter username</source> |
855 | <target>Váš účet na Twitteru</target> | 854 | <target>Váš účet na Twitteru</target> |
856 | <context-group name="null"> | 855 | <context-group name="null"> |
857 | <context context-type="linenumber">141</context> | 856 | <context context-type="linenumber">139</context> |
858 | </context-group> | 857 | </context-group> |
859 | </trans-unit> | 858 | </trans-unit> |
860 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 859 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
861 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 860 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
862 | <target>Uveďte Twitter účet stránky nebo služby, na které byl obsah publikován.</target> | 861 | <target>Uveďte Twitter účet stránky nebo služby, na které byl obsah publikován.</target> |
863 | <context-group name="null"> | 862 | <context-group name="null"> |
864 | <context context-type="linenumber">144</context> | 863 | <context context-type="linenumber">142</context> |
865 | </context-group> | 864 | </context-group> |
866 | </trans-unit> | 865 | </trans-unit> |
867 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 866 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
868 | <source>Instance whitelisted by Twitter</source> | 867 | <source>Instance whitelisted by Twitter</source> |
869 | <target>Twitter povolil tuto instanci</target> | 868 | <target>Twitter povolil tuto instanci</target> |
870 | <context-group name="null"> | 869 | <context-group name="null"> |
871 | <context context-type="linenumber">159</context> | 870 | <context context-type="linenumber">155</context> |
872 | </context-group> | 871 | </context-group> |
873 | </trans-unit> | 872 | </trans-unit> |
874 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 873 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -879,91 +878,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
879 | Pokud instance není povolena, bude zobrazen obrázek vedoucí jako link na vaši PeerTube instanci.<br /><br /> | 878 | Pokud instance není povolena, bude zobrazen obrázek vedoucí jako link na vaši PeerTube instanci.<br /><br /> |
880 | Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z vaší instance (https://example.com/videos/watch/blabla) na <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> pro zjištění, zda je vaše instance povolená.</target> | 879 | Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z vaší instance (https://example.com/videos/watch/blabla) na <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> pro zjištění, zda je vaše instance povolená.</target> |
881 | <context-group name="null"> | 880 | <context-group name="null"> |
882 | <context context-type="linenumber">162</context> | 881 | <context context-type="linenumber">156</context> |
883 | </context-group> | 882 | </context-group> |
884 | </trans-unit> | 883 | </trans-unit> |
885 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 884 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
886 | <source>Services</source> | 885 | <source>Services</source> |
887 | <target>Služby</target> | 886 | <target>Služby</target> |
888 | <context-group name="null"> | 887 | <context-group name="null"> |
889 | <context context-type="linenumber">136</context> | 888 | <context context-type="linenumber">134</context> |
890 | </context-group> | 889 | </context-group> |
891 | </trans-unit> | 890 | </trans-unit> |
892 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 891 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
893 | <source>Transcoding</source> | 892 | <source>Transcoding</source> |
894 | <target>Překódování</target> | 893 | <target>Překódování</target> |
895 | <context-group name="null"> | 894 | <context-group name="null"> |
896 | <context context-type="linenumber">172</context> | 895 | <context context-type="linenumber">164</context> |
897 | </context-group> | 896 | </context-group> |
898 | </trans-unit> | 897 | </trans-unit> |
899 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 898 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
900 | <source>Transcoding enabled</source> | 899 | <source>Transcoding enabled</source> |
901 | <target>Překódování povoleno</target> | 900 | <target>Překódování povoleno</target> |
902 | <context-group name="null"> | 901 | <context-group name="null"> |
903 | <context context-type="linenumber">178</context> | 902 | <context context-type="linenumber">168</context> |
904 | </context-group> | 903 | </context-group> |
905 | </trans-unit> | 904 | </trans-unit> |
906 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 905 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
907 | <source>If you disable transcoding, many videos from your users will not work!</source> | 906 | <source>If you disable transcoding, many videos from your users will not work!</source> |
908 | <target>Pokud zakážete překódování, mnoho videí od vašich uživatelů nebude fungovat!</target> | 907 | <target>Pokud zakážete překódování, mnoho videí od vašich uživatelů nebude fungovat!</target> |
909 | <context-group name="null"> | 908 | <context-group name="null"> |
910 | <context context-type="linenumber">180</context> | 909 | <context context-type="linenumber">169</context> |
911 | </context-group> | 910 | </context-group> |
912 | </trans-unit> | 911 | </trans-unit> |
913 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 912 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
914 | <source>Transcoding threads</source> | 913 | <source>Transcoding threads</source> |
915 | <target>Vlákna na překódování</target> | 914 | <target>Vlákna na překódování</target> |
916 | <context-group name="null"> | 915 | <context-group name="null"> |
917 | <context context-type="linenumber">186</context> | 916 | <context context-type="linenumber">175</context> |
918 | </context-group> | ||
919 | </trans-unit> | ||
920 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
921 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
922 | <target>Rozlišení <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> povoleno</target> | ||
923 | <context-group name="null"> | ||
924 | <context context-type="linenumber">205</context> | ||
925 | </context-group> | ||
926 | </trans-unit> | ||
927 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
928 | <source>Cache</source> | ||
929 | <target>Mezipaměť</target> | ||
930 | <context-group name="null"> | ||
931 | <context context-type="linenumber">209</context> | ||
932 | </context-group> | 917 | </context-group> |
933 | </trans-unit> | 918 | </trans-unit> |
934 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 919 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
935 | <source>Previews cache size</source> | 920 | <source>Previews cache size</source> |
936 | <target>Velikost mezipaměti náhledů</target> | 921 | <target>Velikost mezipaměti náhledů</target> |
937 | <context-group name="null"> | 922 | <context-group name="null"> |
938 | <context context-type="linenumber">212</context> | 923 | <context context-type="linenumber">207</context> |
939 | </context-group> | ||
940 | </trans-unit> | ||
941 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
942 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
943 | <target>Náhledy nejsou federovány. Získáváme je přímo z původní instance a ukládáme do mezipaměti.</target> | ||
944 | <context-group name="null"> | ||
945 | <context context-type="linenumber">215</context> | ||
946 | </context-group> | 924 | </context-group> |
947 | </trans-unit> | 925 | </trans-unit> |
948 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 926 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
949 | <source>Customizations</source> | 927 | <source>Customizations</source> |
950 | <target>Přizpůsobení</target> | 928 | <target>Přizpůsobení</target> |
951 | <context-group name="null"> | 929 | <context-group name="null"> |
952 | <context context-type="linenumber">227</context> | 930 | <context context-type="linenumber">228</context> |
953 | </context-group> | 931 | </context-group> |
954 | </trans-unit> | 932 | </trans-unit> |
955 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 933 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
956 | <source>JavaScript</source> | 934 | <source>JavaScript</source> |
957 | <target>JavaScript</target> | 935 | <target>JavaScript</target> |
958 | <context-group name="null"> | 936 | <context-group name="null"> |
959 | <context context-type="linenumber">230</context> | 937 | <context context-type="linenumber">231</context> |
960 | </context-group> | 938 | </context-group> |
961 | </trans-unit> | 939 | </trans-unit> |
962 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 940 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
963 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 941 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
964 | <target>Pište přímo JavaScript kód.<br />Například: <pre>console.log('moje instance je úžasná');</pre></target> | 942 | <target>Pište přímo JavaScript kód.<br />Například: <pre>console.log('moje instance je úžasná');</pre></target> |
965 | <context-group name="null"> | 943 | <context-group name="null"> |
966 | <context context-type="linenumber">233</context> | 944 | <context context-type="linenumber">234</context> |
967 | </context-group> | 945 | </context-group> |
968 | </trans-unit> | 946 | </trans-unit> |
969 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 947 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -998,28 +976,28 @@ Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z va | |||
998 | </pre> | 976 | </pre> |
999 | </target> | 977 | </target> |
1000 | <context-group name="null"> | 978 | <context-group name="null"> |
1001 | <context context-type="linenumber">249</context> | 979 | <context context-type="linenumber">250</context> |
1002 | </context-group> | 980 | </context-group> |
1003 | </trans-unit> | 981 | </trans-unit> |
1004 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 982 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1005 | <source>Advanced configuration</source> | 983 | <source>Advanced configuration</source> |
1006 | <target>Pokročilá nastavení</target> | 984 | <target>Pokročilá nastavení</target> |
1007 | <context-group name="null"> | 985 | <context-group name="null"> |
1008 | <context context-type="linenumber">170</context> | 986 | <context context-type="linenumber">162</context> |
1009 | </context-group> | 987 | </context-group> |
1010 | </trans-unit> | 988 | </trans-unit> |
1011 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 989 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1012 | <source>Update configuration</source> | 990 | <source>Update configuration</source> |
1013 | <target>Aktualizovat nastavení</target> | 991 | <target>Aktualizovat nastavení</target> |
1014 | <context-group name="null"> | 992 | <context-group name="null"> |
1015 | <context context-type="linenumber">276</context> | 993 | <context context-type="linenumber">277</context> |
1016 | </context-group> | 994 | </context-group> |
1017 | </trans-unit> | 995 | </trans-unit> |
1018 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 996 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1019 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 997 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1020 | <target>Zdá se, že vaše konfigurace není validní. Prosím, vyhledejte potencialní chyby v jiné záložce.</target> | 998 | <target>Zdá se, že vaše konfigurace není validní. Prosím, vyhledejte potencialní chyby v jiné záložce.</target> |
1021 | <context-group name="null"> | 999 | <context-group name="null"> |
1022 | <context context-type="linenumber">277</context> | 1000 | <context context-type="linenumber">278</context> |
1023 | </context-group> | 1001 | </context-group> |
1024 | </trans-unit> | 1002 | </trans-unit> |
1025 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1003 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1169,13 +1147,6 @@ Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z va | |||
1169 | <context context-type="linenumber">19</context> | 1147 | <context context-type="linenumber">19</context> |
1170 | </context-group> | 1148 | </context-group> |
1171 | </trans-unit> | 1149 | </trans-unit> |
1172 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1173 | <source>Updated</source> | ||
1174 | <target>Aktualizováno</target> | ||
1175 | <context-group name="null"> | ||
1176 | <context context-type="linenumber">22</context> | ||
1177 | </context-group> | ||
1178 | </trans-unit> | ||
1179 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1150 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1180 | <source>Create user</source> | 1151 | <source>Create user</source> |
1181 | <target>Vytvořit uživatele</target> | 1152 | <target>Vytvořit uživatele</target> |
@@ -1350,53 +1321,32 @@ Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z va | |||
1350 | <context context-type="linenumber">7</context> | 1321 | <context context-type="linenumber">7</context> |
1351 | </context-group> | 1322 | </context-group> |
1352 | </trans-unit> | 1323 | </trans-unit> |
1353 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1354 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1355 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> odběratelů</target> | ||
1356 | <context-group name="null"> | ||
1357 | <context context-type="linenumber">9</context> | ||
1358 | </context-group> | ||
1359 | </trans-unit> | ||
1360 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1361 | <source>Change your avatar</source> | ||
1362 | <target>Změnit avatar</target> | ||
1363 | <context-group name="null"> | ||
1364 | <context context-type="linenumber">14</context> | ||
1365 | </context-group> | ||
1366 | </trans-unit> | ||
1367 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1368 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1369 | <target>(typ souboru: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximální velikost: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1370 | <context-group name="null"> | ||
1371 | <context context-type="linenumber">17</context> | ||
1372 | </context-group> | ||
1373 | </trans-unit> | ||
1374 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1324 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1375 | <source>Video quota:</source> | 1325 | <source>Video quota:</source> |
1376 | <target>Limit na videa:</target> | 1326 | <target>Limit na videa:</target> |
1377 | <context-group name="null"> | 1327 | <context-group name="null"> |
1378 | <context context-type="linenumber">20</context> | 1328 | <context context-type="linenumber">4</context> |
1379 | </context-group> | 1329 | </context-group> |
1380 | </trans-unit> | 1330 | </trans-unit> |
1381 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1331 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1382 | <source>Profile</source> | 1332 | <source>Profile</source> |
1383 | <target>Profil</target> | 1333 | <target>Profil</target> |
1384 | <context-group name="null"> | 1334 | <context-group name="null"> |
1385 | <context context-type="linenumber">24</context> | 1335 | <context context-type="linenumber">8</context> |
1386 | </context-group> | 1336 | </context-group> |
1387 | </trans-unit> | 1337 | </trans-unit> |
1388 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1338 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1389 | <source>Video settings</source> | 1339 | <source>Video settings</source> |
1390 | <target>Nastavení videí</target> | 1340 | <target>Nastavení videí</target> |
1391 | <context-group name="null"> | 1341 | <context-group name="null"> |
1392 | <context context-type="linenumber">31</context> | 1342 | <context context-type="linenumber">15</context> |
1393 | </context-group> | 1343 | </context-group> |
1394 | </trans-unit> | 1344 | </trans-unit> |
1395 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1345 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1396 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1346 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1397 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí</target> | 1347 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí</target> |
1398 | <context-group name="null"> | 1348 | <context-group name="null"> |
1399 | <context context-type="linenumber">20</context> | 1349 | <context context-type="linenumber">19</context> |
1400 | </context-group> | 1350 | </context-group> |
1401 | </trans-unit> | 1351 | </trans-unit> |
1402 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1352 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1424,14 +1374,7 @@ Zakšrtněne tuto možnost, uložte nastavení a vyzkoušejte adresu videa z va | |||
1424 | <source>Create a video channel</source> | 1374 | <source>Create a video channel</source> |
1425 | <target>Vytořit video kanál</target> | 1375 | <target>Vytořit video kanál</target> |
1426 | <context-group name="null"> | 1376 | <context-group name="null"> |
1427 | <context context-type="linenumber">1</context> | 1377 | <context context-type="linenumber">6</context> |
1428 | </context-group> | ||
1429 | </trans-unit> | ||
1430 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1431 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1432 | <target>Aktualizovat <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1433 | <context-group name="null"> | ||
1434 | <context context-type="linenumber">2</context> | ||
1435 | </context-group> | 1378 | </context-group> |
1436 | </trans-unit> | 1379 | </trans-unit> |
1437 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1380 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1447,7 +1390,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1447 | <target>Krátký text, kterým sdělíte lidem, jak mohou podporovat tento kanál (členství...).<br /><br /> | 1390 | <target>Krátký text, kterým sdělíte lidem, jak mohou podporovat tento kanál (členství...).<br /><br /> |
1448 | Když nahrajete video na tento kanál, text bude přiložen.</target> | 1391 | Když nahrajete video na tento kanál, text bude přiložen.</target> |
1449 | <context-group name="null"> | 1392 | <context-group name="null"> |
1450 | <context context-type="linenumber">32</context> | 1393 | <context context-type="linenumber">36</context> |
1451 | </context-group> | 1394 | </context-group> |
1452 | </trans-unit> | 1395 | </trans-unit> |
1453 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1396 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1482,14 +1425,14 @@ When you will upload a video in this channel, the video support field will be au | |||
1482 | <source>Automatically plays video</source> | 1425 | <source>Automatically plays video</source> |
1483 | <target>Automaticky přehrávat videa</target> | 1426 | <target>Automaticky přehrávat videa</target> |
1484 | <context-group name="null"> | 1427 | <context-group name="null"> |
1485 | <context context-type="linenumber">24</context> | 1428 | <context context-type="linenumber">20</context> |
1486 | </context-group> | 1429 | </context-group> |
1487 | </trans-unit> | 1430 | </trans-unit> |
1488 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1431 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1489 | <source>Save</source> | 1432 | <source>Save</source> |
1490 | <target>Uložit</target> | 1433 | <target>Uložit</target> |
1491 | <context-group name="null"> | 1434 | <context-group name="null"> |
1492 | <context context-type="linenumber">27</context> | 1435 | <context context-type="linenumber">23</context> |
1493 | </context-group> | 1436 | </context-group> |
1494 | </trans-unit> | 1437 | </trans-unit> |
1495 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1438 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1499,6 +1442,13 @@ When you will upload a video in this channel, the video support field will be au | |||
1499 | <context context-type="linenumber">27</context> | 1442 | <context context-type="linenumber">27</context> |
1500 | </context-group> | 1443 | </context-group> |
1501 | </trans-unit> | 1444 | </trans-unit> |
1445 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1446 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1447 | <target>(typ souboru: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximální velikost: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1448 | <context-group name="null"> | ||
1449 | <context context-type="linenumber">18</context> | ||
1450 | </context-group> | ||
1451 | </trans-unit> | ||
1502 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1452 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1503 | <source> | 1453 | <source> |
1504 | Sorry, but we couldn't find the page you were looking for. | 1454 | Sorry, but we couldn't find the page you were looking for. |
@@ -1570,21 +1520,21 @@ When you will upload a video in this channel, the video support field will be au | |||
1570 | <source>Privacy</source> | 1520 | <source>Privacy</source> |
1571 | <target>Soukromí</target> | 1521 | <target>Soukromí</target> |
1572 | <context-group name="null"> | 1522 | <context-group name="null"> |
1573 | <context context-type="linenumber">86</context> | 1523 | <context context-type="linenumber">139</context> |
1574 | </context-group> | 1524 | </context-group> |
1575 | </trans-unit> | 1525 | </trans-unit> |
1576 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1526 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1577 | <source>Publish will be available when upload is finished</source> | 1527 | <source>Publish will be available when upload is finished</source> |
1578 | <target>Publikovat lze jakmile bude dokončeno nahrávání</target> | 1528 | <target>Publikovat lze jakmile bude dokončeno nahrávání</target> |
1579 | <context-group name="null"> | 1529 | <context-group name="null"> |
1580 | <context context-type="linenumber">53</context> | 1530 | <context context-type="linenumber">54</context> |
1581 | </context-group> | 1531 | </context-group> |
1582 | </trans-unit> | 1532 | </trans-unit> |
1583 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1533 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1584 | <source>Publish</source> | 1534 | <source>Publish</source> |
1585 | <target>Publikovat</target> | 1535 | <target>Publikovat</target> |
1586 | <context-group name="null"> | 1536 | <context-group name="null"> |
1587 | <context context-type="linenumber">60</context> | 1537 | <context context-type="linenumber">61</context> |
1588 | </context-group> | 1538 | </context-group> |
1589 | </trans-unit> | 1539 | </trans-unit> |
1590 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1540 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1598,7 +1548,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1598 | <source>Tags</source> | 1548 | <source>Tags</source> |
1599 | <target>Tagy</target> | 1549 | <target>Tagy</target> |
1600 | <context-group name="null"> | 1550 | <context-group name="null"> |
1601 | <context context-type="linenumber">15</context> | 1551 | <context context-type="linenumber">171</context> |
1602 | </context-group> | 1552 | </context-group> |
1603 | </trans-unit> | 1553 | </trans-unit> |
1604 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1554 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1615,27 +1565,6 @@ When you will upload a video in this channel, the video support field will be au | |||
1615 | <context context-type="linenumber">24</context> | 1565 | <context context-type="linenumber">24</context> |
1616 | </context-group> | 1566 | </context-group> |
1617 | </trans-unit> | 1567 | </trans-unit> |
1618 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1619 | <source>Category</source> | ||
1620 | <target>Kategorie</target> | ||
1621 | <context-group name="null"> | ||
1622 | <context context-type="linenumber">44</context> | ||
1623 | </context-group> | ||
1624 | </trans-unit> | ||
1625 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1626 | <source>Licence</source> | ||
1627 | <target>Licence</target> | ||
1628 | <context-group name="null"> | ||
1629 | <context context-type="linenumber">58</context> | ||
1630 | </context-group> | ||
1631 | </trans-unit> | ||
1632 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1633 | <source>Language</source> | ||
1634 | <target>Jazyk</target> | ||
1635 | <context-group name="null"> | ||
1636 | <context context-type="linenumber">72</context> | ||
1637 | </context-group> | ||
1638 | </trans-unit> | ||
1639 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1568 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1640 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1569 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1641 | <target>Naplánovat publikování (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1570 | <target>Naplánovat publikování (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1647,35 +1576,28 @@ When you will upload a video in this channel, the video support field will be au | |||
1647 | <source>This video contains mature or explicit content</source> | 1576 | <source>This video contains mature or explicit content</source> |
1648 | <target>Video obsahující citlivý materiál</target> | 1577 | <target>Video obsahující citlivý materiál</target> |
1649 | <context-group name="null"> | 1578 | <context-group name="null"> |
1650 | <context context-type="linenumber">116</context> | 1579 | <context context-type="linenumber">115</context> |
1651 | </context-group> | 1580 | </context-group> |
1652 | </trans-unit> | 1581 | </trans-unit> |
1653 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1582 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1654 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1583 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1655 | <target>Některé instance nezobrazují videa s citlivým materiálem.</target> | 1584 | <target>Některé instance nezobrazují videa s citlivým materiálem.</target> |
1656 | <context-group name="null"> | 1585 | <context-group name="null"> |
1657 | <context context-type="linenumber">119</context> | 1586 | <context context-type="linenumber">116</context> |
1658 | </context-group> | 1587 | </context-group> |
1659 | </trans-unit> | 1588 | </trans-unit> |
1660 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1589 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1661 | <source>Enable video comments</source> | 1590 | <source>Enable video comments</source> |
1662 | <target>Povolit komentáře</target> | 1591 | <target>Povolit komentáře</target> |
1663 | <context-group name="null"> | 1592 | <context-group name="null"> |
1664 | <context context-type="linenumber">126</context> | 1593 | <context context-type="linenumber">121</context> |
1665 | </context-group> | 1594 | </context-group> |
1666 | </trans-unit> | 1595 | </trans-unit> |
1667 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1596 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1668 | <source>Wait transcoding before publishing the video</source> | 1597 | <source>Wait transcoding before publishing the video</source> |
1669 | <target>Čekat na překódování před publikováním videa</target> | 1598 | <target>Čekat na překódování před publikováním videa</target> |
1670 | <context-group name="null"> | 1599 | <context-group name="null"> |
1671 | <context context-type="linenumber">132</context> | 1600 | <context context-type="linenumber">126</context> |
1672 | </context-group> | ||
1673 | </trans-unit> | ||
1674 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1675 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1676 | <target>Pokud se rozhodnete nečekat na překódování před publikování, video může zůstat nepřehratelné do dokončení překódování.</target> | ||
1677 | <context-group name="null"> | ||
1678 | <context context-type="linenumber">135</context> | ||
1679 | </context-group> | 1601 | </context-group> |
1680 | </trans-unit> | 1602 | </trans-unit> |
1681 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1603 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1689,42 +1611,35 @@ When you will upload a video in this channel, the video support field will be au | |||
1689 | <source>Upload thumbnail</source> | 1611 | <source>Upload thumbnail</source> |
1690 | <target>Nahrát miniaturu</target> | 1612 | <target>Nahrát miniaturu</target> |
1691 | <context-group name="null"> | 1613 | <context-group name="null"> |
1692 | <context context-type="linenumber">146</context> | 1614 | <context context-type="linenumber">186</context> |
1693 | </context-group> | 1615 | </context-group> |
1694 | </trans-unit> | 1616 | </trans-unit> |
1695 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1617 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1696 | <source>Upload preview</source> | 1618 | <source>Upload preview</source> |
1697 | <target>Nahrát náhled</target> | 1619 | <target>Nahrát náhled</target> |
1698 | <context-group name="null"> | 1620 | <context-group name="null"> |
1699 | <context context-type="linenumber">153</context> | 1621 | <context context-type="linenumber">193</context> |
1700 | </context-group> | 1622 | </context-group> |
1701 | </trans-unit> | 1623 | </trans-unit> |
1702 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1624 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1703 | <source>Support</source> | 1625 | <source>Support</source> |
1704 | <target>Podpora</target> | 1626 | <target>Podpora</target> |
1705 | <context-group name="null"> | 1627 | <context-group name="null"> |
1706 | <context context-type="linenumber">59</context> | 1628 | <context context-type="linenumber">67</context> |
1707 | </context-group> | 1629 | </context-group> |
1708 | </trans-unit> | 1630 | </trans-unit> |
1709 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1631 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1710 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1632 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1711 | <target>Krátký text, co řekne lidem, jak vás mohou podpořit.</target> | 1633 | <target>Krátký text, co řekne lidem, jak vás mohou podpořit.</target> |
1712 | <context-group name="null"> | 1634 | <context-group name="null"> |
1713 | <context context-type="linenumber">160</context> | 1635 | <context context-type="linenumber">200</context> |
1714 | </context-group> | 1636 | </context-group> |
1715 | </trans-unit> | 1637 | </trans-unit> |
1716 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1638 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1717 | <source>Advanced settings</source> | 1639 | <source>Advanced settings</source> |
1718 | <target>Rozšířená nastavení</target> | 1640 | <target>Rozšířená nastavení</target> |
1719 | <context-group name="null"> | 1641 | <context-group name="null"> |
1720 | <context context-type="linenumber">142</context> | 1642 | <context context-type="linenumber">182</context> |
1721 | </context-group> | ||
1722 | </trans-unit> | ||
1723 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1724 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1725 | <target>(typ souboru: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, maximální velikost: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1726 | <context-group name="null"> | ||
1727 | <context context-type="linenumber">11</context> | ||
1728 | </context-group> | 1643 | </context-group> |
1729 | </trans-unit> | 1644 | </trans-unit> |
1730 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1645 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1742,7 +1657,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1742 | <source>Update</source> | 1657 | <source>Update</source> |
1743 | <target>Aktualizovat</target> | 1658 | <target>Aktualizovat</target> |
1744 | <context-group name="null"> | 1659 | <context-group name="null"> |
1745 | <context context-type="linenumber">93</context> | 1660 | <context context-type="linenumber">101</context> |
1746 | </context-group> | 1661 | </context-group> |
1747 | </trans-unit> | 1662 | </trans-unit> |
1748 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1663 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1752,32 +1667,18 @@ When you will upload a video in this channel, the video support field will be au | |||
1752 | <context context-type="linenumber">7</context> | 1667 | <context context-type="linenumber">7</context> |
1753 | </context-group> | 1668 | </context-group> |
1754 | </trans-unit> | 1669 | </trans-unit> |
1755 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1756 | <source>Torrent</source> | ||
1757 | <target>Torrent</target> | ||
1758 | <context-group name="null"> | ||
1759 | <context context-type="linenumber">20</context> | ||
1760 | </context-group> | ||
1761 | </trans-unit> | ||
1762 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1670 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1763 | <source>Direct download</source> | 1671 | <source>Direct download</source> |
1764 | <target>Přímý odkaz</target> | 1672 | <target>Přímý odkaz</target> |
1765 | <context-group name="null"> | 1673 | <context-group name="null"> |
1766 | <context context-type="linenumber">25</context> | 1674 | <context context-type="linenumber">20</context> |
1767 | </context-group> | ||
1768 | </trans-unit> | ||
1769 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1770 | <source>Torrent (magnet)</source> | ||
1771 | <target>Torrent (magnet)</target> | ||
1772 | <context-group name="null"> | ||
1773 | <context context-type="linenumber">30</context> | ||
1774 | </context-group> | 1675 | </context-group> |
1775 | </trans-unit> | 1676 | </trans-unit> |
1776 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1677 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1777 | <source>Download</source> | 1678 | <source>Download</source> |
1778 | <target>Stáhnout</target> | 1679 | <target>Stáhnout</target> |
1779 | <context-group name="null"> | 1680 | <context-group name="null"> |
1780 | <context context-type="linenumber">75</context> | 1681 | <context context-type="linenumber">83</context> |
1781 | </context-group> | 1682 | </context-group> |
1782 | </trans-unit> | 1683 | </trans-unit> |
1783 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1684 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1816,7 +1717,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1816 | <source>Share</source> | 1717 | <source>Share</source> |
1817 | <target>Sdílet</target> | 1718 | <target>Sdílet</target> |
1818 | <context-group name="null"> | 1719 | <context-group name="null"> |
1819 | <context context-type="linenumber">64</context> | 1720 | <context context-type="linenumber">72</context> |
1820 | </context-group> | 1721 | </context-group> |
1821 | </trans-unit> | 1722 | </trans-unit> |
1822 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1723 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1852,7 +1753,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1852 | Probíhá překódování videa, nemusí proto fungovat správně. | 1753 | Probíhá překódování videa, nemusí proto fungovat správně. |
1853 | </target> | 1754 | </target> |
1854 | <context-group name="null"> | 1755 | <context-group name="null"> |
1855 | <context context-type="linenumber">6</context> | 1756 | <context context-type="linenumber">11</context> |
1856 | </context-group> | 1757 | </context-group> |
1857 | </trans-unit> | 1758 | </trans-unit> |
1858 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1759 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1863,7 +1764,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1863 | Toto video bude publikováno <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1764 | Toto video bude publikováno <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1864 | </target> | 1765 | </target> |
1865 | <context-group name="null"> | 1766 | <context-group name="null"> |
1866 | <context context-type="linenumber">10</context> | 1767 | <context context-type="linenumber">15</context> |
1867 | </context-group> | 1768 | </context-group> |
1868 | </trans-unit> | 1769 | </trans-unit> |
1869 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1770 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1874,167 +1775,112 @@ When you will upload a video in this channel, the video support field will be au | |||
1874 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí | 1775 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> zhlédnutí |
1875 | </target> | 1776 | </target> |
1876 | <context-group name="null"> | 1777 | <context-group name="null"> |
1877 | <context context-type="linenumber">21</context> | 1778 | <context context-type="linenumber">26</context> |
1878 | </context-group> | 1779 | </context-group> |
1879 | </trans-unit> | 1780 | </trans-unit> |
1880 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1781 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1881 | <source>Go the channel page</source> | 1782 | <source>Go the channel page</source> |
1882 | <target>Přejít na stránku kanálu</target> | 1783 | <target>Přejít na stránku kanálu</target> |
1883 | <context-group name="null"> | 1784 | <context-group name="null"> |
1884 | <context context-type="linenumber">26</context> | 1785 | <context context-type="linenumber">31</context> |
1885 | </context-group> | ||
1886 | </trans-unit> | ||
1887 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1888 | <source>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>.</source> | ||
1889 | <target>Tento účet můžete odebírat přes kteroukoliv instanci obsahující ActivityPub federaci. V instancích s Mastodon nebo Pleroma můžete napsat do vyhledávacího pole <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> a přidat odběr. Na odběrech jako PeerTube uživatel se pracuje: <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1890 | <context-group name="null"> | ||
1891 | <context context-type="linenumber">30</context> | ||
1892 | </context-group> | 1786 | </context-group> |
1893 | </trans-unit> | 1787 | </trans-unit> |
1894 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1788 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1895 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1789 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1896 | <target>Autor: <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1790 | <target>Autor: <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1897 | <context-group name="null"> | 1791 | <context-group name="null"> |
1898 | <context context-type="linenumber">35</context> | 1792 | <context context-type="linenumber">41</context> |
1899 | </context-group> | 1793 | </context-group> |
1900 | </trans-unit> | 1794 | </trans-unit> |
1901 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1795 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1902 | <source>Go to the account page</source> | 1796 | <source>Go to the account page</source> |
1903 | <target>Přejít na stránku kanálu</target> | 1797 | <target>Přejít na stránku kanálu</target> |
1904 | <context-group name="null"> | 1798 | <context-group name="null"> |
1905 | <context context-type="linenumber">34</context> | 1799 | <context context-type="linenumber">40</context> |
1800 | </context-group> | ||
1801 | </trans-unit> | ||
1802 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1803 | <source>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>.</source> | ||
1804 | <target>Tento účet můžete odebírat přes kteroukoliv instanci obsahující ActivityPub federaci. V instancích s Mastodon nebo Pleroma můžete napsat do vyhledávacího pole <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> a přidat odběr. Na odběrech jako PeerTube uživatel se pracuje: <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1805 | <context-group name="null"> | ||
1806 | <context context-type="linenumber">45</context> | ||
1906 | </context-group> | 1807 | </context-group> |
1907 | </trans-unit> | 1808 | </trans-unit> |
1908 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1809 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1909 | <source>Like this video</source> | 1810 | <source>Like this video</source> |
1910 | <target>To se mi líbí</target> | 1811 | <target>To se mi líbí</target> |
1911 | <context-group name="null"> | 1812 | <context-group name="null"> |
1912 | <context context-type="linenumber">47</context> | 1813 | <context context-type="linenumber">55</context> |
1913 | </context-group> | 1814 | </context-group> |
1914 | </trans-unit> | 1815 | </trans-unit> |
1915 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1816 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1916 | <source>Dislike this video</source> | 1817 | <source>Dislike this video</source> |
1917 | <target>To se mi nelíbí</target> | 1818 | <target>To se mi nelíbí</target> |
1918 | <context-group name="null"> | 1819 | <context-group name="null"> |
1919 | <context context-type="linenumber">54</context> | 1820 | <context context-type="linenumber">62</context> |
1920 | </context-group> | 1821 | </context-group> |
1921 | </trans-unit> | 1822 | </trans-unit> |
1922 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1823 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1923 | <source>Download the video</source> | 1824 | <source>Download the video</source> |
1924 | <target>Stáhnout video</target> | 1825 | <target>Stáhnout video</target> |
1925 | <context-group name="null"> | 1826 | <context-group name="null"> |
1926 | <context context-type="linenumber">74</context> | 1827 | <context context-type="linenumber">82</context> |
1927 | </context-group> | 1828 | </context-group> |
1928 | </trans-unit> | 1829 | </trans-unit> |
1929 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1830 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1930 | <source>Report</source> | 1831 | <source>Report</source> |
1931 | <target>Nahlásit</target> | 1832 | <target>Nahlásit</target> |
1932 | <context-group name="null"> | 1833 | <context-group name="null"> |
1933 | <context context-type="linenumber">81</context> | 1834 | <context context-type="linenumber">89</context> |
1934 | </context-group> | 1835 | </context-group> |
1935 | </trans-unit> | 1836 | </trans-unit> |
1936 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1837 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1937 | <source>Report this video</source> | 1838 | <source>Report this video</source> |
1938 | <target>Nahlásit toto video</target> | 1839 | <target>Nahlásit toto video</target> |
1939 | <context-group name="null"> | 1840 | <context-group name="null"> |
1940 | <context context-type="linenumber">80</context> | 1841 | <context context-type="linenumber">88</context> |
1941 | </context-group> | 1842 | </context-group> |
1942 | </trans-unit> | 1843 | </trans-unit> |
1943 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1844 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1944 | <source>Blacklist</source> | 1845 | <source>Blacklist</source> |
1945 | <target>Černá listina</target> | 1846 | <target>Černá listina</target> |
1946 | <context-group name="null"> | 1847 | <context-group name="null"> |
1947 | <context context-type="linenumber">87</context> | 1848 | <context context-type="linenumber">95</context> |
1948 | </context-group> | 1849 | </context-group> |
1949 | </trans-unit> | 1850 | </trans-unit> |
1950 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1851 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1951 | <source>Blacklist this video</source> | 1852 | <source>Blacklist this video</source> |
1952 | <target>Přidat toto video na černou listinu</target> | 1853 | <target>Přidat toto video na černou listinu</target> |
1953 | <context-group name="null"> | 1854 | <context-group name="null"> |
1954 | <context context-type="linenumber">86</context> | 1855 | <context context-type="linenumber">94</context> |
1955 | </context-group> | 1856 | </context-group> |
1956 | </trans-unit> | 1857 | </trans-unit> |
1957 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1858 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1958 | <source>Update this video</source> | 1859 | <source>Update this video</source> |
1959 | <target>Aktualizovat video</target> | 1860 | <target>Aktualizovat video</target> |
1960 | <context-group name="null"> | 1861 | <context-group name="null"> |
1961 | <context context-type="linenumber">92</context> | 1862 | <context context-type="linenumber">100</context> |
1962 | </context-group> | 1863 | </context-group> |
1963 | </trans-unit> | 1864 | </trans-unit> |
1964 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1865 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1965 | <source>Delete this video</source> | 1866 | <source>Delete this video</source> |
1966 | <target>Odstranit video</target> | 1867 | <target>Odstranit video</target> |
1967 | <context-group name="null"> | 1868 | <context-group name="null"> |
1968 | <context context-type="linenumber">98</context> | 1869 | <context context-type="linenumber">106</context> |
1969 | </context-group> | 1870 | </context-group> |
1970 | </trans-unit> | 1871 | </trans-unit> |
1971 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1872 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1972 | <source>Show more</source> | 1873 | <source>Show more</source> |
1973 | <target>Zobrazit více</target> | 1874 | <target>Zobrazit více</target> |
1974 | <context-group name="null"> | 1875 | <context-group name="null"> |
1975 | <context context-type="linenumber">118</context> | 1876 | <context context-type="linenumber">126</context> |
1976 | </context-group> | 1877 | </context-group> |
1977 | </trans-unit> | 1878 | </trans-unit> |
1978 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1879 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1979 | <source>Show less</source> | 1880 | <source>Show less</source> |
1980 | <target>Zobrazit méně</target> | 1881 | <target>Zobrazit méně</target> |
1981 | <context-group name="null"> | 1882 | <context-group name="null"> |
1982 | <context context-type="linenumber">124</context> | 1883 | <context context-type="linenumber">132</context> |
1983 | </context-group> | ||
1984 | </trans-unit> | ||
1985 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1986 | <source> | ||
1987 | Privacy | ||
1988 | </source> | ||
1989 | <target> | ||
1990 | Soukromí | ||
1991 | </target> | ||
1992 | <context-group name="null"> | ||
1993 | <context context-type="linenumber">131</context> | ||
1994 | </context-group> | ||
1995 | </trans-unit> | ||
1996 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
1997 | <source> | ||
1998 | Category | ||
1999 | </source> | ||
2000 | <target> | ||
2001 | Kategorie | ||
2002 | </target> | ||
2003 | <context-group name="null"> | ||
2004 | <context context-type="linenumber">140</context> | ||
2005 | </context-group> | ||
2006 | </trans-unit> | ||
2007 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2008 | <source> | ||
2009 | Licence | ||
2010 | </source> | ||
2011 | <target> | ||
2012 | Licence | ||
2013 | </target> | ||
2014 | <context-group name="null"> | ||
2015 | <context context-type="linenumber">149</context> | ||
2016 | </context-group> | ||
2017 | </trans-unit> | ||
2018 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2019 | <source> | ||
2020 | Language | ||
2021 | </source> | ||
2022 | <target> | ||
2023 | Jazyk | ||
2024 | </target> | ||
2025 | <context-group name="null"> | ||
2026 | <context context-type="linenumber">158</context> | ||
2027 | </context-group> | ||
2028 | </trans-unit> | ||
2029 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2030 | <source> | ||
2031 | Tags | ||
2032 | </source> | ||
2033 | <target> | ||
2034 | Tagy | ||
2035 | </target> | ||
2036 | <context-group name="null"> | ||
2037 | <context context-type="linenumber">167</context> | ||
2038 | </context-group> | 1884 | </context-group> |
2039 | </trans-unit> | 1885 | </trans-unit> |
2040 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1886 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2045,24 +1891,13 @@ When you will upload a video in this channel, the video support field will be au | |||
2045 | Další videa | 1891 | Další videa |
2046 | </target> | 1892 | </target> |
2047 | <context-group name="null"> | 1893 | <context-group name="null"> |
2048 | <context context-type="linenumber">181</context> | 1894 | <context context-type="linenumber">183</context> |
2049 | </context-group> | 1895 | </context-group> |
2050 | </trans-unit> | 1896 | </trans-unit> |
2051 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1897 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2052 | <source>Friendly Reminder:</source> | 1898 | <source>Friendly Reminder:</source> |
2053 | <target>Přátelské připomenutí:</target> | 1899 | <target>Přátelské připomenutí:</target> |
2054 | <context-group name="null"> | 1900 | <context-group name="null"> |
2055 | <context context-type="linenumber">193</context> | ||
2056 | </context-group> | ||
2057 | </trans-unit> | ||
2058 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2059 | <source> | ||
2060 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2061 | </source> | ||
2062 | <target> | ||
2063 | Systém sdílení použitý u tohoto videa zahrnuje některé technické informace o vašem systéme (jako je například IP adresa), které mohou být přístupné veřejně. | ||
2064 | </target> | ||
2065 | <context-group name="null"> | ||
2066 | <context context-type="linenumber">195</context> | 1901 | <context context-type="linenumber">195</context> |
2067 | </context-group> | 1902 | </context-group> |
2068 | </trans-unit> | 1903 | </trans-unit> |
@@ -2070,14 +1905,14 @@ When you will upload a video in this channel, the video support field will be au | |||
2070 | <source>More information</source> | 1905 | <source>More information</source> |
2071 | <target>Více informací</target> | 1906 | <target>Více informací</target> |
2072 | <context-group name="null"> | 1907 | <context-group name="null"> |
2073 | <context context-type="linenumber">198</context> | 1908 | <context context-type="linenumber">200</context> |
2074 | </context-group> | 1909 | </context-group> |
2075 | </trans-unit> | 1910 | </trans-unit> |
2076 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1911 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2077 | <source>Get more information</source> | 1912 | <source>Get more information</source> |
2078 | <target>Získat více informací</target> | 1913 | <target>Získat více informací</target> |
2079 | <context-group name="null"> | 1914 | <context-group name="null"> |
2080 | <context context-type="linenumber">198</context> | 1915 | <context context-type="linenumber">200</context> |
2081 | </context-group> | 1916 | </context-group> |
2082 | </trans-unit> | 1917 | </trans-unit> |
2083 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1918 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2088,7 +1923,7 @@ When you will upload a video in this channel, the video support field will be au | |||
2088 | OK | 1923 | OK |
2089 | </target> | 1924 | </target> |
2090 | <context-group name="null"> | 1925 | <context-group name="null"> |
2091 | <context context-type="linenumber">201</context> | 1926 | <context context-type="linenumber">203</context> |
2092 | </context-group> | 1927 | </context-group> |
2093 | </trans-unit> | 1928 | </trans-unit> |
2094 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1929 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2560,13 +2395,6 @@ When you will upload a video in this channel, the video support field will be au | |||
2560 | <context context-type="linenumber">1</context> | 2395 | <context context-type="linenumber">1</context> |
2561 | </context-group> | 2396 | </context-group> |
2562 | </trans-unit> | 2397 | </trans-unit> |
2563 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2564 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2565 | <target>Email s instrukcemi pro reset hesla byl zaslán na <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</target> | ||
2566 | <context-group name="null"> | ||
2567 | <context context-type="linenumber">1</context> | ||
2568 | </context-group> | ||
2569 | </trans-unit> | ||
2570 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2398 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2571 | <source>Unable to find user id or verification string.</source> | 2399 | <source>Unable to find user id or verification string.</source> |
2572 | <target>Nelze najít uživatelovo id nebo verifikační řetězec.</target> | 2400 | <target>Nelze najít uživatelovo id nebo verifikační řetězec.</target> |
@@ -2581,6 +2409,20 @@ When you will upload a video in this channel, the video support field will be au | |||
2581 | <context context-type="linenumber">1</context> | 2409 | <context context-type="linenumber">1</context> |
2582 | </context-group> | 2410 | </context-group> |
2583 | </trans-unit> | 2411 | </trans-unit> |
2412 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2413 | <source>Today</source> | ||
2414 | <target>Dnes</target> | ||
2415 | <context-group name="null"> | ||
2416 | <context context-type="linenumber">1</context> | ||
2417 | </context-group> | ||
2418 | </trans-unit> | ||
2419 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2420 | <source>Search</source> | ||
2421 | <target>Hledat</target> | ||
2422 | <context-group name="null"> | ||
2423 | <context context-type="linenumber">1</context> | ||
2424 | </context-group> | ||
2425 | </trans-unit> | ||
2584 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2426 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2585 | <source>Instance name is required.</source> | 2427 | <source>Instance name is required.</source> |
2586 | <target>Jméno instance je vyžadováno.</target> | 2428 | <target>Jméno instance je vyžadováno.</target> |
@@ -3267,13 +3109,6 @@ When you will upload a video in this channel, the video support field will be au | |||
3267 | <context context-type="linenumber">1</context> | 3109 | <context context-type="linenumber">1</context> |
3268 | </context-group> | 3110 | </context-group> |
3269 | </trans-unit> | 3111 | </trans-unit> |
3270 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3271 | <source>Today</source> | ||
3272 | <target>Dnes</target> | ||
3273 | <context-group name="null"> | ||
3274 | <context context-type="linenumber">1</context> | ||
3275 | </context-group> | ||
3276 | </trans-unit> | ||
3277 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3112 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3278 | <source>Clear</source> | 3113 | <source>Clear</source> |
3279 | <target>Vymazat</target> | 3114 | <target>Vymazat</target> |
@@ -3477,13 +3312,6 @@ When you will upload a video in this channel, the video support field will be au | |||
3477 | <context context-type="linenumber">1</context> | 3312 | <context context-type="linenumber">1</context> |
3478 | </context-group> | 3313 | </context-group> |
3479 | </trans-unit> | 3314 | </trans-unit> |
3480 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3481 | <source>This image is too large.</source> | ||
3482 | <target>Tento obrázek je moc velký.</target> | ||
3483 | <context-group name="null"> | ||
3484 | <context context-type="linenumber">1</context> | ||
3485 | </context-group> | ||
3486 | </trans-unit> | ||
3487 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3315 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3488 | <source>Your video was uploaded in your account and is private.</source> | 3316 | <source>Your video was uploaded in your account and is private.</source> |
3489 | <target>Video bylo nahráno na váš účet a nyní je nastaveno jako soukromé.</target> | 3317 | <target>Video bylo nahráno na váš účet a nyní je nastaveno jako soukromé.</target> |
@@ -3519,13 +3347,6 @@ When you will upload a video in this channel, the video support field will be au | |||
3519 | <context context-type="linenumber">1</context> | 3347 | <context context-type="linenumber">1</context> |
3520 | </context-group> | 3348 | </context-group> |
3521 | </trans-unit> | 3349 | </trans-unit> |
3522 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3523 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3524 | <target>Omlouváme se, ale PeerTube nedokáže zpracovat videa větší než 4GB</target> | ||
3525 | <context-group name="null"> | ||
3526 | <context context-type="linenumber">1</context> | ||
3527 | </context-group> | ||
3528 | </trans-unit> | ||
3529 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3350 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3530 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3351 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3531 | <target>Váš limit na videa byl překročen tímto videem (velikost videa: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, použito: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, limit: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3352 | <target>Váš limit na videa byl překročen tímto videem (velikost videa: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, použito: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, limit: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3596,13 +3417,6 @@ When you will upload a video in this channel, the video support field will be au | |||
3596 | <context context-type="linenumber">1</context> | 3417 | <context context-type="linenumber">1</context> |
3597 | </context-group> | 3418 | </context-group> |
3598 | </trans-unit> | 3419 | </trans-unit> |
3599 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3600 | <source>Cannot fetch video from server, maybe down.</source> | ||
3601 | <target>Nelze získat video ze serveru.</target> | ||
3602 | <context-group name="null"> | ||
3603 | <context context-type="linenumber">1</context> | ||
3604 | </context-group> | ||
3605 | </trans-unit> | ||
3606 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3420 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3607 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3421 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3608 | <target>Toto video obsahuje citlivý materiál. Opravdu jej chcete přehrát?</target> | 3422 | <target>Toto video obsahuje citlivý materiál. Opravdu jej chcete přehrát?</target> |
@@ -3617,12 +3431,5 @@ When you will upload a video in this channel, the video support field will be au | |||
3617 | <context context-type="linenumber">1</context> | 3431 | <context context-type="linenumber">1</context> |
3618 | </context-group> | 3432 | </context-group> |
3619 | </trans-unit> | 3433 | </trans-unit> |
3620 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3621 | <source>Search</source> | ||
3622 | <target>Hledat</target> | ||
3623 | <context-group name="null"> | ||
3624 | <context context-type="linenumber">1</context> | ||
3625 | </context-group> | ||
3626 | </trans-unit> | ||
3627 | </body> | 3434 | </body> |
3628 | </file></xliff> \ No newline at end of file | 3435 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_de_DE.xml b/client/src/locale/target/angular_de_DE.xml index 1d1db325d..e186fac9d 100644 --- a/client/src/locale/target/angular_de_DE.xml +++ b/client/src/locale/target/angular_de_DE.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Abbrechen | 11 | Abbrechen |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Hilfe</target> | 47 | <target>Hilfe</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Passwort</target> | 108 | <target>Passwort</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -329,6 +329,27 @@ Mein Konto</target> | |||
329 | <context context-type="linenumber">9</context> | 329 | <context context-type="linenumber">9</context> |
330 | </context-group> | 330 | </context-group> |
331 | </trans-unit> | 331 | </trans-unit> |
332 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
333 | <source>Category</source> | ||
334 | <target>Kategorie</target> | ||
335 | <context-group name="null"> | ||
336 | <context context-type="linenumber">144</context> | ||
337 | </context-group> | ||
338 | </trans-unit> | ||
339 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
340 | <source>Licence</source> | ||
341 | <target>Lizenz</target> | ||
342 | <context-group name="null"> | ||
343 | <context context-type="linenumber">153</context> | ||
344 | </context-group> | ||
345 | </trans-unit> | ||
346 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
347 | <source>Language</source> | ||
348 | <target>Sprache</target> | ||
349 | <context-group name="null"> | ||
350 | <context context-type="linenumber">162</context> | ||
351 | </context-group> | ||
352 | </trans-unit> | ||
332 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 353 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
333 | <source>No results.</source> | 354 | <source>No results.</source> |
334 | <target>Keine Ergebnisse.</target> | 355 | <target>Keine Ergebnisse.</target> |
@@ -403,11 +424,641 @@ Mein Konto</target> | |||
403 | <context context-type="linenumber">31</context> | 424 | <context context-type="linenumber">31</context> |
404 | </context-group> | 425 | </context-group> |
405 | </trans-unit> | 426 | </trans-unit> |
427 | <trans-unit id="5c856a6a233b6f6c4cc8eed46436d31d2da63fc1"> | ||
428 | <source> | ||
429 | User registration is currently not allowed. | ||
430 | </source> | ||
431 | <target> | ||
432 | Die Benutzerregistrierung ist zur Zeit nicht erlaubt | ||
433 | </target> | ||
434 | <context-group name="null"> | ||
435 | <context context-type="linenumber">36</context> | ||
436 | </context-group> | ||
437 | </trans-unit> | ||
438 | <trans-unit id="a11e3ba2c5aea841de67a3c85892bb61295e94dc"> | ||
439 | <source> | ||
440 | About PeerTube | ||
441 | </source> | ||
442 | <target> | ||
443 | Über PeerTube</target> | ||
444 | <context-group name="null"> | ||
445 | <context context-type="linenumber">1</context> | ||
446 | </context-group> | ||
447 | </trans-unit> | ||
448 | <trans-unit id="bd29138e1e17572596ce8f2fe61bcea6ac5fb0bf"> | ||
449 | <source>PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser.</source> | ||
450 | <target>PeerTube ist eine föderierte (ActivityPub) Videostreamingplattform, die P2P (WebTorrent) direkt im Browser verwendet.</target> | ||
451 | <context-group name="null"> | ||
452 | <context context-type="linenumber">6</context> | ||
453 | </context-group> | ||
454 | </trans-unit> | ||
455 | <trans-unit id="c2bc16265b72b9af4a4374b805931ae03e3f73a5"> | ||
456 | <source> | ||
457 | It is a free and open-source software, under the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
458 | </source> | ||
459 | <target> | ||
460 | Es ist eine freie Open Source Software unter der <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
461 | </target> | ||
462 | <context-group name="null"> | ||
463 | <context context-type="linenumber">8</context> | ||
464 | </context-group> | ||
465 | </trans-unit> | ||
466 | <trans-unit id="a10308f7ac111f5b66d08af0a24fc9ddf143931a"> | ||
467 | <source> | ||
468 | For more information, please visit <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
469 | </source> | ||
470 | <target> | ||
471 | Für mehr Informationen, besuche <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
472 | </target> | ||
473 | <context-group name="null"> | ||
474 | <context context-type="linenumber">12</context> | ||
475 | </context-group> | ||
476 | </trans-unit> | ||
477 | <trans-unit id="c02493cfa08b82c468233b83069b5baff23890e1"> | ||
478 | <source>P2P & Privacy</source> | ||
479 | <target>P2P & Datenschutz</target> | ||
480 | <context-group name="null"> | ||
481 | <context context-type="linenumber">18</context> | ||
482 | </context-group> | ||
483 | </trans-unit> | ||
484 | <trans-unit id="cd429d53cb8f4a87879301248e38cb85f07fa9d6"> | ||
485 | <source> | ||
486 | PeerTube uses the BitTorrent protocol to share bandwidth between users. | ||
487 | This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. | ||
488 | </source> | ||
489 | <target> | ||
490 | PeerTube verwendet das BitTorrent-Protokoll, um Bandbreite zwischen den Usern aufzuteilen. Das setzt voraus, dass deine IP Adresse auf dem BitTorrent-Tracker zwischengespeichert wird, solange du dir ein Video ansiehst oder herunterlädst. | ||
491 | </target> | ||
492 | <context-group name="null"> | ||
493 | <context context-type="linenumber">20</context> | ||
494 | </context-group> | ||
495 | </trans-unit> | ||
496 | <trans-unit id="e4ce50f3019e3ebe9a479784c6cb68a31c7a8231"> | ||
497 | <source>What are the consequences?</source> | ||
498 | <target>Was sind die Konsequenzen?</target> | ||
499 | <context-group name="null"> | ||
500 | <context context-type="linenumber">25</context> | ||
501 | </context-group> | ||
502 | </trans-unit> | ||
503 | <trans-unit id="9a612748b059ad246935df17ef4ec4e6afb43a2a"> | ||
504 | <source> | ||
505 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. | ||
506 | In practice, this is much more difficult because: | ||
507 | </source> | ||
508 | <target> | ||
509 | Theoretisch könnte jemand mit genug technischer Erfahrung herausfinden, welche IP welches Video herunterlädt. | ||
510 | In der Praxis ist das jedoch sehr schwierig, denn: | ||
511 | |||
512 | </target> | ||
513 | <context-group name="null"> | ||
514 | <context context-type="linenumber">27</context> | ||
515 | </context-group> | ||
516 | </trans-unit> | ||
517 | <trans-unit id="64f96be62df4a95a0615b6f630ad25d6348a29d3"> | ||
518 | <source> | ||
519 | An HTTP request has to be sent on each tracker for each video to spy. | ||
520 | If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) | ||
521 | </source> | ||
522 | <target> | ||
523 | Der Angreifer müsste für jedes Video eine separate HTTP-Anfrage senden. | ||
524 | Möchte er alle Videos von PeerTube verfolgen, so müsste er genausoviele Anfragen senden, wie es Videos gibt. (also eine ganze Menge!) | ||
525 | </target> | ||
526 | <context-group name="null"> | ||
527 | <context context-type="linenumber">33</context> | ||
528 | </context-group> | ||
529 | </trans-unit> | ||
530 | <trans-unit id="44bbecddbdf2aad1f4bad97cb806560553fb2ab3"> | ||
531 | <source> | ||
532 | If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video | ||
533 | </source> | ||
534 | <target> | ||
535 | Wenn eine IP im Tracker gespeichert wird, heißt das nicht unbedingt, dass die zugehörige Person das Video auch tatsächlich angesehen hat. | ||
536 | </target> | ||
537 | <context-group name="null"> | ||
538 | <context context-type="linenumber">47</context> | ||
539 | </context-group> | ||
540 | </trans-unit> | ||
541 | <trans-unit id="3c2990d5e452bdf2317ff23745db70705d848d99"> | ||
542 | <source>What can I do to limit the exposure of my IP address?</source> | ||
543 | <target>Was kann ich tun, um die Sichtbarkeit meiner IP-Adresse zu begrenzen?</target> | ||
544 | <context-group name="null"> | ||
545 | <context context-type="linenumber">75</context> | ||
546 | </context-group> | ||
547 | </trans-unit> | ||
548 | <trans-unit id="a545356de272b955258c2a2432b08ec637b65f7e"> | ||
549 | <source> | ||
550 | Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing your IP in their connection logs: ISP/routers/trackers/CDN and more. | ||
551 | PeerTube is transparent about it: we warn you that if you want to keep your IP private, you must use a VPN or Tor Browser. | ||
552 | Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. | ||
553 | </source> | ||
554 | <target> | ||
555 | Jedes Mal, wenn du eine Website aufrufst, ist deine IP-Adresse nicht nur für Seite, sondern auch für ISPs/Router/Tracker/CDNs und andere sichtbar. | ||
556 | PeerTube sagt da ganz offen und transparent: Um deine Privatsphäre zu schützen, empfehlen wir ein VPN oder einen Tor Browser zu verwenden. | ||
557 | P2P ist nicht der Grund für die fehlende Anonymität.</target> | ||
558 | <context-group name="null"> | ||
559 | <context context-type="linenumber">77</context> | ||
560 | </context-group> | ||
561 | </trans-unit> | ||
562 | <trans-unit id="8ce78dd287b9a9dde5079916425ea66466530e41"> | ||
563 | <source>What will be done to mitigate this problem?</source> | ||
564 | <target>Was wird getan, um das Problem zu beheben?</target> | ||
565 | <context-group name="null"> | ||
566 | <context context-type="linenumber">83</context> | ||
567 | </context-group> | ||
568 | </trans-unit> | ||
569 | <trans-unit id="ba77e356eaa5c06caaf5c8734c361d1a5415fe1c"> | ||
570 | <source>Ring a bell if there are unusual requests (being tested)</source> | ||
571 | <target>Informiere mich bei merkwürdigen Anfragen (TEST)</target> | ||
572 | <context-group name="null"> | ||
573 | <context context-type="linenumber">93</context> | ||
574 | </context-group> | ||
575 | </trans-unit> | ||
576 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> | ||
577 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> | ||
578 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> Abonnenten</target> | ||
579 | <context-group name="null"> | ||
580 | <context context-type="linenumber">12</context> | ||
581 | </context-group> | ||
582 | </trans-unit> | ||
583 | <trans-unit id="6f5a458f827503ac7b8697688ecf3e0490818ee8"> | ||
584 | <source>Video channels</source> | ||
585 | <target>Kanäle</target> | ||
586 | <context-group name="null"> | ||
587 | <context context-type="linenumber">19</context> | ||
588 | </context-group> | ||
589 | </trans-unit> | ||
590 | <trans-unit id="299f97b8ee9c62d45f2cc01961aa1e5101d6d05a"> | ||
591 | <source>Stats</source> | ||
592 | <target>Statistiken</target> | ||
593 | <context-group name="null"> | ||
594 | <context context-type="linenumber">16</context> | ||
595 | </context-group> | ||
596 | </trans-unit> | ||
597 | <trans-unit id="8bc634cd9d8c9b684dbfaaf17a522f894bedbffc"> | ||
598 | <source>Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/></source> | ||
599 | <target>Hier seit <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/></target> | ||
600 | <context-group name="null"> | ||
601 | <context context-type="linenumber">10</context> | ||
602 | </context-group> | ||
603 | </trans-unit> | ||
604 | <trans-unit id="8fef247fd0c5bf790151f7661cafc4b7fd0397f3"> | ||
605 | <source><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers</source> | ||
606 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> Abonnenten</target> | ||
607 | <context-group name="null"> | ||
608 | <context context-type="linenumber">11</context> | ||
609 | </context-group> | ||
610 | </trans-unit> | ||
611 | <trans-unit id="f36bd6a1570cb9b0a5023870f35160957cad2a8f"> | ||
612 | <source>See this video channel</source> | ||
613 | <target>Zum Kanal</target> | ||
614 | <context-group name="null"> | ||
615 | <context context-type="linenumber">4</context> | ||
616 | </context-group> | ||
617 | </trans-unit> | ||
618 | <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59"> | ||
619 | <source>Name</source> | ||
620 | <target>Name</target> | ||
621 | <context-group name="null"> | ||
622 | <context context-type="linenumber">9</context> | ||
623 | </context-group> | ||
624 | </trans-unit> | ||
625 | <trans-unit id="512b045163a7187b2fc5d554e5f59fb3e49e174b"> | ||
626 | <source>Short description</source> | ||
627 | <target>Kurze Beschreibung</target> | ||
628 | <context-group name="null"> | ||
629 | <context context-type="linenumber">21</context> | ||
630 | </context-group> | ||
631 | </trans-unit> | ||
632 | <trans-unit id="554488d11165f38b27b8fe230aba8a2e30d57003"> | ||
633 | <source>Default client route</source> | ||
634 | <target>Standardpfad (Client)</target> | ||
635 | <context-group name="null"> | ||
636 | <context context-type="linenumber">54</context> | ||
637 | </context-group> | ||
638 | </trans-unit> | ||
639 | <trans-unit id="1cbeb1eb589bfbe5efce94184cacd3095ca26948"> | ||
640 | <source>Videos Trending</source> | ||
641 | <target>Beliebte Videos</target> | ||
642 | <context-group name="null"> | ||
643 | <context context-type="linenumber">57</context> | ||
644 | </context-group> | ||
645 | </trans-unit> | ||
646 | <trans-unit id="1861c96217213992e02dcb77e15ea69e718c9883"> | ||
647 | <source>Videos Recently Added</source> | ||
648 | <target>Kürzlich hinzugfügt</target> | ||
649 | <context-group name="null"> | ||
650 | <context context-type="linenumber">58</context> | ||
651 | </context-group> | ||
652 | </trans-unit> | ||
653 | <trans-unit id="b6307f83d9f43bff8d5129a7888e89964ddc3f7f"> | ||
654 | <source>Local videos</source> | ||
655 | <target>Lokale Videos</target> | ||
656 | <context-group name="null"> | ||
657 | <context context-type="linenumber">59</context> | ||
658 | </context-group> | ||
659 | </trans-unit> | ||
660 | <trans-unit id="8551afadb69b3fef89e191f507e8ac84e624e8b9"> | ||
661 | <source>Policy on videos containing sensitive content</source> | ||
662 | <target>Verhalten bei Videos mit anstößigen Inhalten</target> | ||
663 | <context-group name="null"> | ||
664 | <context context-type="linenumber">68</context> | ||
665 | </context-group> | ||
666 | </trans-unit> | ||
667 | <trans-unit id="aa3ef567a1ea22c1e4d0acfdc8f80bc636bf12df"> | ||
668 | <source>With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.</source> | ||
669 | <target>Mit <strong>Nicht listen</strong> oder <strong>Thumbnails verschwommen machen</strong>, muss zum Ansehen des Videos eine Bestätigung angefragt werden.</target> | ||
670 | <context-group name="null"> | ||
671 | <context context-type="linenumber">6</context> | ||
672 | </context-group> | ||
673 | </trans-unit> | ||
674 | <trans-unit id="5e155c34fb3ed8159bf0a486a366cfbc6874f9fe"> | ||
675 | <source>Do not list</source> | ||
676 | <target>Nicht listen</target> | ||
677 | <context-group name="null"> | ||
678 | <context context-type="linenumber">11</context> | ||
679 | </context-group> | ||
680 | </trans-unit> | ||
681 | <trans-unit id="aaa900149c2ca1575ac1918d1ded33fb69830ab2"> | ||
682 | <source>Blur thumbnails</source> | ||
683 | <target>Thumbnails verschwommen machen</target> | ||
684 | <context-group name="null"> | ||
685 | <context context-type="linenumber">12</context> | ||
686 | </context-group> | ||
687 | </trans-unit> | ||
688 | <trans-unit id="010d24ef3c43b2d8f45a4d6cba7d73e12ee1557e"> | ||
689 | <source>Display</source> | ||
690 | <target>Anzeige</target> | ||
691 | <context-group name="null"> | ||
692 | <context context-type="linenumber">13</context> | ||
693 | </context-group> | ||
694 | </trans-unit> | ||
695 | <trans-unit id="ca53e66e68986546b7ef820c934145fd7c9c4247"> | ||
696 | <source>Signup enabled</source> | ||
697 | <target>Registrierung an</target> | ||
698 | <context-group name="null"> | ||
699 | <context context-type="linenumber">90</context> | ||
700 | </context-group> | ||
701 | </trans-unit> | ||
702 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | ||
703 | <source>Signup limit</source> | ||
704 | <target>Registrierungslimit</target> | ||
705 | <context-group name="null"> | ||
706 | <context context-type="linenumber">94</context> | ||
707 | </context-group> | ||
708 | </trans-unit> | ||
709 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | ||
710 | <source>Administrator</source> | ||
711 | <target>Administrator</target> | ||
712 | <context-group name="null"> | ||
713 | <context context-type="linenumber">104</context> | ||
714 | </context-group> | ||
715 | </trans-unit> | ||
716 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | ||
717 | <source>Admin email</source> | ||
718 | <target>Admin E-Mail</target> | ||
719 | <context-group name="null"> | ||
720 | <context context-type="linenumber">107</context> | ||
721 | </context-group> | ||
722 | </trans-unit> | ||
723 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | ||
724 | <source>Users</source> | ||
725 | <target>Benutzer</target> | ||
726 | <context-group name="null"> | ||
727 | <context context-type="linenumber">117</context> | ||
728 | </context-group> | ||
729 | </trans-unit> | ||
406 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 730 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
407 | <source>User default video quota</source> | 731 | <source>User default video quota</source> |
408 | <target>Standard-Kontingent für die Videos eines Nutzers</target> | 732 | <target>Standard-Kontingent für die Videos eines Nutzers</target> |
409 | <context-group name="null"> | 733 | <context-group name="null"> |
410 | <context context-type="linenumber">122</context> | 734 | <context context-type="linenumber">120</context> |
735 | </context-group> | ||
736 | </trans-unit> | ||
737 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | ||
738 | <source>Basic configuration</source> | ||
739 | <target>Grundlegende Einstellungen</target> | ||
740 | <context-group name="null"> | ||
741 | <context context-type="linenumber">5</context> | ||
742 | </context-group> | ||
743 | </trans-unit> | ||
744 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> | ||
745 | <source>Twitter</source> | ||
746 | <target>Twitter</target> | ||
747 | <context-group name="null"> | ||
748 | <context context-type="linenumber">136</context> | ||
749 | </context-group> | ||
750 | </trans-unit> | ||
751 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | ||
752 | <source>Your Twitter username</source> | ||
753 | <target>Dein Twitter-Benutzername</target> | ||
754 | <context-group name="null"> | ||
755 | <context context-type="linenumber">139</context> | ||
756 | </context-group> | ||
757 | </trans-unit> | ||
758 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | ||
759 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | ||
760 | <target>zeigt den Twitter-Account für die Webseite, auf der der Inhalt veröffentlicht wurde.</target> | ||
761 | <context-group name="null"> | ||
762 | <context context-type="linenumber">142</context> | ||
763 | </context-group> | ||
764 | </trans-unit> | ||
765 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | ||
766 | <source>Instance whitelisted by Twitter</source> | ||
767 | <target>Instanz von Twitter vertraut</target> | ||
768 | <context-group name="null"> | ||
769 | <context context-type="linenumber">155</context> | ||
770 | </context-group> | ||
771 | </trans-unit> | ||
772 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | ||
773 | <source>Services</source> | ||
774 | <target>Dienste</target> | ||
775 | <context-group name="null"> | ||
776 | <context context-type="linenumber">134</context> | ||
777 | </context-group> | ||
778 | </trans-unit> | ||
779 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
780 | <source>Transcoding</source> | ||
781 | <target>Transcodierung</target> | ||
782 | <context-group name="null"> | ||
783 | <context context-type="linenumber">164</context> | ||
784 | </context-group> | ||
785 | </trans-unit> | ||
786 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | ||
787 | <source>Transcoding enabled</source> | ||
788 | <target>Transcodierung an</target> | ||
789 | <context-group name="null"> | ||
790 | <context context-type="linenumber">168</context> | ||
791 | </context-group> | ||
792 | </trans-unit> | ||
793 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | ||
794 | <source>If you disable transcoding, many videos from your users will not work!</source> | ||
795 | <target>Wenn du das Transcoding abschaltest, werden viele Videos nicht laufen!</target> | ||
796 | <context-group name="null"> | ||
797 | <context context-type="linenumber">169</context> | ||
798 | </context-group> | ||
799 | </trans-unit> | ||
800 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
801 | <source>Transcoding threads</source> | ||
802 | <target>Transcodierungsthreads</target> | ||
803 | <context-group name="null"> | ||
804 | <context context-type="linenumber">175</context> | ||
805 | </context-group> | ||
806 | </trans-unit> | ||
807 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | ||
808 | <source>Previews cache size</source> | ||
809 | <target>Cachegröße der Previews</target> | ||
810 | <context-group name="null"> | ||
811 | <context context-type="linenumber">207</context> | ||
812 | </context-group> | ||
813 | </trans-unit> | ||
814 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | ||
815 | <source>Customizations</source> | ||
816 | <target>Personalisierung</target> | ||
817 | <context-group name="null"> | ||
818 | <context context-type="linenumber">228</context> | ||
819 | </context-group> | ||
820 | </trans-unit> | ||
821 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | ||
822 | <source>JavaScript</source> | ||
823 | <target>JavaScript</target> | ||
824 | <context-group name="null"> | ||
825 | <context context-type="linenumber">231</context> | ||
826 | </context-group> | ||
827 | </trans-unit> | ||
828 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
829 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
830 | <target>Füge dein JavaScript ein. Beispiel: <pre>console.log('my instance is amazing');</pre></target> | ||
831 | <context-group name="null"> | ||
832 | <context context-type="linenumber">234</context> | ||
833 | </context-group> | ||
834 | </trans-unit> | ||
835 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | ||
836 | <source> | ||
837 | Write directly CSS code. Example:<br /> | ||
838 | <pre> | ||
839 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
840 | background-color: red; | ||
841 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
842 | </pre> | ||
843 | |||
844 | Prepend with <em>#custom-css</em> to override styles. Example: | ||
845 | <pre> | ||
846 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
847 | color: red; | ||
848 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
849 | </pre> | ||
850 | </source> | ||
851 | <target> | ||
852 | Füge dein CSS ein. Beispiel:<br /> | ||
853 | <pre> | ||
854 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
855 | background-color: red; | ||
856 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
857 | </pre> | ||
858 | |||
859 | Prepend with <em>#custom-css</em> to override styles. Example: | ||
860 | <pre> | ||
861 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
862 | color: red; | ||
863 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
864 | </pre> | ||
865 | </target> | ||
866 | <context-group name="null"> | ||
867 | <context context-type="linenumber">250</context> | ||
868 | </context-group> | ||
869 | </trans-unit> | ||
870 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | ||
871 | <source>Advanced configuration</source> | ||
872 | <target>Erweiterte Einstellungen</target> | ||
873 | <context-group name="null"> | ||
874 | <context context-type="linenumber">162</context> | ||
875 | </context-group> | ||
876 | </trans-unit> | ||
877 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | ||
878 | <source>Update configuration</source> | ||
879 | <target>Update-Einstellungen</target> | ||
880 | <context-group name="null"> | ||
881 | <context context-type="linenumber">277</context> | ||
882 | </context-group> | ||
883 | </trans-unit> | ||
884 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | ||
885 | <source> | ||
886 | Users | ||
887 | </source> | ||
888 | <target> | ||
889 | Benutzer | ||
890 | </target> | ||
891 | <context-group name="null"> | ||
892 | <context context-type="linenumber">3</context> | ||
893 | </context-group> | ||
894 | </trans-unit> | ||
895 | <trans-unit id="0315abd64e35510ed0534f597130ef781aca175a"> | ||
896 | <source> | ||
897 | Manage follows | ||
898 | </source> | ||
899 | <target> | ||
900 | Abonnenten verwalten | ||
901 | </target> | ||
902 | <context-group name="null"> | ||
903 | <context context-type="linenumber">7</context> | ||
904 | </context-group> | ||
905 | </trans-unit> | ||
906 | <trans-unit id="1c9406213cf05033eda4d3df678217b5eb822315"> | ||
907 | <source> | ||
908 | Video abuses | ||
909 | </source> | ||
910 | <target> | ||
911 | Verstöße </target> | ||
912 | <context-group name="null"> | ||
913 | <context context-type="linenumber">11</context> | ||
914 | </context-group> | ||
915 | </trans-unit> | ||
916 | <trans-unit id="96ccede058f0022f34230c3adc09e60076b6d037"> | ||
917 | <source> | ||
918 | Video blacklist | ||
919 | </source> | ||
920 | <target> | ||
921 | </target> | ||
922 | <context-group name="null"> | ||
923 | <context context-type="linenumber">15</context> | ||
924 | </context-group> | ||
925 | </trans-unit> | ||
926 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> | ||
927 | <source> | ||
928 | Jobs | ||
929 | </source> | ||
930 | <target> | ||
931 | Jobs | ||
932 | </target> | ||
933 | <context-group name="null"> | ||
934 | <context context-type="linenumber">19</context> | ||
935 | </context-group> | ||
936 | </trans-unit> | ||
937 | <trans-unit id="9c6ce37623b626a102002901ca12c37e7a3a7f13"> | ||
938 | <source> | ||
939 | Configuration | ||
940 | </source> | ||
941 | <target> | ||
942 | Einstellungen | ||
943 | </target> | ||
944 | <context-group name="null"> | ||
945 | <context context-type="linenumber">23</context> | ||
946 | </context-group> | ||
947 | </trans-unit> | ||
948 | <trans-unit id="4e8635c108375983b42229df44bda8c0af84f396"> | ||
949 | <source>1 host (without "http://") per line</source> | ||
950 | <target>1 Host pro Zeile (ohne "http://")</target> | ||
951 | <context-group name="null"> | ||
952 | <context context-type="linenumber">5</context> | ||
953 | </context-group> | ||
954 | </trans-unit> | ||
955 | <trans-unit id="f7a7a00999ccbd126cbb8e74f5dd1724942dd507"> | ||
956 | <source> | ||
957 | It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. | ||
958 | </source> | ||
959 | <target> | ||
960 | Es scheint, als seist du nicht auf einem HTTPS-Server. Dein Webserver muss TLS aktivieren, um andere Server abonnieren zu können. | ||
961 | </target> | ||
962 | <context-group name="null"> | ||
963 | <context context-type="linenumber">17</context> | ||
964 | </context-group> | ||
965 | </trans-unit> | ||
966 | <trans-unit id="456c6383d8e7cd15aadbcdc196d4ae7a70092437"> | ||
967 | <source>Add following</source> | ||
968 | <target>Abonnement hinzufügen</target> | ||
969 | <context-group name="null"> | ||
970 | <context context-type="linenumber">21</context> | ||
971 | </context-group> | ||
972 | </trans-unit> | ||
973 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> | ||
974 | <source>ID</source> | ||
975 | <target>ID</target> | ||
976 | <context-group name="null"> | ||
977 | <context context-type="linenumber">18</context> | ||
978 | </context-group> | ||
979 | </trans-unit> | ||
980 | <trans-unit id="380e20a1e13d9489c69f6dbea7da19025ab6eb25"> | ||
981 | <source>Score</source> | ||
982 | <target>Punkte</target> | ||
983 | <context-group name="null"> | ||
984 | <context context-type="linenumber">8</context> | ||
985 | </context-group> | ||
986 | </trans-unit> | ||
987 | <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767"> | ||
988 | <source>Host</source> | ||
989 | <target>Host</target> | ||
990 | <context-group name="null"> | ||
991 | <context context-type="linenumber">8</context> | ||
992 | </context-group> | ||
993 | </trans-unit> | ||
994 | <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b"> | ||
995 | <source>State</source> | ||
996 | <target>Status</target> | ||
997 | <context-group name="null"> | ||
998 | <context context-type="linenumber">20</context> | ||
999 | </context-group> | ||
1000 | </trans-unit> | ||
1001 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
1002 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1003 | <target>Erstellt <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1004 | <context-group name="null"> | ||
1005 | <context context-type="linenumber">16</context> | ||
1006 | </context-group> | ||
1007 | </trans-unit> | ||
1008 | <trans-unit id="5fccee488a9ea908c16d2ab9dbdaf264f1aac479"> | ||
1009 | <source>Manage follows</source> | ||
1010 | <target>Abonnements verwalten</target> | ||
1011 | <context-group name="null"> | ||
1012 | <context context-type="linenumber">2</context> | ||
1013 | </context-group> | ||
1014 | </trans-unit> | ||
1015 | <trans-unit id="a9f2501fcb2ff71f1376c2d2fbbbd49f200e6c8f"> | ||
1016 | <source>Jobs list</source> | ||
1017 | <target>Jobliste</target> | ||
1018 | <context-group name="null"> | ||
1019 | <context context-type="linenumber">2</context> | ||
1020 | </context-group> | ||
1021 | </trans-unit> | ||
1022 | <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc"> | ||
1023 | <source>Type</source> | ||
1024 | <target>Typ</target> | ||
1025 | <context-group name="null"> | ||
1026 | <context context-type="linenumber">19</context> | ||
1027 | </context-group> | ||
1028 | </trans-unit> | ||
1029 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | ||
1030 | <source>Create user</source> | ||
1031 | <target>Benutzer anlegen</target> | ||
1032 | <context-group name="null"> | ||
1033 | <context context-type="linenumber">6</context> | ||
1034 | </context-group> | ||
1035 | </trans-unit> | ||
1036 | <trans-unit id="2788d9a67ed2b6f35c85818e6af1871317c57a7e"> | ||
1037 | <source>Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/></source> | ||
1038 | <target>Benutzer <x id="INTERPOLATION" equiv-text="{{ username }}"/> ändern</target> | ||
1039 | <context-group name="null"> | ||
1040 | <context context-type="linenumber">2</context> | ||
1041 | </context-group> | ||
1042 | </trans-unit> | ||
1043 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> | ||
1044 | <source>john</source> | ||
1045 | <target>john</target> | ||
1046 | <context-group name="null"> | ||
1047 | <context context-type="linenumber">10</context> | ||
1048 | </context-group> | ||
1049 | </trans-unit> | ||
1050 | <trans-unit id="bb3542ff8e5defa6d0c773799e5c8fe399605d05"> | ||
1051 | <source>mail@example.com</source> | ||
1052 | <target>mail@example.com</target> | ||
1053 | <context-group name="null"> | ||
1054 | <context context-type="linenumber">21</context> | ||
1055 | </context-group> | ||
1056 | </trans-unit> | ||
1057 | <trans-unit id="c36a66f2107e8da5371ebc9d15c2008dff567f46"> | ||
1058 | <source>Role</source> | ||
1059 | <target>Benutzerrolle</target> | ||
1060 | <context-group name="null"> | ||
1061 | <context context-type="linenumber">19</context> | ||
411 | </context-group> | 1062 | </context-group> |
412 | </trans-unit> | 1063 | </trans-unit> |
413 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> | 1064 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> |
@@ -436,6 +1087,20 @@ Mein Konto</target> | |||
436 | <context context-type="linenumber">2</context> | 1087 | <context context-type="linenumber">2</context> |
437 | </context-group> | 1088 | </context-group> |
438 | </trans-unit> | 1089 | </trans-unit> |
1090 | <trans-unit id="08ea8692dc2a7050026df26fc39b22960bde9de5"> | ||
1091 | <source>Username <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1092 | <target>Benutzername <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1093 | <context-group name="null"> | ||
1094 | <context context-type="linenumber">16</context> | ||
1095 | </context-group> | ||
1096 | </trans-unit> | ||
1097 | <trans-unit id="0c7e8870481f1287af6a142f538391d8c16c2408"> | ||
1098 | <source>Video abuses list</source> | ||
1099 | <target>Liste der Verstöße</target> | ||
1100 | <context-group name="null"> | ||
1101 | <context context-type="linenumber">2</context> | ||
1102 | </context-group> | ||
1103 | </trans-unit> | ||
439 | <trans-unit id="4ba250869daa372b54d24fafc0ea934769ee4076"> | 1104 | <trans-unit id="4ba250869daa372b54d24fafc0ea934769ee4076"> |
440 | <source>Reason</source> | 1105 | <source>Reason</source> |
441 | <target>Grund</target> | 1106 | <target>Grund</target> |
@@ -534,53 +1199,32 @@ Mein Konto</target> | |||
534 | <context context-type="linenumber">7</context> | 1199 | <context context-type="linenumber">7</context> |
535 | </context-group> | 1200 | </context-group> |
536 | </trans-unit> | 1201 | </trans-unit> |
537 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
538 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
539 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> Abonnenten</target> | ||
540 | <context-group name="null"> | ||
541 | <context context-type="linenumber">9</context> | ||
542 | </context-group> | ||
543 | </trans-unit> | ||
544 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
545 | <source>Change your avatar</source> | ||
546 | <target>Ändere deinen Avatar</target> | ||
547 | <context-group name="null"> | ||
548 | <context context-type="linenumber">14</context> | ||
549 | </context-group> | ||
550 | </trans-unit> | ||
551 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
552 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
553 | <target>(zulässige Datei-Erweiterungen: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximale Größe: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
554 | <context-group name="null"> | ||
555 | <context context-type="linenumber">17</context> | ||
556 | </context-group> | ||
557 | </trans-unit> | ||
558 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1202 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
559 | <source>Video quota:</source> | 1203 | <source>Video quota:</source> |
560 | <target>Video-Kontingent:</target> | 1204 | <target>Video-Kontingent:</target> |
561 | <context-group name="null"> | 1205 | <context-group name="null"> |
562 | <context context-type="linenumber">20</context> | 1206 | <context context-type="linenumber">4</context> |
563 | </context-group> | 1207 | </context-group> |
564 | </trans-unit> | 1208 | </trans-unit> |
565 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1209 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
566 | <source>Profile</source> | 1210 | <source>Profile</source> |
567 | <target>Profil</target> | 1211 | <target>Profil</target> |
568 | <context-group name="null"> | 1212 | <context-group name="null"> |
569 | <context context-type="linenumber">24</context> | 1213 | <context context-type="linenumber">8</context> |
570 | </context-group> | 1214 | </context-group> |
571 | </trans-unit> | 1215 | </trans-unit> |
572 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1216 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
573 | <source>Video settings</source> | 1217 | <source>Video settings</source> |
574 | <target>Video-Einstellungen</target> | 1218 | <target>Video-Einstellungen</target> |
575 | <context-group name="null"> | 1219 | <context-group name="null"> |
576 | <context context-type="linenumber">31</context> | 1220 | <context context-type="linenumber">15</context> |
577 | </context-group> | 1221 | </context-group> |
578 | </trans-unit> | 1222 | </trans-unit> |
579 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1223 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
580 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1224 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
581 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe</target> | 1225 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe</target> |
582 | <context-group name="null"> | 1226 | <context-group name="null"> |
583 | <context context-type="linenumber">20</context> | 1227 | <context context-type="linenumber">19</context> |
584 | </context-group> | 1228 | </context-group> |
585 | </trans-unit> | 1229 | </trans-unit> |
586 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1230 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -608,14 +1252,7 @@ Mein Konto</target> | |||
608 | <source>Create a video channel</source> | 1252 | <source>Create a video channel</source> |
609 | <target>Einen Video-Kanal erstellen</target> | 1253 | <target>Einen Video-Kanal erstellen</target> |
610 | <context-group name="null"> | 1254 | <context-group name="null"> |
611 | <context context-type="linenumber">1</context> | 1255 | <context context-type="linenumber">6</context> |
612 | </context-group> | ||
613 | </trans-unit> | ||
614 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
615 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
616 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/> aktualisieren</target> | ||
617 | <context-group name="null"> | ||
618 | <context context-type="linenumber">2</context> | ||
619 | </context-group> | 1256 | </context-group> |
620 | </trans-unit> | 1257 | </trans-unit> |
621 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1258 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -631,7 +1268,7 @@ When you will upload a video in this channel, the video support field will be au | |||
631 | <target>Ein kurzer Text, der anderen erklärt, wie sie deinen Kanal unterstützen können.<br /><br /> | 1268 | <target>Ein kurzer Text, der anderen erklärt, wie sie deinen Kanal unterstützen können.<br /><br /> |
632 | Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automatisch mit diesem Text gefüllt.</target> | 1269 | Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automatisch mit diesem Text gefüllt.</target> |
633 | <context-group name="null"> | 1270 | <context-group name="null"> |
634 | <context context-type="linenumber">32</context> | 1271 | <context context-type="linenumber">36</context> |
635 | </context-group> | 1272 | </context-group> |
636 | </trans-unit> | 1273 | </trans-unit> |
637 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1274 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -655,18 +1292,25 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
655 | <context context-type="linenumber">15</context> | 1292 | <context context-type="linenumber">15</context> |
656 | </context-group> | 1293 | </context-group> |
657 | </trans-unit> | 1294 | </trans-unit> |
1295 | <trans-unit id="20f62f24170d57b1efeb2387a0949f482cd4d129"> | ||
1296 | <source>Default policy on videos containing sensitive content</source> | ||
1297 | <target>Standardverhalten bei Videos mit anstößigen Inhalten</target> | ||
1298 | <context-group name="null"> | ||
1299 | <context context-type="linenumber">3</context> | ||
1300 | </context-group> | ||
1301 | </trans-unit> | ||
658 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | 1302 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> |
659 | <source>Automatically plays video</source> | 1303 | <source>Automatically plays video</source> |
660 | <target>Spiel das Video automatisch ab.</target> | 1304 | <target>Spiel das Video automatisch ab.</target> |
661 | <context-group name="null"> | 1305 | <context-group name="null"> |
662 | <context context-type="linenumber">24</context> | 1306 | <context context-type="linenumber">20</context> |
663 | </context-group> | 1307 | </context-group> |
664 | </trans-unit> | 1308 | </trans-unit> |
665 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1309 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
666 | <source>Save</source> | 1310 | <source>Save</source> |
667 | <target>Speichern</target> | 1311 | <target>Speichern</target> |
668 | <context-group name="null"> | 1312 | <context-group name="null"> |
669 | <context context-type="linenumber">27</context> | 1313 | <context context-type="linenumber">23</context> |
670 | </context-group> | 1314 | </context-group> |
671 | </trans-unit> | 1315 | </trans-unit> |
672 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1316 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -676,6 +1320,13 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
676 | <context context-type="linenumber">27</context> | 1320 | <context context-type="linenumber">27</context> |
677 | </context-group> | 1321 | </context-group> |
678 | </trans-unit> | 1322 | </trans-unit> |
1323 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1324 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1325 | <target>(zulässige Datei-Erweiterungen: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximale Größe: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1326 | <context-group name="null"> | ||
1327 | <context context-type="linenumber">18</context> | ||
1328 | </context-group> | ||
1329 | </trans-unit> | ||
679 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1330 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
680 | <source> | 1331 | <source> |
681 | Sorry, but we couldn't find the page you were looking for. | 1332 | Sorry, but we couldn't find the page you were looking for. |
@@ -694,6 +1345,13 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
694 | <context context-type="linenumber">14</context> | 1345 | <context context-type="linenumber">14</context> |
695 | </context-group> | 1346 | </context-group> |
696 | </trans-unit> | 1347 | </trans-unit> |
1348 | <trans-unit id="e006ed166ce188cab168e1ca90435b33d042d913"> | ||
1349 | <source>Go the owner account page</source> | ||
1350 | <target>Zum Kanal des Besitzers</target> | ||
1351 | <context-group name="null"> | ||
1352 | <context context-type="linenumber">13</context> | ||
1353 | </context-group> | ||
1354 | </trans-unit> | ||
697 | <trans-unit id="1380539d91f77f565de6e21ce210da891e6644b8"> | 1355 | <trans-unit id="1380539d91f77f565de6e21ce210da891e6644b8"> |
698 | <source>Support this channel</source> | 1356 | <source>Support this channel</source> |
699 | <target>Unterstütze diesen Kanal</target> | 1357 | <target>Unterstütze diesen Kanal</target> |
@@ -740,21 +1398,21 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
740 | <source>Privacy</source> | 1398 | <source>Privacy</source> |
741 | <target>Privatsphäre</target> | 1399 | <target>Privatsphäre</target> |
742 | <context-group name="null"> | 1400 | <context-group name="null"> |
743 | <context context-type="linenumber">86</context> | 1401 | <context context-type="linenumber">139</context> |
744 | </context-group> | 1402 | </context-group> |
745 | </trans-unit> | 1403 | </trans-unit> |
746 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1404 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
747 | <source>Publish will be available when upload is finished</source> | 1405 | <source>Publish will be available when upload is finished</source> |
748 | <target>Veröffentlichung ist möglich, sobald das Hochladen abgeschlossen ist</target> | 1406 | <target>Veröffentlichung ist möglich, sobald das Hochladen abgeschlossen ist</target> |
749 | <context-group name="null"> | 1407 | <context-group name="null"> |
750 | <context context-type="linenumber">53</context> | 1408 | <context context-type="linenumber">54</context> |
751 | </context-group> | 1409 | </context-group> |
752 | </trans-unit> | 1410 | </trans-unit> |
753 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1411 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
754 | <source>Publish</source> | 1412 | <source>Publish</source> |
755 | <target>Veröffentlichen</target> | 1413 | <target>Veröffentlichen</target> |
756 | <context-group name="null"> | 1414 | <context-group name="null"> |
757 | <context context-type="linenumber">60</context> | 1415 | <context context-type="linenumber">61</context> |
758 | </context-group> | 1416 | </context-group> |
759 | </trans-unit> | 1417 | </trans-unit> |
760 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1418 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -768,7 +1426,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
768 | <source>Tags</source> | 1426 | <source>Tags</source> |
769 | <target>Tags</target> | 1427 | <target>Tags</target> |
770 | <context-group name="null"> | 1428 | <context-group name="null"> |
771 | <context context-type="linenumber">15</context> | 1429 | <context context-type="linenumber">171</context> |
772 | </context-group> | 1430 | </context-group> |
773 | </trans-unit> | 1431 | </trans-unit> |
774 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1432 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -785,27 +1443,6 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
785 | <context context-type="linenumber">24</context> | 1443 | <context context-type="linenumber">24</context> |
786 | </context-group> | 1444 | </context-group> |
787 | </trans-unit> | 1445 | </trans-unit> |
788 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
789 | <source>Category</source> | ||
790 | <target>Kategorie</target> | ||
791 | <context-group name="null"> | ||
792 | <context context-type="linenumber">44</context> | ||
793 | </context-group> | ||
794 | </trans-unit> | ||
795 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
796 | <source>Licence</source> | ||
797 | <target>Lizenz</target> | ||
798 | <context-group name="null"> | ||
799 | <context context-type="linenumber">58</context> | ||
800 | </context-group> | ||
801 | </trans-unit> | ||
802 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
803 | <source>Language</source> | ||
804 | <target>Sprache</target> | ||
805 | <context-group name="null"> | ||
806 | <context context-type="linenumber">72</context> | ||
807 | </context-group> | ||
808 | </trans-unit> | ||
809 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1446 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
810 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1447 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
811 | <target>Veröffentlichung planen (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1448 | <target>Veröffentlichung planen (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -817,35 +1454,28 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
817 | <source>This video contains mature or explicit content</source> | 1454 | <source>This video contains mature or explicit content</source> |
818 | <target>Dieses Video enthält Inhalte, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden.</target> | 1455 | <target>Dieses Video enthält Inhalte, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden.</target> |
819 | <context-group name="null"> | 1456 | <context-group name="null"> |
820 | <context context-type="linenumber">116</context> | 1457 | <context context-type="linenumber">115</context> |
821 | </context-group> | 1458 | </context-group> |
822 | </trans-unit> | 1459 | </trans-unit> |
823 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1460 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
824 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1461 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
825 | <target>Einige Instanzen zeigen keine Videos, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden.</target> | 1462 | <target>Einige Instanzen zeigen keine Videos, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden.</target> |
826 | <context-group name="null"> | 1463 | <context-group name="null"> |
827 | <context context-type="linenumber">119</context> | 1464 | <context context-type="linenumber">116</context> |
828 | </context-group> | 1465 | </context-group> |
829 | </trans-unit> | 1466 | </trans-unit> |
830 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1467 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
831 | <source>Enable video comments</source> | 1468 | <source>Enable video comments</source> |
832 | <target>Video-Kommentare zulassen</target> | 1469 | <target>Video-Kommentare zulassen</target> |
833 | <context-group name="null"> | 1470 | <context-group name="null"> |
834 | <context context-type="linenumber">126</context> | 1471 | <context context-type="linenumber">121</context> |
835 | </context-group> | 1472 | </context-group> |
836 | </trans-unit> | 1473 | </trans-unit> |
837 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1474 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
838 | <source>Wait transcoding before publishing the video</source> | 1475 | <source>Wait transcoding before publishing the video</source> |
839 | <target>Warte das Transcodieren ab, bevor du das Video veröffentlichst</target> | 1476 | <target>Warte das Transcodieren ab, bevor du das Video veröffentlichst</target> |
840 | <context-group name="null"> | 1477 | <context-group name="null"> |
841 | <context context-type="linenumber">132</context> | 1478 | <context context-type="linenumber">126</context> |
842 | </context-group> | ||
843 | </trans-unit> | ||
844 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
845 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
846 | <target>Wenn du dich entschließt, das Transcodieren vor Veröffentlichung des Videos nicht abzuwarten, ist es möglicherweise nicht abspielbar, bis das Transcodieren abgeschlossen ist.</target> | ||
847 | <context-group name="null"> | ||
848 | <context context-type="linenumber">135</context> | ||
849 | </context-group> | 1479 | </context-group> |
850 | </trans-unit> | 1480 | </trans-unit> |
851 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1481 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -859,42 +1489,35 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
859 | <source>Upload thumbnail</source> | 1489 | <source>Upload thumbnail</source> |
860 | <target>Miniaturansicht hochladen</target> | 1490 | <target>Miniaturansicht hochladen</target> |
861 | <context-group name="null"> | 1491 | <context-group name="null"> |
862 | <context context-type="linenumber">146</context> | 1492 | <context context-type="linenumber">186</context> |
863 | </context-group> | 1493 | </context-group> |
864 | </trans-unit> | 1494 | </trans-unit> |
865 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1495 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
866 | <source>Upload preview</source> | 1496 | <source>Upload preview</source> |
867 | <target>Vorschau hochladen</target> | 1497 | <target>Vorschau hochladen</target> |
868 | <context-group name="null"> | 1498 | <context-group name="null"> |
869 | <context context-type="linenumber">153</context> | 1499 | <context context-type="linenumber">193</context> |
870 | </context-group> | 1500 | </context-group> |
871 | </trans-unit> | 1501 | </trans-unit> |
872 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1502 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
873 | <source>Support</source> | 1503 | <source>Support</source> |
874 | <target>Unterstützen</target> | 1504 | <target>Unterstützen</target> |
875 | <context-group name="null"> | 1505 | <context-group name="null"> |
876 | <context context-type="linenumber">59</context> | 1506 | <context context-type="linenumber">67</context> |
877 | </context-group> | 1507 | </context-group> |
878 | </trans-unit> | 1508 | </trans-unit> |
879 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1509 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
880 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1510 | <source>Short text to tell people how they can support you (membership platform...).</source> |
881 | <target>Ein kurzer Text, der anderen erklärt, wie sie dich unterstützen können.</target> | 1511 | <target>Ein kurzer Text, der anderen erklärt, wie sie dich unterstützen können.</target> |
882 | <context-group name="null"> | 1512 | <context-group name="null"> |
883 | <context context-type="linenumber">160</context> | 1513 | <context context-type="linenumber">200</context> |
884 | </context-group> | 1514 | </context-group> |
885 | </trans-unit> | 1515 | </trans-unit> |
886 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1516 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
887 | <source>Advanced settings</source> | 1517 | <source>Advanced settings</source> |
888 | <target>Erweiterte Einstellungen</target> | 1518 | <target>Erweiterte Einstellungen</target> |
889 | <context-group name="null"> | 1519 | <context-group name="null"> |
890 | <context context-type="linenumber">142</context> | 1520 | <context context-type="linenumber">182</context> |
891 | </context-group> | ||
892 | </trans-unit> | ||
893 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
894 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
895 | <target>(zulässige Datei-Erweiterungen: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, maximale Größe: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
896 | <context-group name="null"> | ||
897 | <context context-type="linenumber">11</context> | ||
898 | </context-group> | 1521 | </context-group> |
899 | </trans-unit> | 1522 | </trans-unit> |
900 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1523 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -912,7 +1535,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
912 | <source>Update</source> | 1535 | <source>Update</source> |
913 | <target>Aktualisieren</target> | 1536 | <target>Aktualisieren</target> |
914 | <context-group name="null"> | 1537 | <context-group name="null"> |
915 | <context context-type="linenumber">93</context> | 1538 | <context context-type="linenumber">101</context> |
916 | </context-group> | 1539 | </context-group> |
917 | </trans-unit> | 1540 | </trans-unit> |
918 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1541 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -922,32 +1545,18 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
922 | <context context-type="linenumber">7</context> | 1545 | <context context-type="linenumber">7</context> |
923 | </context-group> | 1546 | </context-group> |
924 | </trans-unit> | 1547 | </trans-unit> |
925 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
926 | <source>Torrent</source> | ||
927 | <target>Torrent</target> | ||
928 | <context-group name="null"> | ||
929 | <context context-type="linenumber">20</context> | ||
930 | </context-group> | ||
931 | </trans-unit> | ||
932 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1548 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
933 | <source>Direct download</source> | 1549 | <source>Direct download</source> |
934 | <target>Direkter Download</target> | 1550 | <target>Direkter Download</target> |
935 | <context-group name="null"> | 1551 | <context-group name="null"> |
936 | <context context-type="linenumber">25</context> | 1552 | <context context-type="linenumber">20</context> |
937 | </context-group> | ||
938 | </trans-unit> | ||
939 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
940 | <source>Torrent (magnet)</source> | ||
941 | <target>Torrent (Magnet)</target> | ||
942 | <context-group name="null"> | ||
943 | <context context-type="linenumber">30</context> | ||
944 | </context-group> | 1553 | </context-group> |
945 | </trans-unit> | 1554 | </trans-unit> |
946 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1555 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
947 | <source>Download</source> | 1556 | <source>Download</source> |
948 | <target>Herunterladen</target> | 1557 | <target>Herunterladen</target> |
949 | <context-group name="null"> | 1558 | <context-group name="null"> |
950 | <context context-type="linenumber">75</context> | 1559 | <context context-type="linenumber">83</context> |
951 | </context-group> | 1560 | </context-group> |
952 | </trans-unit> | 1561 | </trans-unit> |
953 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1562 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -986,7 +1595,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
986 | <source>Share</source> | 1595 | <source>Share</source> |
987 | <target>Teilen</target> | 1596 | <target>Teilen</target> |
988 | <context-group name="null"> | 1597 | <context-group name="null"> |
989 | <context context-type="linenumber">64</context> | 1598 | <context context-type="linenumber">72</context> |
990 | </context-group> | 1599 | </context-group> |
991 | </trans-unit> | 1600 | </trans-unit> |
992 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1601 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1022,7 +1631,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1022 | Dieses Video wird transcodiert, es funktioniert daher möglicherweise nicht ganz. | 1631 | Dieses Video wird transcodiert, es funktioniert daher möglicherweise nicht ganz. |
1023 | </target> | 1632 | </target> |
1024 | <context-group name="null"> | 1633 | <context-group name="null"> |
1025 | <context context-type="linenumber">6</context> | 1634 | <context context-type="linenumber">11</context> |
1026 | </context-group> | 1635 | </context-group> |
1027 | </trans-unit> | 1636 | </trans-unit> |
1028 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1637 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1033,7 +1642,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1033 | Dieses Video wird am <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> veröffentlicht | 1642 | Dieses Video wird am <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> veröffentlicht |
1034 | </target> | 1643 | </target> |
1035 | <context-group name="null"> | 1644 | <context-group name="null"> |
1036 | <context context-type="linenumber">10</context> | 1645 | <context context-type="linenumber">15</context> |
1037 | </context-group> | 1646 | </context-group> |
1038 | </trans-unit> | 1647 | </trans-unit> |
1039 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1648 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1044,160 +1653,105 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1044 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe | 1653 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> Aufrufe |
1045 | </target> | 1654 | </target> |
1046 | <context-group name="null"> | 1655 | <context-group name="null"> |
1047 | <context context-type="linenumber">21</context> | 1656 | <context context-type="linenumber">26</context> |
1048 | </context-group> | 1657 | </context-group> |
1049 | </trans-unit> | 1658 | </trans-unit> |
1050 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1659 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1051 | <source>Go the channel page</source> | 1660 | <source>Go the channel page</source> |
1052 | <target>Zur Seite des Kanals gehen</target> | 1661 | <target>Zur Seite des Kanals gehen</target> |
1053 | <context-group name="null"> | 1662 | <context-group name="null"> |
1054 | <context context-type="linenumber">26</context> | 1663 | <context context-type="linenumber">31</context> |
1055 | </context-group> | 1664 | </context-group> |
1056 | </trans-unit> | 1665 | </trans-unit> |
1057 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1666 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1058 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1667 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1059 | <target>Von <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1668 | <target>Von <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1060 | <context-group name="null"> | 1669 | <context-group name="null"> |
1061 | <context context-type="linenumber">35</context> | 1670 | <context context-type="linenumber">41</context> |
1062 | </context-group> | 1671 | </context-group> |
1063 | </trans-unit> | 1672 | </trans-unit> |
1064 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1673 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1065 | <source>Go to the account page</source> | 1674 | <source>Go to the account page</source> |
1066 | <target>Zur Konto-Seite gehen</target> | 1675 | <target>Zur Konto-Seite gehen</target> |
1067 | <context-group name="null"> | 1676 | <context-group name="null"> |
1068 | <context context-type="linenumber">34</context> | 1677 | <context context-type="linenumber">40</context> |
1069 | </context-group> | 1678 | </context-group> |
1070 | </trans-unit> | 1679 | </trans-unit> |
1071 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1680 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1072 | <source>Like this video</source> | 1681 | <source>Like this video</source> |
1073 | <target>Das Video gefällt mir</target> | 1682 | <target>Das Video gefällt mir</target> |
1074 | <context-group name="null"> | 1683 | <context-group name="null"> |
1075 | <context context-type="linenumber">47</context> | 1684 | <context context-type="linenumber">55</context> |
1076 | </context-group> | 1685 | </context-group> |
1077 | </trans-unit> | 1686 | </trans-unit> |
1078 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1687 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1079 | <source>Dislike this video</source> | 1688 | <source>Dislike this video</source> |
1080 | <target>Das Video gefällt mir nicht</target> | 1689 | <target>Das Video gefällt mir nicht</target> |
1081 | <context-group name="null"> | 1690 | <context-group name="null"> |
1082 | <context context-type="linenumber">54</context> | 1691 | <context context-type="linenumber">62</context> |
1083 | </context-group> | 1692 | </context-group> |
1084 | </trans-unit> | 1693 | </trans-unit> |
1085 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1694 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1086 | <source>Download the video</source> | 1695 | <source>Download the video</source> |
1087 | <target>Video herunterladen</target> | 1696 | <target>Video herunterladen</target> |
1088 | <context-group name="null"> | 1697 | <context-group name="null"> |
1089 | <context context-type="linenumber">74</context> | 1698 | <context context-type="linenumber">82</context> |
1090 | </context-group> | 1699 | </context-group> |
1091 | </trans-unit> | 1700 | </trans-unit> |
1092 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1701 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1093 | <source>Report</source> | 1702 | <source>Report</source> |
1094 | <target>Melden</target> | 1703 | <target>Melden</target> |
1095 | <context-group name="null"> | 1704 | <context-group name="null"> |
1096 | <context context-type="linenumber">81</context> | 1705 | <context context-type="linenumber">89</context> |
1097 | </context-group> | 1706 | </context-group> |
1098 | </trans-unit> | 1707 | </trans-unit> |
1099 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1708 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1100 | <source>Report this video</source> | 1709 | <source>Report this video</source> |
1101 | <target>Dieses Vieo melden</target> | 1710 | <target>Dieses Vieo melden</target> |
1102 | <context-group name="null"> | 1711 | <context-group name="null"> |
1103 | <context context-type="linenumber">80</context> | 1712 | <context context-type="linenumber">88</context> |
1104 | </context-group> | 1713 | </context-group> |
1105 | </trans-unit> | 1714 | </trans-unit> |
1106 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1715 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1107 | <source>Blacklist</source> | 1716 | <source>Blacklist</source> |
1108 | <target>Auf die Blacklist setzen</target> | 1717 | <target>Auf die Blacklist setzen</target> |
1109 | <context-group name="null"> | 1718 | <context-group name="null"> |
1110 | <context context-type="linenumber">87</context> | 1719 | <context context-type="linenumber">95</context> |
1111 | </context-group> | 1720 | </context-group> |
1112 | </trans-unit> | 1721 | </trans-unit> |
1113 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1722 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1114 | <source>Blacklist this video</source> | 1723 | <source>Blacklist this video</source> |
1115 | <target>Dieses Video auf die Blacklist setzen</target> | 1724 | <target>Dieses Video auf die Blacklist setzen</target> |
1116 | <context-group name="null"> | 1725 | <context-group name="null"> |
1117 | <context context-type="linenumber">86</context> | 1726 | <context context-type="linenumber">94</context> |
1118 | </context-group> | 1727 | </context-group> |
1119 | </trans-unit> | 1728 | </trans-unit> |
1120 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1729 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1121 | <source>Update this video</source> | 1730 | <source>Update this video</source> |
1122 | <target>Dieses Video aktualisieren</target> | 1731 | <target>Dieses Video aktualisieren</target> |
1123 | <context-group name="null"> | 1732 | <context-group name="null"> |
1124 | <context context-type="linenumber">92</context> | 1733 | <context context-type="linenumber">100</context> |
1125 | </context-group> | 1734 | </context-group> |
1126 | </trans-unit> | 1735 | </trans-unit> |
1127 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1736 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1128 | <source>Delete this video</source> | 1737 | <source>Delete this video</source> |
1129 | <target>Dieses Video löschen</target> | 1738 | <target>Dieses Video löschen</target> |
1130 | <context-group name="null"> | 1739 | <context-group name="null"> |
1131 | <context context-type="linenumber">98</context> | 1740 | <context context-type="linenumber">106</context> |
1132 | </context-group> | 1741 | </context-group> |
1133 | </trans-unit> | 1742 | </trans-unit> |
1134 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1743 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1135 | <source>Show more</source> | 1744 | <source>Show more</source> |
1136 | <target>Mehr anzeigen</target> | 1745 | <target>Mehr anzeigen</target> |
1137 | <context-group name="null"> | 1746 | <context-group name="null"> |
1138 | <context context-type="linenumber">118</context> | 1747 | <context context-type="linenumber">126</context> |
1139 | </context-group> | 1748 | </context-group> |
1140 | </trans-unit> | 1749 | </trans-unit> |
1141 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1750 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1142 | <source>Show less</source> | 1751 | <source>Show less</source> |
1143 | <target>Weniger anzeigen</target> | 1752 | <target>Weniger anzeigen</target> |
1144 | <context-group name="null"> | 1753 | <context-group name="null"> |
1145 | <context context-type="linenumber">124</context> | 1754 | <context context-type="linenumber">132</context> |
1146 | </context-group> | ||
1147 | </trans-unit> | ||
1148 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1149 | <source> | ||
1150 | Privacy | ||
1151 | </source> | ||
1152 | <target> | ||
1153 | Privatsphäre | ||
1154 | </target> | ||
1155 | <context-group name="null"> | ||
1156 | <context context-type="linenumber">131</context> | ||
1157 | </context-group> | ||
1158 | </trans-unit> | ||
1159 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
1160 | <source> | ||
1161 | Category | ||
1162 | </source> | ||
1163 | <target> | ||
1164 | Kategorie | ||
1165 | </target> | ||
1166 | <context-group name="null"> | ||
1167 | <context context-type="linenumber">140</context> | ||
1168 | </context-group> | ||
1169 | </trans-unit> | ||
1170 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
1171 | <source> | ||
1172 | Licence | ||
1173 | </source> | ||
1174 | <target> | ||
1175 | Lizenz | ||
1176 | </target> | ||
1177 | <context-group name="null"> | ||
1178 | <context context-type="linenumber">149</context> | ||
1179 | </context-group> | ||
1180 | </trans-unit> | ||
1181 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
1182 | <source> | ||
1183 | Language | ||
1184 | </source> | ||
1185 | <target> | ||
1186 | Sprache | ||
1187 | </target> | ||
1188 | <context-group name="null"> | ||
1189 | <context context-type="linenumber">158</context> | ||
1190 | </context-group> | ||
1191 | </trans-unit> | ||
1192 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
1193 | <source> | ||
1194 | Tags | ||
1195 | </source> | ||
1196 | <target> | ||
1197 | Tags | ||
1198 | </target> | ||
1199 | <context-group name="null"> | ||
1200 | <context context-type="linenumber">167</context> | ||
1201 | </context-group> | 1755 | </context-group> |
1202 | </trans-unit> | 1756 | </trans-unit> |
1203 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1757 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -1208,24 +1762,13 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1208 | Andere Videos | 1762 | Andere Videos |
1209 | </target> | 1763 | </target> |
1210 | <context-group name="null"> | 1764 | <context-group name="null"> |
1211 | <context context-type="linenumber">181</context> | 1765 | <context context-type="linenumber">183</context> |
1212 | </context-group> | 1766 | </context-group> |
1213 | </trans-unit> | 1767 | </trans-unit> |
1214 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1768 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
1215 | <source>Friendly Reminder:</source> | 1769 | <source>Friendly Reminder:</source> |
1216 | <target>Freundliche Erinnerung:</target> | 1770 | <target>Freundliche Erinnerung:</target> |
1217 | <context-group name="null"> | 1771 | <context-group name="null"> |
1218 | <context context-type="linenumber">193</context> | ||
1219 | </context-group> | ||
1220 | </trans-unit> | ||
1221 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
1222 | <source> | ||
1223 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
1224 | </source> | ||
1225 | <target> | ||
1226 | Die Technik, die von diesem Video genutzt wird, macht einige technische Informationen über dein System (wie die öffentliche IP-Adresse) öffentlich zugänglich. | ||
1227 | </target> | ||
1228 | <context-group name="null"> | ||
1229 | <context context-type="linenumber">195</context> | 1772 | <context context-type="linenumber">195</context> |
1230 | </context-group> | 1773 | </context-group> |
1231 | </trans-unit> | 1774 | </trans-unit> |
@@ -1233,14 +1776,14 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1233 | <source>More information</source> | 1776 | <source>More information</source> |
1234 | <target>Weitere Informationen</target> | 1777 | <target>Weitere Informationen</target> |
1235 | <context-group name="null"> | 1778 | <context-group name="null"> |
1236 | <context context-type="linenumber">198</context> | 1779 | <context context-type="linenumber">200</context> |
1237 | </context-group> | 1780 | </context-group> |
1238 | </trans-unit> | 1781 | </trans-unit> |
1239 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1782 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
1240 | <source>Get more information</source> | 1783 | <source>Get more information</source> |
1241 | <target>Weitere Informationen bekommen</target> | 1784 | <target>Weitere Informationen bekommen</target> |
1242 | <context-group name="null"> | 1785 | <context-group name="null"> |
1243 | <context context-type="linenumber">198</context> | 1786 | <context context-type="linenumber">200</context> |
1244 | </context-group> | 1787 | </context-group> |
1245 | </trans-unit> | 1788 | </trans-unit> |
1246 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1789 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -1251,7 +1794,7 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1251 | OK | 1794 | OK |
1252 | </target> | 1795 | </target> |
1253 | <context-group name="null"> | 1796 | <context-group name="null"> |
1254 | <context context-type="linenumber">201</context> | 1797 | <context context-type="linenumber">203</context> |
1255 | </context-group> | 1798 | </context-group> |
1256 | </trans-unit> | 1799 | </trans-unit> |
1257 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1800 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -1265,6 +1808,455 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1265 | <context context-type="linenumber">3</context> | 1808 | <context context-type="linenumber">3</context> |
1266 | </context-group> | 1809 | </context-group> |
1267 | </trans-unit> | 1810 | </trans-unit> |
1811 | <trans-unit id="17810e68b0ba21e62e61eecfaf0a93b2c91033b4"> | ||
1812 | <source>No comments.</source> | ||
1813 | <target>Keine Kommentare.</target> | ||
1814 | <context-group name="null"> | ||
1815 | <context context-type="linenumber">19</context> | ||
1816 | </context-group> | ||
1817 | </trans-unit> | ||
1818 | <trans-unit id="69c081796209e45e26af91152ec9bd0a65ec261e"> | ||
1819 | <source>View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies</source> | ||
1820 | <target>Zeige alle <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> Antworten</target> | ||
1821 | <context-group name="null"> | ||
1822 | <context context-type="linenumber">56</context> | ||
1823 | </context-group> | ||
1824 | </trans-unit> | ||
1825 | <trans-unit id="b7fccd922d6473725247ed85a9fdf96fe6794828"> | ||
1826 | <source> | ||
1827 | Comments are disabled. | ||
1828 | </source> | ||
1829 | <target> | ||
1830 | Kommentare sind abgeschaltet. | ||
1831 | </target> | ||
1832 | <context-group name="null"> | ||
1833 | <context context-type="linenumber">65</context> | ||
1834 | </context-group> | ||
1835 | </trans-unit> | ||
1836 | <trans-unit id="db79255cb8757e9e945ba5f901a2b67e4189016e"> | ||
1837 | <source>Add comment...</source> | ||
1838 | <target>Kommentieren...</target> | ||
1839 | <context-group name="null"> | ||
1840 | <context context-type="linenumber">6</context> | ||
1841 | </context-group> | ||
1842 | </trans-unit> | ||
1843 | <trans-unit id="26fa50ba8e69b53162b348d98e25f8b76c81343e"> | ||
1844 | <source> | ||
1845 | Post comment | ||
1846 | </source> | ||
1847 | <target> | ||
1848 | Kommentieren | ||
1849 | </target> | ||
1850 | <context-group name="null"> | ||
1851 | <context context-type="linenumber">17</context> | ||
1852 | </context-group> | ||
1853 | </trans-unit> | ||
1854 | <trans-unit id="a607fab03e11b0e07c1640e11a1b02d7af06b285"> | ||
1855 | <source>Highlighted comment</source> | ||
1856 | <target>Markierter Kommentar</target> | ||
1857 | <context-group name="null"> | ||
1858 | <context context-type="linenumber">5</context> | ||
1859 | </context-group> | ||
1860 | </trans-unit> | ||
1861 | <trans-unit id="cb23d4d98007aa4d7123837f4c17a671848377d6"> | ||
1862 | <source>Reply</source> | ||
1863 | <target>Antworten</target> | ||
1864 | <context-group name="null"> | ||
1865 | <context context-type="linenumber">14</context> | ||
1866 | </context-group> | ||
1867 | </trans-unit> | ||
1868 | <trans-unit id="814d28bf9dcbd3122254e664b446ac8e0442bc08"> | ||
1869 | <source>Error getting about from server</source> | ||
1870 | <target>Server-Fehler.</target> | ||
1871 | <context-group name="null"> | ||
1872 | <context context-type="linenumber">1</context> | ||
1873 | </context-group> | ||
1874 | </trans-unit> | ||
1875 | <trans-unit id="37b56526e384f843a15323dc730b484a97b4c968"> | ||
1876 | <source>No description</source> | ||
1877 | <target>Keine Beschreibung</target> | ||
1878 | <context-group name="null"> | ||
1879 | <context context-type="linenumber">1</context> | ||
1880 | </context-group> | ||
1881 | </trans-unit> | ||
1882 | <trans-unit id="2f03e577e8f81a9f8be0095f93e1f9376c6eedc9"> | ||
1883 | <source>Published videos</source> | ||
1884 | <target>Veröffentlichte Videos</target> | ||
1885 | <context-group name="null"> | ||
1886 | <context context-type="linenumber">1</context> | ||
1887 | </context-group> | ||
1888 | </trans-unit> | ||
1889 | <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d"> | ||
1890 | <source>Error</source> | ||
1891 | <target>Fehler</target> | ||
1892 | <context-group name="null"> | ||
1893 | <context context-type="linenumber">1</context> | ||
1894 | </context-group> | ||
1895 | </trans-unit> | ||
1896 | <trans-unit id="865bc18d22e223101ede0916967ead0abd515d0e"> | ||
1897 | <source>This could lead to security issues or bugs if you do not understand it. </source> | ||
1898 | <target>Das könnte zu Sicherheitslücken führen, falls du es nicht verstehst.</target> | ||
1899 | <context-group name="null"> | ||
1900 | <context context-type="linenumber">1</context> | ||
1901 | </context-group> | ||
1902 | </trans-unit> | ||
1903 | <trans-unit id="262e18b2efb5912651684a522fc08d77c99972d0"> | ||
1904 | <source>Are you sure you want to update the configuration?</source> | ||
1905 | <target>Willst du die Einstellungen wirklich aktualisieren?</target> | ||
1906 | <context-group name="null"> | ||
1907 | <context context-type="linenumber">1</context> | ||
1908 | </context-group> | ||
1909 | </trans-unit> | ||
1910 | <trans-unit id="1ae0ab69f5c19d179282c8d882fd2f3c00e29119"> | ||
1911 | <source>Please type</source> | ||
1912 | <target>Bitte eingeben</target> | ||
1913 | <context-group name="null"> | ||
1914 | <context context-type="linenumber">1</context> | ||
1915 | </context-group> | ||
1916 | </trans-unit> | ||
1917 | <trans-unit id="75f4bb68ee4c6b282abfd9d8d32be22c6202794d"> | ||
1918 | <source>to confirm.</source> | ||
1919 | <target>zur Bestätigung</target> | ||
1920 | <context-group name="null"> | ||
1921 | <context context-type="linenumber">1</context> | ||
1922 | </context-group> | ||
1923 | </trans-unit> | ||
1924 | <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba"> | ||
1925 | <source>Success</source> | ||
1926 | <target>Erfolg</target> | ||
1927 | <context-group name="null"> | ||
1928 | <context context-type="linenumber">1</context> | ||
1929 | </context-group> | ||
1930 | </trans-unit> | ||
1931 | <trans-unit id="b9e64712e3e5c342ce9cd32eec6cd7d6c00f4048"> | ||
1932 | <source>Configuration updated.</source> | ||
1933 | <target>Einstellungen aktualisiert.</target> | ||
1934 | <context-group name="null"> | ||
1935 | <context context-type="linenumber">1</context> | ||
1936 | </context-group> | ||
1937 | </trans-unit> | ||
1938 | <trans-unit id="e02f50674f1d96966384dc096beb42d4973997df"> | ||
1939 | <source>You need to specify hosts to follow.</source> | ||
1940 | <target>Du musst Hosts zum Abonnieren angeben.</target> | ||
1941 | <context-group name="null"> | ||
1942 | <context context-type="linenumber">1</context> | ||
1943 | </context-group> | ||
1944 | </trans-unit> | ||
1945 | <trans-unit id="c2a114eb000e7c38e8ad4b1768821bdf6e946d71"> | ||
1946 | <source>Hosts need to be unique.</source> | ||
1947 | <target>Die Hosts müssen sich unterscheiden.</target> | ||
1948 | <context-group name="null"> | ||
1949 | <context context-type="linenumber">1</context> | ||
1950 | </context-group> | ||
1951 | </trans-unit> | ||
1952 | <trans-unit id="1266acb081ef0324c4a38ae2d514dd75d8b38409"> | ||
1953 | <source>Follow new server(s)</source> | ||
1954 | <target>Neue Server abonnieren</target> | ||
1955 | <context-group name="null"> | ||
1956 | <context context-type="linenumber">1</context> | ||
1957 | </context-group> | ||
1958 | </trans-unit> | ||
1959 | <trans-unit id="950f5111d567e5c0e971f07c26e8c2be1d919a8e"> | ||
1960 | <source>Follow request(s) sent!</source> | ||
1961 | <target>Abonnementanfrage(n) gesendet!</target> | ||
1962 | <context-group name="null"> | ||
1963 | <context context-type="linenumber">1</context> | ||
1964 | </context-group> | ||
1965 | </trans-unit> | ||
1966 | <trans-unit id="5729c34a858c78daa1aa606f62a3665527cf97e6"> | ||
1967 | <source>Do you really want to unfollow <x id="INTERPOLATION" equiv-text="{{host}}"/>?</source> | ||
1968 | <target>Möchtest du wirklich <x id="INTERPOLATION" equiv-text="{{host}}"/> deabonnieren?</target> | ||
1969 | <context-group name="null"> | ||
1970 | <context context-type="linenumber">1</context> | ||
1971 | </context-group> | ||
1972 | </trans-unit> | ||
1973 | <trans-unit id="a89875525c82ab81ffe32e481a5475b43d0c2902"> | ||
1974 | <source>Unfollow</source> | ||
1975 | <target>Deabonnieren</target> | ||
1976 | <context-group name="null"> | ||
1977 | <context context-type="linenumber">1</context> | ||
1978 | </context-group> | ||
1979 | </trans-unit> | ||
1980 | <trans-unit id="fb4e35e2b0ea2abc1f71295a4b34830e57c07bd0"> | ||
1981 | <source>You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore.</source> | ||
1982 | <target>Du folgst <x id="INTERPOLATION" equiv-text="{{host}}"/> nicht mehr.</target> | ||
1983 | <context-group name="null"> | ||
1984 | <context context-type="linenumber">1</context> | ||
1985 | </context-group> | ||
1986 | </trans-unit> | ||
1987 | <trans-unit id="f995df052a1dfc675c2a21926420a707d9601936"> | ||
1988 | <source>Following</source> | ||
1989 | <target>Abonniert</target> | ||
1990 | <context-group name="null"> | ||
1991 | <context context-type="linenumber">1</context> | ||
1992 | </context-group> | ||
1993 | </trans-unit> | ||
1994 | <trans-unit id="d29764bcbaad3ef69b6be92be35bdf25972ce246"> | ||
1995 | <source>Follow</source> | ||
1996 | <target>Abonnieren</target> | ||
1997 | <context-group name="null"> | ||
1998 | <context context-type="linenumber">1</context> | ||
1999 | </context-group> | ||
2000 | </trans-unit> | ||
2001 | <trans-unit id="9bee670725966ed477b4c33a545c8b5436b0065e"> | ||
2002 | <source>Followers</source> | ||
2003 | <target>Abonnenten</target> | ||
2004 | <context-group name="null"> | ||
2005 | <context context-type="linenumber">1</context> | ||
2006 | </context-group> | ||
2007 | </trans-unit> | ||
2008 | <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> | ||
2009 | <source>Unlimited</source> | ||
2010 | <target>Unbegrenzt</target> | ||
2011 | <context-group name="null"> | ||
2012 | <context context-type="linenumber">1</context> | ||
2013 | </context-group> | ||
2014 | </trans-unit> | ||
2015 | <trans-unit id="364463fab6c5714118d6449561a0f8de1cc10bfa"> | ||
2016 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> created.</source> | ||
2017 | <target>Benutzer <x id="INTERPOLATION" equiv-text="{{username}}"/> erstellt.</target> | ||
2018 | <context-group name="null"> | ||
2019 | <context context-type="linenumber">1</context> | ||
2020 | </context-group> | ||
2021 | </trans-unit> | ||
2022 | <trans-unit id="964865a3cd90b4af99902f071644a4b2aede4c32"> | ||
2023 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> updated.</source> | ||
2024 | <target>Benutzer <x id="INTERPOLATION" equiv-text="{{username}}"/> aktualisiert.</target> | ||
2025 | <context-group name="null"> | ||
2026 | <context context-type="linenumber">1</context> | ||
2027 | </context-group> | ||
2028 | </trans-unit> | ||
2029 | <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f"> | ||
2030 | <source>Update user</source> | ||
2031 | <target>Benutzer aktualisieren</target> | ||
2032 | <context-group name="null"> | ||
2033 | <context context-type="linenumber">1</context> | ||
2034 | </context-group> | ||
2035 | </trans-unit> | ||
2036 | <trans-unit id="911fc197949e47aa5f0541627bc319f59edd9d11"> | ||
2037 | <source>You cannot delete root.</source> | ||
2038 | <target>Du kannst die Wurzel nicht löschen.</target> | ||
2039 | <context-group name="null"> | ||
2040 | <context context-type="linenumber">1</context> | ||
2041 | </context-group> | ||
2042 | </trans-unit> | ||
2043 | <trans-unit id="9ef88654aab4b2df4fa2083f33caa0c5419c1a60"> | ||
2044 | <source>Do you really want to delete this user?</source> | ||
2045 | <target>Willst du wirklich diesen Benutzer entfernen?</target> | ||
2046 | <context-group name="null"> | ||
2047 | <context context-type="linenumber">1</context> | ||
2048 | </context-group> | ||
2049 | </trans-unit> | ||
2050 | <trans-unit id="28220fae6799ab98ef6b41af449aa9680082357a"> | ||
2051 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted.</source> | ||
2052 | <target>Benutzer <x id="INTERPOLATION" equiv-text="{{username}}"/> entfernt.</target> | ||
2053 | <context-group name="null"> | ||
2054 | <context context-type="linenumber">1</context> | ||
2055 | </context-group> | ||
2056 | </trans-unit> | ||
2057 | <trans-unit id="4733ad1d7e63960438c0203b9a64f165b5fc84f2"> | ||
2058 | <source>Do you really want to remove this video from the blacklist ? It will be available again in the videos list.</source> | ||
2059 | <target>Willst du das Video wirklich entsperren? Es wird dann wieder gelistet.</target> | ||
2060 | <context-group name="null"> | ||
2061 | <context context-type="linenumber">1</context> | ||
2062 | </context-group> | ||
2063 | </trans-unit> | ||
2064 | <trans-unit id="1585babc36806e20e225ac27dbba0e7c7cd09e0f"> | ||
2065 | <source>Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from the blacklist.</source> | ||
2066 | <target>Sperrung von <x id="INTERPOLATION" equiv-text="{{name}}"/> aufgehoben.</target> | ||
2067 | <context-group name="null"> | ||
2068 | <context context-type="linenumber">1</context> | ||
2069 | </context-group> | ||
2070 | </trans-unit> | ||
2071 | <trans-unit id="2db8f1f93a5485c32267762a3bf4da499832e732"> | ||
2072 | <source>The new password and the confirmed password do not correspond.</source> | ||
2073 | <target>Die Passwörter stimmen nicht überein.</target> | ||
2074 | <context-group name="null"> | ||
2075 | <context context-type="linenumber">1</context> | ||
2076 | </context-group> | ||
2077 | </trans-unit> | ||
2078 | <trans-unit id="19508af0dfbc685cbf10cf02061bb5a0f423b6fc"> | ||
2079 | <source>Password updated.</source> | ||
2080 | <target>Passwort aktualisiert.</target> | ||
2081 | <context-group name="null"> | ||
2082 | <context context-type="linenumber">1</context> | ||
2083 | </context-group> | ||
2084 | </trans-unit> | ||
2085 | <trans-unit id="db4ff52375f6a25ad0472e92754c8c265ae47c6b"> | ||
2086 | <source>Profile updated.</source> | ||
2087 | <target>Profil aktualisiert.</target> | ||
2088 | <context-group name="null"> | ||
2089 | <context context-type="linenumber">1</context> | ||
2090 | </context-group> | ||
2091 | </trans-unit> | ||
2092 | <trans-unit id="1e003ad599ef836949b9f4dad3037a58ef3ff8d1"> | ||
2093 | <source>Avatar changed.</source> | ||
2094 | <target>Avatar aktualisiert.</target> | ||
2095 | <context-group name="null"> | ||
2096 | <context context-type="linenumber">1</context> | ||
2097 | </context-group> | ||
2098 | </trans-unit> | ||
2099 | <trans-unit id="214b802dfd6f544003147a7a68938ec1055c8f32"> | ||
2100 | <source>Information updated.</source> | ||
2101 | <target>Infos aktualisiert.</target> | ||
2102 | <context-group name="null"> | ||
2103 | <context context-type="linenumber">1</context> | ||
2104 | </context-group> | ||
2105 | </trans-unit> | ||
2106 | <trans-unit id="3ef8bf973a9a481a08c6f0aaa875f0259b3ea645"> | ||
2107 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> created.</source> | ||
2108 | <target>Kanal <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> erstellt.</target> | ||
2109 | <context-group name="null"> | ||
2110 | <context context-type="linenumber">1</context> | ||
2111 | </context-group> | ||
2112 | </trans-unit> | ||
2113 | <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795"> | ||
2114 | <source>Create</source> | ||
2115 | <target>Erstellen</target> | ||
2116 | <context-group name="null"> | ||
2117 | <context context-type="linenumber">1</context> | ||
2118 | </context-group> | ||
2119 | </trans-unit> | ||
2120 | <trans-unit id="98ab64f0af924a60a48b40835c1b655bd17c6559"> | ||
2121 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated.</source> | ||
2122 | <target>Kanal <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> aktualisiert.</target> | ||
2123 | <context-group name="null"> | ||
2124 | <context context-type="linenumber">1</context> | ||
2125 | </context-group> | ||
2126 | </trans-unit> | ||
2127 | <trans-unit id="d5adc9efad0469fc3e1503d68c4ec2ff4453a814"> | ||
2128 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/>? It will delete all videos uploaded in this channel too.</source> | ||
2129 | <target>Willst du wirklich <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> löschen? Alle Videos des Kanals werden dann unwiderruflich gelöscht.</target> | ||
2130 | <context-group name="null"> | ||
2131 | <context context-type="linenumber">1</context> | ||
2132 | </context-group> | ||
2133 | </trans-unit> | ||
2134 | <trans-unit id="703dee7f3e693f9c77ef17c46f9fa71999609f8e"> | ||
2135 | <source>Please type the name of the video channel to confirm</source> | ||
2136 | <target>Bitte gib zur Bestätigung den Namen des Kanals ein</target> | ||
2137 | <context-group name="null"> | ||
2138 | <context context-type="linenumber">1</context> | ||
2139 | </context-group> | ||
2140 | </trans-unit> | ||
2141 | <trans-unit id="a81a33275b683729ad938b6102e7e34a057537a2"> | ||
2142 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> deleted.</source> | ||
2143 | <target>Kanal <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> entfernt.</target> | ||
2144 | <context-group name="null"> | ||
2145 | <context context-type="linenumber">1</context> | ||
2146 | </context-group> | ||
2147 | </trans-unit> | ||
2148 | <trans-unit id="00e16d1f1c5cc936ec0881cd02cbf66aa1b4cddd"> | ||
2149 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos?</source> | ||
2150 | <target>Willst du wirklich <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> Videos löschen?</target> | ||
2151 | <context-group name="null"> | ||
2152 | <context context-type="linenumber">1</context> | ||
2153 | </context-group> | ||
2154 | </trans-unit> | ||
2155 | <trans-unit id="dff7d4574cfaa785cbd4c0a5ffb5befec19a5d83"> | ||
2156 | <source><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted.</source> | ||
2157 | <target><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> Videos entfernt.</target> | ||
2158 | <context-group name="null"> | ||
2159 | <context context-type="linenumber">1</context> | ||
2160 | </context-group> | ||
2161 | </trans-unit> | ||
2162 | <trans-unit id="4ec5852c869b2fb4ae0e564b51278d7be8013fc7"> | ||
2163 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>?</source> | ||
2164 | <target>Willst du <x id="INTERPOLATION" equiv-text="{{videoName}}"/> wirklich löschen?</target> | ||
2165 | <context-group name="null"> | ||
2166 | <context context-type="linenumber">1</context> | ||
2167 | </context-group> | ||
2168 | </trans-unit> | ||
2169 | <trans-unit id="d39a0bfa616a9a8473b2e379eefe17d8ed1af118"> | ||
2170 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted.</source> | ||
2171 | <target>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> entfernt.</target> | ||
2172 | <context-group name="null"> | ||
2173 | <context context-type="linenumber">1</context> | ||
2174 | </context-group> | ||
2175 | </trans-unit> | ||
2176 | <trans-unit id="dd9f3264feed4935008861c15d81c947124e4ac3"> | ||
2177 | <source>Published</source> | ||
2178 | <target>Veröffentlicht</target> | ||
2179 | <context-group name="null"> | ||
2180 | <context context-type="linenumber">1</context> | ||
2181 | </context-group> | ||
2182 | </trans-unit> | ||
2183 | <trans-unit id="8e6d54c4f760d9e90518eef5334211c48c0b71e2"> | ||
2184 | <source>Publication scheduled on </source> | ||
2185 | <target>Veröffentlichung angesetzt für</target> | ||
2186 | <context-group name="null"> | ||
2187 | <context context-type="linenumber">1</context> | ||
2188 | </context-group> | ||
2189 | </trans-unit> | ||
2190 | <trans-unit id="4a7e91ebe1cf184db5f2bfecf9c16ff81c9e2c02"> | ||
2191 | <source>Waiting transcoding</source> | ||
2192 | <target>Warte auf Transcodierung</target> | ||
2193 | <context-group name="null"> | ||
2194 | <context context-type="linenumber">1</context> | ||
2195 | </context-group> | ||
2196 | </trans-unit> | ||
2197 | <trans-unit id="21f1c9d5c67346c830aced4f670045fcf0aeb83a"> | ||
2198 | <source>To transcode</source> | ||
2199 | <target>Zur Transcodierung</target> | ||
2200 | <context-group name="null"> | ||
2201 | <context context-type="linenumber">1</context> | ||
2202 | </context-group> | ||
2203 | </trans-unit> | ||
2204 | <trans-unit id="8d9b4f4b69108c3c9aa0f3b0dbde87786ba9b319"> | ||
2205 | <source>Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section.</source> | ||
2206 | <target>Stelle sicher, dass du PeerTube (config/directory) korrekt eingestellt hast, insbesondere die Webserver-Sektion</target> | ||
2207 | <context-group name="null"> | ||
2208 | <context context-type="linenumber">1</context> | ||
2209 | </context-group> | ||
2210 | </trans-unit> | ||
2211 | <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87"> | ||
2212 | <source>You need to reconnect.</source> | ||
2213 | <target>Bitte verbinde dich erneut.</target> | ||
2214 | <context-group name="null"> | ||
2215 | <context context-type="linenumber">1</context> | ||
2216 | </context-group> | ||
2217 | </trans-unit> | ||
2218 | <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da"> | ||
2219 | <source>Confirm</source> | ||
2220 | <target>Okay</target> | ||
2221 | <context-group name="null"> | ||
2222 | <context context-type="linenumber">1</context> | ||
2223 | </context-group> | ||
2224 | </trans-unit> | ||
2225 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | ||
2226 | <source>Unable to find user id or verification string.</source> | ||
2227 | <target>Benutzer-ID oder Verification String nicht gefunden.</target> | ||
2228 | <context-group name="null"> | ||
2229 | <context context-type="linenumber">1</context> | ||
2230 | </context-group> | ||
2231 | </trans-unit> | ||
2232 | <trans-unit id="b0f24b7136e551a0deba831f1525711245b31a26"> | ||
2233 | <source>Your password has been successfully reset!</source> | ||
2234 | <target>Dein Passwort wurde zurückgesetzt!</target> | ||
2235 | <context-group name="null"> | ||
2236 | <context context-type="linenumber">1</context> | ||
2237 | </context-group> | ||
2238 | </trans-unit> | ||
2239 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2240 | <source>Today</source> | ||
2241 | <target>Heute</target> | ||
2242 | <context-group name="null"> | ||
2243 | <context context-type="linenumber">1</context> | ||
2244 | </context-group> | ||
2245 | </trans-unit> | ||
2246 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2247 | <source>Search</source> | ||
2248 | <target>Suche</target> | ||
2249 | <context-group name="null"> | ||
2250 | <context context-type="linenumber">1</context> | ||
2251 | </context-group> | ||
2252 | </trans-unit> | ||
2253 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | ||
2254 | <source>Instance name is required.</source> | ||
2255 | <target>Bitte gib einen Instanznamen ein.</target> | ||
2256 | <context-group name="null"> | ||
2257 | <context context-type="linenumber">1</context> | ||
2258 | </context-group> | ||
2259 | </trans-unit> | ||
1268 | <trans-unit id="10a248adb1ee12830355a04ac3cde2bad2d41d7d"> | 2260 | <trans-unit id="10a248adb1ee12830355a04ac3cde2bad2d41d7d"> |
1269 | <source>Short description should not be longer than 250 characters.</source> | 2261 | <source>Short description should not be longer than 250 characters.</source> |
1270 | <target>Die Kurzbeschreibung sollte nicht mehr als 250 Zeichen umfassen.</target> | 2262 | <target>Die Kurzbeschreibung sollte nicht mehr als 250 Zeichen umfassen.</target> |
@@ -1272,6 +2264,104 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1272 | <context context-type="linenumber">1</context> | 2264 | <context context-type="linenumber">1</context> |
1273 | </context-group> | 2265 | </context-group> |
1274 | </trans-unit> | 2266 | </trans-unit> |
2267 | <trans-unit id="356e63270712273da168072ec0fc78a969919bf1"> | ||
2268 | <source>Twitter username is required.</source> | ||
2269 | <target>Bitte gib einen Twitter-Benutzernamen ein.</target> | ||
2270 | <context-group name="null"> | ||
2271 | <context context-type="linenumber">1</context> | ||
2272 | </context-group> | ||
2273 | </trans-unit> | ||
2274 | <trans-unit id="dbb2ef02020afc05e146855f2e1dd7c9522d49b6"> | ||
2275 | <source>Previews cache size is required.</source> | ||
2276 | <target>Bitte gib eine Cachegröße an.</target> | ||
2277 | <context-group name="null"> | ||
2278 | <context context-type="linenumber">1</context> | ||
2279 | </context-group> | ||
2280 | </trans-unit> | ||
2281 | <trans-unit id="97836c6e698185b4ce357de9d4b2ab3e838f2459"> | ||
2282 | <source>Previews cache size must be greater than 1.</source> | ||
2283 | <target>Cachegröße muss größer als 1 sein.</target> | ||
2284 | <context-group name="null"> | ||
2285 | <context context-type="linenumber">1</context> | ||
2286 | </context-group> | ||
2287 | </trans-unit> | ||
2288 | <trans-unit id="e7393dc4a4aa12d005582eb9e1ddc7e5ca5bebd3"> | ||
2289 | <source>Previews cache size must be a number.</source> | ||
2290 | <target>Die Cachegröße muss eine Zahl sein.</target> | ||
2291 | <context-group name="null"> | ||
2292 | <context context-type="linenumber">1</context> | ||
2293 | </context-group> | ||
2294 | </trans-unit> | ||
2295 | <trans-unit id="2cdd5a8c604ef16c2f9a17ed81d73f4f9509e828"> | ||
2296 | <source>Signup limit is required.</source> | ||
2297 | <target>Bitte gib ein Registrierungslimit an.</target> | ||
2298 | <context-group name="null"> | ||
2299 | <context context-type="linenumber">1</context> | ||
2300 | </context-group> | ||
2301 | </trans-unit> | ||
2302 | <trans-unit id="0ca9f7ec55c9896add6e82d2b52e9217e1140cf7"> | ||
2303 | <source>Signup limit must be greater than 1.</source> | ||
2304 | <target>Das Registrierungslimit muss größer als 1 sein.</target> | ||
2305 | <context-group name="null"> | ||
2306 | <context context-type="linenumber">1</context> | ||
2307 | </context-group> | ||
2308 | </trans-unit> | ||
2309 | <trans-unit id="58c2f66ba74f1400914031ef4ed635938e9e8ced"> | ||
2310 | <source>Signup limit must be a number.</source> | ||
2311 | <target>Das Registrierungslimit muss eine Zahl sein.</target> | ||
2312 | <context-group name="null"> | ||
2313 | <context context-type="linenumber">1</context> | ||
2314 | </context-group> | ||
2315 | </trans-unit> | ||
2316 | <trans-unit id="1245841647f9b42d3e7554903c1c50bdd80ab021"> | ||
2317 | <source>Admin email is required.</source> | ||
2318 | <target>Bitte gib eine Admin E-Mail-Adresse an.</target> | ||
2319 | <context-group name="null"> | ||
2320 | <context context-type="linenumber">1</context> | ||
2321 | </context-group> | ||
2322 | </trans-unit> | ||
2323 | <trans-unit id="3fd2feb77dfe57fe82573e3cdf996105e2fafc66"> | ||
2324 | <source>Admin email must be valid.</source> | ||
2325 | <target>Bitte gib eine valide Admin E-Mail-Adresse an.</target> | ||
2326 | <context-group name="null"> | ||
2327 | <context context-type="linenumber">1</context> | ||
2328 | </context-group> | ||
2329 | </trans-unit> | ||
2330 | <trans-unit id="f15f2e02b1f6a96553e98ea4a969045d17ec1400"> | ||
2331 | <source>Transcoding threads is required.</source> | ||
2332 | <target>Bitte gib eine Anzahl für die Transcodierungsthreads an.</target> | ||
2333 | <context-group name="null"> | ||
2334 | <context context-type="linenumber">1</context> | ||
2335 | </context-group> | ||
2336 | </trans-unit> | ||
2337 | <trans-unit id="ba88636d27c1a6a7e1f75ff57ec182b30b851c2e"> | ||
2338 | <source>Transcoding threads must be greater than 1.</source> | ||
2339 | <target>Die Anzahl der Transcodierungsthreads muss größer als 1 sein.</target> | ||
2340 | <context-group name="null"> | ||
2341 | <context context-type="linenumber">1</context> | ||
2342 | </context-group> | ||
2343 | </trans-unit> | ||
2344 | <trans-unit id="5db300f6fba918a35597160183205ede13e8e149"> | ||
2345 | <source>Username is required.</source> | ||
2346 | <target>Bitte gib einen Benutzernamen ein.</target> | ||
2347 | <context-group name="null"> | ||
2348 | <context context-type="linenumber">1</context> | ||
2349 | </context-group> | ||
2350 | </trans-unit> | ||
2351 | <trans-unit id="4eb39d69b74d7a56652ec84fa6826994ee26c0e5"> | ||
2352 | <source>Password is required.</source> | ||
2353 | <target>Bitte gib ein Passwort ein.</target> | ||
2354 | <context-group name="null"> | ||
2355 | <context context-type="linenumber">1</context> | ||
2356 | </context-group> | ||
2357 | </trans-unit> | ||
2358 | <trans-unit id="c90872a06666a51c2957c4b29724e68df5c67154"> | ||
2359 | <source>Confirmation of the password is required.</source> | ||
2360 | <target>Bitte bestätige das Passwort.</target> | ||
2361 | <context-group name="null"> | ||
2362 | <context context-type="linenumber">1</context> | ||
2363 | </context-group> | ||
2364 | </trans-unit> | ||
1275 | <trans-unit id="05ad6b99d9bf7b51968aa0b0b939e8627a329bea"> | 2365 | <trans-unit id="05ad6b99d9bf7b51968aa0b0b939e8627a329bea"> |
1276 | <source>Username must be at least 3 characters long.</source> | 2366 | <source>Username must be at least 3 characters long.</source> |
1277 | <target>Der Benutzername muss mindestens 3 Zeichen lang sein.</target> | 2367 | <target>Der Benutzername muss mindestens 3 Zeichen lang sein.</target> |
@@ -1293,6 +2383,20 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1293 | <context context-type="linenumber">1</context> | 2383 | <context context-type="linenumber">1</context> |
1294 | </context-group> | 2384 | </context-group> |
1295 | </trans-unit> | 2385 | </trans-unit> |
2386 | <trans-unit id="b6f52e19f074f77866fa03fabe1ddd5cdae346f0"> | ||
2387 | <source>Email is required.</source> | ||
2388 | <target>Bitte gib eine E-Mail-Adresse ein.</target> | ||
2389 | <context-group name="null"> | ||
2390 | <context context-type="linenumber">1</context> | ||
2391 | </context-group> | ||
2392 | </trans-unit> | ||
2393 | <trans-unit id="bef8a36c3dffff15fb5faf3d20bdbbbc1af824c1"> | ||
2394 | <source>Email must be valid.</source> | ||
2395 | <target>Bitte gebe eine valide E-Mail-Adresse ein.</target> | ||
2396 | <context-group name="null"> | ||
2397 | <context context-type="linenumber">1</context> | ||
2398 | </context-group> | ||
2399 | </trans-unit> | ||
1296 | <trans-unit id="1fe26e49476ac701885abc59127e96a3760847f0"> | 2400 | <trans-unit id="1fe26e49476ac701885abc59127e96a3760847f0"> |
1297 | <source>Password must be at least 6 characters long.</source> | 2401 | <source>Password must be at least 6 characters long.</source> |
1298 | <target>Das Passwort muss mindestens 6 Zeichen lang sein.</target> | 2402 | <target>Das Passwort muss mindestens 6 Zeichen lang sein.</target> |
@@ -1405,6 +2509,13 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1405 | <context context-type="linenumber">1</context> | 2509 | <context context-type="linenumber">1</context> |
1406 | </context-group> | 2510 | </context-group> |
1407 | </trans-unit> | 2511 | </trans-unit> |
2512 | <trans-unit id="6ca60e0f6dfbc0073b0514bce7d273150b0b9e79"> | ||
2513 | <source>Comment is required.</source> | ||
2514 | <target>Bitte gib einen Kommentar ein.</target> | ||
2515 | <context-group name="null"> | ||
2516 | <context context-type="linenumber">1</context> | ||
2517 | </context-group> | ||
2518 | </trans-unit> | ||
1408 | <trans-unit id="f5a94cae76685e72f33541b977efdd7845cb0ed6"> | 2519 | <trans-unit id="f5a94cae76685e72f33541b977efdd7845cb0ed6"> |
1409 | <source>Comment must be at least 2 characters long.</source> | 2520 | <source>Comment must be at least 2 characters long.</source> |
1410 | <target>Der Kommentar muss mindestens 2 Zeichen umfassen.</target> | 2521 | <target>Der Kommentar muss mindestens 2 Zeichen umfassen.</target> |
@@ -1419,6 +2530,13 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1419 | <context context-type="linenumber">1</context> | 2530 | <context context-type="linenumber">1</context> |
1420 | </context-group> | 2531 | </context-group> |
1421 | </trans-unit> | 2532 | </trans-unit> |
2533 | <trans-unit id="cdc51eaeab88683610a28af8645cf91d136b39e1"> | ||
2534 | <source>Video name is required.</source> | ||
2535 | <target>Bitte gib einen Titel ein.</target> | ||
2536 | <context-group name="null"> | ||
2537 | <context context-type="linenumber">1</context> | ||
2538 | </context-group> | ||
2539 | </trans-unit> | ||
1422 | <trans-unit id="c27cc734f76efd221663921dd0898ea7c8bcbb5c"> | 2540 | <trans-unit id="c27cc734f76efd221663921dd0898ea7c8bcbb5c"> |
1423 | <source>Video name must be at least 3 characters long.</source> | 2541 | <source>Video name must be at least 3 characters long.</source> |
1424 | <target>Der Name des Videos muss mindestens 3 Zeichen lang sein.</target> | 2542 | <target>Der Name des Videos muss mindestens 3 Zeichen lang sein.</target> |
@@ -1433,6 +2551,20 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1433 | <context context-type="linenumber">1</context> | 2551 | <context context-type="linenumber">1</context> |
1434 | </context-group> | 2552 | </context-group> |
1435 | </trans-unit> | 2553 | </trans-unit> |
2554 | <trans-unit id="a627c58cf1849d7d838696e7f36c1bae1a8b31a4"> | ||
2555 | <source>Video privacy is required.</source> | ||
2556 | <target>Bitte gib einen Privatsphärestatus an.</target> | ||
2557 | <context-group name="null"> | ||
2558 | <context context-type="linenumber">1</context> | ||
2559 | </context-group> | ||
2560 | </trans-unit> | ||
2561 | <trans-unit id="97afb789c1ab09074495d49aaadb92a1c3e71a16"> | ||
2562 | <source>Video channel is required.</source> | ||
2563 | <target>Bitte gib einen Kanal an.</target> | ||
2564 | <context-group name="null"> | ||
2565 | <context context-type="linenumber">1</context> | ||
2566 | </context-group> | ||
2567 | </trans-unit> | ||
1436 | <trans-unit id="af5e2d5f3ac817c735fb7ff9ca16322789f66fef"> | 2568 | <trans-unit id="af5e2d5f3ac817c735fb7ff9ca16322789f66fef"> |
1437 | <source>Video description must be at least 3 characters long.</source> | 2569 | <source>Video description must be at least 3 characters long.</source> |
1438 | <target>Die Beschreibung des Videos muss mindestens 3 Zeichen umfassen.</target> | 2570 | <target>Die Beschreibung des Videos muss mindestens 3 Zeichen umfassen.</target> |
@@ -1475,6 +2607,468 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1475 | <context context-type="linenumber">1</context> | 2607 | <context context-type="linenumber">1</context> |
1476 | </context-group> | 2608 | </context-group> |
1477 | </trans-unit> | 2609 | </trans-unit> |
2610 | <trans-unit id="453413bf387dea681958871319bab489dd5e6ec0"> | ||
2611 | <source>A date is required to schedule video update.</source> | ||
2612 | <target>Bitte gib ein Uploaddatum an.</target> | ||
2613 | <context-group name="null"> | ||
2614 | <context context-type="linenumber">1</context> | ||
2615 | </context-group> | ||
2616 | </trans-unit> | ||
2617 | <trans-unit id="0bf41abaa85526711f7952b4600e4044bc7f04a4"> | ||
2618 | <source>All unsaved data will be lost, are you sure you want to leave this page?</source> | ||
2619 | <target>Alle ungespeicherten Daten werden verworfen. Willst du wirklich die Seite verlassen?</target> | ||
2620 | <context-group name="null"> | ||
2621 | <context context-type="linenumber">1</context> | ||
2622 | </context-group> | ||
2623 | </trans-unit> | ||
2624 | <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01"> | ||
2625 | <source>Warning</source> | ||
2626 | <target>Warnung</target> | ||
2627 | <context-group name="null"> | ||
2628 | <context context-type="linenumber">1</context> | ||
2629 | </context-group> | ||
2630 | </trans-unit> | ||
2631 | <trans-unit id="8339364b054610983b7f2334bb807fff7613bddf"> | ||
2632 | <source>Sunday</source> | ||
2633 | <target>Sonntag</target> | ||
2634 | <context-group name="null"> | ||
2635 | <context context-type="linenumber">1</context> | ||
2636 | </context-group> | ||
2637 | </trans-unit> | ||
2638 | <trans-unit id="a43c57a7cbebf57eb33a2eae5e994c91d9887596"> | ||
2639 | <source>Monday</source> | ||
2640 | <target>Montag</target> | ||
2641 | <context-group name="null"> | ||
2642 | <context context-type="linenumber">1</context> | ||
2643 | </context-group> | ||
2644 | </trans-unit> | ||
2645 | <trans-unit id="48a2a35957ce394eb2c59ae35c99642360af70ee"> | ||
2646 | <source>Tuesday</source> | ||
2647 | <target>Dienstag</target> | ||
2648 | <context-group name="null"> | ||
2649 | <context context-type="linenumber">1</context> | ||
2650 | </context-group> | ||
2651 | </trans-unit> | ||
2652 | <trans-unit id="b0af441f9ba8b82952b9ec10fb8c62e8fec67df9"> | ||
2653 | <source>Wednesday</source> | ||
2654 | <target>Mittwoch</target> | ||
2655 | <context-group name="null"> | ||
2656 | <context context-type="linenumber">1</context> | ||
2657 | </context-group> | ||
2658 | </trans-unit> | ||
2659 | <trans-unit id="55c583b99c809818ec27df065ccf05357a6ac10b"> | ||
2660 | <source>Thursday</source> | ||
2661 | <target>Donnerstag</target> | ||
2662 | <context-group name="null"> | ||
2663 | <context context-type="linenumber">1</context> | ||
2664 | </context-group> | ||
2665 | </trans-unit> | ||
2666 | <trans-unit id="e91b54925dc5f490753f60f53ef6f8b4609e6215"> | ||
2667 | <source>Friday</source> | ||
2668 | <target>Freitag</target> | ||
2669 | <context-group name="null"> | ||
2670 | <context context-type="linenumber">1</context> | ||
2671 | </context-group> | ||
2672 | </trans-unit> | ||
2673 | <trans-unit id="c0d2dd391a3eca8e841a5d0e035cd268280eb68e"> | ||
2674 | <source>Saturday</source> | ||
2675 | <target>Samstag</target> | ||
2676 | <context-group name="null"> | ||
2677 | <context context-type="linenumber">1</context> | ||
2678 | </context-group> | ||
2679 | </trans-unit> | ||
2680 | <trans-unit id="6549890cd0d6b59fb0e1aa383b00483a68a55eef"> | ||
2681 | <source>Sun</source> | ||
2682 | <target>So</target> | ||
2683 | <context-group name="null"> | ||
2684 | <context context-type="linenumber">1</context> | ||
2685 | </context-group> | ||
2686 | </trans-unit> | ||
2687 | <trans-unit id="3382aa5d7f520e197fb59a4995fe1beffca2d0ff"> | ||
2688 | <source>Mon</source> | ||
2689 | <target>Mo</target> | ||
2690 | <context-group name="null"> | ||
2691 | <context context-type="linenumber">1</context> | ||
2692 | </context-group> | ||
2693 | </trans-unit> | ||
2694 | <trans-unit id="f883ec926274974df0fc46c037cbffd6a863ebc9"> | ||
2695 | <source>Tue</source> | ||
2696 | <target>Di</target> | ||
2697 | <context-group name="null"> | ||
2698 | <context context-type="linenumber">1</context> | ||
2699 | </context-group> | ||
2700 | </trans-unit> | ||
2701 | <trans-unit id="242b4f4b5651e24f9a9007ef153a57981e4b989d"> | ||
2702 | <source>Wed</source> | ||
2703 | <target>Mi</target> | ||
2704 | <context-group name="null"> | ||
2705 | <context context-type="linenumber">1</context> | ||
2706 | </context-group> | ||
2707 | </trans-unit> | ||
2708 | <trans-unit id="5a2c39d56b8f00a6a4670a63b53caacbda953be6"> | ||
2709 | <source>Thu</source> | ||
2710 | <target>Do</target> | ||
2711 | <context-group name="null"> | ||
2712 | <context context-type="linenumber">1</context> | ||
2713 | </context-group> | ||
2714 | </trans-unit> | ||
2715 | <trans-unit id="4cdf23d523a0e52e0dec9cd650ffd9bd6952792c"> | ||
2716 | <source>Fri</source> | ||
2717 | <target>Fr</target> | ||
2718 | <context-group name="null"> | ||
2719 | <context context-type="linenumber">1</context> | ||
2720 | </context-group> | ||
2721 | </trans-unit> | ||
2722 | <trans-unit id="1283d165a942d7f4c469ba34f99dbb9e927d0261"> | ||
2723 | <source>Sat</source> | ||
2724 | <target>Sa</target> | ||
2725 | <context-group name="null"> | ||
2726 | <context context-type="linenumber">1</context> | ||
2727 | </context-group> | ||
2728 | </trans-unit> | ||
2729 | <trans-unit id="2fba8448ff13105c57665a9a6ffcfe9615d855dd"> | ||
2730 | <source>Su</source> | ||
2731 | <target>So</target> | ||
2732 | <context-group name="null"> | ||
2733 | <context context-type="linenumber">1</context> | ||
2734 | </context-group> | ||
2735 | </trans-unit> | ||
2736 | <trans-unit id="388144af7ac7651d2615b9be0e84f43ae71d9fb3"> | ||
2737 | <source>Mo</source> | ||
2738 | <target>Mo</target> | ||
2739 | <context-group name="null"> | ||
2740 | <context context-type="linenumber">1</context> | ||
2741 | </context-group> | ||
2742 | </trans-unit> | ||
2743 | <trans-unit id="d96313e42b5f0751ce2676a31d309b4d322ab462"> | ||
2744 | <source>Tu</source> | ||
2745 | <target>Di</target> | ||
2746 | <context-group name="null"> | ||
2747 | <context context-type="linenumber">1</context> | ||
2748 | </context-group> | ||
2749 | </trans-unit> | ||
2750 | <trans-unit id="06cc3d39f78c0615b707cef39cd4875599611fef"> | ||
2751 | <source>We</source> | ||
2752 | <target>Mi</target> | ||
2753 | <context-group name="null"> | ||
2754 | <context context-type="linenumber">1</context> | ||
2755 | </context-group> | ||
2756 | </trans-unit> | ||
2757 | <trans-unit id="790894436cca9d675d59be9a8aafd58acccde2cd"> | ||
2758 | <source>Th</source> | ||
2759 | <target>Do</target> | ||
2760 | <context-group name="null"> | ||
2761 | <context context-type="linenumber">1</context> | ||
2762 | </context-group> | ||
2763 | </trans-unit> | ||
2764 | <trans-unit id="42dfe37169f8471367c31489155229bbe1747ea5"> | ||
2765 | <source>Fr</source> | ||
2766 | <target>Fr</target> | ||
2767 | <context-group name="null"> | ||
2768 | <context context-type="linenumber">1</context> | ||
2769 | </context-group> | ||
2770 | </trans-unit> | ||
2771 | <trans-unit id="1b64ea3e04ceeb512e8974eb0019dee4f211c7a0"> | ||
2772 | <source>Sa</source> | ||
2773 | <target>Sa</target> | ||
2774 | <context-group name="null"> | ||
2775 | <context context-type="linenumber">1</context> | ||
2776 | </context-group> | ||
2777 | </trans-unit> | ||
2778 | <trans-unit id="e7815f1c4a6d3cc157a16407a48865023cc35ec0"> | ||
2779 | <source>January</source> | ||
2780 | <target>Januar</target> | ||
2781 | <context-group name="null"> | ||
2782 | <context context-type="linenumber">1</context> | ||
2783 | </context-group> | ||
2784 | </trans-unit> | ||
2785 | <trans-unit id="0393a96b58df82af39a2ec83deec624749e42036"> | ||
2786 | <source>February</source> | ||
2787 | <target>Februar</target> | ||
2788 | <context-group name="null"> | ||
2789 | <context context-type="linenumber">1</context> | ||
2790 | </context-group> | ||
2791 | </trans-unit> | ||
2792 | <trans-unit id="ea41ee3743ec5bdbbf863ab793bbdd6e6d9af96e"> | ||
2793 | <source>March</source> | ||
2794 | <target>März</target> | ||
2795 | <context-group name="null"> | ||
2796 | <context context-type="linenumber">1</context> | ||
2797 | </context-group> | ||
2798 | </trans-unit> | ||
2799 | <trans-unit id="b87ee784d9e93b5557aca9bdc9464dbd4328920a"> | ||
2800 | <source>April</source> | ||
2801 | <target>April</target> | ||
2802 | <context-group name="null"> | ||
2803 | <context context-type="linenumber">1</context> | ||
2804 | </context-group> | ||
2805 | </trans-unit> | ||
2806 | <trans-unit id="862da1034ac2707cc44123ed963b2f42109b6b3e"> | ||
2807 | <source>May</source> | ||
2808 | <target>Mai</target> | ||
2809 | <context-group name="null"> | ||
2810 | <context context-type="linenumber">1</context> | ||
2811 | </context-group> | ||
2812 | </trans-unit> | ||
2813 | <trans-unit id="2f234249d4c3c39e27c0f05d4a6b73a7959caeb2"> | ||
2814 | <source>June</source> | ||
2815 | <target>Juni</target> | ||
2816 | <context-group name="null"> | ||
2817 | <context context-type="linenumber">1</context> | ||
2818 | </context-group> | ||
2819 | </trans-unit> | ||
2820 | <trans-unit id="11447f95e83c8de675ab6c492150f88e4d9bd15e"> | ||
2821 | <source>July</source> | ||
2822 | <target>Juli</target> | ||
2823 | <context-group name="null"> | ||
2824 | <context context-type="linenumber">1</context> | ||
2825 | </context-group> | ||
2826 | </trans-unit> | ||
2827 | <trans-unit id="ddd9a3d59a8db4e822e54e9473c05b571aca9829"> | ||
2828 | <source>August</source> | ||
2829 | <target>August</target> | ||
2830 | <context-group name="null"> | ||
2831 | <context context-type="linenumber">1</context> | ||
2832 | </context-group> | ||
2833 | </trans-unit> | ||
2834 | <trans-unit id="e21dc41f9b3fdaf35ab6b2d9e2e5e8a926fb1938"> | ||
2835 | <source>September</source> | ||
2836 | <target>September</target> | ||
2837 | <context-group name="null"> | ||
2838 | <context context-type="linenumber">1</context> | ||
2839 | </context-group> | ||
2840 | </trans-unit> | ||
2841 | <trans-unit id="71f49c502d13e22079a958a5532afa28dbe98b3b"> | ||
2842 | <source>October</source> | ||
2843 | <target>Oktober</target> | ||
2844 | <context-group name="null"> | ||
2845 | <context context-type="linenumber">1</context> | ||
2846 | </context-group> | ||
2847 | </trans-unit> | ||
2848 | <trans-unit id="64b5ce921faa5e3d277d6d528ddcfc8c2bfe9f52"> | ||
2849 | <source>November</source> | ||
2850 | <target>November</target> | ||
2851 | <context-group name="null"> | ||
2852 | <context context-type="linenumber">1</context> | ||
2853 | </context-group> | ||
2854 | </trans-unit> | ||
2855 | <trans-unit id="2006e2aabb31714ebc684dc382539649f690ed5c"> | ||
2856 | <source>December</source> | ||
2857 | <target>Dezember</target> | ||
2858 | <context-group name="null"> | ||
2859 | <context context-type="linenumber">1</context> | ||
2860 | </context-group> | ||
2861 | </trans-unit> | ||
2862 | <trans-unit id="8270e687cfb5624b3f6fbb7991a2e916c96464b7"> | ||
2863 | <source>Jan</source> | ||
2864 | <target>Jan</target> | ||
2865 | <context-group name="null"> | ||
2866 | <context context-type="linenumber">1</context> | ||
2867 | </context-group> | ||
2868 | </trans-unit> | ||
2869 | <trans-unit id="23544170afbb981dd52750b641576841cf5dcf60"> | ||
2870 | <source>Feb</source> | ||
2871 | <target>Feb</target> | ||
2872 | <context-group name="null"> | ||
2873 | <context context-type="linenumber">1</context> | ||
2874 | </context-group> | ||
2875 | </trans-unit> | ||
2876 | <trans-unit id="1f14355742459b7d6a0126a1564e1c18f39f86e7"> | ||
2877 | <source>Mar</source> | ||
2878 | <target>Mar</target> | ||
2879 | <context-group name="null"> | ||
2880 | <context context-type="linenumber">1</context> | ||
2881 | </context-group> | ||
2882 | </trans-unit> | ||
2883 | <trans-unit id="964a5f032bc846d32806a4838580a4f81cf14463"> | ||
2884 | <source>Apr</source> | ||
2885 | <target>Apr</target> | ||
2886 | <context-group name="null"> | ||
2887 | <context context-type="linenumber">1</context> | ||
2888 | </context-group> | ||
2889 | </trans-unit> | ||
2890 | <trans-unit id="8f7274f606f71d9290ed01c5683092d701632d7f"> | ||
2891 | <source>Jun</source> | ||
2892 | <target>Jun</target> | ||
2893 | <context-group name="null"> | ||
2894 | <context context-type="linenumber">1</context> | ||
2895 | </context-group> | ||
2896 | </trans-unit> | ||
2897 | <trans-unit id="7c3d8318d6d8d9920ae0a80350616732c33a3211"> | ||
2898 | <source>Jul</source> | ||
2899 | <target>Jul</target> | ||
2900 | <context-group name="null"> | ||
2901 | <context context-type="linenumber">1</context> | ||
2902 | </context-group> | ||
2903 | </trans-unit> | ||
2904 | <trans-unit id="be1335ffd1c606321e2c020b638dd3c84b434212"> | ||
2905 | <source>Aug</source> | ||
2906 | <target>Aug</target> | ||
2907 | <context-group name="null"> | ||
2908 | <context context-type="linenumber">1</context> | ||
2909 | </context-group> | ||
2910 | </trans-unit> | ||
2911 | <trans-unit id="4f739d03be1c936c58978739c317d91566348204"> | ||
2912 | <source>Sep</source> | ||
2913 | <target>Sep</target> | ||
2914 | <context-group name="null"> | ||
2915 | <context context-type="linenumber">1</context> | ||
2916 | </context-group> | ||
2917 | </trans-unit> | ||
2918 | <trans-unit id="6607cacb987a588530a13de7018d959240d19153"> | ||
2919 | <source>Oct</source> | ||
2920 | <target>Oct</target> | ||
2921 | <context-group name="null"> | ||
2922 | <context context-type="linenumber">1</context> | ||
2923 | </context-group> | ||
2924 | </trans-unit> | ||
2925 | <trans-unit id="e597400ded12a366855615e18fcc8f9ac05b72e0"> | ||
2926 | <source>Nov</source> | ||
2927 | <target>Nov</target> | ||
2928 | <context-group name="null"> | ||
2929 | <context context-type="linenumber">1</context> | ||
2930 | </context-group> | ||
2931 | </trans-unit> | ||
2932 | <trans-unit id="adf2dfa2a9cb490d6a4a74510b7b0846b62d429e"> | ||
2933 | <source>Dec</source> | ||
2934 | <target>Dec</target> | ||
2935 | <context-group name="null"> | ||
2936 | <context context-type="linenumber">1</context> | ||
2937 | </context-group> | ||
2938 | </trans-unit> | ||
2939 | <trans-unit id="0b2054a863319d2cf59867addd125b6717cae41d"> | ||
2940 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago</source> | ||
2941 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Jahren</target> | ||
2942 | <context-group name="null"> | ||
2943 | <context context-type="linenumber">1</context> | ||
2944 | </context-group> | ||
2945 | </trans-unit> | ||
2946 | <trans-unit id="e622d3813449fe36371ea258281059306819199d"> | ||
2947 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago</source> | ||
2948 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Monaten</target> | ||
2949 | <context-group name="null"> | ||
2950 | <context context-type="linenumber">1</context> | ||
2951 | </context-group> | ||
2952 | </trans-unit> | ||
2953 | <trans-unit id="2f8a5a5f7efb521d7d89dc659ff65dd13cb7b17b"> | ||
2954 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago</source> | ||
2955 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Monat</target> | ||
2956 | <context-group name="null"> | ||
2957 | <context context-type="linenumber">1</context> | ||
2958 | </context-group> | ||
2959 | </trans-unit> | ||
2960 | <trans-unit id="1d1a46543a29096d3c6676be2d561380a0bc94e1"> | ||
2961 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago</source> | ||
2962 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Wochen</target> | ||
2963 | <context-group name="null"> | ||
2964 | <context context-type="linenumber">1</context> | ||
2965 | </context-group> | ||
2966 | </trans-unit> | ||
2967 | <trans-unit id="e1db0b98b6cdf817508195f3649c48475c32ae7e"> | ||
2968 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago</source> | ||
2969 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Woche</target> | ||
2970 | <context-group name="null"> | ||
2971 | <context context-type="linenumber">1</context> | ||
2972 | </context-group> | ||
2973 | </trans-unit> | ||
2974 | <trans-unit id="a7654c3ece96e777527606f1c2870d6ee0b180f7"> | ||
2975 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago</source> | ||
2976 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Tagen</target> | ||
2977 | <context-group name="null"> | ||
2978 | <context context-type="linenumber">1</context> | ||
2979 | </context-group> | ||
2980 | </trans-unit> | ||
2981 | <trans-unit id="5b465235ae55091d32535e23dd180c407f1352d1"> | ||
2982 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago</source> | ||
2983 | <target>Gestern</target> | ||
2984 | <context-group name="null"> | ||
2985 | <context context-type="linenumber">1</context> | ||
2986 | </context-group> | ||
2987 | </trans-unit> | ||
2988 | <trans-unit id="dc7addf53bd6405a9c746db6dfca665c33679a84"> | ||
2989 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago</source> | ||
2990 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Stunden</target> | ||
2991 | <context-group name="null"> | ||
2992 | <context context-type="linenumber">1</context> | ||
2993 | </context-group> | ||
2994 | </trans-unit> | ||
2995 | <trans-unit id="d54a610250ed38efccf0e3afdd0004f6ad83ea8d"> | ||
2996 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago</source> | ||
2997 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Stunde</target> | ||
2998 | <context-group name="null"> | ||
2999 | <context context-type="linenumber">1</context> | ||
3000 | </context-group> | ||
3001 | </trans-unit> | ||
3002 | <trans-unit id="9704e5e3adce178c127ead05f7057d3fb827308a"> | ||
3003 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago</source> | ||
3004 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Min</target> | ||
3005 | <context-group name="null"> | ||
3006 | <context context-type="linenumber">1</context> | ||
3007 | </context-group> | ||
3008 | </trans-unit> | ||
3009 | <trans-unit id="7a158a7555a44ea7eff9fa4988df9aa24d262ceb"> | ||
3010 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago</source> | ||
3011 | <target>Vor <x id="INTERPOLATION" equiv-text="{{interval}}"/> Sek</target> | ||
3012 | <context-group name="null"> | ||
3013 | <context context-type="linenumber">1</context> | ||
3014 | </context-group> | ||
3015 | </trans-unit> | ||
3016 | <trans-unit id="ab4426b60f13c00b61d6b714d390dc629f314980"> | ||
3017 | <source>Emphasis</source> | ||
3018 | <target>Markierung</target> | ||
3019 | <context-group name="null"> | ||
3020 | <context context-type="linenumber">1</context> | ||
3021 | </context-group> | ||
3022 | </trans-unit> | ||
3023 | <trans-unit id="dc60677d5a906e69f38a5cf9da7f2eb03931bea0"> | ||
3024 | <source>Links</source> | ||
3025 | <target>Links</target> | ||
3026 | <context-group name="null"> | ||
3027 | <context context-type="linenumber">1</context> | ||
3028 | </context-group> | ||
3029 | </trans-unit> | ||
3030 | <trans-unit id="80220239e07f36ea8d5f10118dc52ce4b13bc15a"> | ||
3031 | <source>New lines</source> | ||
3032 | <target>Zeilenumbrüche</target> | ||
3033 | <context-group name="null"> | ||
3034 | <context context-type="linenumber">1</context> | ||
3035 | </context-group> | ||
3036 | </trans-unit> | ||
3037 | <trans-unit id="b15e7bec5c7833d2d9634946ccbed68967b1bee1"> | ||
3038 | <source>Lists</source> | ||
3039 | <target>Listen</target> | ||
3040 | <context-group name="null"> | ||
3041 | <context context-type="linenumber">1</context> | ||
3042 | </context-group> | ||
3043 | </trans-unit> | ||
3044 | <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866"> | ||
3045 | <source>Images</source> | ||
3046 | <target>Bilder</target> | ||
3047 | <context-group name="null"> | ||
3048 | <context context-type="linenumber">1</context> | ||
3049 | </context-group> | ||
3050 | </trans-unit> | ||
3051 | <trans-unit id="0c0f5bbcd2386018ec057877f9d3c5c2c9880cac"> | ||
3052 | <source>Request is too large for the server. Please contact you administrator if you want to increase the limit size.</source> | ||
3053 | <target>Die Anfrage ist zu groß. Bitte kontaktiere den Administrator, um das Limit zu erhöhen.</target> | ||
3054 | <context-group name="null"> | ||
3055 | <context context-type="linenumber">1</context> | ||
3056 | </context-group> | ||
3057 | </trans-unit> | ||
3058 | <trans-unit id="58546fd4d14b2d9635ce3d28c216ac68587bb25b"> | ||
3059 | <source>Too many attempts, please try again after <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutes.</source> | ||
3060 | <target>Zu viele Versuche in kurzer Zeit. Bitte versuche es in <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> Minuten nochmal.</target> | ||
3061 | <context-group name="null"> | ||
3062 | <context context-type="linenumber">1</context> | ||
3063 | </context-group> | ||
3064 | </trans-unit> | ||
3065 | <trans-unit id="ab783a52f2df9ff7a20139cab0da6d0764f3cc5d"> | ||
3066 | <source>Too many attempts, please try again later.</source> | ||
3067 | <target>Zu viele Versuche in kurzer Zeit. Bitte versuche es später nochmal.</target> | ||
3068 | <context-group name="null"> | ||
3069 | <context context-type="linenumber">1</context> | ||
3070 | </context-group> | ||
3071 | </trans-unit> | ||
1478 | <trans-unit id="0f286a597f0053c3578a52e044769c204ee516fc"> | 3072 | <trans-unit id="0f286a597f0053c3578a52e044769c204ee516fc"> |
1479 | <source>Server error. Please retry later.</source> | 3073 | <source>Server error. Please retry later.</source> |
1480 | <target>Server-Fehler. Bitte später erneut versuchen.</target> | 3074 | <target>Server-Fehler. Bitte später erneut versuchen.</target> |
@@ -1482,6 +3076,69 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1482 | <context context-type="linenumber">1</context> | 3076 | <context context-type="linenumber">1</context> |
1483 | </context-group> | 3077 | </context-group> |
1484 | </trans-unit> | 3078 | </trans-unit> |
3079 | <trans-unit id="20deec13d8d4ff199aa04318818ca44dab0585be"> | ||
3080 | <source>Registration for <x id="INTERPOLATION" equiv-text="{{username}}"/> complete.</source> | ||
3081 | <target>Registrierung für <x id="INTERPOLATION" equiv-text="{{username}}"/> abgeschlossen.</target> | ||
3082 | <context-group name="null"> | ||
3083 | <context context-type="linenumber">1</context> | ||
3084 | </context-group> | ||
3085 | </trans-unit> | ||
3086 | <trans-unit id="10ffa5c3dbcee491d66f80d8d4dce3e119a6ec86"> | ||
3087 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos</source> | ||
3088 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> Full HD Videos</target> | ||
3089 | <context-group name="null"> | ||
3090 | <context context-type="linenumber">1</context> | ||
3091 | </context-group> | ||
3092 | </trans-unit> | ||
3093 | <trans-unit id="344ddae9f45b344e98e7b28cd5e33243982700f8"> | ||
3094 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos</source> | ||
3095 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> HD Videos</target> | ||
3096 | <context-group name="null"> | ||
3097 | <context context-type="linenumber">1</context> | ||
3098 | </context-group> | ||
3099 | </trans-unit> | ||
3100 | <trans-unit id="435c012df6dd990a1ccb7ee73dd79c488bde28b5"> | ||
3101 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos</source> | ||
3102 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> Videos mit durchschnittlicher Qualität</target> | ||
3103 | <context-group name="null"> | ||
3104 | <context context-type="linenumber">1</context> | ||
3105 | </context-group> | ||
3106 | </trans-unit> | ||
3107 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | ||
3108 | <source>Your video was uploaded in your account and is private.</source> | ||
3109 | <target>Dein Video wurde hochgeladen und ist privat.</target> | ||
3110 | <context-group name="null"> | ||
3111 | <context context-type="linenumber">1</context> | ||
3112 | </context-group> | ||
3113 | </trans-unit> | ||
3114 | <trans-unit id="24840228f2826b66252cfcaab9820b1c7e0da264"> | ||
3115 | <source>But associated data (tags, description...) will be lost, are you sure you want to leave this page?</source> | ||
3116 | <target>Weitere Infos (Tags, Beschreibung, ...) werden verworfen, wenn du diese Seite verlässt. Bist du dir sicher?</target> | ||
3117 | <context-group name="null"> | ||
3118 | <context context-type="linenumber">1</context> | ||
3119 | </context-group> | ||
3120 | </trans-unit> | ||
3121 | <trans-unit id="5af84926d631326e548573ebf0f6dff07845aeb4"> | ||
3122 | <source>Your video is not uploaded yet, are you sure you want to leave this page?</source> | ||
3123 | <target>Dein Video ist noch nicht hochgeladen. Willst du wirklich diese Seite verlassen?</target> | ||
3124 | <context-group name="null"> | ||
3125 | <context context-type="linenumber">1</context> | ||
3126 | </context-group> | ||
3127 | </trans-unit> | ||
3128 | <trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5"> | ||
3129 | <source>Info</source> | ||
3130 | <target>Infos</target> | ||
3131 | <context-group name="null"> | ||
3132 | <context context-type="linenumber">1</context> | ||
3133 | </context-group> | ||
3134 | </trans-unit> | ||
3135 | <trans-unit id="c5cb19aeb6447deda40cc1227ceca1359ab955e9"> | ||
3136 | <source>Upload cancelled</source> | ||
3137 | <target>Upload abgebrochen</target> | ||
3138 | <context-group name="null"> | ||
3139 | <context context-type="linenumber">1</context> | ||
3140 | </context-group> | ||
3141 | </trans-unit> | ||
1485 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3142 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
1486 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3143 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
1487 | <target>Dein Video-Kontingent ist mit diesem Video erschöpft (Größe des Videos: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, genutzt: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, Kontingent: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3144 | <target>Dein Video-Kontingent ist mit diesem Video erschöpft (Größe des Videos: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, genutzt: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, Kontingent: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -1489,6 +3146,69 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1489 | <context context-type="linenumber">1</context> | 3146 | <context context-type="linenumber">1</context> |
1490 | </context-group> | 3147 | </context-group> |
1491 | </trans-unit> | 3148 | </trans-unit> |
3149 | <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> | ||
3150 | <source>Video published.</source> | ||
3151 | <target>Video veröffentlicht.</target> | ||
3152 | <context-group name="null"> | ||
3153 | <context context-type="linenumber">1</context> | ||
3154 | </context-group> | ||
3155 | </trans-unit> | ||
3156 | <trans-unit id="757e9c083c8f3d578bd74f055cc337c72417e187"> | ||
3157 | <source>Video updated.</source> | ||
3158 | <target>Video aktualisiert.</target> | ||
3159 | <context-group name="null"> | ||
3160 | <context context-type="linenumber">1</context> | ||
3161 | </context-group> | ||
3162 | </trans-unit> | ||
3163 | <trans-unit id="aeb61b334cac080733c3e03766165a346bbf42fd"> | ||
3164 | <source> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> replies will be deleted too.</source> | ||
3165 | <target> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> Antworten werden ebenfalls gelöscht.</target> | ||
3166 | <context-group name="null"> | ||
3167 | <context context-type="linenumber">1</context> | ||
3168 | </context-group> | ||
3169 | </trans-unit> | ||
3170 | <trans-unit id="fa2601e52cbf5725a13d33fe14458823b882ea50"> | ||
3171 | <source>Video reported.</source> | ||
3172 | <target>Video gemeldet.</target> | ||
3173 | <context-group name="null"> | ||
3174 | <context context-type="linenumber">1</context> | ||
3175 | </context-group> | ||
3176 | </trans-unit> | ||
3177 | <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5"> | ||
3178 | <source>Copied</source> | ||
3179 | <target>Kopiert.</target> | ||
3180 | <context-group name="null"> | ||
3181 | <context context-type="linenumber">1</context> | ||
3182 | </context-group> | ||
3183 | </trans-unit> | ||
3184 | <trans-unit id="23b2c2f4dd69e29c3bff00469e259dcb01de5633"> | ||
3185 | <source>Do you really want to blacklist this video?</source> | ||
3186 | <target>Möchtest du das Video wirklich sperren?</target> | ||
3187 | <context-group name="null"> | ||
3188 | <context context-type="linenumber">1</context> | ||
3189 | </context-group> | ||
3190 | </trans-unit> | ||
3191 | <trans-unit id="cafd8ec6020e69f241a107b1cb7081bd9e773d4e"> | ||
3192 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> had been blacklisted.</source> | ||
3193 | <target>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> wurde gesperrt.</target> | ||
3194 | <context-group name="null"> | ||
3195 | <context context-type="linenumber">1</context> | ||
3196 | </context-group> | ||
3197 | </trans-unit> | ||
3198 | <trans-unit id="f1abd89c9280323209e939fa9c30f6e5cda20c95"> | ||
3199 | <source>Do you really want to delete this video?</source> | ||
3200 | <target>Möchtest du das Video wirklich löschen?</target> | ||
3201 | <context-group name="null"> | ||
3202 | <context context-type="linenumber">1</context> | ||
3203 | </context-group> | ||
3204 | </trans-unit> | ||
3205 | <trans-unit id="d5a4811e15319ad9354e1b62e9ca0131192b489e"> | ||
3206 | <source><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes</source> | ||
3207 | <target><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> Likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> Dislikes</target> | ||
3208 | <context-group name="null"> | ||
3209 | <context context-type="linenumber">1</context> | ||
3210 | </context-group> | ||
3211 | </trans-unit> | ||
1492 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3212 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
1493 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3213 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
1494 | <target>Dieses Video enthält Inhalte, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden. Möchtest du es wirklich ansehen?</target> | 3214 | <target>Dieses Video enthält Inhalte, die möglicherweise für bestimmte Zuschauer ungeeignet sind oder von diesen als anstößig empfunden werden. Möchtest du es wirklich ansehen?</target> |
@@ -1503,12 +3223,5 @@ Wenn du ein Video in diesen Kanal hochlädst, wird das entsprechende Feld automa | |||
1503 | <context context-type="linenumber">1</context> | 3223 | <context context-type="linenumber">1</context> |
1504 | </context-group> | 3224 | </context-group> |
1505 | </trans-unit> | 3225 | </trans-unit> |
1506 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
1507 | <source>Search</source> | ||
1508 | <target>Suche</target> | ||
1509 | <context-group name="null"> | ||
1510 | <context context-type="linenumber">1</context> | ||
1511 | </context-group> | ||
1512 | </trans-unit> | ||
1513 | </body> | 3226 | </body> |
1514 | </file></xliff> \ No newline at end of file | 3227 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_eo.xml b/client/src/locale/target/angular_eo.xml index a26ea0f55..91c2788c8 100644 --- a/client/src/locale/target/angular_eo.xml +++ b/client/src/locale/target/angular_eo.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Nuligi | 11 | Nuligi |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Peti helpon</target> | 47 | <target>Peti helpon</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Pasvorto</target> | 108 | <target>Pasvorto</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -330,6 +330,27 @@ | |||
330 | <context context-type="linenumber">9</context> | 330 | <context context-type="linenumber">9</context> |
331 | </context-group> | 331 | </context-group> |
332 | </trans-unit> | 332 | </trans-unit> |
333 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
334 | <source>Category</source> | ||
335 | <target>Kategorio</target> | ||
336 | <context-group name="null"> | ||
337 | <context context-type="linenumber">144</context> | ||
338 | </context-group> | ||
339 | </trans-unit> | ||
340 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
341 | <source>Licence</source> | ||
342 | <target>Permesilo</target> | ||
343 | <context-group name="null"> | ||
344 | <context context-type="linenumber">153</context> | ||
345 | </context-group> | ||
346 | </trans-unit> | ||
347 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
348 | <source>Language</source> | ||
349 | <target>Lingvo</target> | ||
350 | <context-group name="null"> | ||
351 | <context context-type="linenumber">162</context> | ||
352 | </context-group> | ||
353 | </trans-unit> | ||
333 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 354 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
334 | <source>No results.</source> | 355 | <source>No results.</source> |
335 | <target>Nenio troviĝis.</target> | 356 | <target>Nenio troviĝis.</target> |
@@ -555,21 +576,6 @@ | |||
555 | <context context-type="linenumber">51</context> | 576 | <context context-type="linenumber">51</context> |
556 | </context-group> | 577 | </context-group> |
557 | </trans-unit> | 578 | </trans-unit> |
558 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
559 | <source> | ||
560 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
561 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
562 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
563 | </source> | ||
564 | <target> | ||
565 | Retaj samtavolanoj ne estas rekte sendataj de la kunordigilo: Ĉar ni povas uzi teĥnikon « WebRTC » en la foliumilo, la protokolo malsamas tiun de « BitTorrent ». | ||
566 | Kiam vi uzas foliumilon, vi sendas signalon kun via IP-adreso al la kunordigilo, kiu hazarde elektos aliajn samtavolanojn, kiuj ricevos la datumon. | ||
567 | Vidu <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>ĉi tiun dokumenton<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> por pliaj informoj | ||
568 | </target> | ||
569 | <context-group name="null"> | ||
570 | <context context-type="linenumber">55</context> | ||
571 | </context-group> | ||
572 | </trans-unit> | ||
573 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 579 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
574 | <source> | 580 | <source> |
575 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 581 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -583,13 +589,6 @@ | |||
583 | <context context-type="linenumber">62</context> | 589 | <context context-type="linenumber">62</context> |
584 | </context-group> | 590 | </context-group> |
585 | </trans-unit> | 591 | </trans-unit> |
586 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
587 | <source>How does PeerTube compares to YouTube?</source> | ||
588 | <target>Kiel PeerTube kompariĝas al YouTube?</target> | ||
589 | <context-group name="null"> | ||
590 | <context context-type="linenumber">67</context> | ||
591 | </context-group> | ||
592 | </trans-unit> | ||
593 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 592 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
594 | <source> | 593 | <source> |
595 | The threats to privacy in YouTube are different from PeerTube's. | 594 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -805,42 +804,42 @@ | |||
805 | <source>Signup enabled</source> | 804 | <source>Signup enabled</source> |
806 | <target>Registriĝoj ŝaltitaj</target> | 805 | <target>Registriĝoj ŝaltitaj</target> |
807 | <context-group name="null"> | 806 | <context-group name="null"> |
808 | <context context-type="linenumber">92</context> | 807 | <context context-type="linenumber">90</context> |
809 | </context-group> | 808 | </context-group> |
810 | </trans-unit> | 809 | </trans-unit> |
811 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 810 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
812 | <source>Signup limit</source> | 811 | <source>Signup limit</source> |
813 | <target>Limo de registriĝoj</target> | 812 | <target>Limo de registriĝoj</target> |
814 | <context-group name="null"> | 813 | <context-group name="null"> |
815 | <context context-type="linenumber">96</context> | 814 | <context context-type="linenumber">94</context> |
816 | </context-group> | 815 | </context-group> |
817 | </trans-unit> | 816 | </trans-unit> |
818 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 817 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
819 | <source>Administrator</source> | 818 | <source>Administrator</source> |
820 | <target>Administranto</target> | 819 | <target>Administranto</target> |
821 | <context-group name="null"> | 820 | <context-group name="null"> |
822 | <context context-type="linenumber">106</context> | 821 | <context context-type="linenumber">104</context> |
823 | </context-group> | 822 | </context-group> |
824 | </trans-unit> | 823 | </trans-unit> |
825 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 824 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
826 | <source>Admin email</source> | 825 | <source>Admin email</source> |
827 | <target>Retpoŝtadreso de administranto</target> | 826 | <target>Retpoŝtadreso de administranto</target> |
828 | <context-group name="null"> | 827 | <context-group name="null"> |
829 | <context context-type="linenumber">109</context> | 828 | <context context-type="linenumber">107</context> |
830 | </context-group> | 829 | </context-group> |
831 | </trans-unit> | 830 | </trans-unit> |
832 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 831 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
833 | <source>Users</source> | 832 | <source>Users</source> |
834 | <target>Uzantoj</target> | 833 | <target>Uzantoj</target> |
835 | <context-group name="null"> | 834 | <context-group name="null"> |
836 | <context context-type="linenumber">119</context> | 835 | <context context-type="linenumber">117</context> |
837 | </context-group> | 836 | </context-group> |
838 | </trans-unit> | 837 | </trans-unit> |
839 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 838 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
840 | <source>User default video quota</source> | 839 | <source>User default video quota</source> |
841 | <target>Norma datumlimo por filmoj de uzantoj</target> | 840 | <target>Norma datumlimo por filmoj de uzantoj</target> |
842 | <context-group name="null"> | 841 | <context-group name="null"> |
843 | <context context-type="linenumber">122</context> | 842 | <context context-type="linenumber">120</context> |
844 | </context-group> | 843 | </context-group> |
845 | </trans-unit> | 844 | </trans-unit> |
846 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 845 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -854,28 +853,28 @@ | |||
854 | <source>Twitter</source> | 853 | <source>Twitter</source> |
855 | <target>Tvitero</target> | 854 | <target>Tvitero</target> |
856 | <context-group name="null"> | 855 | <context-group name="null"> |
857 | <context context-type="linenumber">138</context> | 856 | <context context-type="linenumber">136</context> |
858 | </context-group> | 857 | </context-group> |
859 | </trans-unit> | 858 | </trans-unit> |
860 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 859 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
861 | <source>Your Twitter username</source> | 860 | <source>Your Twitter username</source> |
862 | <target>Via Tvitera salutnomo</target> | 861 | <target>Via Tvitera salutnomo</target> |
863 | <context-group name="null"> | 862 | <context-group name="null"> |
864 | <context context-type="linenumber">141</context> | 863 | <context context-type="linenumber">139</context> |
865 | </context-group> | 864 | </context-group> |
866 | </trans-unit> | 865 | </trans-unit> |
867 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 866 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
868 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 867 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
869 | <target>Indikas konton de Twitter por la retejo aŭ platformo, sur kiu la afero publikiĝis.</target> | 868 | <target>Indikas konton de Twitter por la retejo aŭ platformo, sur kiu la afero publikiĝis.</target> |
870 | <context-group name="null"> | 869 | <context-group name="null"> |
871 | <context context-type="linenumber">144</context> | 870 | <context context-type="linenumber">142</context> |
872 | </context-group> | 871 | </context-group> |
873 | </trans-unit> | 872 | </trans-unit> |
874 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 873 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
875 | <source>Instance whitelisted by Twitter</source> | 874 | <source>Instance whitelisted by Twitter</source> |
876 | <target>Nodo permesata de Twitter</target> | 875 | <target>Nodo permesata de Twitter</target> |
877 | <context-group name="null"> | 876 | <context-group name="null"> |
878 | <context context-type="linenumber">159</context> | 877 | <context context-type="linenumber">155</context> |
879 | </context-group> | 878 | </context-group> |
880 | </trans-unit> | 879 | </trans-unit> |
881 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 880 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -886,91 +885,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
886 | Se la nodo ne estas permesata, ni ligos al la filmo sur via nodo per bildo.<br /><br /> | 885 | Se la nodo ne estas permesata, ni ligos al la filmo sur via nodo per bildo.<br /><br /> |
887 | Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al filmo sur via nodo (https://ekzemplo.net/videos/watch/blablabla) en <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> por vidi, ĉu vio nodo estas permesata.</target> | 886 | Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al filmo sur via nodo (https://ekzemplo.net/videos/watch/blablabla) en <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> por vidi, ĉu vio nodo estas permesata.</target> |
888 | <context-group name="null"> | 887 | <context-group name="null"> |
889 | <context context-type="linenumber">162</context> | 888 | <context context-type="linenumber">156</context> |
890 | </context-group> | 889 | </context-group> |
891 | </trans-unit> | 890 | </trans-unit> |
892 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 891 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
893 | <source>Services</source> | 892 | <source>Services</source> |
894 | <target>Servoj</target> | 893 | <target>Servoj</target> |
895 | <context-group name="null"> | 894 | <context-group name="null"> |
896 | <context context-type="linenumber">136</context> | 895 | <context context-type="linenumber">134</context> |
897 | </context-group> | 896 | </context-group> |
898 | </trans-unit> | 897 | </trans-unit> |
899 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 898 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
900 | <source>Transcoding</source> | 899 | <source>Transcoding</source> |
901 | <target>Transkodado</target> | 900 | <target>Transkodado</target> |
902 | <context-group name="null"> | 901 | <context-group name="null"> |
903 | <context context-type="linenumber">172</context> | 902 | <context context-type="linenumber">164</context> |
904 | </context-group> | 903 | </context-group> |
905 | </trans-unit> | 904 | </trans-unit> |
906 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 905 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
907 | <source>Transcoding enabled</source> | 906 | <source>Transcoding enabled</source> |
908 | <target>Transkodado ŝaltita</target> | 907 | <target>Transkodado ŝaltita</target> |
909 | <context-group name="null"> | 908 | <context-group name="null"> |
910 | <context context-type="linenumber">178</context> | 909 | <context context-type="linenumber">168</context> |
911 | </context-group> | 910 | </context-group> |
912 | </trans-unit> | 911 | </trans-unit> |
913 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 912 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
914 | <source>If you disable transcoding, many videos from your users will not work!</source> | 913 | <source>If you disable transcoding, many videos from your users will not work!</source> |
915 | <target>Se vi malŝaltos transkodadon, multaj filmoj de viaj uzantoj eble ne funkcios!</target> | 914 | <target>Se vi malŝaltos transkodadon, multaj filmoj de viaj uzantoj eble ne funkcios!</target> |
916 | <context-group name="null"> | 915 | <context-group name="null"> |
917 | <context context-type="linenumber">180</context> | 916 | <context context-type="linenumber">169</context> |
918 | </context-group> | 917 | </context-group> |
919 | </trans-unit> | 918 | </trans-unit> |
920 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 919 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
921 | <source>Transcoding threads</source> | 920 | <source>Transcoding threads</source> |
922 | <target>Fadenoj por transkodado</target> | 921 | <target>Fadenoj por transkodado</target> |
923 | <context-group name="null"> | 922 | <context-group name="null"> |
924 | <context context-type="linenumber">186</context> | 923 | <context context-type="linenumber">175</context> |
925 | </context-group> | ||
926 | </trans-unit> | ||
927 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
928 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
929 | <target>Distingo <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> ŝaltita</target> | ||
930 | <context-group name="null"> | ||
931 | <context context-type="linenumber">205</context> | ||
932 | </context-group> | ||
933 | </trans-unit> | ||
934 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
935 | <source>Cache</source> | ||
936 | <target>Kaŝmemoro</target> | ||
937 | <context-group name="null"> | ||
938 | <context context-type="linenumber">209</context> | ||
939 | </context-group> | 924 | </context-group> |
940 | </trans-unit> | 925 | </trans-unit> |
941 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 926 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
942 | <source>Previews cache size</source> | 927 | <source>Previews cache size</source> |
943 | <target>Grando de antaŭrigarda kaŝmemoro</target> | 928 | <target>Grando de antaŭrigarda kaŝmemoro</target> |
944 | <context-group name="null"> | 929 | <context-group name="null"> |
945 | <context context-type="linenumber">212</context> | 930 | <context context-type="linenumber">207</context> |
946 | </context-group> | ||
947 | </trans-unit> | ||
948 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
949 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
950 | <target>Minoritatoj ne estas federataj. Ni prenas kaj kaŝmemoras ilin rekte el la fonta nodo.</target> | ||
951 | <context-group name="null"> | ||
952 | <context context-type="linenumber">215</context> | ||
953 | </context-group> | 931 | </context-group> |
954 | </trans-unit> | 932 | </trans-unit> |
955 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 933 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
956 | <source>Customizations</source> | 934 | <source>Customizations</source> |
957 | <target>Adaptoj</target> | 935 | <target>Adaptoj</target> |
958 | <context-group name="null"> | 936 | <context-group name="null"> |
959 | <context context-type="linenumber">227</context> | 937 | <context context-type="linenumber">228</context> |
960 | </context-group> | 938 | </context-group> |
961 | </trans-unit> | 939 | </trans-unit> |
962 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 940 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
963 | <source>JavaScript</source> | 941 | <source>JavaScript</source> |
964 | <target>Ĝavoskripto</target> | 942 | <target>Ĝavoskripto</target> |
965 | <context-group name="null"> | 943 | <context-group name="null"> |
966 | <context context-type="linenumber">230</context> | 944 | <context context-type="linenumber">231</context> |
967 | </context-group> | 945 | </context-group> |
968 | </trans-unit> | 946 | </trans-unit> |
969 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 947 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
970 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 948 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
971 | <target>Skribu rekte Ĝavoskriptan kodon.<br />Ekzemple: <pre>console.log('mia nodo bonegas');</pre></target> | 949 | <target>Skribu rekte Ĝavoskriptan kodon.<br />Ekzemple: <pre>console.log('mia nodo bonegas');</pre></target> |
972 | <context-group name="null"> | 950 | <context-group name="null"> |
973 | <context context-type="linenumber">233</context> | 951 | <context context-type="linenumber">234</context> |
974 | </context-group> | 952 | </context-group> |
975 | </trans-unit> | 953 | </trans-unit> |
976 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 954 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -1005,28 +983,28 @@ Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al fi | |||
1005 | </pre> | 983 | </pre> |
1006 | </target> | 984 | </target> |
1007 | <context-group name="null"> | 985 | <context-group name="null"> |
1008 | <context context-type="linenumber">249</context> | 986 | <context context-type="linenumber">250</context> |
1009 | </context-group> | 987 | </context-group> |
1010 | </trans-unit> | 988 | </trans-unit> |
1011 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 989 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1012 | <source>Advanced configuration</source> | 990 | <source>Advanced configuration</source> |
1013 | <target>Specialaj agordoj</target> | 991 | <target>Specialaj agordoj</target> |
1014 | <context-group name="null"> | 992 | <context-group name="null"> |
1015 | <context context-type="linenumber">170</context> | 993 | <context context-type="linenumber">162</context> |
1016 | </context-group> | 994 | </context-group> |
1017 | </trans-unit> | 995 | </trans-unit> |
1018 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 996 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1019 | <source>Update configuration</source> | 997 | <source>Update configuration</source> |
1020 | <target>Efektivigi agordojn</target> | 998 | <target>Efektivigi agordojn</target> |
1021 | <context-group name="null"> | 999 | <context-group name="null"> |
1022 | <context context-type="linenumber">276</context> | 1000 | <context context-type="linenumber">277</context> |
1023 | </context-group> | 1001 | </context-group> |
1024 | </trans-unit> | 1002 | </trans-unit> |
1025 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 1003 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1026 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 1004 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1027 | <target>Ŝajnas, ke la agordo estas nevalida. Bonvolu serĉi eblajn erarojn en la langetoj.</target> | 1005 | <target>Ŝajnas, ke la agordo estas nevalida. Bonvolu serĉi eblajn erarojn en la langetoj.</target> |
1028 | <context-group name="null"> | 1006 | <context-group name="null"> |
1029 | <context context-type="linenumber">277</context> | 1007 | <context context-type="linenumber">278</context> |
1030 | </context-group> | 1008 | </context-group> |
1031 | </trans-unit> | 1009 | </trans-unit> |
1032 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1010 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1176,13 +1154,6 @@ Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al fi | |||
1176 | <context context-type="linenumber">19</context> | 1154 | <context context-type="linenumber">19</context> |
1177 | </context-group> | 1155 | </context-group> |
1178 | </trans-unit> | 1156 | </trans-unit> |
1179 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1180 | <source>Updated</source> | ||
1181 | <target>Ĝisdatigita</target> | ||
1182 | <context-group name="null"> | ||
1183 | <context context-type="linenumber">22</context> | ||
1184 | </context-group> | ||
1185 | </trans-unit> | ||
1186 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1157 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1187 | <source>Create user</source> | 1158 | <source>Create user</source> |
1188 | <target>Krei uzanton</target> | 1159 | <target>Krei uzanton</target> |
@@ -1357,53 +1328,32 @@ Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al fi | |||
1357 | <context context-type="linenumber">7</context> | 1328 | <context context-type="linenumber">7</context> |
1358 | </context-group> | 1329 | </context-group> |
1359 | </trans-unit> | 1330 | </trans-unit> |
1360 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1361 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1362 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> abonantoj</target> | ||
1363 | <context-group name="null"> | ||
1364 | <context context-type="linenumber">9</context> | ||
1365 | </context-group> | ||
1366 | </trans-unit> | ||
1367 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1368 | <source>Change your avatar</source> | ||
1369 | <target>Ŝanĝi profilbildon</target> | ||
1370 | <context-group name="null"> | ||
1371 | <context context-type="linenumber">14</context> | ||
1372 | </context-group> | ||
1373 | </trans-unit> | ||
1374 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1375 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1376 | <target>(postafiksoj: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, pleja grando: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1377 | <context-group name="null"> | ||
1378 | <context context-type="linenumber">17</context> | ||
1379 | </context-group> | ||
1380 | </trans-unit> | ||
1381 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1331 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1382 | <source>Video quota:</source> | 1332 | <source>Video quota:</source> |
1383 | <target>Datumlimo por filmoj:</target> | 1333 | <target>Datumlimo por filmoj:</target> |
1384 | <context-group name="null"> | 1334 | <context-group name="null"> |
1385 | <context context-type="linenumber">20</context> | 1335 | <context context-type="linenumber">4</context> |
1386 | </context-group> | 1336 | </context-group> |
1387 | </trans-unit> | 1337 | </trans-unit> |
1388 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1338 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1389 | <source>Profile</source> | 1339 | <source>Profile</source> |
1390 | <target>Profilo</target> | 1340 | <target>Profilo</target> |
1391 | <context-group name="null"> | 1341 | <context-group name="null"> |
1392 | <context context-type="linenumber">24</context> | 1342 | <context context-type="linenumber">8</context> |
1393 | </context-group> | 1343 | </context-group> |
1394 | </trans-unit> | 1344 | </trans-unit> |
1395 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1345 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1396 | <source>Video settings</source> | 1346 | <source>Video settings</source> |
1397 | <target>Filmaj agordoj:</target> | 1347 | <target>Filmaj agordoj:</target> |
1398 | <context-group name="null"> | 1348 | <context-group name="null"> |
1399 | <context context-type="linenumber">31</context> | 1349 | <context context-type="linenumber">15</context> |
1400 | </context-group> | 1350 | </context-group> |
1401 | </trans-unit> | 1351 | </trans-unit> |
1402 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1352 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1403 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1353 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1404 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj</target> | 1354 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj</target> |
1405 | <context-group name="null"> | 1355 | <context-group name="null"> |
1406 | <context context-type="linenumber">20</context> | 1356 | <context context-type="linenumber">19</context> |
1407 | </context-group> | 1357 | </context-group> |
1408 | </trans-unit> | 1358 | </trans-unit> |
1409 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1359 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1431,14 +1381,7 @@ Marku ĉi tiun markbutonon, konservu la agordon, kaj provu ĝin kun ligilo al fi | |||
1431 | <source>Create a video channel</source> | 1381 | <source>Create a video channel</source> |
1432 | <target>Krei filman kanalon</target> | 1382 | <target>Krei filman kanalon</target> |
1433 | <context-group name="null"> | 1383 | <context-group name="null"> |
1434 | <context context-type="linenumber">1</context> | 1384 | <context context-type="linenumber">6</context> |
1435 | </context-group> | ||
1436 | </trans-unit> | ||
1437 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1438 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1439 | <target>Ĝisdatigi <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1440 | <context-group name="null"> | ||
1441 | <context context-type="linenumber">2</context> | ||
1442 | </context-group> | 1385 | </context-group> |
1443 | </trans-unit> | 1386 | </trans-unit> |
1444 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1387 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1454,7 +1397,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1454 | <target>Mallonga teksto por sciigi homojn, kiel ili povas subteni vin.<br /><br /> | 1397 | <target>Mallonga teksto por sciigi homojn, kiel ili povas subteni vin.<br /><br /> |
1455 | Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos tiun ĉi tekston.</target> | 1398 | Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos tiun ĉi tekston.</target> |
1456 | <context-group name="null"> | 1399 | <context-group name="null"> |
1457 | <context context-type="linenumber">32</context> | 1400 | <context context-type="linenumber">36</context> |
1458 | </context-group> | 1401 | </context-group> |
1459 | </trans-unit> | 1402 | </trans-unit> |
1460 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1403 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1489,14 +1432,14 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1489 | <source>Automatically plays video</source> | 1432 | <source>Automatically plays video</source> |
1490 | <target>Memfare ludas filmon</target> | 1433 | <target>Memfare ludas filmon</target> |
1491 | <context-group name="null"> | 1434 | <context-group name="null"> |
1492 | <context context-type="linenumber">24</context> | 1435 | <context context-type="linenumber">20</context> |
1493 | </context-group> | 1436 | </context-group> |
1494 | </trans-unit> | 1437 | </trans-unit> |
1495 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1438 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1496 | <source>Save</source> | 1439 | <source>Save</source> |
1497 | <target>Konservi</target> | 1440 | <target>Konservi</target> |
1498 | <context-group name="null"> | 1441 | <context-group name="null"> |
1499 | <context context-type="linenumber">27</context> | 1442 | <context context-type="linenumber">23</context> |
1500 | </context-group> | 1443 | </context-group> |
1501 | </trans-unit> | 1444 | </trans-unit> |
1502 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1445 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1506,6 +1449,13 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1506 | <context context-type="linenumber">27</context> | 1449 | <context context-type="linenumber">27</context> |
1507 | </context-group> | 1450 | </context-group> |
1508 | </trans-unit> | 1451 | </trans-unit> |
1452 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1453 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1454 | <target>(postafiksoj: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, pleja grando: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1455 | <context-group name="null"> | ||
1456 | <context context-type="linenumber">18</context> | ||
1457 | </context-group> | ||
1458 | </trans-unit> | ||
1509 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1459 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1510 | <source> | 1460 | <source> |
1511 | Sorry, but we couldn't find the page you were looking for. | 1461 | Sorry, but we couldn't find the page you were looking for. |
@@ -1577,21 +1527,21 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1577 | <source>Privacy</source> | 1527 | <source>Privacy</source> |
1578 | <target>Privateco</target> | 1528 | <target>Privateco</target> |
1579 | <context-group name="null"> | 1529 | <context-group name="null"> |
1580 | <context context-type="linenumber">86</context> | 1530 | <context context-type="linenumber">139</context> |
1581 | </context-group> | 1531 | </context-group> |
1582 | </trans-unit> | 1532 | </trans-unit> |
1583 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1533 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1584 | <source>Publish will be available when upload is finished</source> | 1534 | <source>Publish will be available when upload is finished</source> |
1585 | <target>Eldono eblos post fino de alŝuto</target> | 1535 | <target>Eldono eblos post fino de alŝuto</target> |
1586 | <context-group name="null"> | 1536 | <context-group name="null"> |
1587 | <context context-type="linenumber">53</context> | 1537 | <context context-type="linenumber">54</context> |
1588 | </context-group> | 1538 | </context-group> |
1589 | </trans-unit> | 1539 | </trans-unit> |
1590 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1540 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1591 | <source>Publish</source> | 1541 | <source>Publish</source> |
1592 | <target>Eldoni</target> | 1542 | <target>Eldoni</target> |
1593 | <context-group name="null"> | 1543 | <context-group name="null"> |
1594 | <context context-type="linenumber">60</context> | 1544 | <context context-type="linenumber">61</context> |
1595 | </context-group> | 1545 | </context-group> |
1596 | </trans-unit> | 1546 | </trans-unit> |
1597 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1547 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1605,7 +1555,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1605 | <source>Tags</source> | 1555 | <source>Tags</source> |
1606 | <target>Etikedoj</target> | 1556 | <target>Etikedoj</target> |
1607 | <context-group name="null"> | 1557 | <context-group name="null"> |
1608 | <context context-type="linenumber">15</context> | 1558 | <context context-type="linenumber">171</context> |
1609 | </context-group> | 1559 | </context-group> |
1610 | </trans-unit> | 1560 | </trans-unit> |
1611 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1561 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1622,27 +1572,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1622 | <context context-type="linenumber">24</context> | 1572 | <context context-type="linenumber">24</context> |
1623 | </context-group> | 1573 | </context-group> |
1624 | </trans-unit> | 1574 | </trans-unit> |
1625 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1626 | <source>Category</source> | ||
1627 | <target>Kategorio</target> | ||
1628 | <context-group name="null"> | ||
1629 | <context context-type="linenumber">44</context> | ||
1630 | </context-group> | ||
1631 | </trans-unit> | ||
1632 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1633 | <source>Licence</source> | ||
1634 | <target>Permesilo</target> | ||
1635 | <context-group name="null"> | ||
1636 | <context context-type="linenumber">58</context> | ||
1637 | </context-group> | ||
1638 | </trans-unit> | ||
1639 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1640 | <source>Language</source> | ||
1641 | <target>Lingvo</target> | ||
1642 | <context-group name="null"> | ||
1643 | <context context-type="linenumber">72</context> | ||
1644 | </context-group> | ||
1645 | </trans-unit> | ||
1646 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1575 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1647 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1576 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1648 | <target>Plani publikigon (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1577 | <target>Plani publikigon (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1654,35 +1583,28 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1654 | <source>This video contains mature or explicit content</source> | 1583 | <source>This video contains mature or explicit content</source> |
1655 | <target>Tiu ĉi filmo povas esti konsterna aŭ maltaŭga por neplenaĝaj.</target> | 1584 | <target>Tiu ĉi filmo povas esti konsterna aŭ maltaŭga por neplenaĝaj.</target> |
1656 | <context-group name="null"> | 1585 | <context-group name="null"> |
1657 | <context context-type="linenumber">116</context> | 1586 | <context context-type="linenumber">115</context> |
1658 | </context-group> | 1587 | </context-group> |
1659 | </trans-unit> | 1588 | </trans-unit> |
1660 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1589 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1661 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1590 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1662 | <target>Iuj nodoj ne listigas filmojn, kiuj estas konsternaj aŭ maltaŭgaj por neplenaĝuloj.</target> | 1591 | <target>Iuj nodoj ne listigas filmojn, kiuj estas konsternaj aŭ maltaŭgaj por neplenaĝuloj.</target> |
1663 | <context-group name="null"> | 1592 | <context-group name="null"> |
1664 | <context context-type="linenumber">119</context> | 1593 | <context context-type="linenumber">116</context> |
1665 | </context-group> | 1594 | </context-group> |
1666 | </trans-unit> | 1595 | </trans-unit> |
1667 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1596 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1668 | <source>Enable video comments</source> | 1597 | <source>Enable video comments</source> |
1669 | <target>Ŝalti komentojn al filmo</target> | 1598 | <target>Ŝalti komentojn al filmo</target> |
1670 | <context-group name="null"> | 1599 | <context-group name="null"> |
1671 | <context context-type="linenumber">126</context> | 1600 | <context context-type="linenumber">121</context> |
1672 | </context-group> | 1601 | </context-group> |
1673 | </trans-unit> | 1602 | </trans-unit> |
1674 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1603 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1675 | <source>Wait transcoding before publishing the video</source> | 1604 | <source>Wait transcoding before publishing the video</source> |
1676 | <target>Atendi transkodadon antaŭ publikigi la filmon</target> | 1605 | <target>Atendi transkodadon antaŭ publikigi la filmon</target> |
1677 | <context-group name="null"> | 1606 | <context-group name="null"> |
1678 | <context context-type="linenumber">132</context> | 1607 | <context context-type="linenumber">126</context> |
1679 | </context-group> | ||
1680 | </trans-unit> | ||
1681 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1682 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1683 | <target>Se vi decides ne atendi transkodadon antaŭ publikigi la filmon, ĝi povas esti neludebla ĝis la transkodado finiĝos.</target> | ||
1684 | <context-group name="null"> | ||
1685 | <context context-type="linenumber">135</context> | ||
1686 | </context-group> | 1608 | </context-group> |
1687 | </trans-unit> | 1609 | </trans-unit> |
1688 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1610 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1696,42 +1618,35 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1696 | <source>Upload thumbnail</source> | 1618 | <source>Upload thumbnail</source> |
1697 | <target>Alŝuti miniaturon</target> | 1619 | <target>Alŝuti miniaturon</target> |
1698 | <context-group name="null"> | 1620 | <context-group name="null"> |
1699 | <context context-type="linenumber">146</context> | 1621 | <context context-type="linenumber">186</context> |
1700 | </context-group> | 1622 | </context-group> |
1701 | </trans-unit> | 1623 | </trans-unit> |
1702 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1624 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1703 | <source>Upload preview</source> | 1625 | <source>Upload preview</source> |
1704 | <target>Alŝuti antaŭrigardon</target> | 1626 | <target>Alŝuti antaŭrigardon</target> |
1705 | <context-group name="null"> | 1627 | <context-group name="null"> |
1706 | <context context-type="linenumber">153</context> | 1628 | <context context-type="linenumber">193</context> |
1707 | </context-group> | 1629 | </context-group> |
1708 | </trans-unit> | 1630 | </trans-unit> |
1709 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1631 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1710 | <source>Support</source> | 1632 | <source>Support</source> |
1711 | <target>Subteno</target> | 1633 | <target>Subteno</target> |
1712 | <context-group name="null"> | 1634 | <context-group name="null"> |
1713 | <context context-type="linenumber">59</context> | 1635 | <context context-type="linenumber">67</context> |
1714 | </context-group> | 1636 | </context-group> |
1715 | </trans-unit> | 1637 | </trans-unit> |
1716 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1638 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1717 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1639 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1718 | <target>Mallonga teksto por sciigi homojn, kiel ili povas subteni vin.</target> | 1640 | <target>Mallonga teksto por sciigi homojn, kiel ili povas subteni vin.</target> |
1719 | <context-group name="null"> | 1641 | <context-group name="null"> |
1720 | <context context-type="linenumber">160</context> | 1642 | <context context-type="linenumber">200</context> |
1721 | </context-group> | 1643 | </context-group> |
1722 | </trans-unit> | 1644 | </trans-unit> |
1723 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1645 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1724 | <source>Advanced settings</source> | 1646 | <source>Advanced settings</source> |
1725 | <target>Specialaj agordoj</target> | 1647 | <target>Specialaj agordoj</target> |
1726 | <context-group name="null"> | 1648 | <context-group name="null"> |
1727 | <context context-type="linenumber">142</context> | 1649 | <context context-type="linenumber">182</context> |
1728 | </context-group> | ||
1729 | </trans-unit> | ||
1730 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1731 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1732 | <target>(postafiksoj: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, pleja grando: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1733 | <context-group name="null"> | ||
1734 | <context context-type="linenumber">11</context> | ||
1735 | </context-group> | 1650 | </context-group> |
1736 | </trans-unit> | 1651 | </trans-unit> |
1737 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1652 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1749,7 +1664,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1749 | <source>Update</source> | 1664 | <source>Update</source> |
1750 | <target>Ĝisdatigi</target> | 1665 | <target>Ĝisdatigi</target> |
1751 | <context-group name="null"> | 1666 | <context-group name="null"> |
1752 | <context context-type="linenumber">93</context> | 1667 | <context context-type="linenumber">101</context> |
1753 | </context-group> | 1668 | </context-group> |
1754 | </trans-unit> | 1669 | </trans-unit> |
1755 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1670 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1759,32 +1674,18 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1759 | <context context-type="linenumber">7</context> | 1674 | <context context-type="linenumber">7</context> |
1760 | </context-group> | 1675 | </context-group> |
1761 | </trans-unit> | 1676 | </trans-unit> |
1762 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1763 | <source>Torrent</source> | ||
1764 | <target>Torento</target> | ||
1765 | <context-group name="null"> | ||
1766 | <context context-type="linenumber">20</context> | ||
1767 | </context-group> | ||
1768 | </trans-unit> | ||
1769 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1677 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1770 | <source>Direct download</source> | 1678 | <source>Direct download</source> |
1771 | <target>Rekta elŝuto</target> | 1679 | <target>Rekta elŝuto</target> |
1772 | <context-group name="null"> | 1680 | <context-group name="null"> |
1773 | <context context-type="linenumber">25</context> | 1681 | <context context-type="linenumber">20</context> |
1774 | </context-group> | ||
1775 | </trans-unit> | ||
1776 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1777 | <source>Torrent (magnet)</source> | ||
1778 | <target>Torento (magneta)</target> | ||
1779 | <context-group name="null"> | ||
1780 | <context context-type="linenumber">30</context> | ||
1781 | </context-group> | 1682 | </context-group> |
1782 | </trans-unit> | 1683 | </trans-unit> |
1783 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1684 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1784 | <source>Download</source> | 1685 | <source>Download</source> |
1785 | <target>Elŝuto</target> | 1686 | <target>Elŝuto</target> |
1786 | <context-group name="null"> | 1687 | <context-group name="null"> |
1787 | <context context-type="linenumber">75</context> | 1688 | <context context-type="linenumber">83</context> |
1788 | </context-group> | 1689 | </context-group> |
1789 | </trans-unit> | 1690 | </trans-unit> |
1790 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1691 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1823,7 +1724,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1823 | <source>Share</source> | 1724 | <source>Share</source> |
1824 | <target>Kunhavigi</target> | 1725 | <target>Kunhavigi</target> |
1825 | <context-group name="null"> | 1726 | <context-group name="null"> |
1826 | <context context-type="linenumber">64</context> | 1727 | <context context-type="linenumber">72</context> |
1827 | </context-group> | 1728 | </context-group> |
1828 | </trans-unit> | 1729 | </trans-unit> |
1829 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1730 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1859,7 +1760,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1859 | La filmo estas transkodata; eble ĝi ne funkcios bone. | 1760 | La filmo estas transkodata; eble ĝi ne funkcios bone. |
1860 | </target> | 1761 | </target> |
1861 | <context-group name="null"> | 1762 | <context-group name="null"> |
1862 | <context context-type="linenumber">6</context> | 1763 | <context context-type="linenumber">11</context> |
1863 | </context-group> | 1764 | </context-group> |
1864 | </trans-unit> | 1765 | </trans-unit> |
1865 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1766 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1870,7 +1771,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1870 | Tiu ĉi filmo publikiĝos je <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1771 | Tiu ĉi filmo publikiĝos je <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1871 | </target> | 1772 | </target> |
1872 | <context-group name="null"> | 1773 | <context-group name="null"> |
1873 | <context context-type="linenumber">10</context> | 1774 | <context context-type="linenumber">15</context> |
1874 | </context-group> | 1775 | </context-group> |
1875 | </trans-unit> | 1776 | </trans-unit> |
1876 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1777 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1881,167 +1782,112 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
1881 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj | 1782 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> rigardoj |
1882 | </target> | 1783 | </target> |
1883 | <context-group name="null"> | 1784 | <context-group name="null"> |
1884 | <context context-type="linenumber">21</context> | 1785 | <context context-type="linenumber">26</context> |
1885 | </context-group> | 1786 | </context-group> |
1886 | </trans-unit> | 1787 | </trans-unit> |
1887 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1788 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1888 | <source>Go the channel page</source> | 1789 | <source>Go the channel page</source> |
1889 | <target>Iri al paĝo de la kanalo</target> | 1790 | <target>Iri al paĝo de la kanalo</target> |
1890 | <context-group name="null"> | 1791 | <context-group name="null"> |
1891 | <context context-type="linenumber">26</context> | 1792 | <context context-type="linenumber">31</context> |
1892 | </context-group> | ||
1893 | </trans-unit> | ||
1894 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1895 | <source>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>.</source> | ||
1896 | <target>Vi povas aboni tiun ĉi konton per iu ajn fediversa nodo, kiu subtenas protokolon « ActivityPub ». Ekzemple, en « Mastodon » aŭ « Pleroma », vi povas tajpi en serĉujon <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> kaj aboni tie. Abonado kiel uzanto de PeerTube estas prilaborata en <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1897 | <context-group name="null"> | ||
1898 | <context context-type="linenumber">30</context> | ||
1899 | </context-group> | 1793 | </context-group> |
1900 | </trans-unit> | 1794 | </trans-unit> |
1901 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1795 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1902 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1796 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1903 | <target>De <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1797 | <target>De <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1904 | <context-group name="null"> | 1798 | <context-group name="null"> |
1905 | <context context-type="linenumber">35</context> | 1799 | <context context-type="linenumber">41</context> |
1906 | </context-group> | 1800 | </context-group> |
1907 | </trans-unit> | 1801 | </trans-unit> |
1908 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1802 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1909 | <source>Go to the account page</source> | 1803 | <source>Go to the account page</source> |
1910 | <target>Iri al paĝo de la konto</target> | 1804 | <target>Iri al paĝo de la konto</target> |
1911 | <context-group name="null"> | 1805 | <context-group name="null"> |
1912 | <context context-type="linenumber">34</context> | 1806 | <context context-type="linenumber">40</context> |
1807 | </context-group> | ||
1808 | </trans-unit> | ||
1809 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1810 | <source>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>.</source> | ||
1811 | <target>Vi povas aboni tiun ĉi konton per iu ajn fediversa nodo, kiu subtenas protokolon « ActivityPub ». Ekzemple, en « Mastodon » aŭ « Pleroma », vi povas tajpi en serĉujon <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> kaj aboni tie. Abonado kiel uzanto de PeerTube estas prilaborata en <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1812 | <context-group name="null"> | ||
1813 | <context context-type="linenumber">45</context> | ||
1913 | </context-group> | 1814 | </context-group> |
1914 | </trans-unit> | 1815 | </trans-unit> |
1915 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1816 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1916 | <source>Like this video</source> | 1817 | <source>Like this video</source> |
1917 | <target>Ŝati ĉi tiun filmon</target> | 1818 | <target>Ŝati ĉi tiun filmon</target> |
1918 | <context-group name="null"> | 1819 | <context-group name="null"> |
1919 | <context context-type="linenumber">47</context> | 1820 | <context context-type="linenumber">55</context> |
1920 | </context-group> | 1821 | </context-group> |
1921 | </trans-unit> | 1822 | </trans-unit> |
1922 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1823 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1923 | <source>Dislike this video</source> | 1824 | <source>Dislike this video</source> |
1924 | <target>Malŝati tiun ĉi filmon</target> | 1825 | <target>Malŝati tiun ĉi filmon</target> |
1925 | <context-group name="null"> | 1826 | <context-group name="null"> |
1926 | <context context-type="linenumber">54</context> | 1827 | <context context-type="linenumber">62</context> |
1927 | </context-group> | 1828 | </context-group> |
1928 | </trans-unit> | 1829 | </trans-unit> |
1929 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1830 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1930 | <source>Download the video</source> | 1831 | <source>Download the video</source> |
1931 | <target>Elŝuti la videon</target> | 1832 | <target>Elŝuti la videon</target> |
1932 | <context-group name="null"> | 1833 | <context-group name="null"> |
1933 | <context context-type="linenumber">74</context> | 1834 | <context context-type="linenumber">82</context> |
1934 | </context-group> | 1835 | </context-group> |
1935 | </trans-unit> | 1836 | </trans-unit> |
1936 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1837 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1937 | <source>Report</source> | 1838 | <source>Report</source> |
1938 | <target>Raporti</target> | 1839 | <target>Raporti</target> |
1939 | <context-group name="null"> | 1840 | <context-group name="null"> |
1940 | <context context-type="linenumber">81</context> | 1841 | <context context-type="linenumber">89</context> |
1941 | </context-group> | 1842 | </context-group> |
1942 | </trans-unit> | 1843 | </trans-unit> |
1943 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1844 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1944 | <source>Report this video</source> | 1845 | <source>Report this video</source> |
1945 | <target>Raporti tiun ĉi videon</target> | 1846 | <target>Raporti tiun ĉi videon</target> |
1946 | <context-group name="null"> | 1847 | <context-group name="null"> |
1947 | <context context-type="linenumber">80</context> | 1848 | <context context-type="linenumber">88</context> |
1948 | </context-group> | 1849 | </context-group> |
1949 | </trans-unit> | 1850 | </trans-unit> |
1950 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1851 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1951 | <source>Blacklist</source> | 1852 | <source>Blacklist</source> |
1952 | <target>Forteni</target> | 1853 | <target>Forteni</target> |
1953 | <context-group name="null"> | 1854 | <context-group name="null"> |
1954 | <context context-type="linenumber">87</context> | 1855 | <context context-type="linenumber">95</context> |
1955 | </context-group> | 1856 | </context-group> |
1956 | </trans-unit> | 1857 | </trans-unit> |
1957 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1858 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1958 | <source>Blacklist this video</source> | 1859 | <source>Blacklist this video</source> |
1959 | <target>Forteni ĉi tiun filmon</target> | 1860 | <target>Forteni ĉi tiun filmon</target> |
1960 | <context-group name="null"> | 1861 | <context-group name="null"> |
1961 | <context context-type="linenumber">86</context> | 1862 | <context context-type="linenumber">94</context> |
1962 | </context-group> | 1863 | </context-group> |
1963 | </trans-unit> | 1864 | </trans-unit> |
1964 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1865 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1965 | <source>Update this video</source> | 1866 | <source>Update this video</source> |
1966 | <target>Ĝisdatigi tiun ĉi videon</target> | 1867 | <target>Ĝisdatigi tiun ĉi videon</target> |
1967 | <context-group name="null"> | 1868 | <context-group name="null"> |
1968 | <context context-type="linenumber">92</context> | 1869 | <context context-type="linenumber">100</context> |
1969 | </context-group> | 1870 | </context-group> |
1970 | </trans-unit> | 1871 | </trans-unit> |
1971 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1872 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1972 | <source>Delete this video</source> | 1873 | <source>Delete this video</source> |
1973 | <target>Forigi ĉi tiun videon</target> | 1874 | <target>Forigi ĉi tiun videon</target> |
1974 | <context-group name="null"> | 1875 | <context-group name="null"> |
1975 | <context context-type="linenumber">98</context> | 1876 | <context context-type="linenumber">106</context> |
1976 | </context-group> | 1877 | </context-group> |
1977 | </trans-unit> | 1878 | </trans-unit> |
1978 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1879 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1979 | <source>Show more</source> | 1880 | <source>Show more</source> |
1980 | <target>Montri pli</target> | 1881 | <target>Montri pli</target> |
1981 | <context-group name="null"> | 1882 | <context-group name="null"> |
1982 | <context context-type="linenumber">118</context> | 1883 | <context context-type="linenumber">126</context> |
1983 | </context-group> | 1884 | </context-group> |
1984 | </trans-unit> | 1885 | </trans-unit> |
1985 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1886 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1986 | <source>Show less</source> | 1887 | <source>Show less</source> |
1987 | <target>Montri malpli</target> | 1888 | <target>Montri malpli</target> |
1988 | <context-group name="null"> | 1889 | <context-group name="null"> |
1989 | <context context-type="linenumber">124</context> | 1890 | <context context-type="linenumber">132</context> |
1990 | </context-group> | ||
1991 | </trans-unit> | ||
1992 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1993 | <source> | ||
1994 | Privacy | ||
1995 | </source> | ||
1996 | <target> | ||
1997 | Privateco | ||
1998 | </target> | ||
1999 | <context-group name="null"> | ||
2000 | <context context-type="linenumber">131</context> | ||
2001 | </context-group> | ||
2002 | </trans-unit> | ||
2003 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
2004 | <source> | ||
2005 | Category | ||
2006 | </source> | ||
2007 | <target> | ||
2008 | Kategorio | ||
2009 | </target> | ||
2010 | <context-group name="null"> | ||
2011 | <context context-type="linenumber">140</context> | ||
2012 | </context-group> | ||
2013 | </trans-unit> | ||
2014 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2015 | <source> | ||
2016 | Licence | ||
2017 | </source> | ||
2018 | <target> | ||
2019 | Permesilo | ||
2020 | </target> | ||
2021 | <context-group name="null"> | ||
2022 | <context context-type="linenumber">149</context> | ||
2023 | </context-group> | ||
2024 | </trans-unit> | ||
2025 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2026 | <source> | ||
2027 | Language | ||
2028 | </source> | ||
2029 | <target> | ||
2030 | Lingvo | ||
2031 | </target> | ||
2032 | <context-group name="null"> | ||
2033 | <context context-type="linenumber">158</context> | ||
2034 | </context-group> | ||
2035 | </trans-unit> | ||
2036 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2037 | <source> | ||
2038 | Tags | ||
2039 | </source> | ||
2040 | <target> | ||
2041 | Etikedoj | ||
2042 | </target> | ||
2043 | <context-group name="null"> | ||
2044 | <context context-type="linenumber">167</context> | ||
2045 | </context-group> | 1891 | </context-group> |
2046 | </trans-unit> | 1892 | </trans-unit> |
2047 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1893 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2052,24 +1898,13 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
2052 | Aliaj filmoj | 1898 | Aliaj filmoj |
2053 | </target> | 1899 | </target> |
2054 | <context-group name="null"> | 1900 | <context-group name="null"> |
2055 | <context context-type="linenumber">181</context> | 1901 | <context context-type="linenumber">183</context> |
2056 | </context-group> | 1902 | </context-group> |
2057 | </trans-unit> | 1903 | </trans-unit> |
2058 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1904 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2059 | <source>Friendly Reminder:</source> | 1905 | <source>Friendly Reminder:</source> |
2060 | <target>Amika rememorigo:</target> | 1906 | <target>Amika rememorigo:</target> |
2061 | <context-group name="null"> | 1907 | <context-group name="null"> |
2062 | <context context-type="linenumber">193</context> | ||
2063 | </context-group> | ||
2064 | </trans-unit> | ||
2065 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2066 | <source> | ||
2067 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2068 | </source> | ||
2069 | <target> | ||
2070 | Kunhaviga sistemo uzata de tiu ĉi video implicas, ke iuj teĥnikaj informoj pri via sistemo (ekzemple via IP-adreso) estas publike atingeblaj. | ||
2071 | </target> | ||
2072 | <context-group name="null"> | ||
2073 | <context context-type="linenumber">195</context> | 1908 | <context context-type="linenumber">195</context> |
2074 | </context-group> | 1909 | </context-group> |
2075 | </trans-unit> | 1910 | </trans-unit> |
@@ -2077,14 +1912,14 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
2077 | <source>More information</source> | 1912 | <source>More information</source> |
2078 | <target>Pliaj informoj</target> | 1913 | <target>Pliaj informoj</target> |
2079 | <context-group name="null"> | 1914 | <context-group name="null"> |
2080 | <context context-type="linenumber">198</context> | 1915 | <context context-type="linenumber">200</context> |
2081 | </context-group> | 1916 | </context-group> |
2082 | </trans-unit> | 1917 | </trans-unit> |
2083 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1918 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2084 | <source>Get more information</source> | 1919 | <source>Get more information</source> |
2085 | <target>Akiri pliajn informojn</target> | 1920 | <target>Akiri pliajn informojn</target> |
2086 | <context-group name="null"> | 1921 | <context-group name="null"> |
2087 | <context context-type="linenumber">198</context> | 1922 | <context context-type="linenumber">200</context> |
2088 | </context-group> | 1923 | </context-group> |
2089 | </trans-unit> | 1924 | </trans-unit> |
2090 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1925 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2095,7 +1930,7 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
2095 | Bone | 1930 | Bone |
2096 | </target> | 1931 | </target> |
2097 | <context-group name="null"> | 1932 | <context-group name="null"> |
2098 | <context context-type="linenumber">201</context> | 1933 | <context context-type="linenumber">203</context> |
2099 | </context-group> | 1934 | </context-group> |
2100 | </trans-unit> | 1935 | </trans-unit> |
2101 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1936 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2567,13 +2402,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
2567 | <context context-type="linenumber">1</context> | 2402 | <context context-type="linenumber">1</context> |
2568 | </context-group> | 2403 | </context-group> |
2569 | </trans-unit> | 2404 | </trans-unit> |
2570 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2571 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2572 | <target>Retletero kun instrukcioj pri restarigo de pasvorto estos sendota al <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</target> | ||
2573 | <context-group name="null"> | ||
2574 | <context context-type="linenumber">1</context> | ||
2575 | </context-group> | ||
2576 | </trans-unit> | ||
2577 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2405 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2578 | <source>Unable to find user id or verification string.</source> | 2406 | <source>Unable to find user id or verification string.</source> |
2579 | <target>Ne povas trovi identigilon aŭ kontrolan ĉenon de uzanto</target> | 2407 | <target>Ne povas trovi identigilon aŭ kontrolan ĉenon de uzanto</target> |
@@ -2588,6 +2416,20 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
2588 | <context context-type="linenumber">1</context> | 2416 | <context context-type="linenumber">1</context> |
2589 | </context-group> | 2417 | </context-group> |
2590 | </trans-unit> | 2418 | </trans-unit> |
2419 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2420 | <source>Today</source> | ||
2421 | <target>Hodiaŭ</target> | ||
2422 | <context-group name="null"> | ||
2423 | <context context-type="linenumber">1</context> | ||
2424 | </context-group> | ||
2425 | </trans-unit> | ||
2426 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2427 | <source>Search</source> | ||
2428 | <target>Serĉi</target> | ||
2429 | <context-group name="null"> | ||
2430 | <context context-type="linenumber">1</context> | ||
2431 | </context-group> | ||
2432 | </trans-unit> | ||
2591 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2433 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2592 | <source>Instance name is required.</source> | 2434 | <source>Instance name is required.</source> |
2593 | <target>Necesas nomo de nodo.</target> | 2435 | <target>Necesas nomo de nodo.</target> |
@@ -3274,13 +3116,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
3274 | <context context-type="linenumber">1</context> | 3116 | <context context-type="linenumber">1</context> |
3275 | </context-group> | 3117 | </context-group> |
3276 | </trans-unit> | 3118 | </trans-unit> |
3277 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3278 | <source>Today</source> | ||
3279 | <target>Hodiaŭ</target> | ||
3280 | <context-group name="null"> | ||
3281 | <context context-type="linenumber">1</context> | ||
3282 | </context-group> | ||
3283 | </trans-unit> | ||
3284 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3119 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3285 | <source>Clear</source> | 3120 | <source>Clear</source> |
3286 | <target>Viŝi</target> | 3121 | <target>Viŝi</target> |
@@ -3484,13 +3319,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
3484 | <context context-type="linenumber">1</context> | 3319 | <context context-type="linenumber">1</context> |
3485 | </context-group> | 3320 | </context-group> |
3486 | </trans-unit> | 3321 | </trans-unit> |
3487 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3488 | <source>This image is too large.</source> | ||
3489 | <target>Tiu ĉi bildo tro grandas.</target> | ||
3490 | <context-group name="null"> | ||
3491 | <context context-type="linenumber">1</context> | ||
3492 | </context-group> | ||
3493 | </trans-unit> | ||
3494 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3322 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3495 | <source>Your video was uploaded in your account and is private.</source> | 3323 | <source>Your video was uploaded in your account and is private.</source> |
3496 | <target>Via filmo estas alŝutita al via konto, kaj privata.</target> | 3324 | <target>Via filmo estas alŝutita al via konto, kaj privata.</target> |
@@ -3526,13 +3354,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
3526 | <context context-type="linenumber">1</context> | 3354 | <context context-type="linenumber">1</context> |
3527 | </context-group> | 3355 | </context-group> |
3528 | </trans-unit> | 3356 | </trans-unit> |
3529 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3530 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3531 | <target>Bedaŭre PeerTube ne povas trakti filmojn pli grandajn ol 4GB</target> | ||
3532 | <context-group name="null"> | ||
3533 | <context context-type="linenumber">1</context> | ||
3534 | </context-group> | ||
3535 | </trans-unit> | ||
3536 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3357 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3537 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3358 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3538 | <target>Via datumlimo por filmoj superfluas kun tiu ĉi filmo (grando: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, uzitaj: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, datumlimo: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3359 | <target>Via datumlimo por filmoj superfluas kun tiu ĉi filmo (grando: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, uzitaj: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, datumlimo: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3603,13 +3424,6 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
3603 | <context context-type="linenumber">1</context> | 3424 | <context context-type="linenumber">1</context> |
3604 | </context-group> | 3425 | </context-group> |
3605 | </trans-unit> | 3426 | </trans-unit> |
3606 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3607 | <source>Cannot fetch video from server, maybe down.</source> | ||
3608 | <target>Ne povas preni filmon de servilo; eble ĝi ne atingeblas.</target> | ||
3609 | <context-group name="null"> | ||
3610 | <context context-type="linenumber">1</context> | ||
3611 | </context-group> | ||
3612 | </trans-unit> | ||
3613 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3427 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3614 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3428 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3615 | <target>Tiu ĉi video povas esti konsterna aŭ maltaŭga por neplenaĝuloj. Ĉu vi certe volas spekti ĝin?</target> | 3429 | <target>Tiu ĉi video povas esti konsterna aŭ maltaŭga por neplenaĝuloj. Ĉu vi certe volas spekti ĝin?</target> |
@@ -3624,12 +3438,5 @@ Kiam vi alŝutos filmon al tiu ĉi kanalo, la kampo pri subteno memfare enhavos | |||
3624 | <context context-type="linenumber">1</context> | 3438 | <context context-type="linenumber">1</context> |
3625 | </context-group> | 3439 | </context-group> |
3626 | </trans-unit> | 3440 | </trans-unit> |
3627 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3628 | <source>Search</source> | ||
3629 | <target>Serĉi</target> | ||
3630 | <context-group name="null"> | ||
3631 | <context context-type="linenumber">1</context> | ||
3632 | </context-group> | ||
3633 | </trans-unit> | ||
3634 | </body> | 3441 | </body> |
3635 | </file></xliff> \ No newline at end of file | 3442 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_es_ES.xml b/client/src/locale/target/angular_es_ES.xml index 6d5c1cc3a..37c29c5ff 100644 --- a/client/src/locale/target/angular_es_ES.xml +++ b/client/src/locale/target/angular_es_ES.xml | |||
@@ -10,7 +10,14 @@ | |||
10 | <target> | 10 | <target> |
11 | Cancelar</target> | 11 | Cancelar</target> |
12 | <context-group name="null"> | 12 | <context-group name="null"> |
13 | <context context-type="linenumber">40</context> | 13 | <context context-type="linenumber">45</context> |
14 | </context-group> | ||
15 | </trans-unit> | ||
16 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | ||
17 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | ||
18 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizaciones</target> | ||
19 | <context-group name="null"> | ||
20 | <context context-type="linenumber">34</context> | ||
14 | </context-group> | 21 | </context-group> |
15 | </trans-unit> | 22 | </trans-unit> |
16 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 23 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -20,6 +27,13 @@ Cancelar</target> | |||
20 | <context context-type="linenumber">3</context> | 27 | <context context-type="linenumber">3</context> |
21 | </context-group> | 28 | </context-group> |
22 | </trans-unit> | 29 | </trans-unit> |
30 | <trans-unit id="961a134583d6256df39fbc520d020ebc48e3128d"> | ||
31 | <source>Truncated preview</source> | ||
32 | <target>Previsualización truncada</target> | ||
33 | <context-group name="null"> | ||
34 | <context context-type="linenumber">9</context> | ||
35 | </context-group> | ||
36 | </trans-unit> | ||
23 | <trans-unit id="f82f53a2544638939a8ba93c0fb1b0a4419c3196"> | 37 | <trans-unit id="f82f53a2544638939a8ba93c0fb1b0a4419c3196"> |
24 | <source>Complete preview</source> | 38 | <source>Complete preview</source> |
25 | <target>Vista previa completa</target> | 39 | <target>Vista previa completa</target> |
@@ -31,7 +45,7 @@ Cancelar</target> | |||
31 | <source>Get help</source> | 45 | <source>Get help</source> |
32 | <target>Obtener ayuda</target> | 46 | <target>Obtener ayuda</target> |
33 | <context-group name="null"> | 47 | <context-group name="null"> |
34 | <context context-type="linenumber">17</context> | 48 | <context context-type="linenumber">18</context> |
35 | </context-group> | 49 | </context-group> |
36 | </trans-unit> | 50 | </trans-unit> |
37 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 51 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -51,11 +65,47 @@ Iniciar sesión</target> | |||
51 | <context context-type="linenumber">11</context> | 65 | <context context-type="linenumber">11</context> |
52 | </context-group> | 66 | </context-group> |
53 | </trans-unit> | 67 | </trans-unit> |
68 | <trans-unit id="51ef29329faccb28d94369897068897d1b3d0478"> | ||
69 | <source>Username or email address</source> | ||
70 | <target>Usuario o correo electrónico</target> | ||
71 | <context-group name="null"> | ||
72 | <context context-type="linenumber">13</context> | ||
73 | </context-group> | ||
74 | </trans-unit> | ||
75 | <trans-unit id="02c4360c2d956e74ed6bb1f71e86812af0e19b87"> | ||
76 | <source> | ||
77 | or create an account | ||
78 | </source> | ||
79 | <target> | ||
80 | o crear una cuenta | ||
81 | </target> | ||
82 | <context-group name="null"> | ||
83 | <context context-type="linenumber">16</context> | ||
84 | </context-group> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="d6290381021b16febc426d3e3a52dda83991ce0b"> | ||
87 | <source> | ||
88 | or create an account on another instance | ||
89 | </source> | ||
90 | <target> | ||
91 | o crear una cuenta en otro nodo | ||
92 | </target> | ||
93 | <context-group name="null"> | ||
94 | <context context-type="linenumber">20</context> | ||
95 | </context-group> | ||
96 | </trans-unit> | ||
97 | <trans-unit id="76e1f485e6ead4c84b606f46d413878881d66ad3"> | ||
98 | <source>User registration is not allowed on this instance, but you can register on many others!</source> | ||
99 | <target>El registro de usuarios no está permitido en este nodo, ¡pero puedes registrarte en muchos otros!</target> | ||
100 | <context-group name="null"> | ||
101 | <context context-type="linenumber">26</context> | ||
102 | </context-group> | ||
103 | </trans-unit> | ||
54 | <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407"> | 104 | <trans-unit id="c32ef07f8803a223a83ed17024b38e8d82292407"> |
55 | <source>Password</source> | 105 | <source>Password</source> |
56 | <target>Contraseña</target> | 106 | <target>Contraseña</target> |
57 | <context-group name="null"> | 107 | <context-group name="null"> |
58 | <context context-type="linenumber">28</context> | 108 | <context context-type="linenumber">12</context> |
59 | </context-group> | 109 | </context-group> |
60 | </trans-unit> | 110 | </trans-unit> |
61 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -65,6 +115,13 @@ Iniciar sesión</target> | |||
65 | <context context-type="linenumber">42</context> | 115 | <context context-type="linenumber">42</context> |
66 | </context-group> | 116 | </context-group> |
67 | </trans-unit> | 117 | </trans-unit> |
118 | <trans-unit id="d2eb6c5d41f70d4b8c0937e7e19e196143b47681"> | ||
119 | <source>Forgot your password</source> | ||
120 | <target>Olvidaste tu contraseña</target> | ||
121 | <context-group name="null"> | ||
122 | <context context-type="linenumber">59</context> | ||
123 | </context-group> | ||
124 | </trans-unit> | ||
68 | <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc"> | 125 | <trans-unit id="244aae9346da82b0922506c2d2581373a15641cc"> |
69 | <source>Email</source> | 126 | <source>Email</source> |
70 | <target>Correo electrónico </target> | 127 | <target>Correo electrónico </target> |
@@ -79,6 +136,24 @@ Iniciar sesión</target> | |||
79 | <context context-type="linenumber">66</context> | 136 | <context context-type="linenumber">66</context> |
80 | </context-group> | 137 | </context-group> |
81 | </trans-unit> | 138 | </trans-unit> |
139 | <trans-unit id="78be69e4d26b3b654c49962839d8545e61bf8b55"> | ||
140 | <source>Send me an email to reset my password</source> | ||
141 | <target>Enviar un correo electrónico para restablecer mi contraseña</target> | ||
142 | <context-group name="null"> | ||
143 | <context context-type="linenumber">77</context> | ||
144 | </context-group> | ||
145 | </trans-unit> | ||
146 | <trans-unit id="2ba14c37f3b23553b2602c5e535d0ff4916f24aa"> | ||
147 | <source> | ||
148 | Reset my password | ||
149 | </source> | ||
150 | <target> | ||
151 | Restablecer mi contraseña | ||
152 | </target> | ||
153 | <context-group name="null"> | ||
154 | <context context-type="linenumber">2</context> | ||
155 | </context-group> | ||
156 | </trans-unit> | ||
82 | <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8"> | 157 | <trans-unit id="7f3bdcce4b2e8c37cd7f0f6c92ef8cff34b039b8"> |
83 | <source>Confirm password</source> | 158 | <source>Confirm password</source> |
84 | <target>Confirmar la contraseña</target> | 159 | <target>Confirmar la contraseña</target> |
@@ -93,6 +168,13 @@ Iniciar sesión</target> | |||
93 | <context context-type="linenumber">21</context> | 168 | <context context-type="linenumber">21</context> |
94 | </context-group> | 169 | </context-group> |
95 | </trans-unit> | 170 | </trans-unit> |
171 | <trans-unit id="8bdf8db5eeeaef83184b489b80c1557b516fb3c3"> | ||
172 | <source>Reset my password</source> | ||
173 | <target>Restablecer mi contraseña</target> | ||
174 | <context-group name="null"> | ||
175 | <context context-type="linenumber">29</context> | ||
176 | </context-group> | ||
177 | </trans-unit> | ||
96 | <trans-unit id="4499806949402133d08a5029cb5462c5ea25336d"> | 178 | <trans-unit id="4499806949402133d08a5029cb5462c5ea25336d"> |
97 | <source> | 179 | <source> |
98 | Create an account | 180 | Create an account |
@@ -102,6 +184,134 @@ Iniciar sesión</target> | |||
102 | <context context-type="linenumber">3</context> | 184 | <context context-type="linenumber">3</context> |
103 | </context-group> | 185 | </context-group> |
104 | </trans-unit> | 186 | </trans-unit> |
187 | <trans-unit id="a6807b834e01ce165aa61fad157b0ff4288b6bf1"> | ||
188 | <source>Initial video quota:</source> | ||
189 | <target>Cuota de vídeo inicial:</target> | ||
190 | <context-group name="null"> | ||
191 | <context context-type="linenumber">8</context> | ||
192 | </context-group> | ||
193 | </trans-unit> | ||
194 | <trans-unit id="87b6b2c26215c5e712d3bfe4cc86ba53bc23451c"> | ||
195 | <source> | ||
196 | Unlimited | ||
197 | </source> | ||
198 | <target> | ||
199 | Ilimitada | ||
200 | </target> | ||
201 | <context-group name="null"> | ||
202 | <context context-type="linenumber">16</context> | ||
203 | </context-group> | ||
204 | </trans-unit> | ||
205 | <trans-unit id="08c74dc9762957593b91f6eb5d65efdfc975bf48"> | ||
206 | <source>Username</source> | ||
207 | <target>Usuario</target> | ||
208 | <context-group name="null"> | ||
209 | <context context-type="linenumber">8</context> | ||
210 | </context-group> | ||
211 | </trans-unit> | ||
212 | <trans-unit id="717a5e3574fec754fbeb348c2d5561c4d81facc4"> | ||
213 | <source>Signup</source> | ||
214 | <target>Registrarse</target> | ||
215 | <context-group name="null"> | ||
216 | <context context-type="linenumber">86</context> | ||
217 | </context-group> | ||
218 | </trans-unit> | ||
219 | <trans-unit id="aef5c45fb9c725573d20a6283492e6b80fd2ae96"> | ||
220 | <source>Change the language</source> | ||
221 | <target>Cambiar el idioma</target> | ||
222 | <context-group name="null"> | ||
223 | <context context-type="linenumber">76</context> | ||
224 | </context-group> | ||
225 | </trans-unit> | ||
226 | <trans-unit id="b8ccc4f1b3f839fca9bd59e072f715fd487d540f"> | ||
227 | <source> | ||
228 | My public profile | ||
229 | </source> | ||
230 | <target> | ||
231 | Mi perfil público | ||
232 | </target> | ||
233 | <context-group name="null"> | ||
234 | <context context-type="linenumber">19</context> | ||
235 | </context-group> | ||
236 | </trans-unit> | ||
237 | <trans-unit id="c84b721e9325c9cce20d92f4dbd66898ab5ec947"> | ||
238 | <source> | ||
239 | My account | ||
240 | </source> | ||
241 | <target> | ||
242 | Mi cuenta | ||
243 | </target> | ||
244 | <context-group name="null"> | ||
245 | <context context-type="linenumber">23</context> | ||
246 | </context-group> | ||
247 | </trans-unit> | ||
248 | <trans-unit id="ba7378cdaaa60b4fee17a551b232ad3512dac17d"> | ||
249 | <source> | ||
250 | Log out | ||
251 | </source> | ||
252 | <target> | ||
253 | Salir | ||
254 | </target> | ||
255 | <context-group name="null"> | ||
256 | <context context-type="linenumber">27</context> | ||
257 | </context-group> | ||
258 | </trans-unit> | ||
259 | <trans-unit id="6765b4c916060f6bc42d9bb69e80377dbcb5e4e9"> | ||
260 | <source>Login</source> | ||
261 | <target>Identificarse</target> | ||
262 | <context-group name="null"> | ||
263 | <context context-type="linenumber">36</context> | ||
264 | </context-group> | ||
265 | </trans-unit> | ||
266 | <trans-unit id="d207cc1965ec0c29e594e0e9917f39bfc276ed87"> | ||
267 | <source>Create an account</source> | ||
268 | <target>Crear una cuenta</target> | ||
269 | <context-group name="null"> | ||
270 | <context context-type="linenumber">37</context> | ||
271 | </context-group> | ||
272 | </trans-unit> | ||
273 | <trans-unit id="a52dae09be10ca3a65da918533ced3d3f4992238"> | ||
274 | <source>Videos</source> | ||
275 | <target>Vídeos</target> | ||
276 | <context-group name="null"> | ||
277 | <context context-type="linenumber">21</context> | ||
278 | </context-group> | ||
279 | </trans-unit> | ||
280 | <trans-unit id="b6b7986bc3721ac483baf20bc9a320529075c807"> | ||
281 | <source>Trending</source> | ||
282 | <target>Tendencias</target> | ||
283 | <context-group name="null"> | ||
284 | <context context-type="linenumber">45</context> | ||
285 | </context-group> | ||
286 | </trans-unit> | ||
287 | <trans-unit id="8d20c5f5dd30acbe71316544dab774393fd9c3c1"> | ||
288 | <source>Recently added</source> | ||
289 | <target>Añadidos recientemente</target> | ||
290 | <context-group name="null"> | ||
291 | <context context-type="linenumber">50</context> | ||
292 | </context-group> | ||
293 | </trans-unit> | ||
294 | <trans-unit id="eadc17c3df80143992e2d9028dead3199ae6d79d"> | ||
295 | <source>Local</source> | ||
296 | <target>Local</target> | ||
297 | <context-group name="null"> | ||
298 | <context context-type="linenumber">55</context> | ||
299 | </context-group> | ||
300 | </trans-unit> | ||
301 | <trans-unit id="b7648e7aced164498aa843b5c4e8f2f1c36a7919"> | ||
302 | <source>Administration</source> | ||
303 | <target>Administración</target> | ||
304 | <context-group name="null"> | ||
305 | <context context-type="linenumber">64</context> | ||
306 | </context-group> | ||
307 | </trans-unit> | ||
308 | <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a"> | ||
309 | <source>About</source> | ||
310 | <target>Acerca de</target> | ||
311 | <context-group name="null"> | ||
312 | <context context-type="linenumber">23</context> | ||
313 | </context-group> | ||
314 | </trans-unit> | ||
105 | <trans-unit id="8aa58cf00d949c509df91c621ab38131df0a7599"> | 315 | <trans-unit id="8aa58cf00d949c509df91c621ab38131df0a7599"> |
106 | <source>Search...</source> | 316 | <source>Search...</source> |
107 | <target>Buscar...</target> | 317 | <target>Buscar...</target> |
@@ -109,6 +319,34 @@ Iniciar sesión</target> | |||
109 | <context context-type="linenumber">2</context> | 319 | <context context-type="linenumber">2</context> |
110 | </context-group> | 320 | </context-group> |
111 | </trans-unit> | 321 | </trans-unit> |
322 | <trans-unit id="4b3972c3e9485218508a95f7a4ce7758e3f09ced"> | ||
323 | <source>Upload</source> | ||
324 | <target>Subir</target> | ||
325 | <context-group name="null"> | ||
326 | <context context-type="linenumber">9</context> | ||
327 | </context-group> | ||
328 | </trans-unit> | ||
329 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
330 | <source>Category</source> | ||
331 | <target>Categoría</target> | ||
332 | <context-group name="null"> | ||
333 | <context context-type="linenumber">144</context> | ||
334 | </context-group> | ||
335 | </trans-unit> | ||
336 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
337 | <source>Licence</source> | ||
338 | <target>Licencia</target> | ||
339 | <context-group name="null"> | ||
340 | <context context-type="linenumber">153</context> | ||
341 | </context-group> | ||
342 | </trans-unit> | ||
343 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
344 | <source>Language</source> | ||
345 | <target>Idioma</target> | ||
346 | <context-group name="null"> | ||
347 | <context context-type="linenumber">162</context> | ||
348 | </context-group> | ||
349 | </trans-unit> | ||
112 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 350 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
113 | <source>No results.</source> | 351 | <source>No results.</source> |
114 | <target> Ningún resultados</target> | 352 | <target> Ningún resultados</target> |
@@ -116,6 +354,371 @@ Iniciar sesión</target> | |||
116 | <context context-type="linenumber">7</context> | 354 | <context context-type="linenumber">7</context> |
117 | </context-group> | 355 | </context-group> |
118 | </trans-unit> | 356 | </trans-unit> |
357 | <trans-unit id="ff78f059449d44322f627d0f66df07abe476962b"> | ||
358 | <source>Instance</source> | ||
359 | <target>Nodo</target> | ||
360 | <context-group name="null"> | ||
361 | <context context-type="linenumber">7</context> | ||
362 | </context-group> | ||
363 | </trans-unit> | ||
364 | <trans-unit id="6385c357c1de58ce92c0cf618ecf9cf74b917390"> | ||
365 | <source>PeerTube</source> | ||
366 | <target>PeerTube</target> | ||
367 | <context-group name="null"> | ||
368 | <context context-type="linenumber">7</context> | ||
369 | </context-group> | ||
370 | </trans-unit> | ||
371 | <trans-unit id="5849c589454817c1e991639d3091d8da0e8d6bd2"> | ||
372 | <source> | ||
373 | About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance | ||
374 | </source> | ||
375 | <target> | ||
376 | Acerca del nodo <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> | ||
377 | </target> | ||
378 | <context-group name="null"> | ||
379 | <context context-type="linenumber">1</context> | ||
380 | </context-group> | ||
381 | </trans-unit> | ||
382 | <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0"> | ||
383 | <source>Description</source> | ||
384 | <target>Descripción</target> | ||
385 | <context-group name="null"> | ||
386 | <context context-type="linenumber">23</context> | ||
387 | </context-group> | ||
388 | </trans-unit> | ||
389 | <trans-unit id="69580f2c2dbf4edf7096820ba8c393367352d774"> | ||
390 | <source>Terms</source> | ||
391 | <target>Términos</target> | ||
392 | <context-group name="null"> | ||
393 | <context context-type="linenumber">43</context> | ||
394 | </context-group> | ||
395 | </trans-unit> | ||
396 | <trans-unit id="9c6e6db693ab265457c6578df179c65694141d27"> | ||
397 | <source>User registration is allowed and</source> | ||
398 | <target>El registro de usuarios está permitido y</target> | ||
399 | <context-group name="null"> | ||
400 | <context context-type="linenumber">25</context> | ||
401 | </context-group> | ||
402 | </trans-unit> | ||
403 | <trans-unit id="ac324b07e7c3c972f1c33894eda02dc2917eda5e"> | ||
404 | <source> | ||
405 | this instance provides a baseline quota of <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> space for the videos of its users. | ||
406 | </source> | ||
407 | <target> | ||
408 | este nodo ofrece una cuota estándar de <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> de espacio para los vídeos de sus usuarios. | ||
409 | </target> | ||
410 | <context-group name="null"> | ||
411 | <context context-type="linenumber">27</context> | ||
412 | </context-group> | ||
413 | </trans-unit> | ||
414 | <trans-unit id="a6865ec6abf6af58f808501d84c8ed6ff8ce46ae"> | ||
415 | <source> | ||
416 | this instance provides unlimited space for the videos of its users. | ||
417 | </source> | ||
418 | <target> | ||
419 | este nodo ofrece espacio ilimitado para los vídeos de sus usuarios. | ||
420 | </target> | ||
421 | <context-group name="null"> | ||
422 | <context context-type="linenumber">31</context> | ||
423 | </context-group> | ||
424 | </trans-unit> | ||
425 | <trans-unit id="5c856a6a233b6f6c4cc8eed46436d31d2da63fc1"> | ||
426 | <source> | ||
427 | User registration is currently not allowed. | ||
428 | </source> | ||
429 | <target> | ||
430 | El registro de usuarios no está permitido actualmente. | ||
431 | </target> | ||
432 | <context-group name="null"> | ||
433 | <context context-type="linenumber">36</context> | ||
434 | </context-group> | ||
435 | </trans-unit> | ||
436 | <trans-unit id="a11e3ba2c5aea841de67a3c85892bb61295e94dc"> | ||
437 | <source> | ||
438 | About PeerTube | ||
439 | </source> | ||
440 | <target> | ||
441 | Acerca de PeerTube | ||
442 | </target> | ||
443 | <context-group name="null"> | ||
444 | <context context-type="linenumber">1</context> | ||
445 | </context-group> | ||
446 | </trans-unit> | ||
447 | <trans-unit id="bd29138e1e17572596ce8f2fe61bcea6ac5fb0bf"> | ||
448 | <source>PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser.</source> | ||
449 | <target>PeerTube es una plataforma federada (ActivityPub) de streaming de vídeo que utiliza P2P (WebTorrent) directamente en el navegador web.</target> | ||
450 | <context-group name="null"> | ||
451 | <context context-type="linenumber">6</context> | ||
452 | </context-group> | ||
453 | </trans-unit> | ||
454 | <trans-unit id="c2bc16265b72b9af4a4374b805931ae03e3f73a5"> | ||
455 | <source> | ||
456 | It is a free and open-source software, under the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
457 | </source> | ||
458 | <target> | ||
459 | Es un software libre y de código abierto, bajo la licencia <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
460 | </target> | ||
461 | <context-group name="null"> | ||
462 | <context context-type="linenumber">8</context> | ||
463 | </context-group> | ||
464 | </trans-unit> | ||
465 | <trans-unit id="a10308f7ac111f5b66d08af0a24fc9ddf143931a"> | ||
466 | <source> | ||
467 | For more information, please visit <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
468 | </source> | ||
469 | <target> | ||
470 | Para más información, por favor visite <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
471 | </target> | ||
472 | <context-group name="null"> | ||
473 | <context context-type="linenumber">12</context> | ||
474 | </context-group> | ||
475 | </trans-unit> | ||
476 | <trans-unit id="c02493cfa08b82c468233b83069b5baff23890e1"> | ||
477 | <source>P2P & Privacy</source> | ||
478 | <target>P2P y Privacidad</target> | ||
479 | <context-group name="null"> | ||
480 | <context context-type="linenumber">18</context> | ||
481 | </context-group> | ||
482 | </trans-unit> | ||
483 | <trans-unit id="cd429d53cb8f4a87879301248e38cb85f07fa9d6"> | ||
484 | <source> | ||
485 | PeerTube uses the BitTorrent protocol to share bandwidth between users. | ||
486 | This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. | ||
487 | </source> | ||
488 | <target> | ||
489 | PeerTube utiliza el protocolo BitTorrent para compartir ancho de banda entre los usarios. | ||
490 | Esto implica que tu dirección IP se almacena en el tracker BitTorrent del nodo durante el tiempo que estés descargando o viendo el vídeo. | ||
491 | </target> | ||
492 | <context-group name="null"> | ||
493 | <context context-type="linenumber">20</context> | ||
494 | </context-group> | ||
495 | </trans-unit> | ||
496 | <trans-unit id="e4ce50f3019e3ebe9a479784c6cb68a31c7a8231"> | ||
497 | <source>What are the consequences?</source> | ||
498 | <target>¿Cuáles son las consecuencias?</target> | ||
499 | <context-group name="null"> | ||
500 | <context context-type="linenumber">25</context> | ||
501 | </context-group> | ||
502 | </trans-unit> | ||
503 | <trans-unit id="9a612748b059ad246935df17ef4ec4e6afb43a2a"> | ||
504 | <source> | ||
505 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. | ||
506 | In practice, this is much more difficult because: | ||
507 | </source> | ||
508 | <target> | ||
509 | En teoría, alguien con los conocimientos técnicos suficientes podría crear un script que rastrease qué IP está descargando qué vídeo. | ||
510 | En la práctica esto es mucho más difícil porque: | ||
511 | </target> | ||
512 | <context-group name="null"> | ||
513 | <context context-type="linenumber">27</context> | ||
514 | </context-group> | ||
515 | </trans-unit> | ||
516 | <trans-unit id="64f96be62df4a95a0615b6f630ad25d6348a29d3"> | ||
517 | <source> | ||
518 | An HTTP request has to be sent on each tracker for each video to spy. | ||
519 | If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) | ||
520 | </source> | ||
521 | <target> | ||
522 | Tiene que enviarse una petición HTTP en cada rastreador de cada vídeo a espiar. | ||
523 | Si queremos espiar todos los vídeos de PeerTube, tenemos que enviar tantas peticiones como vídeos haya (por tanto muchas, potencialmente) | ||
524 | </target> | ||
525 | <context-group name="null"> | ||
526 | <context context-type="linenumber">33</context> | ||
527 | </context-group> | ||
528 | </trans-unit> | ||
529 | <trans-unit id="dd9a7a4ee66b0ff3fbb43ba8691ffcd042531611"> | ||
530 | <source> | ||
531 | For each request sent, the tracker returns random peers at a limited number. | ||
532 | For instance, if there are 1000 peers in the swarm and the tracker sends only 20 peers for each request, there must be at least 50 requests sent to know every peers in the swarm | ||
533 | </source> | ||
534 | <target> | ||
535 | Por cada petición enviada, el rastreador devuelve pares aleatorios en número limitado. | ||
536 | Por ejemplo, si hay 1000 pares en el enjambre y el rastreador envía solo 20 pares por petición, debería haber al menos 50 peticiones enviadas para conocer todos los pares del enjambre | ||
537 | </target> | ||
538 | <context-group name="null"> | ||
539 | <context context-type="linenumber">38</context> | ||
540 | </context-group> | ||
541 | </trans-unit> | ||
542 | <trans-unit id="694cf53adfc2afe8afabf713ab00fa114d5d2f8e"> | ||
543 | <source> | ||
544 | Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour | ||
545 | </source> | ||
546 | <target> | ||
547 | Esas peticiones tienen que enviarse con regularidad para saber quién comienza/detiene la reproducción de un vídeo. Es fácil detectar ese comportamiento | ||
548 | </target> | ||
549 | <context-group name="null"> | ||
550 | <context context-type="linenumber">43</context> | ||
551 | </context-group> | ||
552 | </trans-unit> | ||
553 | <trans-unit id="44bbecddbdf2aad1f4bad97cb806560553fb2ab3"> | ||
554 | <source> | ||
555 | If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video | ||
556 | </source> | ||
557 | <target> | ||
558 | Si una dirección IP es almacenada en el rastreador, no significa que la persona tras esa IP (si tal persona existe) ha visionado el vídeo | ||
559 | </target> | ||
560 | <context-group name="null"> | ||
561 | <context context-type="linenumber">47</context> | ||
562 | </context-group> | ||
563 | </trans-unit> | ||
564 | <trans-unit id="fec3239a860de66c718e3442df836b692b8568c3"> | ||
565 | <source> | ||
566 | The IP address is a vague information : usually, it regularly changes and can represent many persons or entities | ||
567 | </source> | ||
568 | <target> | ||
569 | La dirección IP es una información vaga: normalmente cambia con frecuencia y puede representar a muchas personas o entidades | ||
570 | </target> | ||
571 | <context-group name="null"> | ||
572 | <context context-type="linenumber">51</context> | ||
573 | </context-group> | ||
574 | </trans-unit> | ||
575 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | ||
576 | <source> | ||
577 | The worst-case scenario of an average person spying on their friends is quite unlikely. | ||
578 | There are much more effective ways to get that kind of information. | ||
579 | </source> | ||
580 | <target> | ||
581 | El peor escenario de una persona media espiando a sus amigos es bastante improbable. | ||
582 | Hay métodos mucho más efectivos para obtener ese tipo de información. | ||
583 | </target> | ||
584 | <context-group name="null"> | ||
585 | <context context-type="linenumber">62</context> | ||
586 | </context-group> | ||
587 | </trans-unit> | ||
588 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | ||
589 | <source> | ||
590 | The threats to privacy in YouTube are different from PeerTube's. | ||
591 | In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. | ||
592 | Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). | ||
593 | </source> | ||
594 | <target> | ||
595 | Las amenazas a la privacidad en YouTube son diferentes de las de PeerTube. | ||
596 | En el caso de YouTube, la plataforma reúne una inmensa cantidad de tu información personal (no solo tu IP) para nalizarla y rastrearte. | ||
597 | Más aún, YouTube pertenece a Google/Alphabet, una compañía que te rastrea a través de muchos sitios web (vía Adsense o Google Analytics). | ||
598 | </target> | ||
599 | <context-group name="null"> | ||
600 | <context context-type="linenumber">69</context> | ||
601 | </context-group> | ||
602 | </trans-unit> | ||
603 | <trans-unit id="3c2990d5e452bdf2317ff23745db70705d848d99"> | ||
604 | <source>What can I do to limit the exposure of my IP address?</source> | ||
605 | <target>¿Qué puedo hacer para limitar la exposición de mi dirección IP?</target> | ||
606 | <context-group name="null"> | ||
607 | <context context-type="linenumber">75</context> | ||
608 | </context-group> | ||
609 | </trans-unit> | ||
610 | <trans-unit id="a545356de272b955258c2a2432b08ec637b65f7e"> | ||
611 | <source> | ||
612 | Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing your IP in their connection logs: ISP/routers/trackers/CDN and more. | ||
613 | PeerTube is transparent about it: we warn you that if you want to keep your IP private, you must use a VPN or Tor Browser. | ||
614 | Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. | ||
615 | </source> | ||
616 | <target> | ||
617 | Tu dirección IP es pública, de modo que cada vez que consultas un sitio web hay una serie de actores (además del propio sitio web final) que ve tu IP en sus registros de conexión: ISP/enrutadores/rastreadores/CDN y más. | ||
618 | PeerTube es transparente con esto: te avisamos de que si quieres mantener privada tu IP, tienes que usar una VPN o el Tor Browser. | ||
619 | Pensar que si se eliminase el P2P de PeerTube se recuperaría el anonimato no tiene sentido. | ||
620 | </target> | ||
621 | <context-group name="null"> | ||
622 | <context context-type="linenumber">77</context> | ||
623 | </context-group> | ||
624 | </trans-unit> | ||
625 | <trans-unit id="8ce78dd287b9a9dde5079916425ea66466530e41"> | ||
626 | <source>What will be done to mitigate this problem?</source> | ||
627 | <target>¿Qué se va a hacer para mitigar este problema?</target> | ||
628 | <context-group name="null"> | ||
629 | <context context-type="linenumber">83</context> | ||
630 | </context-group> | ||
631 | </trans-unit> | ||
632 | <trans-unit id="d8f1c6b816aaf1ebcb936a705dbe88bcef28eaa8"> | ||
633 | <source> | ||
634 | PeerTube is only in beta, and want to deliver the best countermeasures possible by the time the stable is released. | ||
635 | In the meantime, we want to test different ideas related to this issue: | ||
636 | </source> | ||
637 | <target> | ||
638 | PeerTube está solo en beta, y quiere proporcionar las mejores contramedidas posibles para cuando se publique la versión estable. | ||
639 | Mientras tanto, queremos probar diferentes ideas relacionadas con este problema: | ||
640 | </target> | ||
641 | <context-group name="null"> | ||
642 | <context context-type="linenumber">85</context> | ||
643 | </context-group> | ||
644 | </trans-unit> | ||
645 | <trans-unit id="d32608aba08c6bb3cc4e4e8ec6223e5f4e78ca19"> | ||
646 | <source>Set a limit to the number of peers sent by the tracker</source> | ||
647 | <target>Poner un límite al número de pares enviados por el rastreador</target> | ||
648 | <context-group name="null"> | ||
649 | <context context-type="linenumber">91</context> | ||
650 | </context-group> | ||
651 | </trans-unit> | ||
652 | <trans-unit id="a6d732b614143f862e69798046dc0868716547e5"> | ||
653 | <source>Set a limit on the request frequency received by the tracker (being tested)</source> | ||
654 | <target>Poner un límite a la frecuencia de peticiones recibidas por el rastreador (se está probando)</target> | ||
655 | <context-group name="null"> | ||
656 | <context context-type="linenumber">92</context> | ||
657 | </context-group> | ||
658 | </trans-unit> | ||
659 | <trans-unit id="ba77e356eaa5c06caaf5c8734c361d1a5415fe1c"> | ||
660 | <source>Ring a bell if there are unusual requests (being tested)</source> | ||
661 | <target>Hacer sonar un aviso si hay peticiones inusuales (se está probando)</target> | ||
662 | <context-group name="null"> | ||
663 | <context context-type="linenumber">93</context> | ||
664 | </context-group> | ||
665 | </trans-unit> | ||
666 | <trans-unit id="81861ff8a71c8a5881cdf66417f3bddb753f0e18"> | ||
667 | <source>Disable P2P from the administration interface</source> | ||
668 | <target>Inhabilitar el P2P desde el interfaz de administración</target> | ||
669 | <context-group name="null"> | ||
670 | <context context-type="linenumber">94</context> | ||
671 | </context-group> | ||
672 | </trans-unit> | ||
673 | <trans-unit id="efde279863678ed95a8949a3712c99748bdabfe6"> | ||
674 | <source>An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program</source> | ||
675 | <target>Un programa de redundancia automatizada de vídeo: no sabríamos si la IP descargó el vídeo a propósito o si fue el programa automatizado</target> | ||
676 | <context-group name="null"> | ||
677 | <context context-type="linenumber">95</context> | ||
678 | </context-group> | ||
679 | </trans-unit> | ||
680 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> | ||
681 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> | ||
682 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> suscriptores</target> | ||
683 | <context-group name="null"> | ||
684 | <context context-type="linenumber">12</context> | ||
685 | </context-group> | ||
686 | </trans-unit> | ||
687 | <trans-unit id="6f5a458f827503ac7b8697688ecf3e0490818ee8"> | ||
688 | <source>Video channels</source> | ||
689 | <target>Canales de vídeo</target> | ||
690 | <context-group name="null"> | ||
691 | <context context-type="linenumber">19</context> | ||
692 | </context-group> | ||
693 | </trans-unit> | ||
694 | <trans-unit id="299f97b8ee9c62d45f2cc01961aa1e5101d6d05a"> | ||
695 | <source>Stats</source> | ||
696 | <target>Estadísticas</target> | ||
697 | <context-group name="null"> | ||
698 | <context context-type="linenumber">16</context> | ||
699 | </context-group> | ||
700 | </trans-unit> | ||
701 | <trans-unit id="8bc634cd9d8c9b684dbfaaf17a522f894bedbffc"> | ||
702 | <source>Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/></source> | ||
703 | <target>Se unió el <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/></target> | ||
704 | <context-group name="null"> | ||
705 | <context context-type="linenumber">10</context> | ||
706 | </context-group> | ||
707 | </trans-unit> | ||
708 | <trans-unit id="8fef247fd0c5bf790151f7661cafc4b7fd0397f3"> | ||
709 | <source><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers</source> | ||
710 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> suscriptores</target> | ||
711 | <context-group name="null"> | ||
712 | <context context-type="linenumber">11</context> | ||
713 | </context-group> | ||
714 | </trans-unit> | ||
715 | <trans-unit id="f36bd6a1570cb9b0a5023870f35160957cad2a8f"> | ||
716 | <source>See this video channel</source> | ||
717 | <target>Ver este canal de vídeo</target> | ||
718 | <context-group name="null"> | ||
719 | <context context-type="linenumber">4</context> | ||
720 | </context-group> | ||
721 | </trans-unit> | ||
119 | <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59"> | 722 | <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59"> |
120 | <source>Name</source> | 723 | <source>Name</source> |
121 | <target>Nombre</target> | 724 | <target>Nombre</target> |
@@ -123,11 +726,2712 @@ Iniciar sesión</target> | |||
123 | <context context-type="linenumber">9</context> | 726 | <context context-type="linenumber">9</context> |
124 | </context-group> | 727 | </context-group> |
125 | </trans-unit> | 728 | </trans-unit> |
729 | <trans-unit id="512b045163a7187b2fc5d554e5f59fb3e49e174b"> | ||
730 | <source>Short description</source> | ||
731 | <target>Descripción corta</target> | ||
732 | <context-group name="null"> | ||
733 | <context context-type="linenumber">21</context> | ||
734 | </context-group> | ||
735 | </trans-unit> | ||
736 | <trans-unit id="554488d11165f38b27b8fe230aba8a2e30d57003"> | ||
737 | <source>Default client route</source> | ||
738 | <target>Routa de cliente por defecto</target> | ||
739 | <context-group name="null"> | ||
740 | <context context-type="linenumber">54</context> | ||
741 | </context-group> | ||
742 | </trans-unit> | ||
743 | <trans-unit id="1cbeb1eb589bfbe5efce94184cacd3095ca26948"> | ||
744 | <source>Videos Trending</source> | ||
745 | <target>Vídeos en Tendencia</target> | ||
746 | <context-group name="null"> | ||
747 | <context context-type="linenumber">57</context> | ||
748 | </context-group> | ||
749 | </trans-unit> | ||
750 | <trans-unit id="1861c96217213992e02dcb77e15ea69e718c9883"> | ||
751 | <source>Videos Recently Added</source> | ||
752 | <target>Vídeos Recientemente Añadidos</target> | ||
753 | <context-group name="null"> | ||
754 | <context context-type="linenumber">58</context> | ||
755 | </context-group> | ||
756 | </trans-unit> | ||
757 | <trans-unit id="b6307f83d9f43bff8d5129a7888e89964ddc3f7f"> | ||
758 | <source>Local videos</source> | ||
759 | <target>Vídeos locales</target> | ||
760 | <context-group name="null"> | ||
761 | <context context-type="linenumber">59</context> | ||
762 | </context-group> | ||
763 | </trans-unit> | ||
764 | <trans-unit id="8551afadb69b3fef89e191f507e8ac84e624e8b9"> | ||
765 | <source>Policy on videos containing sensitive content</source> | ||
766 | <target>Política para los vídeos que contengan material sensible</target> | ||
767 | <context-group name="null"> | ||
768 | <context context-type="linenumber">68</context> | ||
769 | </context-group> | ||
770 | </trans-unit> | ||
771 | <trans-unit id="aa3ef567a1ea22c1e4d0acfdc8f80bc636bf12df"> | ||
772 | <source>With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.</source> | ||
773 | <target>Con <strong>No listar</strong> o <strong>Difuminar miniaturas</strong> se requerirá una confirmación para ver el vídeo.</target> | ||
774 | <context-group name="null"> | ||
775 | <context context-type="linenumber">6</context> | ||
776 | </context-group> | ||
777 | </trans-unit> | ||
778 | <trans-unit id="5e155c34fb3ed8159bf0a486a366cfbc6874f9fe"> | ||
779 | <source>Do not list</source> | ||
780 | <target>No listar</target> | ||
781 | <context-group name="null"> | ||
782 | <context context-type="linenumber">11</context> | ||
783 | </context-group> | ||
784 | </trans-unit> | ||
785 | <trans-unit id="aaa900149c2ca1575ac1918d1ded33fb69830ab2"> | ||
786 | <source>Blur thumbnails</source> | ||
787 | <target>Difuminar miniaturas</target> | ||
788 | <context-group name="null"> | ||
789 | <context context-type="linenumber">12</context> | ||
790 | </context-group> | ||
791 | </trans-unit> | ||
792 | <trans-unit id="010d24ef3c43b2d8f45a4d6cba7d73e12ee1557e"> | ||
793 | <source>Display</source> | ||
794 | <target>Mostrar</target> | ||
795 | <context-group name="null"> | ||
796 | <context context-type="linenumber">13</context> | ||
797 | </context-group> | ||
798 | </trans-unit> | ||
799 | <trans-unit id="ca53e66e68986546b7ef820c934145fd7c9c4247"> | ||
800 | <source>Signup enabled</source> | ||
801 | <target>Registro habilitado</target> | ||
802 | <context-group name="null"> | ||
803 | <context context-type="linenumber">90</context> | ||
804 | </context-group> | ||
805 | </trans-unit> | ||
806 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | ||
807 | <source>Signup limit</source> | ||
808 | <target>Límite de registro</target> | ||
809 | <context-group name="null"> | ||
810 | <context context-type="linenumber">94</context> | ||
811 | </context-group> | ||
812 | </trans-unit> | ||
813 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | ||
814 | <source>Administrator</source> | ||
815 | <target>Administrador</target> | ||
816 | <context-group name="null"> | ||
817 | <context context-type="linenumber">104</context> | ||
818 | </context-group> | ||
819 | </trans-unit> | ||
820 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | ||
821 | <source>Admin email</source> | ||
822 | <target>Correo del administrador</target> | ||
823 | <context-group name="null"> | ||
824 | <context context-type="linenumber">107</context> | ||
825 | </context-group> | ||
826 | </trans-unit> | ||
827 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | ||
828 | <source>Users</source> | ||
829 | <target>Usuarios</target> | ||
830 | <context-group name="null"> | ||
831 | <context context-type="linenumber">117</context> | ||
832 | </context-group> | ||
833 | </trans-unit> | ||
834 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | ||
835 | <source>User default video quota</source> | ||
836 | <target>Cuota de vídeo por defecto del usuario</target> | ||
837 | <context-group name="null"> | ||
838 | <context context-type="linenumber">120</context> | ||
839 | </context-group> | ||
840 | </trans-unit> | ||
841 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | ||
842 | <source>Basic configuration</source> | ||
843 | <target>Configuración básica</target> | ||
844 | <context-group name="null"> | ||
845 | <context context-type="linenumber">5</context> | ||
846 | </context-group> | ||
847 | </trans-unit> | ||
126 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> | 848 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> |
127 | <source>Twitter</source> | 849 | <source>Twitter</source> |
128 | <target>Twitter</target> | 850 | <target>Twitter</target> |
129 | <context-group name="null"> | 851 | <context-group name="null"> |
130 | <context context-type="linenumber">138</context> | 852 | <context context-type="linenumber">136</context> |
853 | </context-group> | ||
854 | </trans-unit> | ||
855 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | ||
856 | <source>Your Twitter username</source> | ||
857 | <target>Tu usuario de Twitter</target> | ||
858 | <context-group name="null"> | ||
859 | <context context-type="linenumber">139</context> | ||
860 | </context-group> | ||
861 | </trans-unit> | ||
862 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | ||
863 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | ||
864 | <target>Indica la cuenta de Twitter del sitio web o de la plataforma en la que el contenido fue publicado</target> | ||
865 | <context-group name="null"> | ||
866 | <context context-type="linenumber">142</context> | ||
867 | </context-group> | ||
868 | </trans-unit> | ||
869 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | ||
870 | <source>Instance whitelisted by Twitter</source> | ||
871 | <target>Nodo en lista blanca de Twitter</target> | ||
872 | <context-group name="null"> | ||
873 | <context context-type="linenumber">155</context> | ||
874 | </context-group> | ||
875 | </trans-unit> | ||
876 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | ||
877 | <source>If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> | ||
878 | If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> | ||
879 | Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted.</source> | ||
880 | <target>Si tu nodo está en lista blanca de Twitter, se incrustará un reproductor en el feed de Twitter al compartir un vídeo de PeerTube.<br /> | ||
881 | Si el nodo no está en lista blanca, usamos una tarjeta con un enlace que redireccionará a tu nodo de PeerTube.<br /><br /> | ||
882 | Marca este recuadro, guarda la configuración y haz una prueba con una URL de un vídeo de tu nodo (https://example.com/videos/watch/blabla) en <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> para ver si tu nodo está en lista blanca.</target> | ||
883 | <context-group name="null"> | ||
884 | <context context-type="linenumber">156</context> | ||
885 | </context-group> | ||
886 | </trans-unit> | ||
887 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | ||
888 | <source>Services</source> | ||
889 | <target>Servicios</target> | ||
890 | <context-group name="null"> | ||
891 | <context context-type="linenumber">134</context> | ||
892 | </context-group> | ||
893 | </trans-unit> | ||
894 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
895 | <source>Transcoding</source> | ||
896 | <target>Transcodificar</target> | ||
897 | <context-group name="null"> | ||
898 | <context context-type="linenumber">164</context> | ||
899 | </context-group> | ||
900 | </trans-unit> | ||
901 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | ||
902 | <source>Transcoding enabled</source> | ||
903 | <target>Transcodificación activada</target> | ||
904 | <context-group name="null"> | ||
905 | <context context-type="linenumber">168</context> | ||
906 | </context-group> | ||
907 | </trans-unit> | ||
908 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | ||
909 | <source>If you disable transcoding, many videos from your users will not work!</source> | ||
910 | <target>¡Si desactivas la transcodificación, muchos vídeos de tus usuarios no funcionarán!</target> | ||
911 | <context-group name="null"> | ||
912 | <context context-type="linenumber">169</context> | ||
913 | </context-group> | ||
914 | </trans-unit> | ||
915 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
916 | <source>Transcoding threads</source> | ||
917 | <target>Hilos de transcodificaciones</target> | ||
918 | <context-group name="null"> | ||
919 | <context context-type="linenumber">175</context> | ||
920 | </context-group> | ||
921 | </trans-unit> | ||
922 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | ||
923 | <source>Previews cache size</source> | ||
924 | <target>Tamaño de caché de las previsualizaciones</target> | ||
925 | <context-group name="null"> | ||
926 | <context context-type="linenumber">207</context> | ||
927 | </context-group> | ||
928 | </trans-unit> | ||
929 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | ||
930 | <source>Customizations</source> | ||
931 | <target>Personalizaciones</target> | ||
932 | <context-group name="null"> | ||
933 | <context context-type="linenumber">228</context> | ||
934 | </context-group> | ||
935 | </trans-unit> | ||
936 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | ||
937 | <source>JavaScript</source> | ||
938 | <target>JavaScript</target> | ||
939 | <context-group name="null"> | ||
940 | <context context-type="linenumber">231</context> | ||
941 | </context-group> | ||
942 | </trans-unit> | ||
943 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
944 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
945 | <target>Escribir código Javascript directamente.<br />Ejemplo: <pre>console.log('mi nodo es maravilloso');</pre></target> | ||
946 | <context-group name="null"> | ||
947 | <context context-type="linenumber">234</context> | ||
948 | </context-group> | ||
949 | </trans-unit> | ||
950 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | ||
951 | <source> | ||
952 | Write directly CSS code. Example:<br /> | ||
953 | <pre> | ||
954 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
955 | background-color: red; | ||
956 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
957 | </pre> | ||
958 | |||
959 | Prepend with <em>#custom-css</em> to override styles. Example: | ||
960 | <pre> | ||
961 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
962 | color: red; | ||
963 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
964 | </pre> | ||
965 | </source> | ||
966 | <target> | ||
967 | Escribir código CSS directamente. Ejemplo:<br /> | ||
968 | <pre> | ||
969 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
970 | background-color: red; | ||
971 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
972 | </pre> | ||
973 | |||
974 | Comenzar con <em>#custom-css</em> para anular estilos. Ejemplo: | ||
975 | <pre> | ||
976 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
977 | color: red; | ||
978 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
979 | </pre> | ||
980 | </target> | ||
981 | <context-group name="null"> | ||
982 | <context context-type="linenumber">250</context> | ||
983 | </context-group> | ||
984 | </trans-unit> | ||
985 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | ||
986 | <source>Advanced configuration</source> | ||
987 | <target>Configuración avanzada</target> | ||
988 | <context-group name="null"> | ||
989 | <context context-type="linenumber">162</context> | ||
990 | </context-group> | ||
991 | </trans-unit> | ||
992 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | ||
993 | <source>Update configuration</source> | ||
994 | <target>Actualizar configuración</target> | ||
995 | <context-group name="null"> | ||
996 | <context context-type="linenumber">277</context> | ||
997 | </context-group> | ||
998 | </trans-unit> | ||
999 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | ||
1000 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | ||
1001 | <target>Parece que la configuración no es válida. Por favor, busque errores potenciales en las diferentes pestañas.</target> | ||
1002 | <context-group name="null"> | ||
1003 | <context context-type="linenumber">278</context> | ||
1004 | </context-group> | ||
1005 | </trans-unit> | ||
1006 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | ||
1007 | <source> | ||
1008 | Users | ||
1009 | </source> | ||
1010 | <target> | ||
1011 | Usuarios | ||
1012 | </target> | ||
1013 | <context-group name="null"> | ||
1014 | <context context-type="linenumber">3</context> | ||
1015 | </context-group> | ||
1016 | </trans-unit> | ||
1017 | <trans-unit id="0315abd64e35510ed0534f597130ef781aca175a"> | ||
1018 | <source> | ||
1019 | Manage follows | ||
1020 | </source> | ||
1021 | <target> | ||
1022 | Gestionar seguimientos | ||
1023 | </target> | ||
1024 | <context-group name="null"> | ||
1025 | <context context-type="linenumber">7</context> | ||
1026 | </context-group> | ||
1027 | </trans-unit> | ||
1028 | <trans-unit id="1c9406213cf05033eda4d3df678217b5eb822315"> | ||
1029 | <source> | ||
1030 | Video abuses | ||
1031 | </source> | ||
1032 | <target> | ||
1033 | Abusos de vídeo | ||
1034 | </target> | ||
1035 | <context-group name="null"> | ||
1036 | <context context-type="linenumber">11</context> | ||
1037 | </context-group> | ||
1038 | </trans-unit> | ||
1039 | <trans-unit id="96ccede058f0022f34230c3adc09e60076b6d037"> | ||
1040 | <source> | ||
1041 | Video blacklist | ||
1042 | </source> | ||
1043 | <target> | ||
1044 | Lista negra de vídeo | ||
1045 | </target> | ||
1046 | <context-group name="null"> | ||
1047 | <context context-type="linenumber">15</context> | ||
1048 | </context-group> | ||
1049 | </trans-unit> | ||
1050 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> | ||
1051 | <source> | ||
1052 | Jobs | ||
1053 | </source> | ||
1054 | <target> | ||
1055 | Tareas | ||
1056 | </target> | ||
1057 | <context-group name="null"> | ||
1058 | <context context-type="linenumber">19</context> | ||
1059 | </context-group> | ||
1060 | </trans-unit> | ||
1061 | <trans-unit id="9c6ce37623b626a102002901ca12c37e7a3a7f13"> | ||
1062 | <source> | ||
1063 | Configuration | ||
1064 | </source> | ||
1065 | <target> | ||
1066 | Configuración | ||
1067 | </target> | ||
1068 | <context-group name="null"> | ||
1069 | <context context-type="linenumber">23</context> | ||
1070 | </context-group> | ||
1071 | </trans-unit> | ||
1072 | <trans-unit id="4e8635c108375983b42229df44bda8c0af84f396"> | ||
1073 | <source>1 host (without "http://") per line</source> | ||
1074 | <target>1 host (without "http://") por línea</target> | ||
1075 | <context-group name="null"> | ||
1076 | <context context-type="linenumber">5</context> | ||
1077 | </context-group> | ||
1078 | </trans-unit> | ||
1079 | <trans-unit id="f7a7a00999ccbd126cbb8e74f5dd1724942dd507"> | ||
1080 | <source> | ||
1081 | It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. | ||
1082 | </source> | ||
1083 | <target> | ||
1084 | Parece que no estas en un servidor HTTPS. Tu servidor web ha de tener TLS activador para seguir a otros servidores. | ||
1085 | </target> | ||
1086 | <context-group name="null"> | ||
1087 | <context context-type="linenumber">17</context> | ||
1088 | </context-group> | ||
1089 | </trans-unit> | ||
1090 | <trans-unit id="456c6383d8e7cd15aadbcdc196d4ae7a70092437"> | ||
1091 | <source>Add following</source> | ||
1092 | <target>Añadir seguimiento</target> | ||
1093 | <context-group name="null"> | ||
1094 | <context context-type="linenumber">21</context> | ||
1095 | </context-group> | ||
1096 | </trans-unit> | ||
1097 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> | ||
1098 | <source>ID</source> | ||
1099 | <target>ID</target> | ||
1100 | <context-group name="null"> | ||
1101 | <context context-type="linenumber">18</context> | ||
1102 | </context-group> | ||
1103 | </trans-unit> | ||
1104 | <trans-unit id="380e20a1e13d9489c69f6dbea7da19025ab6eb25"> | ||
1105 | <source>Score</source> | ||
1106 | <target>Puntuación</target> | ||
1107 | <context-group name="null"> | ||
1108 | <context context-type="linenumber">8</context> | ||
1109 | </context-group> | ||
1110 | </trans-unit> | ||
1111 | <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767"> | ||
1112 | <source>Host</source> | ||
1113 | <target>Host</target> | ||
1114 | <context-group name="null"> | ||
1115 | <context context-type="linenumber">8</context> | ||
1116 | </context-group> | ||
1117 | </trans-unit> | ||
1118 | <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b"> | ||
1119 | <source>State</source> | ||
1120 | <target>Estado</target> | ||
1121 | <context-group name="null"> | ||
1122 | <context context-type="linenumber">20</context> | ||
1123 | </context-group> | ||
1124 | </trans-unit> | ||
1125 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
1126 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1127 | <target>Creado <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1128 | <context-group name="null"> | ||
1129 | <context context-type="linenumber">16</context> | ||
1130 | </context-group> | ||
1131 | </trans-unit> | ||
1132 | <trans-unit id="5fccee488a9ea908c16d2ab9dbdaf264f1aac479"> | ||
1133 | <source>Manage follows</source> | ||
1134 | <target>Gestionar seguimientos</target> | ||
1135 | <context-group name="null"> | ||
1136 | <context context-type="linenumber">2</context> | ||
1137 | </context-group> | ||
1138 | </trans-unit> | ||
1139 | <trans-unit id="a9f2501fcb2ff71f1376c2d2fbbbd49f200e6c8f"> | ||
1140 | <source>Jobs list</source> | ||
1141 | <target>Lista de tareas</target> | ||
1142 | <context-group name="null"> | ||
1143 | <context context-type="linenumber">2</context> | ||
1144 | </context-group> | ||
1145 | </trans-unit> | ||
1146 | <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc"> | ||
1147 | <source>Type</source> | ||
1148 | <target>Tipo</target> | ||
1149 | <context-group name="null"> | ||
1150 | <context context-type="linenumber">19</context> | ||
1151 | </context-group> | ||
1152 | </trans-unit> | ||
1153 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | ||
1154 | <source>Create user</source> | ||
1155 | <target>Crear usuario</target> | ||
1156 | <context-group name="null"> | ||
1157 | <context context-type="linenumber">6</context> | ||
1158 | </context-group> | ||
1159 | </trans-unit> | ||
1160 | <trans-unit id="2788d9a67ed2b6f35c85818e6af1871317c57a7e"> | ||
1161 | <source>Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/></source> | ||
1162 | <target>Editar usuario <x id="INTERPOLATION" equiv-text="{{ username }}"/></target> | ||
1163 | <context-group name="null"> | ||
1164 | <context context-type="linenumber">2</context> | ||
1165 | </context-group> | ||
1166 | </trans-unit> | ||
1167 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> | ||
1168 | <source>john</source> | ||
1169 | <target>john</target> | ||
1170 | <context-group name="null"> | ||
1171 | <context context-type="linenumber">10</context> | ||
1172 | </context-group> | ||
1173 | </trans-unit> | ||
1174 | <trans-unit id="bb3542ff8e5defa6d0c773799e5c8fe399605d05"> | ||
1175 | <source>mail@example.com</source> | ||
1176 | <target>mail@example.com</target> | ||
1177 | <context-group name="null"> | ||
1178 | <context context-type="linenumber">21</context> | ||
1179 | </context-group> | ||
1180 | </trans-unit> | ||
1181 | <trans-unit id="c36a66f2107e8da5371ebc9d15c2008dff567f46"> | ||
1182 | <source>Role</source> | ||
1183 | <target>Rol</target> | ||
1184 | <context-group name="null"> | ||
1185 | <context context-type="linenumber">19</context> | ||
1186 | </context-group> | ||
1187 | </trans-unit> | ||
1188 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> | ||
1189 | <source>Video quota</source> | ||
1190 | <target>Cuota de vídeo</target> | ||
1191 | <context-group name="null"> | ||
1192 | <context context-type="linenumber">18</context> | ||
1193 | </context-group> | ||
1194 | </trans-unit> | ||
1195 | <trans-unit id="42e3c0e89177ca135974221eaf0e4e836c32e345"> | ||
1196 | <source> | ||
1197 | Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> | ||
1198 | At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. | ||
1199 | </source> | ||
1200 | <target> | ||
1201 | La transcodificación está activada en el servidor. La cuota de vídeo solo tiene en cuenta el vídeo <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/>. <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> | ||
1202 | Como mucho, este usuario podría utilizar ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. | ||
1203 | </target> | ||
1204 | <context-group name="null"> | ||
1205 | <context context-type="linenumber">65</context> | ||
1206 | </context-group> | ||
1207 | </trans-unit> | ||
1208 | <trans-unit id="5e8b4663c17c337a1f11160c0a683350936faa1f"> | ||
1209 | <source>Users list</source> | ||
1210 | <target>Lista de usuarios</target> | ||
1211 | <context-group name="null"> | ||
1212 | <context context-type="linenumber">2</context> | ||
1213 | </context-group> | ||
1214 | </trans-unit> | ||
1215 | <trans-unit id="08ea8692dc2a7050026df26fc39b22960bde9de5"> | ||
1216 | <source>Username <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1217 | <target>Nombre de usuario <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1218 | <context-group name="null"> | ||
1219 | <context context-type="linenumber">16</context> | ||
1220 | </context-group> | ||
1221 | </trans-unit> | ||
1222 | <trans-unit id="0c7e8870481f1287af6a142f538391d8c16c2408"> | ||
1223 | <source>Video abuses list</source> | ||
1224 | <target>Lista de abusos de vídeo</target> | ||
1225 | <context-group name="null"> | ||
1226 | <context context-type="linenumber">2</context> | ||
1227 | </context-group> | ||
1228 | </trans-unit> | ||
1229 | <trans-unit id="4ba250869daa372b54d24fafc0ea934769ee4076"> | ||
1230 | <source>Reason</source> | ||
1231 | <target>Motivo</target> | ||
1232 | <context-group name="null"> | ||
1233 | <context context-type="linenumber">11</context> | ||
1234 | </context-group> | ||
1235 | </trans-unit> | ||
1236 | <trans-unit id="2bf5a31043ff476ca081a4080f3f3f17518dc6f2"> | ||
1237 | <source>Reporter</source> | ||
1238 | <target>Reportador</target> | ||
1239 | <context-group name="null"> | ||
1240 | <context context-type="linenumber">12</context> | ||
1241 | </context-group> | ||
1242 | </trans-unit> | ||
1243 | <trans-unit id="2d1ea268a6a9f483dbc2cbfe19bf4256a57a6af4"> | ||
1244 | <source>Video</source> | ||
1245 | <target>Vídeo</target> | ||
1246 | <context-group name="null"> | ||
1247 | <context context-type="linenumber">14</context> | ||
1248 | </context-group> | ||
1249 | </trans-unit> | ||
1250 | <trans-unit id="c6ab75e099e131d7a4f94e1732e7436d8fc386c7"> | ||
1251 | <source>Go to the account</source> | ||
1252 | <target>Ir a la cuenta</target> | ||
1253 | <context-group name="null"> | ||
1254 | <context context-type="linenumber">22</context> | ||
1255 | </context-group> | ||
1256 | </trans-unit> | ||
1257 | <trans-unit id="1cb8348c199d03e297d165e262237194f25fe3f5"> | ||
1258 | <source>Go to the video</source> | ||
1259 | <target>Ir al vídeo</target> | ||
1260 | <context-group name="null"> | ||
1261 | <context context-type="linenumber">28</context> | ||
1262 | </context-group> | ||
1263 | </trans-unit> | ||
1264 | <trans-unit id="00ecde6001106fe7406a34cc3459cc5b88e4aec1"> | ||
1265 | <source>Blacklisted videos</source> | ||
1266 | <target>Vídeos en lista negra</target> | ||
1267 | <context-group name="null"> | ||
1268 | <context context-type="linenumber">2</context> | ||
1269 | </context-group> | ||
1270 | </trans-unit> | ||
1271 | <trans-unit id="7c02d113e9b7884037834cddecf2a32a5538b35b"> | ||
1272 | <source>Name <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1273 | <target>Nombre <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1274 | <context-group name="null"> | ||
1275 | <context context-type="linenumber">11</context> | ||
1276 | </context-group> | ||
1277 | </trans-unit> | ||
1278 | <trans-unit id="cd5ca5da9e2fa21571e9f86a24a5c3b45a3ddc51"> | ||
1279 | <source>Views <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1280 | <target>Visualizaciones <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1281 | <context-group name="null"> | ||
1282 | <context context-type="linenumber">13</context> | ||
1283 | </context-group> | ||
1284 | </trans-unit> | ||
1285 | <trans-unit id="d4717113115ca7106a354a5aac54d1c0126261d9"> | ||
1286 | <source>NSFW</source> | ||
1287 | <target>NSFW</target> | ||
1288 | <context-group name="null"> | ||
1289 | <context context-type="linenumber">14</context> | ||
1290 | </context-group> | ||
1291 | </trans-unit> | ||
1292 | <trans-unit id="8c87d9527af7ff2ada84c911516a9e43a352e401"> | ||
1293 | <source>UUID</source> | ||
1294 | <target>UUID</target> | ||
1295 | <context-group name="null"> | ||
1296 | <context context-type="linenumber">15</context> | ||
1297 | </context-group> | ||
1298 | </trans-unit> | ||
1299 | <trans-unit id="86f26b106c67be3c2e98b82766656e5d9da86dff"> | ||
1300 | <source>Unblacklist</source> | ||
1301 | <target>Sacar de lista negra</target> | ||
1302 | <context-group name="null"> | ||
1303 | <context context-type="linenumber">30</context> | ||
1304 | </context-group> | ||
1305 | </trans-unit> | ||
1306 | <trans-unit id="efad4be364b8fb5c73cbfcc7acccd542f9d84ad6"> | ||
1307 | <source>My settings</source> | ||
1308 | <target>Mis ajustes</target> | ||
1309 | <context-group name="null"> | ||
1310 | <context context-type="linenumber">3</context> | ||
1311 | </context-group> | ||
1312 | </trans-unit> | ||
1313 | <trans-unit id="520d68b2c9f7dacaf2a5073716cad9bd328ea7e7"> | ||
1314 | <source>My video channels</source> | ||
1315 | <target>Mis canales de vídeo</target> | ||
1316 | <context-group name="null"> | ||
1317 | <context context-type="linenumber">5</context> | ||
1318 | </context-group> | ||
1319 | </trans-unit> | ||
1320 | <trans-unit id="d02888c485d3aeab6de628508f4a00312a722894"> | ||
1321 | <source>My videos</source> | ||
1322 | <target>Mis vídeos</target> | ||
1323 | <context-group name="null"> | ||
1324 | <context context-type="linenumber">7</context> | ||
1325 | </context-group> | ||
1326 | </trans-unit> | ||
1327 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | ||
1328 | <source>Video quota:</source> | ||
1329 | <target>Cuota de vídeo</target> | ||
1330 | <context-group name="null"> | ||
1331 | <context context-type="linenumber">4</context> | ||
1332 | </context-group> | ||
1333 | </trans-unit> | ||
1334 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | ||
1335 | <source>Profile</source> | ||
1336 | <target>Perfil</target> | ||
1337 | <context-group name="null"> | ||
1338 | <context context-type="linenumber">8</context> | ||
1339 | </context-group> | ||
1340 | </trans-unit> | ||
1341 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | ||
1342 | <source>Video settings</source> | ||
1343 | <target>Ajustes de vídeo</target> | ||
1344 | <context-group name="null"> | ||
1345 | <context context-type="linenumber">15</context> | ||
1346 | </context-group> | ||
1347 | </trans-unit> | ||
1348 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | ||
1349 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | ||
1350 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizaciones</target> | ||
1351 | <context-group name="null"> | ||
1352 | <context context-type="linenumber">19</context> | ||
1353 | </context-group> | ||
1354 | </trans-unit> | ||
1355 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | ||
1356 | <source>Delete</source> | ||
1357 | <target>Eliminar</target> | ||
1358 | <context-group name="null"> | ||
1359 | <context context-type="linenumber">15</context> | ||
1360 | </context-group> | ||
1361 | </trans-unit> | ||
1362 | <trans-unit id="73c1cefc348a6f361497210dea1ed79499fd1260"> | ||
1363 | <source>Create another video channel</source> | ||
1364 | <target>Crear otro canal de vídeo</target> | ||
1365 | <context-group name="null"> | ||
1366 | <context context-type="linenumber">4</context> | ||
1367 | </context-group> | ||
1368 | </trans-unit> | ||
1369 | <trans-unit id="30fcac6c20aac1f24e000efc4a889cbb93d4baf2"> | ||
1370 | <source>Go to the channel</source> | ||
1371 | <target>Ir al canal</target> | ||
1372 | <context-group name="null"> | ||
1373 | <context context-type="linenumber">15</context> | ||
1374 | </context-group> | ||
1375 | </trans-unit> | ||
1376 | <trans-unit id="9dbe4718a5611fbc611fc6b5e0b27df813372c68"> | ||
1377 | <source>Create a video channel</source> | ||
1378 | <target>Crear un canal de vídeo</target> | ||
1379 | <context-group name="null"> | ||
1380 | <context context-type="linenumber">6</context> | ||
1381 | </context-group> | ||
1382 | </trans-unit> | ||
1383 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | ||
1384 | <source>Display name</source> | ||
1385 | <target>Nombre a mostrar</target> | ||
1386 | <context-group name="null"> | ||
1387 | <context context-type="linenumber">6</context> | ||
1388 | </context-group> | ||
1389 | </trans-unit> | ||
1390 | <trans-unit id="74728de5289ea2ff3f553bc2b48f1811680b931a"> | ||
1391 | <source>Short text to tell people how they can support your channel (membership platform...).<br /><br /> | ||
1392 | When you will upload a video in this channel, the video support field will be automatically filled by this text.</source> | ||
1393 | <target>Texto corto para decirle a la gente cómo pueden dar soporte a tu canal (plataforma de miembros...).<br /><br /> | ||
1394 | Cuando subas un vídeo a este canal, el campo de soporte del vídeo se rellenará automáticamente con este texto.</target> | ||
1395 | <context-group name="null"> | ||
1396 | <context context-type="linenumber">36</context> | ||
1397 | </context-group> | ||
1398 | </trans-unit> | ||
1399 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | ||
1400 | <source>Change password</source> | ||
1401 | <target>Cambiar contraseña</target> | ||
1402 | <context-group name="null"> | ||
1403 | <context context-type="linenumber">19</context> | ||
1404 | </context-group> | ||
1405 | </trans-unit> | ||
1406 | <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229"> | ||
1407 | <source>New password</source> | ||
1408 | <target>Nueva contraseña</target> | ||
1409 | <context-group name="null"> | ||
1410 | <context context-type="linenumber">7</context> | ||
1411 | </context-group> | ||
1412 | </trans-unit> | ||
1413 | <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b"> | ||
1414 | <source>Confirm new password</source> | ||
1415 | <target>Confirmar nueva contraseña</target> | ||
1416 | <context-group name="null"> | ||
1417 | <context context-type="linenumber">15</context> | ||
1418 | </context-group> | ||
1419 | </trans-unit> | ||
1420 | <trans-unit id="20f62f24170d57b1efeb2387a0949f482cd4d129"> | ||
1421 | <source>Default policy on videos containing sensitive content</source> | ||
1422 | <target>Política por defecto para vídeos que contengan material sensible</target> | ||
1423 | <context-group name="null"> | ||
1424 | <context context-type="linenumber">3</context> | ||
1425 | </context-group> | ||
1426 | </trans-unit> | ||
1427 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | ||
1428 | <source>Automatically plays video</source> | ||
1429 | <target>Reproducir vídeo automáticamente</target> | ||
1430 | <context-group name="null"> | ||
1431 | <context context-type="linenumber">20</context> | ||
1432 | </context-group> | ||
1433 | </trans-unit> | ||
1434 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | ||
1435 | <source>Save</source> | ||
1436 | <target>Guardar</target> | ||
1437 | <context-group name="null"> | ||
1438 | <context context-type="linenumber">23</context> | ||
1439 | </context-group> | ||
1440 | </trans-unit> | ||
1441 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | ||
1442 | <source>Update my profile</source> | ||
1443 | <target>Actualizar mi perfil</target> | ||
1444 | <context-group name="null"> | ||
1445 | <context context-type="linenumber">27</context> | ||
1446 | </context-group> | ||
1447 | </trans-unit> | ||
1448 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1449 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1450 | <target>(extensiones: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, tamaño máximo: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1451 | <context-group name="null"> | ||
1452 | <context context-type="linenumber">18</context> | ||
1453 | </context-group> | ||
1454 | </trans-unit> | ||
1455 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | ||
1456 | <source> | ||
1457 | Sorry, but we couldn't find the page you were looking for. | ||
1458 | </source> | ||
1459 | <target> | ||
1460 | Lo sentimos, pero no hemos podido encontrar la página que estabas buscando. | ||
1461 | </target> | ||
1462 | <context-group name="null"> | ||
1463 | <context context-type="linenumber">1</context> | ||
1464 | </context-group> | ||
1465 | </trans-unit> | ||
1466 | <trans-unit id="c65641c36859c328928e6b0f14c3f913886f8add"> | ||
1467 | <source>Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/></source> | ||
1468 | <target>Creado por <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/></target> | ||
1469 | <context-group name="null"> | ||
1470 | <context context-type="linenumber">14</context> | ||
1471 | </context-group> | ||
1472 | </trans-unit> | ||
1473 | <trans-unit id="e006ed166ce188cab168e1ca90435b33d042d913"> | ||
1474 | <source>Go the owner account page</source> | ||
1475 | <target>Ir a la cuenta del propietario</target> | ||
1476 | <context-group name="null"> | ||
1477 | <context context-type="linenumber">13</context> | ||
1478 | </context-group> | ||
1479 | </trans-unit> | ||
1480 | <trans-unit id="1380539d91f77f565de6e21ce210da891e6644b8"> | ||
1481 | <source>Support this channel</source> | ||
1482 | <target>Apoyar este canal</target> | ||
1483 | <context-group name="null"> | ||
1484 | <context context-type="linenumber">9</context> | ||
1485 | </context-group> | ||
1486 | </trans-unit> | ||
1487 | <trans-unit id="5523952d0300c96cfba2ec5a693c95f923e90c40"> | ||
1488 | <source>Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></source> | ||
1489 | <target>Creado el <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></target> | ||
1490 | <context-group name="null"> | ||
1491 | <context context-type="linenumber">17</context> | ||
1492 | </context-group> | ||
1493 | </trans-unit> | ||
1494 | <trans-unit id="d4dcf74163f127ca9afa84d55b5d95846958faa0"> | ||
1495 | <source>Upload your video</source> | ||
1496 | <target>Subir tu vídeo</target> | ||
1497 | <context-group name="null"> | ||
1498 | <context context-type="linenumber">3</context> | ||
1499 | </context-group> | ||
1500 | </trans-unit> | ||
1501 | <trans-unit id="1af3dcf5aad5b7f4b3251da88a89dc9a184445dd"> | ||
1502 | <source>Upload <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></source> | ||
1503 | <target>Subir <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></target> | ||
1504 | <context-group name="null"> | ||
1505 | <context context-type="linenumber">4</context> | ||
1506 | </context-group> | ||
1507 | </trans-unit> | ||
1508 | <trans-unit id="21add64f0f3ebbedf1150ca822c6e149494ab7a9"> | ||
1509 | <source>Select the file to upload</source> | ||
1510 | <target>Elige el archivo a subir</target> | ||
1511 | <context-group name="null"> | ||
1512 | <context context-type="linenumber">12</context> | ||
1513 | </context-group> | ||
1514 | </trans-unit> | ||
1515 | <trans-unit id="0cc554f4d7bb6a87515d2d95438e183b50702071"> | ||
1516 | <source>Channel</source> | ||
1517 | <target>Canal</target> | ||
1518 | <context-group name="null"> | ||
1519 | <context context-type="linenumber">35</context> | ||
1520 | </context-group> | ||
1521 | </trans-unit> | ||
1522 | <trans-unit id="3c78b53bca33467190c0b7a01320bc093a2b1427"> | ||
1523 | <source>Privacy</source> | ||
1524 | <target>Privacidad</target> | ||
1525 | <context-group name="null"> | ||
1526 | <context context-type="linenumber">139</context> | ||
1527 | </context-group> | ||
1528 | </trans-unit> | ||
1529 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | ||
1530 | <source>Publish will be available when upload is finished</source> | ||
1531 | <target>La publicación estará disponible cuando finalice la subida</target> | ||
1532 | <context-group name="null"> | ||
1533 | <context context-type="linenumber">54</context> | ||
1534 | </context-group> | ||
1535 | </trans-unit> | ||
1536 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | ||
1537 | <source>Publish</source> | ||
1538 | <target>Publicar</target> | ||
1539 | <context-group name="null"> | ||
1540 | <context context-type="linenumber">61</context> | ||
1541 | </context-group> | ||
1542 | </trans-unit> | ||
1543 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | ||
1544 | <source>Title</source> | ||
1545 | <target>Título</target> | ||
1546 | <context-group name="null"> | ||
1547 | <context context-type="linenumber">7</context> | ||
1548 | </context-group> | ||
1549 | </trans-unit> | ||
1550 | <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b"> | ||
1551 | <source>Tags</source> | ||
1552 | <target>Etiquetas</target> | ||
1553 | <context-group name="null"> | ||
1554 | <context context-type="linenumber">171</context> | ||
1555 | </context-group> | ||
1556 | </trans-unit> | ||
1557 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | ||
1558 | <source>(press Enter to add)</source> | ||
1559 | <target>(presiona Entrar para añadir)</target> | ||
1560 | <context-group name="null"> | ||
1561 | <context context-type="linenumber">15</context> | ||
1562 | </context-group> | ||
1563 | </trans-unit> | ||
1564 | <trans-unit id="50f53834157770b8205ada0e7a6e235211e4765e"> | ||
1565 | <source>Video descriptions are truncated by default and require manual action to expand them.</source> | ||
1566 | <target>Las descripciones de vídeo se muestran truncadas por defecto y requieren de acción manual para expandirlas.</target> | ||
1567 | <context-group name="null"> | ||
1568 | <context context-type="linenumber">24</context> | ||
1569 | </context-group> | ||
1570 | </trans-unit> | ||
1571 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | ||
1572 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | ||
1573 | <target>Programar publicación (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | ||
1574 | <context-group name="null"> | ||
1575 | <context context-type="linenumber">101</context> | ||
1576 | </context-group> | ||
1577 | </trans-unit> | ||
1578 | <trans-unit id="5ef7108218e096d09f4ee8525a05a8c90d7b95ee"> | ||
1579 | <source>This video contains mature or explicit content</source> | ||
1580 | <target>Este vídeo contiene material para adultos o explícito</target> | ||
1581 | <context-group name="null"> | ||
1582 | <context context-type="linenumber">115</context> | ||
1583 | </context-group> | ||
1584 | </trans-unit> | ||
1585 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | ||
1586 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | ||
1587 | <target>Algunos nodos no listan vídeos que contengan material para adultos o explícito por defecto.</target> | ||
1588 | <context-group name="null"> | ||
1589 | <context context-type="linenumber">116</context> | ||
1590 | </context-group> | ||
1591 | </trans-unit> | ||
1592 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | ||
1593 | <source>Enable video comments</source> | ||
1594 | <target>Permitir comentarios del vídeo</target> | ||
1595 | <context-group name="null"> | ||
1596 | <context context-type="linenumber">121</context> | ||
1597 | </context-group> | ||
1598 | </trans-unit> | ||
1599 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | ||
1600 | <source>Wait transcoding before publishing the video</source> | ||
1601 | <target>Esperar transcodificación antes de publicar el vídeo</target> | ||
1602 | <context-group name="null"> | ||
1603 | <context context-type="linenumber">126</context> | ||
1604 | </context-group> | ||
1605 | </trans-unit> | ||
1606 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | ||
1607 | <source>Basic info</source> | ||
1608 | <target>Info básica</target> | ||
1609 | <context-group name="null"> | ||
1610 | <context context-type="linenumber">4</context> | ||
1611 | </context-group> | ||
1612 | </trans-unit> | ||
1613 | <trans-unit id="1dd793abd1cb8d16a7a2cb71ca5549a7111ee513"> | ||
1614 | <source>Upload thumbnail</source> | ||
1615 | <target>Subir miniatura</target> | ||
1616 | <context-group name="null"> | ||
1617 | <context context-type="linenumber">186</context> | ||
1618 | </context-group> | ||
1619 | </trans-unit> | ||
1620 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | ||
1621 | <source>Upload preview</source> | ||
1622 | <target>Subir previsualización</target> | ||
1623 | <context-group name="null"> | ||
1624 | <context context-type="linenumber">193</context> | ||
1625 | </context-group> | ||
1626 | </trans-unit> | ||
1627 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | ||
1628 | <source>Support</source> | ||
1629 | <target>Apoyar</target> | ||
1630 | <context-group name="null"> | ||
1631 | <context context-type="linenumber">67</context> | ||
1632 | </context-group> | ||
1633 | </trans-unit> | ||
1634 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | ||
1635 | <source>Short text to tell people how they can support you (membership platform...).</source> | ||
1636 | <target>Breve texto para explicar a la gente cómo pueden apoyarte (plataforma de miembros...).</target> | ||
1637 | <context-group name="null"> | ||
1638 | <context context-type="linenumber">200</context> | ||
1639 | </context-group> | ||
1640 | </trans-unit> | ||
1641 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | ||
1642 | <source>Advanced settings</source> | ||
1643 | <target>Ajustes avanzados</target> | ||
1644 | <context-group name="null"> | ||
1645 | <context context-type="linenumber">182</context> | ||
1646 | </context-group> | ||
1647 | </trans-unit> | ||
1648 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | ||
1649 | <source> | ||
1650 | Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1651 | </source> | ||
1652 | <target> | ||
1653 | Actualizar <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1654 | </target> | ||
1655 | <context-group name="null"> | ||
1656 | <context context-type="linenumber">2</context> | ||
1657 | </context-group> | ||
1658 | </trans-unit> | ||
1659 | <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb"> | ||
1660 | <source>Update</source> | ||
1661 | <target>Actualizar</target> | ||
1662 | <context-group name="null"> | ||
1663 | <context context-type="linenumber">101</context> | ||
1664 | </context-group> | ||
1665 | </trans-unit> | ||
1666 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | ||
1667 | <source>Download video</source> | ||
1668 | <target>Descargar vídeo</target> | ||
1669 | <context-group name="null"> | ||
1670 | <context context-type="linenumber">7</context> | ||
1671 | </context-group> | ||
1672 | </trans-unit> | ||
1673 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | ||
1674 | <source>Direct download</source> | ||
1675 | <target>Descarga directa</target> | ||
1676 | <context-group name="null"> | ||
1677 | <context context-type="linenumber">20</context> | ||
1678 | </context-group> | ||
1679 | </trans-unit> | ||
1680 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | ||
1681 | <source>Download</source> | ||
1682 | <target>Descargar</target> | ||
1683 | <context-group name="null"> | ||
1684 | <context context-type="linenumber">83</context> | ||
1685 | </context-group> | ||
1686 | </trans-unit> | ||
1687 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | ||
1688 | <source>Report video</source> | ||
1689 | <target>Reportar vídeo</target> | ||
1690 | <context-group name="null"> | ||
1691 | <context context-type="linenumber">7</context> | ||
1692 | </context-group> | ||
1693 | </trans-unit> | ||
1694 | <trans-unit id="bb44873ad8d4c5dbad0ac2a6a50e0ceee9119125"> | ||
1695 | <source>Reason...</source> | ||
1696 | <target>Motivo...</target> | ||
1697 | <context-group name="null"> | ||
1698 | <context context-type="linenumber">14</context> | ||
1699 | </context-group> | ||
1700 | </trans-unit> | ||
1701 | <trans-unit id="0e6b8229bd65f93bc8040d0fb598967f220740c7"> | ||
1702 | <source> | ||
1703 | Cancel | ||
1704 | </source> | ||
1705 | <target> | ||
1706 | Cancelar | ||
1707 | </target> | ||
1708 | <context-group name="null"> | ||
1709 | <context context-type="linenumber">22</context> | ||
1710 | </context-group> | ||
1711 | </trans-unit> | ||
1712 | <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd"> | ||
1713 | <source>Submit</source> | ||
1714 | <target>Enviar</target> | ||
1715 | <context-group name="null"> | ||
1716 | <context context-type="linenumber">27</context> | ||
1717 | </context-group> | ||
1718 | </trans-unit> | ||
1719 | <trans-unit id="0bd8b27f60a1f098a53e06328426d818e3508ff9"> | ||
1720 | <source>Share</source> | ||
1721 | <target>Compartir</target> | ||
1722 | <context-group name="null"> | ||
1723 | <context context-type="linenumber">72</context> | ||
1724 | </context-group> | ||
1725 | </trans-unit> | ||
1726 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | ||
1727 | <source>URL</source> | ||
1728 | <target>URL</target> | ||
1729 | <context-group name="null"> | ||
1730 | <context context-type="linenumber">12</context> | ||
1731 | </context-group> | ||
1732 | </trans-unit> | ||
1733 | <trans-unit id="d3b15c3bf4a7ea38d6002d2d2c4781642d30e79c"> | ||
1734 | <source>Embed</source> | ||
1735 | <target>Incrustar</target> | ||
1736 | <context-group name="null"> | ||
1737 | <context context-type="linenumber">24</context> | ||
1738 | </context-group> | ||
1739 | </trans-unit> | ||
1740 | <trans-unit id="239fe0316cfe91aa6e1e7bf1ef19e3b7772131f8"> | ||
1741 | <source> | ||
1742 | The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites). | ||
1743 | </source> | ||
1744 | <target> | ||
1745 | La url no está securizada (no es HTTPS), así que el vídeo incrustado no funcionará en sitios web HTTPS (los navegadores web bloquean peticiones HTTP no seguras en sitios web con HTTPS). | ||
1746 | </target> | ||
1747 | <context-group name="null"> | ||
1748 | <context context-type="linenumber">35</context> | ||
1749 | </context-group> | ||
1750 | </trans-unit> | ||
1751 | <trans-unit id="9ed65ae88f6c982bc44d6fed2796e55f47dbf304"> | ||
1752 | <source> | ||
1753 | The video is being transcoded, it may not work properly. | ||
1754 | </source> | ||
1755 | <target> | ||
1756 | El vídeo está siendo transcodificado, puede no funcionar correctamente. | ||
1757 | </target> | ||
1758 | <context-group name="null"> | ||
1759 | <context context-type="linenumber">11</context> | ||
1760 | </context-group> | ||
1761 | </trans-unit> | ||
1762 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | ||
1763 | <source> | ||
1764 | This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | ||
1765 | </source> | ||
1766 | <target> | ||
1767 | Este vídeo será publicado el <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | ||
1768 | </target> | ||
1769 | <context-group name="null"> | ||
1770 | <context context-type="linenumber">15</context> | ||
1771 | </context-group> | ||
1772 | </trans-unit> | ||
1773 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | ||
1774 | <source> | ||
1775 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views | ||
1776 | </source> | ||
1777 | <target> | ||
1778 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizaciones | ||
1779 | </target> | ||
1780 | <context-group name="null"> | ||
1781 | <context context-type="linenumber">26</context> | ||
1782 | </context-group> | ||
1783 | </trans-unit> | ||
1784 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | ||
1785 | <source>Go the channel page</source> | ||
1786 | <target>Ir a la página del canal</target> | ||
1787 | <context-group name="null"> | ||
1788 | <context context-type="linenumber">31</context> | ||
1789 | </context-group> | ||
1790 | </trans-unit> | ||
1791 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | ||
1792 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | ||
1793 | <target>Por <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | ||
1794 | <context-group name="null"> | ||
1795 | <context context-type="linenumber">41</context> | ||
1796 | </context-group> | ||
1797 | </trans-unit> | ||
1798 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | ||
1799 | <source>Go to the account page</source> | ||
1800 | <target>Ir a la página de la cuenta</target> | ||
1801 | <context-group name="null"> | ||
1802 | <context context-type="linenumber">40</context> | ||
1803 | </context-group> | ||
1804 | </trans-unit> | ||
1805 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1806 | <source>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>.</source> | ||
1807 | <target>Puedes suscribirte a esta cuenta a través de cualquier nodo compatible con Activity Pub del fediverso. Por ejemplo, con Mastodon o Pleroma puedes escribir en la caja de búsqueda <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> y suscribirte aquí. Estamos trabajando en la suscripción como usuario de PeerTube en <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1808 | <context-group name="null"> | ||
1809 | <context context-type="linenumber">45</context> | ||
1810 | </context-group> | ||
1811 | </trans-unit> | ||
1812 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | ||
1813 | <source>Like this video</source> | ||
1814 | <target>Me gusta este vídeo</target> | ||
1815 | <context-group name="null"> | ||
1816 | <context context-type="linenumber">55</context> | ||
1817 | </context-group> | ||
1818 | </trans-unit> | ||
1819 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | ||
1820 | <source>Dislike this video</source> | ||
1821 | <target>No me gusta este vídeo</target> | ||
1822 | <context-group name="null"> | ||
1823 | <context context-type="linenumber">62</context> | ||
1824 | </context-group> | ||
1825 | </trans-unit> | ||
1826 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | ||
1827 | <source>Download the video</source> | ||
1828 | <target>Descargar el vídeo</target> | ||
1829 | <context-group name="null"> | ||
1830 | <context context-type="linenumber">82</context> | ||
1831 | </context-group> | ||
1832 | </trans-unit> | ||
1833 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | ||
1834 | <source>Report</source> | ||
1835 | <target>Reportar</target> | ||
1836 | <context-group name="null"> | ||
1837 | <context context-type="linenumber">89</context> | ||
1838 | </context-group> | ||
1839 | </trans-unit> | ||
1840 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | ||
1841 | <source>Report this video</source> | ||
1842 | <target>Reportar este vídeo</target> | ||
1843 | <context-group name="null"> | ||
1844 | <context context-type="linenumber">88</context> | ||
1845 | </context-group> | ||
1846 | </trans-unit> | ||
1847 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | ||
1848 | <source>Blacklist</source> | ||
1849 | <target>Lista negra</target> | ||
1850 | <context-group name="null"> | ||
1851 | <context context-type="linenumber">95</context> | ||
1852 | </context-group> | ||
1853 | </trans-unit> | ||
1854 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | ||
1855 | <source>Blacklist this video</source> | ||
1856 | <target>Poner este vídeo en lista negra</target> | ||
1857 | <context-group name="null"> | ||
1858 | <context context-type="linenumber">94</context> | ||
1859 | </context-group> | ||
1860 | </trans-unit> | ||
1861 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | ||
1862 | <source>Update this video</source> | ||
1863 | <target>Actualizar este vídeo</target> | ||
1864 | <context-group name="null"> | ||
1865 | <context context-type="linenumber">100</context> | ||
1866 | </context-group> | ||
1867 | </trans-unit> | ||
1868 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | ||
1869 | <source>Delete this video</source> | ||
1870 | <target>Eliminar este vídeo</target> | ||
1871 | <context-group name="null"> | ||
1872 | <context context-type="linenumber">106</context> | ||
1873 | </context-group> | ||
1874 | </trans-unit> | ||
1875 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | ||
1876 | <source>Show more</source> | ||
1877 | <target>Mostrar más</target> | ||
1878 | <context-group name="null"> | ||
1879 | <context context-type="linenumber">126</context> | ||
1880 | </context-group> | ||
1881 | </trans-unit> | ||
1882 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | ||
1883 | <source>Show less</source> | ||
1884 | <target>Mostrar menos</target> | ||
1885 | <context-group name="null"> | ||
1886 | <context context-type="linenumber">132</context> | ||
1887 | </context-group> | ||
1888 | </trans-unit> | ||
1889 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | ||
1890 | <source> | ||
1891 | Other videos | ||
1892 | </source> | ||
1893 | <target> | ||
1894 | Otros vídeos | ||
1895 | </target> | ||
1896 | <context-group name="null"> | ||
1897 | <context context-type="linenumber">183</context> | ||
1898 | </context-group> | ||
1899 | </trans-unit> | ||
1900 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | ||
1901 | <source>Friendly Reminder:</source> | ||
1902 | <target>Recordatorio amistoso:</target> | ||
1903 | <context-group name="null"> | ||
1904 | <context context-type="linenumber">195</context> | ||
1905 | </context-group> | ||
1906 | </trans-unit> | ||
1907 | <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e"> | ||
1908 | <source>More information</source> | ||
1909 | <target>Más información</target> | ||
1910 | <context-group name="null"> | ||
1911 | <context context-type="linenumber">200</context> | ||
1912 | </context-group> | ||
1913 | </trans-unit> | ||
1914 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | ||
1915 | <source>Get more information</source> | ||
1916 | <target>Ver más información</target> | ||
1917 | <context-group name="null"> | ||
1918 | <context context-type="linenumber">200</context> | ||
1919 | </context-group> | ||
1920 | </trans-unit> | ||
1921 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | ||
1922 | <source> | ||
1923 | OK | ||
1924 | </source> | ||
1925 | <target> | ||
1926 | De acuerdo | ||
1927 | </target> | ||
1928 | <context-group name="null"> | ||
1929 | <context context-type="linenumber">203</context> | ||
1930 | </context-group> | ||
1931 | </trans-unit> | ||
1932 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | ||
1933 | <source> | ||
1934 | Comments | ||
1935 | </source> | ||
1936 | <target> | ||
1937 | Comentarios | ||
1938 | </target> | ||
1939 | <context-group name="null"> | ||
1940 | <context context-type="linenumber">3</context> | ||
1941 | </context-group> | ||
1942 | </trans-unit> | ||
1943 | <trans-unit id="da8a38f72f92714cf8680560c99982dc651480d5"> | ||
1944 | <source>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>.</source> | ||
1945 | <target>Puedes comentar bien a través de la página de tu nodo donde este vídeo está federado con tu cuenta de PeerTube, o bien a través de cualquier instancia del fediverso equipada con ActivityPub. Por ejemplo, con Mastodon o Pleroma puede escribir en la caja de búsqueda <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> y encontrar el vídeo. Estamos trabajando en la capacidad de comentar directamente en <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>.</target> | ||
1946 | <context-group name="null"> | ||
1947 | <context context-type="linenumber">8</context> | ||
1948 | </context-group> | ||
1949 | </trans-unit> | ||
1950 | <trans-unit id="17810e68b0ba21e62e61eecfaf0a93b2c91033b4"> | ||
1951 | <source>No comments.</source> | ||
1952 | <target>No hay comentarios</target> | ||
1953 | <context-group name="null"> | ||
1954 | <context context-type="linenumber">19</context> | ||
1955 | </context-group> | ||
1956 | </trans-unit> | ||
1957 | <trans-unit id="69c081796209e45e26af91152ec9bd0a65ec261e"> | ||
1958 | <source>View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies</source> | ||
1959 | <target>Ver las <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> respuestas</target> | ||
1960 | <context-group name="null"> | ||
1961 | <context context-type="linenumber">56</context> | ||
1962 | </context-group> | ||
1963 | </trans-unit> | ||
1964 | <trans-unit id="b7fccd922d6473725247ed85a9fdf96fe6794828"> | ||
1965 | <source> | ||
1966 | Comments are disabled. | ||
1967 | </source> | ||
1968 | <target> | ||
1969 | Los comentarios están inhabilitados. | ||
1970 | </target> | ||
1971 | <context-group name="null"> | ||
1972 | <context context-type="linenumber">65</context> | ||
1973 | </context-group> | ||
1974 | </trans-unit> | ||
1975 | <trans-unit id="db79255cb8757e9e945ba5f901a2b67e4189016e"> | ||
1976 | <source>Add comment...</source> | ||
1977 | <target>Añadir comentario...</target> | ||
1978 | <context-group name="null"> | ||
1979 | <context context-type="linenumber">6</context> | ||
1980 | </context-group> | ||
1981 | </trans-unit> | ||
1982 | <trans-unit id="26fa50ba8e69b53162b348d98e25f8b76c81343e"> | ||
1983 | <source> | ||
1984 | Post comment | ||
1985 | </source> | ||
1986 | <target> | ||
1987 | Publicar comentario | ||
1988 | </target> | ||
1989 | <context-group name="null"> | ||
1990 | <context context-type="linenumber">17</context> | ||
1991 | </context-group> | ||
1992 | </trans-unit> | ||
1993 | <trans-unit id="a607fab03e11b0e07c1640e11a1b02d7af06b285"> | ||
1994 | <source>Highlighted comment</source> | ||
1995 | <target>Comentario resaltado</target> | ||
1996 | <context-group name="null"> | ||
1997 | <context context-type="linenumber">5</context> | ||
1998 | </context-group> | ||
1999 | </trans-unit> | ||
2000 | <trans-unit id="cb23d4d98007aa4d7123837f4c17a671848377d6"> | ||
2001 | <source>Reply</source> | ||
2002 | <target>Responder</target> | ||
2003 | <context-group name="null"> | ||
2004 | <context context-type="linenumber">14</context> | ||
2005 | </context-group> | ||
2006 | </trans-unit> | ||
2007 | <trans-unit id="814d28bf9dcbd3122254e664b446ac8e0442bc08"> | ||
2008 | <source>Error getting about from server</source> | ||
2009 | <target>Error al obtener información del servidor</target> | ||
2010 | <context-group name="null"> | ||
2011 | <context context-type="linenumber">1</context> | ||
2012 | </context-group> | ||
2013 | </trans-unit> | ||
2014 | <trans-unit id="37b56526e384f843a15323dc730b484a97b4c968"> | ||
2015 | <source>No description</source> | ||
2016 | <target>No hay descripción</target> | ||
2017 | <context-group name="null"> | ||
2018 | <context context-type="linenumber">1</context> | ||
2019 | </context-group> | ||
2020 | </trans-unit> | ||
2021 | <trans-unit id="2f03e577e8f81a9f8be0095f93e1f9376c6eedc9"> | ||
2022 | <source>Published videos</source> | ||
2023 | <target>Vídeos publicados</target> | ||
2024 | <context-group name="null"> | ||
2025 | <context context-type="linenumber">1</context> | ||
2026 | </context-group> | ||
2027 | </trans-unit> | ||
2028 | <trans-unit id="369ef5e9c0dd1251abdbf699a5db408bca10777f"> | ||
2029 | <source>Published <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> videos</source> | ||
2030 | <target><x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> vídeos publicados</target> | ||
2031 | <context-group name="null"> | ||
2032 | <context context-type="linenumber">1</context> | ||
2033 | </context-group> | ||
2034 | </trans-unit> | ||
2035 | <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d"> | ||
2036 | <source>Error</source> | ||
2037 | <target>Error</target> | ||
2038 | <context-group name="null"> | ||
2039 | <context context-type="linenumber">1</context> | ||
2040 | </context-group> | ||
2041 | </trans-unit> | ||
2042 | <trans-unit id="27a71a0aee65258179e90ecf0841c0a68f95beed"> | ||
2043 | <source>You set custom <x id="INTERPOLATION" equiv-text="{{customizationsText}}"/>. </source> | ||
2044 | <target>Ajustaste de forma personalizada <x id="INTERPOLATION" equiv-text="{{customizationsText}}"/>. </target> | ||
2045 | <context-group name="null"> | ||
2046 | <context context-type="linenumber">1</context> | ||
2047 | </context-group> | ||
2048 | </trans-unit> | ||
2049 | <trans-unit id="865bc18d22e223101ede0916967ead0abd515d0e"> | ||
2050 | <source>This could lead to security issues or bugs if you do not understand it. </source> | ||
2051 | <target>Esto podría provocar problemas de seguridad o bugs si no lo entiendes. </target> | ||
2052 | <context-group name="null"> | ||
2053 | <context context-type="linenumber">1</context> | ||
2054 | </context-group> | ||
2055 | </trans-unit> | ||
2056 | <trans-unit id="262e18b2efb5912651684a522fc08d77c99972d0"> | ||
2057 | <source>Are you sure you want to update the configuration?</source> | ||
2058 | <target>¿Estás seguro de que quieres actualizar la configuración?</target> | ||
2059 | <context-group name="null"> | ||
2060 | <context context-type="linenumber">1</context> | ||
2061 | </context-group> | ||
2062 | </trans-unit> | ||
2063 | <trans-unit id="1ae0ab69f5c19d179282c8d882fd2f3c00e29119"> | ||
2064 | <source>Please type</source> | ||
2065 | <target>Por favor escribe</target> | ||
2066 | <context-group name="null"> | ||
2067 | <context context-type="linenumber">1</context> | ||
2068 | </context-group> | ||
2069 | </trans-unit> | ||
2070 | <trans-unit id="75f4bb68ee4c6b282abfd9d8d32be22c6202794d"> | ||
2071 | <source>to confirm.</source> | ||
2072 | <target>para confirmar.</target> | ||
2073 | <context-group name="null"> | ||
2074 | <context context-type="linenumber">1</context> | ||
2075 | </context-group> | ||
2076 | </trans-unit> | ||
2077 | <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba"> | ||
2078 | <source>Success</source> | ||
2079 | <target>Correcto</target> | ||
2080 | <context-group name="null"> | ||
2081 | <context context-type="linenumber">1</context> | ||
2082 | </context-group> | ||
2083 | </trans-unit> | ||
2084 | <trans-unit id="b9e64712e3e5c342ce9cd32eec6cd7d6c00f4048"> | ||
2085 | <source>Configuration updated.</source> | ||
2086 | <target>Configuración actualizada</target> | ||
2087 | <context-group name="null"> | ||
2088 | <context context-type="linenumber">1</context> | ||
2089 | </context-group> | ||
2090 | </trans-unit> | ||
2091 | <trans-unit id="fc5731a28a99b25c62d43333ceebb250d60aff84"> | ||
2092 | <source><x id="INTERPOLATION" equiv-text="{{host}}"/> is not valid</source> | ||
2093 | <target><x id="INTERPOLATION" equiv-text="{{host}}"/> no es válido</target> | ||
2094 | <context-group name="null"> | ||
2095 | <context context-type="linenumber">1</context> | ||
2096 | </context-group> | ||
2097 | </trans-unit> | ||
2098 | <trans-unit id="e02f50674f1d96966384dc096beb42d4973997df"> | ||
2099 | <source>You need to specify hosts to follow.</source> | ||
2100 | <target>Tienes que especificar hosts a los que seguir.</target> | ||
2101 | <context-group name="null"> | ||
2102 | <context context-type="linenumber">1</context> | ||
2103 | </context-group> | ||
2104 | </trans-unit> | ||
2105 | <trans-unit id="c2a114eb000e7c38e8ad4b1768821bdf6e946d71"> | ||
2106 | <source>Hosts need to be unique.</source> | ||
2107 | <target>Los hosts tienen que ser únicos.</target> | ||
2108 | <context-group name="null"> | ||
2109 | <context context-type="linenumber">1</context> | ||
2110 | </context-group> | ||
2111 | </trans-unit> | ||
2112 | <trans-unit id="a6718d6aaf5bcd1692eed48daa61d2bed62c1f50"> | ||
2113 | <source>If you confirm, you will send a follow request to:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - </source> | ||
2114 | <target>Si confirmas, enviaras una petición de seguimiento a:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - </target> | ||
2115 | <context-group name="null"> | ||
2116 | <context context-type="linenumber">1</context> | ||
2117 | </context-group> | ||
2118 | </trans-unit> | ||
2119 | <trans-unit id="1266acb081ef0324c4a38ae2d514dd75d8b38409"> | ||
2120 | <source>Follow new server(s)</source> | ||
2121 | <target>Seguir nuevo(s) servidor(es)</target> | ||
2122 | <context-group name="null"> | ||
2123 | <context context-type="linenumber">1</context> | ||
2124 | </context-group> | ||
2125 | </trans-unit> | ||
2126 | <trans-unit id="950f5111d567e5c0e971f07c26e8c2be1d919a8e"> | ||
2127 | <source>Follow request(s) sent!</source> | ||
2128 | <target>¡Petición(es) de seguimiento enviada(s)!</target> | ||
2129 | <context-group name="null"> | ||
2130 | <context context-type="linenumber">1</context> | ||
2131 | </context-group> | ||
2132 | </trans-unit> | ||
2133 | <trans-unit id="5729c34a858c78daa1aa606f62a3665527cf97e6"> | ||
2134 | <source>Do you really want to unfollow <x id="INTERPOLATION" equiv-text="{{host}}"/>?</source> | ||
2135 | <target>¿De verdad quieres dejar de seguir a <x id="INTERPOLATION" equiv-text="{{host}}"/>?</target> | ||
2136 | <context-group name="null"> | ||
2137 | <context context-type="linenumber">1</context> | ||
2138 | </context-group> | ||
2139 | </trans-unit> | ||
2140 | <trans-unit id="a89875525c82ab81ffe32e481a5475b43d0c2902"> | ||
2141 | <source>Unfollow</source> | ||
2142 | <target>Dejar de seguir</target> | ||
2143 | <context-group name="null"> | ||
2144 | <context context-type="linenumber">1</context> | ||
2145 | </context-group> | ||
2146 | </trans-unit> | ||
2147 | <trans-unit id="fb4e35e2b0ea2abc1f71295a4b34830e57c07bd0"> | ||
2148 | <source>You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore.</source> | ||
2149 | <target>Ya no estás siguiendo a <x id="INTERPOLATION" equiv-text="{{host}}"/>.</target> | ||
2150 | <context-group name="null"> | ||
2151 | <context context-type="linenumber">1</context> | ||
2152 | </context-group> | ||
2153 | </trans-unit> | ||
2154 | <trans-unit id="f995df052a1dfc675c2a21926420a707d9601936"> | ||
2155 | <source>Following</source> | ||
2156 | <target>Siguiendo</target> | ||
2157 | <context-group name="null"> | ||
2158 | <context context-type="linenumber">1</context> | ||
2159 | </context-group> | ||
2160 | </trans-unit> | ||
2161 | <trans-unit id="d29764bcbaad3ef69b6be92be35bdf25972ce246"> | ||
2162 | <source>Follow</source> | ||
2163 | <target>Seguir</target> | ||
2164 | <context-group name="null"> | ||
2165 | <context context-type="linenumber">1</context> | ||
2166 | </context-group> | ||
2167 | </trans-unit> | ||
2168 | <trans-unit id="9bee670725966ed477b4c33a545c8b5436b0065e"> | ||
2169 | <source>Followers</source> | ||
2170 | <target>Seguidores</target> | ||
2171 | <context-group name="null"> | ||
2172 | <context context-type="linenumber">1</context> | ||
2173 | </context-group> | ||
2174 | </trans-unit> | ||
2175 | <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> | ||
2176 | <source>Unlimited</source> | ||
2177 | <target>Ilimitado</target> | ||
2178 | <context-group name="null"> | ||
2179 | <context context-type="linenumber">1</context> | ||
2180 | </context-group> | ||
2181 | </trans-unit> | ||
2182 | <trans-unit id="364463fab6c5714118d6449561a0f8de1cc10bfa"> | ||
2183 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> created.</source> | ||
2184 | <target>Usuario <x id="INTERPOLATION" equiv-text="{{username}}"/> creado.</target> | ||
2185 | <context-group name="null"> | ||
2186 | <context context-type="linenumber">1</context> | ||
2187 | </context-group> | ||
2188 | </trans-unit> | ||
2189 | <trans-unit id="964865a3cd90b4af99902f071644a4b2aede4c32"> | ||
2190 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> updated.</source> | ||
2191 | <target>Usuario <x id="INTERPOLATION" equiv-text="{{username}}"/> actualizado.</target> | ||
2192 | <context-group name="null"> | ||
2193 | <context context-type="linenumber">1</context> | ||
2194 | </context-group> | ||
2195 | </trans-unit> | ||
2196 | <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f"> | ||
2197 | <source>Update user</source> | ||
2198 | <target>Actualizar usuario</target> | ||
2199 | <context-group name="null"> | ||
2200 | <context context-type="linenumber">1</context> | ||
2201 | </context-group> | ||
2202 | </trans-unit> | ||
2203 | <trans-unit id="911fc197949e47aa5f0541627bc319f59edd9d11"> | ||
2204 | <source>You cannot delete root.</source> | ||
2205 | <target>No puedes eliminar al root.</target> | ||
2206 | <context-group name="null"> | ||
2207 | <context context-type="linenumber">1</context> | ||
2208 | </context-group> | ||
2209 | </trans-unit> | ||
2210 | <trans-unit id="9ef88654aab4b2df4fa2083f33caa0c5419c1a60"> | ||
2211 | <source>Do you really want to delete this user?</source> | ||
2212 | <target>¿De verdad quieres eliminar este usuario?</target> | ||
2213 | <context-group name="null"> | ||
2214 | <context context-type="linenumber">1</context> | ||
2215 | </context-group> | ||
2216 | </trans-unit> | ||
2217 | <trans-unit id="28220fae6799ab98ef6b41af449aa9680082357a"> | ||
2218 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted.</source> | ||
2219 | <target>Usuario <x id="INTERPOLATION" equiv-text="{{username}}"/> eliminado.</target> | ||
2220 | <context-group name="null"> | ||
2221 | <context context-type="linenumber">1</context> | ||
2222 | </context-group> | ||
2223 | </trans-unit> | ||
2224 | <trans-unit id="4733ad1d7e63960438c0203b9a64f165b5fc84f2"> | ||
2225 | <source>Do you really want to remove this video from the blacklist ? It will be available again in the videos list.</source> | ||
2226 | <target>¿De verdad quieres eliminar este vídeo de la lista negra? Estará de nuevo disponible en la lista de vídeos.</target> | ||
2227 | <context-group name="null"> | ||
2228 | <context context-type="linenumber">1</context> | ||
2229 | </context-group> | ||
2230 | </trans-unit> | ||
2231 | <trans-unit id="1585babc36806e20e225ac27dbba0e7c7cd09e0f"> | ||
2232 | <source>Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from the blacklist.</source> | ||
2233 | <target>Vídeo <x id="INTERPOLATION" equiv-text="{{name}}"/> eliminado de la lista negra.</target> | ||
2234 | <context-group name="null"> | ||
2235 | <context context-type="linenumber">1</context> | ||
2236 | </context-group> | ||
2237 | </trans-unit> | ||
2238 | <trans-unit id="2db8f1f93a5485c32267762a3bf4da499832e732"> | ||
2239 | <source>The new password and the confirmed password do not correspond.</source> | ||
2240 | <target>La nueva contraseña y la contraseña de confirmación no corresponden.</target> | ||
2241 | <context-group name="null"> | ||
2242 | <context context-type="linenumber">1</context> | ||
2243 | </context-group> | ||
2244 | </trans-unit> | ||
2245 | <trans-unit id="19508af0dfbc685cbf10cf02061bb5a0f423b6fc"> | ||
2246 | <source>Password updated.</source> | ||
2247 | <target>Contraseña actualizada.</target> | ||
2248 | <context-group name="null"> | ||
2249 | <context context-type="linenumber">1</context> | ||
2250 | </context-group> | ||
2251 | </trans-unit> | ||
2252 | <trans-unit id="db4ff52375f6a25ad0472e92754c8c265ae47c6b"> | ||
2253 | <source>Profile updated.</source> | ||
2254 | <target>Perfil actualizado.</target> | ||
2255 | <context-group name="null"> | ||
2256 | <context context-type="linenumber">1</context> | ||
2257 | </context-group> | ||
2258 | </trans-unit> | ||
2259 | <trans-unit id="1e003ad599ef836949b9f4dad3037a58ef3ff8d1"> | ||
2260 | <source>Avatar changed.</source> | ||
2261 | <target>Avatar cambiado.</target> | ||
2262 | <context-group name="null"> | ||
2263 | <context context-type="linenumber">1</context> | ||
2264 | </context-group> | ||
2265 | </trans-unit> | ||
2266 | <trans-unit id="214b802dfd6f544003147a7a68938ec1055c8f32"> | ||
2267 | <source>Information updated.</source> | ||
2268 | <target>Información actualizada.</target> | ||
2269 | <context-group name="null"> | ||
2270 | <context context-type="linenumber">1</context> | ||
2271 | </context-group> | ||
2272 | </trans-unit> | ||
2273 | <trans-unit id="3ef8bf973a9a481a08c6f0aaa875f0259b3ea645"> | ||
2274 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> created.</source> | ||
2275 | <target>Canal de vídeo <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> creado.</target> | ||
2276 | <context-group name="null"> | ||
2277 | <context context-type="linenumber">1</context> | ||
2278 | </context-group> | ||
2279 | </trans-unit> | ||
2280 | <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795"> | ||
2281 | <source>Create</source> | ||
2282 | <target>Crear</target> | ||
2283 | <context-group name="null"> | ||
2284 | <context context-type="linenumber">1</context> | ||
2285 | </context-group> | ||
2286 | </trans-unit> | ||
2287 | <trans-unit id="98ab64f0af924a60a48b40835c1b655bd17c6559"> | ||
2288 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated.</source> | ||
2289 | <target>Canal de vídeo <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> actualizado.</target> | ||
2290 | <context-group name="null"> | ||
2291 | <context context-type="linenumber">1</context> | ||
2292 | </context-group> | ||
2293 | </trans-unit> | ||
2294 | <trans-unit id="d5adc9efad0469fc3e1503d68c4ec2ff4453a814"> | ||
2295 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/>? It will delete all videos uploaded in this channel too.</source> | ||
2296 | <target>¿De verdad quieres eliminar <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/>? Esto eliminará también todos los vídeos subidos a este canal.</target> | ||
2297 | <context-group name="null"> | ||
2298 | <context context-type="linenumber">1</context> | ||
2299 | </context-group> | ||
2300 | </trans-unit> | ||
2301 | <trans-unit id="703dee7f3e693f9c77ef17c46f9fa71999609f8e"> | ||
2302 | <source>Please type the name of the video channel to confirm</source> | ||
2303 | <target>Por favor escribe el nombre del canal de vídeo para confirmar</target> | ||
2304 | <context-group name="null"> | ||
2305 | <context context-type="linenumber">1</context> | ||
2306 | </context-group> | ||
2307 | </trans-unit> | ||
2308 | <trans-unit id="a81a33275b683729ad938b6102e7e34a057537a2"> | ||
2309 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> deleted.</source> | ||
2310 | <target>Canal de vídeo <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> eliminado.</target> | ||
2311 | <context-group name="null"> | ||
2312 | <context context-type="linenumber">1</context> | ||
2313 | </context-group> | ||
2314 | </trans-unit> | ||
2315 | <trans-unit id="00e16d1f1c5cc936ec0881cd02cbf66aa1b4cddd"> | ||
2316 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos?</source> | ||
2317 | <target>¿De verdad quieres eliminar <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> vídeos?</target> | ||
2318 | <context-group name="null"> | ||
2319 | <context context-type="linenumber">1</context> | ||
2320 | </context-group> | ||
2321 | </trans-unit> | ||
2322 | <trans-unit id="dff7d4574cfaa785cbd4c0a5ffb5befec19a5d83"> | ||
2323 | <source><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted.</source> | ||
2324 | <target><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> vídeos eliminados.</target> | ||
2325 | <context-group name="null"> | ||
2326 | <context context-type="linenumber">1</context> | ||
2327 | </context-group> | ||
2328 | </trans-unit> | ||
2329 | <trans-unit id="4ec5852c869b2fb4ae0e564b51278d7be8013fc7"> | ||
2330 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>?</source> | ||
2331 | <target>¿De verdad quieres eliminar <x id="INTERPOLATION" equiv-text="{{videoName}}"/>?</target> | ||
2332 | <context-group name="null"> | ||
2333 | <context context-type="linenumber">1</context> | ||
2334 | </context-group> | ||
2335 | </trans-unit> | ||
2336 | <trans-unit id="d39a0bfa616a9a8473b2e379eefe17d8ed1af118"> | ||
2337 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted.</source> | ||
2338 | <target>Vídeo <x id="INTERPOLATION" equiv-text="{{videoName}}"/> eliminado.</target> | ||
2339 | <context-group name="null"> | ||
2340 | <context context-type="linenumber">1</context> | ||
2341 | </context-group> | ||
2342 | </trans-unit> | ||
2343 | <trans-unit id="dd9f3264feed4935008861c15d81c947124e4ac3"> | ||
2344 | <source>Published</source> | ||
2345 | <target>Publicado</target> | ||
2346 | <context-group name="null"> | ||
2347 | <context context-type="linenumber">1</context> | ||
2348 | </context-group> | ||
2349 | </trans-unit> | ||
2350 | <trans-unit id="8e6d54c4f760d9e90518eef5334211c48c0b71e2"> | ||
2351 | <source>Publication scheduled on </source> | ||
2352 | <target>Publicación programada para</target> | ||
2353 | <context-group name="null"> | ||
2354 | <context context-type="linenumber">1</context> | ||
2355 | </context-group> | ||
2356 | </trans-unit> | ||
2357 | <trans-unit id="4a7e91ebe1cf184db5f2bfecf9c16ff81c9e2c02"> | ||
2358 | <source>Waiting transcoding</source> | ||
2359 | <target>Esperando transcodificación</target> | ||
2360 | <context-group name="null"> | ||
2361 | <context context-type="linenumber">1</context> | ||
2362 | </context-group> | ||
2363 | </trans-unit> | ||
2364 | <trans-unit id="21f1c9d5c67346c830aced4f670045fcf0aeb83a"> | ||
2365 | <source>To transcode</source> | ||
2366 | <target>Para transcodificar</target> | ||
2367 | <context-group name="null"> | ||
2368 | <context context-type="linenumber">1</context> | ||
2369 | </context-group> | ||
2370 | </trans-unit> | ||
2371 | <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7"> | ||
2372 | <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. | ||
2373 | </source> | ||
2374 | <target>No se pueden recuperar las credenciales del Cliente OAuth: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. | ||
2375 | </target> | ||
2376 | <context-group name="null"> | ||
2377 | <context context-type="linenumber">1</context> | ||
2378 | </context-group> | ||
2379 | </trans-unit> | ||
2380 | <trans-unit id="8d9b4f4b69108c3c9aa0f3b0dbde87786ba9b319"> | ||
2381 | <source>Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section.</source> | ||
2382 | <target>Asegúrate de que has configurado correctamente PeerTube (carpeta config/), en particular la sección "servidor".</target> | ||
2383 | <context-group name="null"> | ||
2384 | <context context-type="linenumber">1</context> | ||
2385 | </context-group> | ||
2386 | </trans-unit> | ||
2387 | <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87"> | ||
2388 | <source>You need to reconnect.</source> | ||
2389 | <target>Tienes que reconectar.</target> | ||
2390 | <context-group name="null"> | ||
2391 | <context context-type="linenumber">1</context> | ||
2392 | </context-group> | ||
2393 | </trans-unit> | ||
2394 | <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da"> | ||
2395 | <source>Confirm</source> | ||
2396 | <target>Confirmar</target> | ||
2397 | <context-group name="null"> | ||
2398 | <context context-type="linenumber">1</context> | ||
2399 | </context-group> | ||
2400 | </trans-unit> | ||
2401 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | ||
2402 | <source>Unable to find user id or verification string.</source> | ||
2403 | <target>No se pudo encontrar el id de usuario o la cadena de verificación.</target> | ||
2404 | <context-group name="null"> | ||
2405 | <context context-type="linenumber">1</context> | ||
2406 | </context-group> | ||
2407 | </trans-unit> | ||
2408 | <trans-unit id="b0f24b7136e551a0deba831f1525711245b31a26"> | ||
2409 | <source>Your password has been successfully reset!</source> | ||
2410 | <target>¡Tu contraseña ha sido restablecida con éxito!</target> | ||
2411 | <context-group name="null"> | ||
2412 | <context context-type="linenumber">1</context> | ||
2413 | </context-group> | ||
2414 | </trans-unit> | ||
2415 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2416 | <source>Today</source> | ||
2417 | <target>Hoy</target> | ||
2418 | <context-group name="null"> | ||
2419 | <context context-type="linenumber">1</context> | ||
2420 | </context-group> | ||
2421 | </trans-unit> | ||
2422 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2423 | <source>Search</source> | ||
2424 | <target>Buscar</target> | ||
2425 | <context-group name="null"> | ||
2426 | <context context-type="linenumber">1</context> | ||
2427 | </context-group> | ||
2428 | </trans-unit> | ||
2429 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | ||
2430 | <source>Instance name is required.</source> | ||
2431 | <target>Se requiere un nombre de nodo</target> | ||
2432 | <context-group name="null"> | ||
2433 | <context context-type="linenumber">1</context> | ||
2434 | </context-group> | ||
2435 | </trans-unit> | ||
2436 | <trans-unit id="10a248adb1ee12830355a04ac3cde2bad2d41d7d"> | ||
2437 | <source>Short description should not be longer than 250 characters.</source> | ||
2438 | <target>La descripción breve no debería ocupar más de 250 caracteres.</target> | ||
2439 | <context-group name="null"> | ||
2440 | <context context-type="linenumber">1</context> | ||
2441 | </context-group> | ||
2442 | </trans-unit> | ||
2443 | <trans-unit id="356e63270712273da168072ec0fc78a969919bf1"> | ||
2444 | <source>Twitter username is required.</source> | ||
2445 | <target>Se requiere el nombre de usuario de Twitter</target> | ||
2446 | <context-group name="null"> | ||
2447 | <context context-type="linenumber">1</context> | ||
2448 | </context-group> | ||
2449 | </trans-unit> | ||
2450 | <trans-unit id="dbb2ef02020afc05e146855f2e1dd7c9522d49b6"> | ||
2451 | <source>Previews cache size is required.</source> | ||
2452 | <target>Se requiere un tamaño de caché de previsualizaciones</target> | ||
2453 | <context-group name="null"> | ||
2454 | <context context-type="linenumber">1</context> | ||
2455 | </context-group> | ||
2456 | </trans-unit> | ||
2457 | <trans-unit id="97836c6e698185b4ce357de9d4b2ab3e838f2459"> | ||
2458 | <source>Previews cache size must be greater than 1.</source> | ||
2459 | <target>El tamaño de caché de previsualizaciones ha de ser mayor que 1.</target> | ||
2460 | <context-group name="null"> | ||
2461 | <context context-type="linenumber">1</context> | ||
2462 | </context-group> | ||
2463 | </trans-unit> | ||
2464 | <trans-unit id="e7393dc4a4aa12d005582eb9e1ddc7e5ca5bebd3"> | ||
2465 | <source>Previews cache size must be a number.</source> | ||
2466 | <target>El tamaño de caché de previsualizaciones ha de ser un número.</target> | ||
2467 | <context-group name="null"> | ||
2468 | <context context-type="linenumber">1</context> | ||
2469 | </context-group> | ||
2470 | </trans-unit> | ||
2471 | <trans-unit id="2cdd5a8c604ef16c2f9a17ed81d73f4f9509e828"> | ||
2472 | <source>Signup limit is required.</source> | ||
2473 | <target>Se requiere un límite de registro.</target> | ||
2474 | <context-group name="null"> | ||
2475 | <context context-type="linenumber">1</context> | ||
2476 | </context-group> | ||
2477 | </trans-unit> | ||
2478 | <trans-unit id="0ca9f7ec55c9896add6e82d2b52e9217e1140cf7"> | ||
2479 | <source>Signup limit must be greater than 1.</source> | ||
2480 | <target>El límite de registro debe ser mayor que 1.</target> | ||
2481 | <context-group name="null"> | ||
2482 | <context context-type="linenumber">1</context> | ||
2483 | </context-group> | ||
2484 | </trans-unit> | ||
2485 | <trans-unit id="58c2f66ba74f1400914031ef4ed635938e9e8ced"> | ||
2486 | <source>Signup limit must be a number.</source> | ||
2487 | <target>El límite de registro debe ser un número.</target> | ||
2488 | <context-group name="null"> | ||
2489 | <context context-type="linenumber">1</context> | ||
2490 | </context-group> | ||
2491 | </trans-unit> | ||
2492 | <trans-unit id="1245841647f9b42d3e7554903c1c50bdd80ab021"> | ||
2493 | <source>Admin email is required.</source> | ||
2494 | <target>Se requiere un correo de administrador.</target> | ||
2495 | <context-group name="null"> | ||
2496 | <context context-type="linenumber">1</context> | ||
2497 | </context-group> | ||
2498 | </trans-unit> | ||
2499 | <trans-unit id="3fd2feb77dfe57fe82573e3cdf996105e2fafc66"> | ||
2500 | <source>Admin email must be valid.</source> | ||
2501 | <target>El correo de adminstrador ha de ser válido.</target> | ||
2502 | <context-group name="null"> | ||
2503 | <context context-type="linenumber">1</context> | ||
2504 | </context-group> | ||
2505 | </trans-unit> | ||
2506 | <trans-unit id="f15f2e02b1f6a96553e98ea4a969045d17ec1400"> | ||
2507 | <source>Transcoding threads is required.</source> | ||
2508 | <target>Se requieren hilos de transcodificación.</target> | ||
2509 | <context-group name="null"> | ||
2510 | <context context-type="linenumber">1</context> | ||
2511 | </context-group> | ||
2512 | </trans-unit> | ||
2513 | <trans-unit id="ba88636d27c1a6a7e1f75ff57ec182b30b851c2e"> | ||
2514 | <source>Transcoding threads must be greater than 1.</source> | ||
2515 | <target>Los hilos de transcodificación deben ser mayores que 1.</target> | ||
2516 | <context-group name="null"> | ||
2517 | <context context-type="linenumber">1</context> | ||
2518 | </context-group> | ||
2519 | </trans-unit> | ||
2520 | <trans-unit id="5db300f6fba918a35597160183205ede13e8e149"> | ||
2521 | <source>Username is required.</source> | ||
2522 | <target>Se requiere un nombre de usuario.</target> | ||
2523 | <context-group name="null"> | ||
2524 | <context context-type="linenumber">1</context> | ||
2525 | </context-group> | ||
2526 | </trans-unit> | ||
2527 | <trans-unit id="4eb39d69b74d7a56652ec84fa6826994ee26c0e5"> | ||
2528 | <source>Password is required.</source> | ||
2529 | <target>Se requiere una contraseña.</target> | ||
2530 | <context-group name="null"> | ||
2531 | <context context-type="linenumber">1</context> | ||
2532 | </context-group> | ||
2533 | </trans-unit> | ||
2534 | <trans-unit id="c90872a06666a51c2957c4b29724e68df5c67154"> | ||
2535 | <source>Confirmation of the password is required.</source> | ||
2536 | <target>Se requiere la confirmación de la contraseña.</target> | ||
2537 | <context-group name="null"> | ||
2538 | <context context-type="linenumber">1</context> | ||
2539 | </context-group> | ||
2540 | </trans-unit> | ||
2541 | <trans-unit id="05ad6b99d9bf7b51968aa0b0b939e8627a329bea"> | ||
2542 | <source>Username must be at least 3 characters long.</source> | ||
2543 | <target>El nombre de usuario ha de ocupar más de 3 caracteres.</target> | ||
2544 | <context-group name="null"> | ||
2545 | <context context-type="linenumber">1</context> | ||
2546 | </context-group> | ||
2547 | </trans-unit> | ||
2548 | <trans-unit id="d4b11fd0ddeea39b33f911d3aac1e82799cdaaef"> | ||
2549 | <source>Username cannot be more than 20 characters long.</source> | ||
2550 | <target>El nombre de usuario no puede ocupar más de 20 caracteres.</target> | ||
2551 | <context-group name="null"> | ||
2552 | <context context-type="linenumber">1</context> | ||
2553 | </context-group> | ||
2554 | </trans-unit> | ||
2555 | <trans-unit id="5acbe0aa7a7157b1f09057a98ba01ab578a303a9"> | ||
2556 | <source>Username should be only lowercase alphanumeric characters.</source> | ||
2557 | <target>El nombre de usuario debe utilizar únicamente caracteres alfanuméricos en minúscula.</target> | ||
2558 | <context-group name="null"> | ||
2559 | <context context-type="linenumber">1</context> | ||
2560 | </context-group> | ||
2561 | </trans-unit> | ||
2562 | <trans-unit id="b6f52e19f074f77866fa03fabe1ddd5cdae346f0"> | ||
2563 | <source>Email is required.</source> | ||
2564 | <target>Se requiere un correo electrónico.</target> | ||
2565 | <context-group name="null"> | ||
2566 | <context context-type="linenumber">1</context> | ||
2567 | </context-group> | ||
2568 | </trans-unit> | ||
2569 | <trans-unit id="bef8a36c3dffff15fb5faf3d20bdbbbc1af824c1"> | ||
2570 | <source>Email must be valid.</source> | ||
2571 | <target>El correo electrónico ha de ser válido.</target> | ||
2572 | <context-group name="null"> | ||
2573 | <context context-type="linenumber">1</context> | ||
2574 | </context-group> | ||
2575 | </trans-unit> | ||
2576 | <trans-unit id="1fe26e49476ac701885abc59127e96a3760847f0"> | ||
2577 | <source>Password must be at least 6 characters long.</source> | ||
2578 | <target>La contraseña ha de ocupar al menos 6 caracteres.</target> | ||
2579 | <context-group name="null"> | ||
2580 | <context context-type="linenumber">1</context> | ||
2581 | </context-group> | ||
2582 | </trans-unit> | ||
2583 | <trans-unit id="0a154031f3e66985af96d5f903441cf84f0dc75e"> | ||
2584 | <source>Password cannot be more than 255 characters long.</source> | ||
2585 | <target>La contraseña no puede ocupar más de 255 caracteres.</target> | ||
2586 | <context-group name="null"> | ||
2587 | <context context-type="linenumber">1</context> | ||
2588 | </context-group> | ||
2589 | </trans-unit> | ||
2590 | <trans-unit id="abede840116d58f04a55d99a6cbd68da8a3e1bbf"> | ||
2591 | <source>Video quota is required.</source> | ||
2592 | <target>Se requiere una cuota de vídeo.</target> | ||
2593 | <context-group name="null"> | ||
2594 | <context context-type="linenumber">1</context> | ||
2595 | </context-group> | ||
2596 | </trans-unit> | ||
2597 | <trans-unit id="93a6dc1d3aa0d3201c86ef1ec8adf5cf0ada3c80"> | ||
2598 | <source>Quota must be greater than -1.</source> | ||
2599 | <target>La cuota debe ser mayor que -1.</target> | ||
2600 | <context-group name="null"> | ||
2601 | <context context-type="linenumber">1</context> | ||
2602 | </context-group> | ||
2603 | </trans-unit> | ||
2604 | <trans-unit id="545e77fd5d9526228a2133109447c23225ed9c85"> | ||
2605 | <source>User role is required.</source> | ||
2606 | <target>Se requiere un rol de usuario.</target> | ||
2607 | <context-group name="null"> | ||
2608 | <context context-type="linenumber">1</context> | ||
2609 | </context-group> | ||
2610 | </trans-unit> | ||
2611 | <trans-unit id="1c417b7aef730d6ef5d62fa8a0a7e25e3a2393e4"> | ||
2612 | <source>Display name is required.</source> | ||
2613 | <target>Se requiere un nombre para mostrar.</target> | ||
2614 | <context-group name="null"> | ||
2615 | <context context-type="linenumber">1</context> | ||
2616 | </context-group> | ||
2617 | </trans-unit> | ||
2618 | <trans-unit id="bdeb1a8e69e137572df795d64120ea85069b7674"> | ||
2619 | <source>Display name must be at least 3 characters long.</source> | ||
2620 | <target>El nombre para mostrar debe ocupar como mínimo 3 caracteres.</target> | ||
2621 | <context-group name="null"> | ||
2622 | <context context-type="linenumber">1</context> | ||
2623 | </context-group> | ||
2624 | </trans-unit> | ||
2625 | <trans-unit id="e81bda510399d52f26a44a15c3dbf4d6205d90a9"> | ||
2626 | <source>Display name cannot be more than 120 characters long.</source> | ||
2627 | <target>El nombre a mostrar no puede ocupar más de 120 caracteres.</target> | ||
2628 | <context-group name="null"> | ||
2629 | <context context-type="linenumber">1</context> | ||
2630 | </context-group> | ||
2631 | </trans-unit> | ||
2632 | <trans-unit id="d531c2261dc0c2739bd7cbb2bb175946b7eeb3ae"> | ||
2633 | <source>Description must be at least 3 characters long.</source> | ||
2634 | <target>La descripción debe ocupar como mínimo 3 caracteres.</target> | ||
2635 | <context-group name="null"> | ||
2636 | <context context-type="linenumber">1</context> | ||
2637 | </context-group> | ||
2638 | </trans-unit> | ||
2639 | <trans-unit id="916a6e4fd83ece1dc54c6135eb3b8cd064b4bac3"> | ||
2640 | <source>Description cannot be more than 250 characters long.</source> | ||
2641 | <target>La descripción no puede ocupar más de 250 caracteres.</target> | ||
2642 | <context-group name="null"> | ||
2643 | <context context-type="linenumber">1</context> | ||
2644 | </context-group> | ||
2645 | </trans-unit> | ||
2646 | <trans-unit id="b3cf1889d2fdd6b15e697c270c9b80772fe2cae6"> | ||
2647 | <source>Report reason is required.</source> | ||
2648 | <target>Se requiere un motivo para reportar.</target> | ||
2649 | <context-group name="null"> | ||
2650 | <context context-type="linenumber">1</context> | ||
2651 | </context-group> | ||
2652 | </trans-unit> | ||
2653 | <trans-unit id="993f9f5703d449a1d467243db75253d288a2947e"> | ||
2654 | <source>Report reason must be at least 2 characters long.</source> | ||
2655 | <target>El motivo del reporte ha de ocupar como mínimo 2 caracteres.</target> | ||
2656 | <context-group name="null"> | ||
2657 | <context context-type="linenumber">1</context> | ||
2658 | </context-group> | ||
2659 | </trans-unit> | ||
2660 | <trans-unit id="7de2178ed1036844fb1c3ad8b7899a039fcdcdb9"> | ||
2661 | <source>Report reason cannot be more than 300 characters long.</source> | ||
2662 | <target>El motivo del reporte no puede ocupar más de 300 caracteres.</target> | ||
2663 | <context-group name="null"> | ||
2664 | <context context-type="linenumber">1</context> | ||
2665 | </context-group> | ||
2666 | </trans-unit> | ||
2667 | <trans-unit id="fac936be125163a8494f3d7e7f21d65c7e4f1ff6"> | ||
2668 | <source>Description cannot be more than 500 characters long.</source> | ||
2669 | <target>La descripción no puede ocupar más de 500 caracteres.</target> | ||
2670 | <context-group name="null"> | ||
2671 | <context context-type="linenumber">1</context> | ||
2672 | </context-group> | ||
2673 | </trans-unit> | ||
2674 | <trans-unit id="e7182e21e9566cc81c83f92727461322f71fd69b"> | ||
2675 | <source>Support text must be at least 3 characters long.</source> | ||
2676 | <target>El texto para el apoyo ha de ocupar como mínimo 3 caracteres.</target> | ||
2677 | <context-group name="null"> | ||
2678 | <context context-type="linenumber">1</context> | ||
2679 | </context-group> | ||
2680 | </trans-unit> | ||
2681 | <trans-unit id="3fe80c71378e127dda2dda9dbcd66b059d362813"> | ||
2682 | <source>Support text cannot be more than 500 characters long.</source> | ||
2683 | <target>El texto para el apoyo no puede ocupar más de 500 caracteres.</target> | ||
2684 | <context-group name="null"> | ||
2685 | <context context-type="linenumber">1</context> | ||
2686 | </context-group> | ||
2687 | </trans-unit> | ||
2688 | <trans-unit id="6ca60e0f6dfbc0073b0514bce7d273150b0b9e79"> | ||
2689 | <source>Comment is required.</source> | ||
2690 | <target>Se requiere comentario.</target> | ||
2691 | <context-group name="null"> | ||
2692 | <context context-type="linenumber">1</context> | ||
2693 | </context-group> | ||
2694 | </trans-unit> | ||
2695 | <trans-unit id="f5a94cae76685e72f33541b977efdd7845cb0ed6"> | ||
2696 | <source>Comment must be at least 2 characters long.</source> | ||
2697 | <target>El comentario ha de ocupar como mínimo 2 caracteres.</target> | ||
2698 | <context-group name="null"> | ||
2699 | <context context-type="linenumber">1</context> | ||
2700 | </context-group> | ||
2701 | </trans-unit> | ||
2702 | <trans-unit id="7c194080446ee6901fd17a8b8648534ffe98b123"> | ||
2703 | <source>Comment cannot be more than 3000 characters long.</source> | ||
2704 | <target>El comentario no puede ocupar más de 3000 caracteres.</target> | ||
2705 | <context-group name="null"> | ||
2706 | <context context-type="linenumber">1</context> | ||
2707 | </context-group> | ||
2708 | </trans-unit> | ||
2709 | <trans-unit id="cdc51eaeab88683610a28af8645cf91d136b39e1"> | ||
2710 | <source>Video name is required.</source> | ||
2711 | <target>Se requiere un nombre de vídeo.</target> | ||
2712 | <context-group name="null"> | ||
2713 | <context context-type="linenumber">1</context> | ||
2714 | </context-group> | ||
2715 | </trans-unit> | ||
2716 | <trans-unit id="c27cc734f76efd221663921dd0898ea7c8bcbb5c"> | ||
2717 | <source>Video name must be at least 3 characters long.</source> | ||
2718 | <target>El nombre del vídeo debe ocupar más de 3 caracteres.</target> | ||
2719 | <context-group name="null"> | ||
2720 | <context context-type="linenumber">1</context> | ||
2721 | </context-group> | ||
2722 | </trans-unit> | ||
2723 | <trans-unit id="0320d0f7f8eec2341e27ca53d7875217a3d99695"> | ||
2724 | <source>Video name cannot be more than 120 characters long.</source> | ||
2725 | <target>El nombre del vídeo no puede ocupar más de 120 caracteres.</target> | ||
2726 | <context-group name="null"> | ||
2727 | <context context-type="linenumber">1</context> | ||
2728 | </context-group> | ||
2729 | </trans-unit> | ||
2730 | <trans-unit id="a627c58cf1849d7d838696e7f36c1bae1a8b31a4"> | ||
2731 | <source>Video privacy is required.</source> | ||
2732 | <target>Se requiere la privacidad del vídeo.</target> | ||
2733 | <context-group name="null"> | ||
2734 | <context context-type="linenumber">1</context> | ||
2735 | </context-group> | ||
2736 | </trans-unit> | ||
2737 | <trans-unit id="97afb789c1ab09074495d49aaadb92a1c3e71a16"> | ||
2738 | <source>Video channel is required.</source> | ||
2739 | <target>Se requiere el canal de vídeo.</target> | ||
2740 | <context-group name="null"> | ||
2741 | <context context-type="linenumber">1</context> | ||
2742 | </context-group> | ||
2743 | </trans-unit> | ||
2744 | <trans-unit id="af5e2d5f3ac817c735fb7ff9ca16322789f66fef"> | ||
2745 | <source>Video description must be at least 3 characters long.</source> | ||
2746 | <target>La descripción del vídeo ha de ocupar como mínimo 3 caracteres.</target> | ||
2747 | <context-group name="null"> | ||
2748 | <context context-type="linenumber">1</context> | ||
2749 | </context-group> | ||
2750 | </trans-unit> | ||
2751 | <trans-unit id="ce28a9403c2d7e5da2e59af27118f8b6d109e906"> | ||
2752 | <source>Video description cannot be more than 10000 characters long.</source> | ||
2753 | <target>La descripción del vídeo no puede ocupar más de 10000 caracteres.</target> | ||
2754 | <context-group name="null"> | ||
2755 | <context context-type="linenumber">1</context> | ||
2756 | </context-group> | ||
2757 | </trans-unit> | ||
2758 | <trans-unit id="f1cffdc2e156716cd9880201d65ba457d11464f8"> | ||
2759 | <source>A tag should be more than 2 characters long.</source> | ||
2760 | <target>Una etiqueta ha de tener más de 2 caracteres.</target> | ||
2761 | <context-group name="null"> | ||
2762 | <context context-type="linenumber">1</context> | ||
2763 | </context-group> | ||
2764 | </trans-unit> | ||
2765 | <trans-unit id="34a0811f9a2a7366cc9efcdad52ea59b105326ea"> | ||
2766 | <source>A tag should be less than 30 characters long.</source> | ||
2767 | <target>Una etiqueta ha de ocupar menos de 30 caracteres. </target> | ||
2768 | <context-group name="null"> | ||
2769 | <context context-type="linenumber">1</context> | ||
2770 | </context-group> | ||
2771 | </trans-unit> | ||
2772 | <trans-unit id="665092574f9af9fec262f8349b67b14192391ae6"> | ||
2773 | <source>Video support must be at least 3 characters long.</source> | ||
2774 | <target>El apoyo para el vídeo ha de ocupar como mínimo 3 caracteres.</target> | ||
2775 | <context-group name="null"> | ||
2776 | <context context-type="linenumber">1</context> | ||
2777 | </context-group> | ||
2778 | </trans-unit> | ||
2779 | <trans-unit id="e61f1c05121fa5effa6ccddf5be6dcf1c822ff4b"> | ||
2780 | <source>Video support cannot be more than 500 characters long.</source> | ||
2781 | <target>El apoyo para el vídeo no puede ocupar más de 500 caracteres.</target> | ||
2782 | <context-group name="null"> | ||
2783 | <context context-type="linenumber">1</context> | ||
2784 | </context-group> | ||
2785 | </trans-unit> | ||
2786 | <trans-unit id="453413bf387dea681958871319bab489dd5e6ec0"> | ||
2787 | <source>A date is required to schedule video update.</source> | ||
2788 | <target>Se requiere una fecha para actualizar la programación del vídeo.</target> | ||
2789 | <context-group name="null"> | ||
2790 | <context context-type="linenumber">1</context> | ||
2791 | </context-group> | ||
2792 | </trans-unit> | ||
2793 | <trans-unit id="0bf41abaa85526711f7952b4600e4044bc7f04a4"> | ||
2794 | <source>All unsaved data will be lost, are you sure you want to leave this page?</source> | ||
2795 | <target>Todos los datos sin guardar se perderán, ¿seguro que quieres abandonar esta página?</target> | ||
2796 | <context-group name="null"> | ||
2797 | <context context-type="linenumber">1</context> | ||
2798 | </context-group> | ||
2799 | </trans-unit> | ||
2800 | <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01"> | ||
2801 | <source>Warning</source> | ||
2802 | <target>Aviso</target> | ||
2803 | <context-group name="null"> | ||
2804 | <context context-type="linenumber">1</context> | ||
2805 | </context-group> | ||
2806 | </trans-unit> | ||
2807 | <trans-unit id="8339364b054610983b7f2334bb807fff7613bddf"> | ||
2808 | <source>Sunday</source> | ||
2809 | <target>Domingo</target> | ||
2810 | <context-group name="null"> | ||
2811 | <context context-type="linenumber">1</context> | ||
2812 | </context-group> | ||
2813 | </trans-unit> | ||
2814 | <trans-unit id="a43c57a7cbebf57eb33a2eae5e994c91d9887596"> | ||
2815 | <source>Monday</source> | ||
2816 | <target>Lunes</target> | ||
2817 | <context-group name="null"> | ||
2818 | <context context-type="linenumber">1</context> | ||
2819 | </context-group> | ||
2820 | </trans-unit> | ||
2821 | <trans-unit id="48a2a35957ce394eb2c59ae35c99642360af70ee"> | ||
2822 | <source>Tuesday</source> | ||
2823 | <target>Martes</target> | ||
2824 | <context-group name="null"> | ||
2825 | <context context-type="linenumber">1</context> | ||
2826 | </context-group> | ||
2827 | </trans-unit> | ||
2828 | <trans-unit id="b0af441f9ba8b82952b9ec10fb8c62e8fec67df9"> | ||
2829 | <source>Wednesday</source> | ||
2830 | <target>Miércoles</target> | ||
2831 | <context-group name="null"> | ||
2832 | <context context-type="linenumber">1</context> | ||
2833 | </context-group> | ||
2834 | </trans-unit> | ||
2835 | <trans-unit id="55c583b99c809818ec27df065ccf05357a6ac10b"> | ||
2836 | <source>Thursday</source> | ||
2837 | <target>Jueves</target> | ||
2838 | <context-group name="null"> | ||
2839 | <context context-type="linenumber">1</context> | ||
2840 | </context-group> | ||
2841 | </trans-unit> | ||
2842 | <trans-unit id="e91b54925dc5f490753f60f53ef6f8b4609e6215"> | ||
2843 | <source>Friday</source> | ||
2844 | <target>Viernes</target> | ||
2845 | <context-group name="null"> | ||
2846 | <context context-type="linenumber">1</context> | ||
2847 | </context-group> | ||
2848 | </trans-unit> | ||
2849 | <trans-unit id="c0d2dd391a3eca8e841a5d0e035cd268280eb68e"> | ||
2850 | <source>Saturday</source> | ||
2851 | <target>Sábado</target> | ||
2852 | <context-group name="null"> | ||
2853 | <context context-type="linenumber">1</context> | ||
2854 | </context-group> | ||
2855 | </trans-unit> | ||
2856 | <trans-unit id="6549890cd0d6b59fb0e1aa383b00483a68a55eef"> | ||
2857 | <source>Sun</source> | ||
2858 | <target>Dom</target> | ||
2859 | <context-group name="null"> | ||
2860 | <context context-type="linenumber">1</context> | ||
2861 | </context-group> | ||
2862 | </trans-unit> | ||
2863 | <trans-unit id="3382aa5d7f520e197fb59a4995fe1beffca2d0ff"> | ||
2864 | <source>Mon</source> | ||
2865 | <target>Lun</target> | ||
2866 | <context-group name="null"> | ||
2867 | <context context-type="linenumber">1</context> | ||
2868 | </context-group> | ||
2869 | </trans-unit> | ||
2870 | <trans-unit id="f883ec926274974df0fc46c037cbffd6a863ebc9"> | ||
2871 | <source>Tue</source> | ||
2872 | <target>Mar</target> | ||
2873 | <context-group name="null"> | ||
2874 | <context context-type="linenumber">1</context> | ||
2875 | </context-group> | ||
2876 | </trans-unit> | ||
2877 | <trans-unit id="242b4f4b5651e24f9a9007ef153a57981e4b989d"> | ||
2878 | <source>Wed</source> | ||
2879 | <target>Mié</target> | ||
2880 | <context-group name="null"> | ||
2881 | <context context-type="linenumber">1</context> | ||
2882 | </context-group> | ||
2883 | </trans-unit> | ||
2884 | <trans-unit id="5a2c39d56b8f00a6a4670a63b53caacbda953be6"> | ||
2885 | <source>Thu</source> | ||
2886 | <target>Jue</target> | ||
2887 | <context-group name="null"> | ||
2888 | <context context-type="linenumber">1</context> | ||
2889 | </context-group> | ||
2890 | </trans-unit> | ||
2891 | <trans-unit id="4cdf23d523a0e52e0dec9cd650ffd9bd6952792c"> | ||
2892 | <source>Fri</source> | ||
2893 | <target>Vie</target> | ||
2894 | <context-group name="null"> | ||
2895 | <context context-type="linenumber">1</context> | ||
2896 | </context-group> | ||
2897 | </trans-unit> | ||
2898 | <trans-unit id="1283d165a942d7f4c469ba34f99dbb9e927d0261"> | ||
2899 | <source>Sat</source> | ||
2900 | <target>Sáb</target> | ||
2901 | <context-group name="null"> | ||
2902 | <context context-type="linenumber">1</context> | ||
2903 | </context-group> | ||
2904 | </trans-unit> | ||
2905 | <trans-unit id="2fba8448ff13105c57665a9a6ffcfe9615d855dd"> | ||
2906 | <source>Su</source> | ||
2907 | <target>Do</target> | ||
2908 | <context-group name="null"> | ||
2909 | <context context-type="linenumber">1</context> | ||
2910 | </context-group> | ||
2911 | </trans-unit> | ||
2912 | <trans-unit id="388144af7ac7651d2615b9be0e84f43ae71d9fb3"> | ||
2913 | <source>Mo</source> | ||
2914 | <target>Lu</target> | ||
2915 | <context-group name="null"> | ||
2916 | <context context-type="linenumber">1</context> | ||
2917 | </context-group> | ||
2918 | </trans-unit> | ||
2919 | <trans-unit id="d96313e42b5f0751ce2676a31d309b4d322ab462"> | ||
2920 | <source>Tu</source> | ||
2921 | <target>Ma</target> | ||
2922 | <context-group name="null"> | ||
2923 | <context context-type="linenumber">1</context> | ||
2924 | </context-group> | ||
2925 | </trans-unit> | ||
2926 | <trans-unit id="06cc3d39f78c0615b707cef39cd4875599611fef"> | ||
2927 | <source>We</source> | ||
2928 | <target>Mi</target> | ||
2929 | <context-group name="null"> | ||
2930 | <context context-type="linenumber">1</context> | ||
2931 | </context-group> | ||
2932 | </trans-unit> | ||
2933 | <trans-unit id="790894436cca9d675d59be9a8aafd58acccde2cd"> | ||
2934 | <source>Th</source> | ||
2935 | <target>Ju</target> | ||
2936 | <context-group name="null"> | ||
2937 | <context context-type="linenumber">1</context> | ||
2938 | </context-group> | ||
2939 | </trans-unit> | ||
2940 | <trans-unit id="42dfe37169f8471367c31489155229bbe1747ea5"> | ||
2941 | <source>Fr</source> | ||
2942 | <target>Vi</target> | ||
2943 | <context-group name="null"> | ||
2944 | <context context-type="linenumber">1</context> | ||
2945 | </context-group> | ||
2946 | </trans-unit> | ||
2947 | <trans-unit id="1b64ea3e04ceeb512e8974eb0019dee4f211c7a0"> | ||
2948 | <source>Sa</source> | ||
2949 | <target>Sa</target> | ||
2950 | <context-group name="null"> | ||
2951 | <context context-type="linenumber">1</context> | ||
2952 | </context-group> | ||
2953 | </trans-unit> | ||
2954 | <trans-unit id="e7815f1c4a6d3cc157a16407a48865023cc35ec0"> | ||
2955 | <source>January</source> | ||
2956 | <target>Enero</target> | ||
2957 | <context-group name="null"> | ||
2958 | <context context-type="linenumber">1</context> | ||
2959 | </context-group> | ||
2960 | </trans-unit> | ||
2961 | <trans-unit id="0393a96b58df82af39a2ec83deec624749e42036"> | ||
2962 | <source>February</source> | ||
2963 | <target>Febrero</target> | ||
2964 | <context-group name="null"> | ||
2965 | <context context-type="linenumber">1</context> | ||
2966 | </context-group> | ||
2967 | </trans-unit> | ||
2968 | <trans-unit id="ea41ee3743ec5bdbbf863ab793bbdd6e6d9af96e"> | ||
2969 | <source>March</source> | ||
2970 | <target>Marzo</target> | ||
2971 | <context-group name="null"> | ||
2972 | <context context-type="linenumber">1</context> | ||
2973 | </context-group> | ||
2974 | </trans-unit> | ||
2975 | <trans-unit id="b87ee784d9e93b5557aca9bdc9464dbd4328920a"> | ||
2976 | <source>April</source> | ||
2977 | <target>Abril</target> | ||
2978 | <context-group name="null"> | ||
2979 | <context context-type="linenumber">1</context> | ||
2980 | </context-group> | ||
2981 | </trans-unit> | ||
2982 | <trans-unit id="862da1034ac2707cc44123ed963b2f42109b6b3e"> | ||
2983 | <source>May</source> | ||
2984 | <target>Mayo</target> | ||
2985 | <context-group name="null"> | ||
2986 | <context context-type="linenumber">1</context> | ||
2987 | </context-group> | ||
2988 | </trans-unit> | ||
2989 | <trans-unit id="2f234249d4c3c39e27c0f05d4a6b73a7959caeb2"> | ||
2990 | <source>June</source> | ||
2991 | <target>Junio</target> | ||
2992 | <context-group name="null"> | ||
2993 | <context context-type="linenumber">1</context> | ||
2994 | </context-group> | ||
2995 | </trans-unit> | ||
2996 | <trans-unit id="11447f95e83c8de675ab6c492150f88e4d9bd15e"> | ||
2997 | <source>July</source> | ||
2998 | <target>Julio</target> | ||
2999 | <context-group name="null"> | ||
3000 | <context context-type="linenumber">1</context> | ||
3001 | </context-group> | ||
3002 | </trans-unit> | ||
3003 | <trans-unit id="ddd9a3d59a8db4e822e54e9473c05b571aca9829"> | ||
3004 | <source>August</source> | ||
3005 | <target>Agosto</target> | ||
3006 | <context-group name="null"> | ||
3007 | <context context-type="linenumber">1</context> | ||
3008 | </context-group> | ||
3009 | </trans-unit> | ||
3010 | <trans-unit id="e21dc41f9b3fdaf35ab6b2d9e2e5e8a926fb1938"> | ||
3011 | <source>September</source> | ||
3012 | <target>Septiembre</target> | ||
3013 | <context-group name="null"> | ||
3014 | <context context-type="linenumber">1</context> | ||
3015 | </context-group> | ||
3016 | </trans-unit> | ||
3017 | <trans-unit id="71f49c502d13e22079a958a5532afa28dbe98b3b"> | ||
3018 | <source>October</source> | ||
3019 | <target>Octubre</target> | ||
3020 | <context-group name="null"> | ||
3021 | <context context-type="linenumber">1</context> | ||
3022 | </context-group> | ||
3023 | </trans-unit> | ||
3024 | <trans-unit id="64b5ce921faa5e3d277d6d528ddcfc8c2bfe9f52"> | ||
3025 | <source>November</source> | ||
3026 | <target>Noviembre</target> | ||
3027 | <context-group name="null"> | ||
3028 | <context context-type="linenumber">1</context> | ||
3029 | </context-group> | ||
3030 | </trans-unit> | ||
3031 | <trans-unit id="2006e2aabb31714ebc684dc382539649f690ed5c"> | ||
3032 | <source>December</source> | ||
3033 | <target>Diciembre</target> | ||
3034 | <context-group name="null"> | ||
3035 | <context context-type="linenumber">1</context> | ||
3036 | </context-group> | ||
3037 | </trans-unit> | ||
3038 | <trans-unit id="8270e687cfb5624b3f6fbb7991a2e916c96464b7"> | ||
3039 | <source>Jan</source> | ||
3040 | <target>Ene</target> | ||
3041 | <context-group name="null"> | ||
3042 | <context context-type="linenumber">1</context> | ||
3043 | </context-group> | ||
3044 | </trans-unit> | ||
3045 | <trans-unit id="23544170afbb981dd52750b641576841cf5dcf60"> | ||
3046 | <source>Feb</source> | ||
3047 | <target>Feb</target> | ||
3048 | <context-group name="null"> | ||
3049 | <context context-type="linenumber">1</context> | ||
3050 | </context-group> | ||
3051 | </trans-unit> | ||
3052 | <trans-unit id="1f14355742459b7d6a0126a1564e1c18f39f86e7"> | ||
3053 | <source>Mar</source> | ||
3054 | <target>Mar</target> | ||
3055 | <context-group name="null"> | ||
3056 | <context context-type="linenumber">1</context> | ||
3057 | </context-group> | ||
3058 | </trans-unit> | ||
3059 | <trans-unit id="964a5f032bc846d32806a4838580a4f81cf14463"> | ||
3060 | <source>Apr</source> | ||
3061 | <target>Abr</target> | ||
3062 | <context-group name="null"> | ||
3063 | <context context-type="linenumber">1</context> | ||
3064 | </context-group> | ||
3065 | </trans-unit> | ||
3066 | <trans-unit id="8f7274f606f71d9290ed01c5683092d701632d7f"> | ||
3067 | <source>Jun</source> | ||
3068 | <target>Jun</target> | ||
3069 | <context-group name="null"> | ||
3070 | <context context-type="linenumber">1</context> | ||
3071 | </context-group> | ||
3072 | </trans-unit> | ||
3073 | <trans-unit id="7c3d8318d6d8d9920ae0a80350616732c33a3211"> | ||
3074 | <source>Jul</source> | ||
3075 | <target>Jul</target> | ||
3076 | <context-group name="null"> | ||
3077 | <context context-type="linenumber">1</context> | ||
3078 | </context-group> | ||
3079 | </trans-unit> | ||
3080 | <trans-unit id="be1335ffd1c606321e2c020b638dd3c84b434212"> | ||
3081 | <source>Aug</source> | ||
3082 | <target>Ago</target> | ||
3083 | <context-group name="null"> | ||
3084 | <context context-type="linenumber">1</context> | ||
3085 | </context-group> | ||
3086 | </trans-unit> | ||
3087 | <trans-unit id="4f739d03be1c936c58978739c317d91566348204"> | ||
3088 | <source>Sep</source> | ||
3089 | <target>Sep</target> | ||
3090 | <context-group name="null"> | ||
3091 | <context context-type="linenumber">1</context> | ||
3092 | </context-group> | ||
3093 | </trans-unit> | ||
3094 | <trans-unit id="6607cacb987a588530a13de7018d959240d19153"> | ||
3095 | <source>Oct</source> | ||
3096 | <target>Oct</target> | ||
3097 | <context-group name="null"> | ||
3098 | <context context-type="linenumber">1</context> | ||
3099 | </context-group> | ||
3100 | </trans-unit> | ||
3101 | <trans-unit id="e597400ded12a366855615e18fcc8f9ac05b72e0"> | ||
3102 | <source>Nov</source> | ||
3103 | <target>Nov</target> | ||
3104 | <context-group name="null"> | ||
3105 | <context context-type="linenumber">1</context> | ||
3106 | </context-group> | ||
3107 | </trans-unit> | ||
3108 | <trans-unit id="adf2dfa2a9cb490d6a4a74510b7b0846b62d429e"> | ||
3109 | <source>Dec</source> | ||
3110 | <target>Dec</target> | ||
3111 | <context-group name="null"> | ||
3112 | <context context-type="linenumber">1</context> | ||
3113 | </context-group> | ||
3114 | </trans-unit> | ||
3115 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | ||
3116 | <source>Clear</source> | ||
3117 | <target>Borrar</target> | ||
3118 | <context-group name="null"> | ||
3119 | <context context-type="linenumber">1</context> | ||
3120 | </context-group> | ||
3121 | </trans-unit> | ||
3122 | <trans-unit id="8fb519ba47ea7806beeacdcd44829d85a2aa0cc5"> | ||
3123 | <source>yy-mm-dd </source> | ||
3124 | <target>yy-mm-dd </target> | ||
3125 | <context-group name="null"> | ||
3126 | <context context-type="linenumber">1</context> | ||
3127 | </context-group> | ||
3128 | </trans-unit> | ||
3129 | <trans-unit id="0b2054a863319d2cf59867addd125b6717cae41d"> | ||
3130 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago</source> | ||
3131 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> años</target> | ||
3132 | <context-group name="null"> | ||
3133 | <context context-type="linenumber">1</context> | ||
3134 | </context-group> | ||
3135 | </trans-unit> | ||
3136 | <trans-unit id="e622d3813449fe36371ea258281059306819199d"> | ||
3137 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago</source> | ||
3138 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> meses</target> | ||
3139 | <context-group name="null"> | ||
3140 | <context context-type="linenumber">1</context> | ||
3141 | </context-group> | ||
3142 | </trans-unit> | ||
3143 | <trans-unit id="2f8a5a5f7efb521d7d89dc659ff65dd13cb7b17b"> | ||
3144 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago</source> | ||
3145 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> mes</target> | ||
3146 | <context-group name="null"> | ||
3147 | <context context-type="linenumber">1</context> | ||
3148 | </context-group> | ||
3149 | </trans-unit> | ||
3150 | <trans-unit id="1d1a46543a29096d3c6676be2d561380a0bc94e1"> | ||
3151 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago</source> | ||
3152 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> semanas</target> | ||
3153 | <context-group name="null"> | ||
3154 | <context context-type="linenumber">1</context> | ||
3155 | </context-group> | ||
3156 | </trans-unit> | ||
3157 | <trans-unit id="e1db0b98b6cdf817508195f3649c48475c32ae7e"> | ||
3158 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago</source> | ||
3159 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> semana</target> | ||
3160 | <context-group name="null"> | ||
3161 | <context context-type="linenumber">1</context> | ||
3162 | </context-group> | ||
3163 | </trans-unit> | ||
3164 | <trans-unit id="a7654c3ece96e777527606f1c2870d6ee0b180f7"> | ||
3165 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago</source> | ||
3166 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> días</target> | ||
3167 | <context-group name="null"> | ||
3168 | <context context-type="linenumber">1</context> | ||
3169 | </context-group> | ||
3170 | </trans-unit> | ||
3171 | <trans-unit id="5b465235ae55091d32535e23dd180c407f1352d1"> | ||
3172 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago</source> | ||
3173 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> día</target> | ||
3174 | <context-group name="null"> | ||
3175 | <context context-type="linenumber">1</context> | ||
3176 | </context-group> | ||
3177 | </trans-unit> | ||
3178 | <trans-unit id="dc7addf53bd6405a9c746db6dfca665c33679a84"> | ||
3179 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago</source> | ||
3180 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> horas</target> | ||
3181 | <context-group name="null"> | ||
3182 | <context context-type="linenumber">1</context> | ||
3183 | </context-group> | ||
3184 | </trans-unit> | ||
3185 | <trans-unit id="d54a610250ed38efccf0e3afdd0004f6ad83ea8d"> | ||
3186 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago</source> | ||
3187 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> hora</target> | ||
3188 | <context-group name="null"> | ||
3189 | <context context-type="linenumber">1</context> | ||
3190 | </context-group> | ||
3191 | </trans-unit> | ||
3192 | <trans-unit id="9704e5e3adce178c127ead05f7057d3fb827308a"> | ||
3193 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago</source> | ||
3194 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> min</target> | ||
3195 | <context-group name="null"> | ||
3196 | <context context-type="linenumber">1</context> | ||
3197 | </context-group> | ||
3198 | </trans-unit> | ||
3199 | <trans-unit id="7a158a7555a44ea7eff9fa4988df9aa24d262ceb"> | ||
3200 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago</source> | ||
3201 | <target>hace <x id="INTERPOLATION" equiv-text="{{interval}}"/> seg</target> | ||
3202 | <context-group name="null"> | ||
3203 | <context context-type="linenumber">1</context> | ||
3204 | </context-group> | ||
3205 | </trans-unit> | ||
3206 | <trans-unit id="457f161d3ca706b8de263b0cd58e493d54e7d4c5"> | ||
3207 | <source><x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> compatible that supports:</source> | ||
3208 | <target><x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> compatible que soporta:</target> | ||
3209 | <context-group name="null"> | ||
3210 | <context context-type="linenumber">1</context> | ||
3211 | </context-group> | ||
3212 | </trans-unit> | ||
3213 | <trans-unit id="ab4426b60f13c00b61d6b714d390dc629f314980"> | ||
3214 | <source>Emphasis</source> | ||
3215 | <target>Énfasis</target> | ||
3216 | <context-group name="null"> | ||
3217 | <context context-type="linenumber">1</context> | ||
3218 | </context-group> | ||
3219 | </trans-unit> | ||
3220 | <trans-unit id="dc60677d5a906e69f38a5cf9da7f2eb03931bea0"> | ||
3221 | <source>Links</source> | ||
3222 | <target>Enlaces</target> | ||
3223 | <context-group name="null"> | ||
3224 | <context context-type="linenumber">1</context> | ||
3225 | </context-group> | ||
3226 | </trans-unit> | ||
3227 | <trans-unit id="80220239e07f36ea8d5f10118dc52ce4b13bc15a"> | ||
3228 | <source>New lines</source> | ||
3229 | <target>Nuevas líneas</target> | ||
3230 | <context-group name="null"> | ||
3231 | <context context-type="linenumber">1</context> | ||
3232 | </context-group> | ||
3233 | </trans-unit> | ||
3234 | <trans-unit id="b15e7bec5c7833d2d9634946ccbed68967b1bee1"> | ||
3235 | <source>Lists</source> | ||
3236 | <target>Listas</target> | ||
3237 | <context-group name="null"> | ||
3238 | <context context-type="linenumber">1</context> | ||
3239 | </context-group> | ||
3240 | </trans-unit> | ||
3241 | <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866"> | ||
3242 | <source>Images</source> | ||
3243 | <target>Imágenes</target> | ||
3244 | <context-group name="null"> | ||
3245 | <context context-type="linenumber">1</context> | ||
3246 | </context-group> | ||
3247 | </trans-unit> | ||
3248 | <trans-unit id="0c0f5bbcd2386018ec057877f9d3c5c2c9880cac"> | ||
3249 | <source>Request is too large for the server. Please contact you administrator if you want to increase the limit size.</source> | ||
3250 | <target>La petición es demasiado grande para el servidor. Por favor contacta con tu administrador si quieres aumentar el límite de tamaño.</target> | ||
3251 | <context-group name="null"> | ||
3252 | <context context-type="linenumber">1</context> | ||
3253 | </context-group> | ||
3254 | </trans-unit> | ||
3255 | <trans-unit id="58546fd4d14b2d9635ce3d28c216ac68587bb25b"> | ||
3256 | <source>Too many attempts, please try again after <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutes.</source> | ||
3257 | <target>Demasiados intentos, por favor inténtalo de nuevo pasados <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutos.</target> | ||
3258 | <context-group name="null"> | ||
3259 | <context context-type="linenumber">1</context> | ||
3260 | </context-group> | ||
3261 | </trans-unit> | ||
3262 | <trans-unit id="ab783a52f2df9ff7a20139cab0da6d0764f3cc5d"> | ||
3263 | <source>Too many attempts, please try again later.</source> | ||
3264 | <target>Demasiados intentos, por favor inténtelo más tarde.</target> | ||
3265 | <context-group name="null"> | ||
3266 | <context context-type="linenumber">1</context> | ||
3267 | </context-group> | ||
3268 | </trans-unit> | ||
3269 | <trans-unit id="0f286a597f0053c3578a52e044769c204ee516fc"> | ||
3270 | <source>Server error. Please retry later.</source> | ||
3271 | <target>Error del servidor. Por favor, inténtalo más tarde.</target> | ||
3272 | <context-group name="null"> | ||
3273 | <context context-type="linenumber">1</context> | ||
3274 | </context-group> | ||
3275 | </trans-unit> | ||
3276 | <trans-unit id="20deec13d8d4ff199aa04318818ca44dab0585be"> | ||
3277 | <source>Registration for <x id="INTERPOLATION" equiv-text="{{username}}"/> complete.</source> | ||
3278 | <target>Registro de <x id="INTERPOLATION" equiv-text="{{username}}"/> completo.</target> | ||
3279 | <context-group name="null"> | ||
3280 | <context context-type="linenumber">1</context> | ||
3281 | </context-group> | ||
3282 | </trans-unit> | ||
3283 | <trans-unit id="7296e9f7cc4956b6d57c541728b0826e76d108ba"> | ||
3284 | <source>~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/></source> | ||
3285 | <target>~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/></target> | ||
3286 | <context-group name="null"> | ||
3287 | <context context-type="linenumber">1</context> | ||
3288 | </context-group> | ||
3289 | </trans-unit> | ||
3290 | <trans-unit id="cf9ddbb55b25178660e09346209aedc10108aa24"> | ||
3291 | <source>{VAR_PLURAL, plural, =1 {minute} other {minutes} }</source> | ||
3292 | <target>{VAR_PLURAL, plural, =1 {minute} other {minutes} }</target> | ||
3293 | <context-group name="null"> | ||
3294 | <context context-type="linenumber">1</context> | ||
3295 | </context-group> | ||
3296 | </trans-unit> | ||
3297 | <trans-unit id="10ffa5c3dbcee491d66f80d8d4dce3e119a6ec86"> | ||
3298 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos</source> | ||
3299 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> de vídeos full HD</target> | ||
3300 | <context-group name="null"> | ||
3301 | <context context-type="linenumber">1</context> | ||
3302 | </context-group> | ||
3303 | </trans-unit> | ||
3304 | <trans-unit id="344ddae9f45b344e98e7b28cd5e33243982700f8"> | ||
3305 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos</source> | ||
3306 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> de vídeos HD</target> | ||
3307 | <context-group name="null"> | ||
3308 | <context context-type="linenumber">1</context> | ||
3309 | </context-group> | ||
3310 | </trans-unit> | ||
3311 | <trans-unit id="435c012df6dd990a1ccb7ee73dd79c488bde28b5"> | ||
3312 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos</source> | ||
3313 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> de vídeos de calidad media</target> | ||
3314 | <context-group name="null"> | ||
3315 | <context context-type="linenumber">1</context> | ||
3316 | </context-group> | ||
3317 | </trans-unit> | ||
3318 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | ||
3319 | <source>Your video was uploaded in your account and is private.</source> | ||
3320 | <target>Tú vídeo ha sido subido a tu cuenta como privado.</target> | ||
3321 | <context-group name="null"> | ||
3322 | <context context-type="linenumber">1</context> | ||
3323 | </context-group> | ||
3324 | </trans-unit> | ||
3325 | <trans-unit id="24840228f2826b66252cfcaab9820b1c7e0da264"> | ||
3326 | <source>But associated data (tags, description...) will be lost, are you sure you want to leave this page?</source> | ||
3327 | <target>Pero los datos asociados (etiquetas, descripción...) se perderán, ¿seguro que quieres abandonar esta página?</target> | ||
3328 | <context-group name="null"> | ||
3329 | <context context-type="linenumber">1</context> | ||
3330 | </context-group> | ||
3331 | </trans-unit> | ||
3332 | <trans-unit id="5af84926d631326e548573ebf0f6dff07845aeb4"> | ||
3333 | <source>Your video is not uploaded yet, are you sure you want to leave this page?</source> | ||
3334 | <target>Tu vídeo aún no se ha subido, ¿seguro que quieres abandonar esta página?</target> | ||
3335 | <context-group name="null"> | ||
3336 | <context context-type="linenumber">1</context> | ||
3337 | </context-group> | ||
3338 | </trans-unit> | ||
3339 | <trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5"> | ||
3340 | <source>Info</source> | ||
3341 | <target>Info</target> | ||
3342 | <context-group name="null"> | ||
3343 | <context context-type="linenumber">1</context> | ||
3344 | </context-group> | ||
3345 | </trans-unit> | ||
3346 | <trans-unit id="c5cb19aeb6447deda40cc1227ceca1359ab955e9"> | ||
3347 | <source>Upload cancelled</source> | ||
3348 | <target>Subida cancelada</target> | ||
3349 | <context-group name="null"> | ||
3350 | <context context-type="linenumber">1</context> | ||
3351 | </context-group> | ||
3352 | </trans-unit> | ||
3353 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | ||
3354 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | ||
3355 | <target>Tu cuota de vídeo se supera con este vídeo (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, cuota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | ||
3356 | <context-group name="null"> | ||
3357 | <context context-type="linenumber">1</context> | ||
3358 | </context-group> | ||
3359 | </trans-unit> | ||
3360 | <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> | ||
3361 | <source>Video published.</source> | ||
3362 | <target>Vídeo publicado.</target> | ||
3363 | <context-group name="null"> | ||
3364 | <context context-type="linenumber">1</context> | ||
3365 | </context-group> | ||
3366 | </trans-unit> | ||
3367 | <trans-unit id="757e9c083c8f3d578bd74f055cc337c72417e187"> | ||
3368 | <source>Video updated.</source> | ||
3369 | <target>Vídeo actualizado.</target> | ||
3370 | <context-group name="null"> | ||
3371 | <context context-type="linenumber">1</context> | ||
3372 | </context-group> | ||
3373 | </trans-unit> | ||
3374 | <trans-unit id="aeb61b334cac080733c3e03766165a346bbf42fd"> | ||
3375 | <source> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> replies will be deleted too.</source> | ||
3376 | <target> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> respuestas serán eliminadas también.</target> | ||
3377 | <context-group name="null"> | ||
3378 | <context context-type="linenumber">1</context> | ||
3379 | </context-group> | ||
3380 | </trans-unit> | ||
3381 | <trans-unit id="fa2601e52cbf5725a13d33fe14458823b882ea50"> | ||
3382 | <source>Video reported.</source> | ||
3383 | <target>Vídeo reportado.</target> | ||
3384 | <context-group name="null"> | ||
3385 | <context context-type="linenumber">1</context> | ||
3386 | </context-group> | ||
3387 | </trans-unit> | ||
3388 | <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5"> | ||
3389 | <source>Copied</source> | ||
3390 | <target>Copiado</target> | ||
3391 | <context-group name="null"> | ||
3392 | <context context-type="linenumber">1</context> | ||
3393 | </context-group> | ||
3394 | </trans-unit> | ||
3395 | <trans-unit id="23b2c2f4dd69e29c3bff00469e259dcb01de5633"> | ||
3396 | <source>Do you really want to blacklist this video?</source> | ||
3397 | <target>¿De verdad quieres meter este vídeo en la lista negra?</target> | ||
3398 | <context-group name="null"> | ||
3399 | <context context-type="linenumber">1</context> | ||
3400 | </context-group> | ||
3401 | </trans-unit> | ||
3402 | <trans-unit id="cafd8ec6020e69f241a107b1cb7081bd9e773d4e"> | ||
3403 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> had been blacklisted.</source> | ||
3404 | <target>El vídeo <x id="INTERPOLATION" equiv-text="{{videoName}}"/> estaba en la lista negra.</target> | ||
3405 | <context-group name="null"> | ||
3406 | <context context-type="linenumber">1</context> | ||
3407 | </context-group> | ||
3408 | </trans-unit> | ||
3409 | <trans-unit id="f1abd89c9280323209e939fa9c30f6e5cda20c95"> | ||
3410 | <source>Do you really want to delete this video?</source> | ||
3411 | <target>¿De verdad quieres eliminar este vídeo?</target> | ||
3412 | <context-group name="null"> | ||
3413 | <context context-type="linenumber">1</context> | ||
3414 | </context-group> | ||
3415 | </trans-unit> | ||
3416 | <trans-unit id="d5a4811e15319ad9354e1b62e9ca0131192b489e"> | ||
3417 | <source><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes</source> | ||
3418 | <target><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> me gusta / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> no me gusta</target> | ||
3419 | <context-group name="null"> | ||
3420 | <context context-type="linenumber">1</context> | ||
3421 | </context-group> | ||
3422 | </trans-unit> | ||
3423 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | ||
3424 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | ||
3425 | <target>Este vídeo contiene material para adultos o explícito. ¿Seguro que lo quieres ver?</target> | ||
3426 | <context-group name="null"> | ||
3427 | <context context-type="linenumber">1</context> | ||
3428 | </context-group> | ||
3429 | </trans-unit> | ||
3430 | <trans-unit id="5ba3d522e4146eefcbd5c222247c1e2423d27cd8"> | ||
3431 | <source>Mature or explicit content</source> | ||
3432 | <target>Contenido para adultos o explícito</target> | ||
3433 | <context-group name="null"> | ||
3434 | <context context-type="linenumber">1</context> | ||
131 | </context-group> | 3435 | </context-group> |
132 | </trans-unit> | 3436 | </trans-unit> |
133 | </body> | 3437 | </body> |
diff --git a/client/src/locale/target/angular_eu_ES.xml b/client/src/locale/target/angular_eu_ES.xml index 679fee49b..0140aadf1 100644 --- a/client/src/locale/target/angular_eu_ES.xml +++ b/client/src/locale/target/angular_eu_ES.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Utzi | 11 | Utzi |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Jaso laguntza</target> | 47 | <target>Jaso laguntza</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Pasahitza</target> | 108 | <target>Pasahitza</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -330,6 +330,27 @@ | |||
330 | <context context-type="linenumber">9</context> | 330 | <context context-type="linenumber">9</context> |
331 | </context-group> | 331 | </context-group> |
332 | </trans-unit> | 332 | </trans-unit> |
333 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
334 | <source>Category</source> | ||
335 | <target>Kategoria</target> | ||
336 | <context-group name="null"> | ||
337 | <context context-type="linenumber">144</context> | ||
338 | </context-group> | ||
339 | </trans-unit> | ||
340 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
341 | <source>Licence</source> | ||
342 | <target>Lizentzia</target> | ||
343 | <context-group name="null"> | ||
344 | <context context-type="linenumber">153</context> | ||
345 | </context-group> | ||
346 | </trans-unit> | ||
347 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
348 | <source>Language</source> | ||
349 | <target>Hizkuntza</target> | ||
350 | <context-group name="null"> | ||
351 | <context context-type="linenumber">162</context> | ||
352 | </context-group> | ||
353 | </trans-unit> | ||
333 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 354 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
334 | <source>No results.</source> | 355 | <source>No results.</source> |
335 | <target>Emaitzarik ez.</target> | 356 | <target>Emaitzarik ez.</target> |
@@ -551,21 +572,6 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target> | |||
551 | <context context-type="linenumber">51</context> | 572 | <context context-type="linenumber">51</context> |
552 | </context-group> | 573 | </context-group> |
553 | </trans-unit> | 574 | </trans-unit> |
554 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
555 | <source> | ||
556 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
557 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
558 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
559 | </source> | ||
560 | <target> | ||
561 | Web bitarteko berdinak ez ditu tracker-ak bidaltzen zuzenean, web nabigatzailean WebRTC erabiltzen dugulako, protokoloa BitTorrent klasikotik apur bat aldentzen da. | ||
562 | Web nabigatzaile batean zaudenean, zure IP helbidea barne hartzen duen seinale bidaltzen diozu tracker-ari eta ausaz aukeratuko ditu beste berin batzuk IP helbidea hara bidaltzeko. | ||
563 | Irakurri <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>dokumentu hau<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> informazio gehiagorako | ||
564 | </target> | ||
565 | <context-group name="null"> | ||
566 | <context context-type="linenumber">55</context> | ||
567 | </context-group> | ||
568 | </trans-unit> | ||
569 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 575 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
570 | <source> | 576 | <source> |
571 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 577 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -579,13 +585,6 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target> | |||
579 | <context context-type="linenumber">62</context> | 585 | <context context-type="linenumber">62</context> |
580 | </context-group> | 586 | </context-group> |
581 | </trans-unit> | 587 | </trans-unit> |
582 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
583 | <source>How does PeerTube compares to YouTube?</source> | ||
584 | <target>Zein da PeerTube eta YouTube-ren arteko aldea?</target> | ||
585 | <context-group name="null"> | ||
586 | <context context-type="linenumber">67</context> | ||
587 | </context-group> | ||
588 | </trans-unit> | ||
589 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 588 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
590 | <source> | 589 | <source> |
591 | The threats to privacy in YouTube are different from PeerTube's. | 590 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -801,42 +800,42 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target> | |||
801 | <source>Signup enabled</source> | 800 | <source>Signup enabled</source> |
802 | <target>Izena ematea gaituta</target> | 801 | <target>Izena ematea gaituta</target> |
803 | <context-group name="null"> | 802 | <context-group name="null"> |
804 | <context context-type="linenumber">92</context> | 803 | <context context-type="linenumber">90</context> |
805 | </context-group> | 804 | </context-group> |
806 | </trans-unit> | 805 | </trans-unit> |
807 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 806 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
808 | <source>Signup limit</source> | 807 | <source>Signup limit</source> |
809 | <target>Izena emateko muga</target> | 808 | <target>Izena emateko muga</target> |
810 | <context-group name="null"> | 809 | <context-group name="null"> |
811 | <context context-type="linenumber">96</context> | 810 | <context context-type="linenumber">94</context> |
812 | </context-group> | 811 | </context-group> |
813 | </trans-unit> | 812 | </trans-unit> |
814 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 813 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
815 | <source>Administrator</source> | 814 | <source>Administrator</source> |
816 | <target>Administratzailea</target> | 815 | <target>Administratzailea</target> |
817 | <context-group name="null"> | 816 | <context-group name="null"> |
818 | <context context-type="linenumber">106</context> | 817 | <context context-type="linenumber">104</context> |
819 | </context-group> | 818 | </context-group> |
820 | </trans-unit> | 819 | </trans-unit> |
821 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 820 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
822 | <source>Admin email</source> | 821 | <source>Admin email</source> |
823 | <target>Administratzailearen e-maila</target> | 822 | <target>Administratzailearen e-maila</target> |
824 | <context-group name="null"> | 823 | <context-group name="null"> |
825 | <context context-type="linenumber">109</context> | 824 | <context context-type="linenumber">107</context> |
826 | </context-group> | 825 | </context-group> |
827 | </trans-unit> | 826 | </trans-unit> |
828 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 827 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
829 | <source>Users</source> | 828 | <source>Users</source> |
830 | <target>Erabiltzaileak</target> | 829 | <target>Erabiltzaileak</target> |
831 | <context-group name="null"> | 830 | <context-group name="null"> |
832 | <context context-type="linenumber">119</context> | 831 | <context context-type="linenumber">117</context> |
833 | </context-group> | 832 | </context-group> |
834 | </trans-unit> | 833 | </trans-unit> |
835 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 834 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
836 | <source>User default video quota</source> | 835 | <source>User default video quota</source> |
837 | <target>Erabiltzailearen lehenetsitako bideo-kuota</target> | 836 | <target>Erabiltzailearen lehenetsitako bideo-kuota</target> |
838 | <context-group name="null"> | 837 | <context-group name="null"> |
839 | <context context-type="linenumber">122</context> | 838 | <context context-type="linenumber">120</context> |
840 | </context-group> | 839 | </context-group> |
841 | </trans-unit> | 840 | </trans-unit> |
842 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 841 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -850,28 +849,28 @@ Erabiltzaile berriek izena ematea ez da onartzen orain.</target> | |||
850 | <source>Twitter</source> | 849 | <source>Twitter</source> |
851 | <target>Twitter</target> | 850 | <target>Twitter</target> |
852 | <context-group name="null"> | 851 | <context-group name="null"> |
853 | <context context-type="linenumber">138</context> | 852 | <context context-type="linenumber">136</context> |
854 | </context-group> | 853 | </context-group> |
855 | </trans-unit> | 854 | </trans-unit> |
856 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 855 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
857 | <source>Your Twitter username</source> | 856 | <source>Your Twitter username</source> |
858 | <target>Zure Twitter erabiltzaile-izena</target> | 857 | <target>Zure Twitter erabiltzaile-izena</target> |
859 | <context-group name="null"> | 858 | <context-group name="null"> |
860 | <context context-type="linenumber">141</context> | 859 | <context context-type="linenumber">139</context> |
861 | </context-group> | 860 | </context-group> |
862 | </trans-unit> | 861 | </trans-unit> |
863 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 862 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
864 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 863 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
865 | <target>Edukia argitaratuko den webgune edo plataformarentzat Twitter kontua adierazten du.</target> | 864 | <target>Edukia argitaratuko den webgune edo plataformarentzat Twitter kontua adierazten du.</target> |
866 | <context-group name="null"> | 865 | <context-group name="null"> |
867 | <context context-type="linenumber">144</context> | 866 | <context context-type="linenumber">142</context> |
868 | </context-group> | 867 | </context-group> |
869 | </trans-unit> | 868 | </trans-unit> |
870 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 869 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
871 | <source>Instance whitelisted by Twitter</source> | 870 | <source>Instance whitelisted by Twitter</source> |
872 | <target>Twitter-ek onartutako instantzia</target> | 871 | <target>Twitter-ek onartutako instantzia</target> |
873 | <context-group name="null"> | 872 | <context-group name="null"> |
874 | <context context-type="linenumber">159</context> | 873 | <context context-type="linenumber">155</context> |
875 | </context-group> | 874 | </context-group> |
876 | </trans-unit> | 875 | </trans-unit> |
877 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 876 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -882,91 +881,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
882 | Zure instantzia onartuta ez badago, zure PeerTube instantziara daraman irudi bat duen txartel bat estekatuko da.<br/><br/> | 881 | Zure instantzia onartuta ez badago, zure PeerTube instantziara daraman irudi bat duen txartel bat estekatuko da.<br/><br/> |
883 | Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL batekin (https://adibidea.eus/videos/watch/denadelakoa) <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> helbidean zure instantzia onartuta dagoen ikusteko.</target> | 882 | Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL batekin (https://adibidea.eus/videos/watch/denadelakoa) <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> helbidean zure instantzia onartuta dagoen ikusteko.</target> |
884 | <context-group name="null"> | 883 | <context-group name="null"> |
885 | <context context-type="linenumber">162</context> | 884 | <context context-type="linenumber">156</context> |
886 | </context-group> | 885 | </context-group> |
887 | </trans-unit> | 886 | </trans-unit> |
888 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 887 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
889 | <source>Services</source> | 888 | <source>Services</source> |
890 | <target>Zerbitzuak</target> | 889 | <target>Zerbitzuak</target> |
891 | <context-group name="null"> | 890 | <context-group name="null"> |
892 | <context context-type="linenumber">136</context> | 891 | <context context-type="linenumber">134</context> |
893 | </context-group> | 892 | </context-group> |
894 | </trans-unit> | 893 | </trans-unit> |
895 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 894 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
896 | <source>Transcoding</source> | 895 | <source>Transcoding</source> |
897 | <target>Transkodeketa</target> | 896 | <target>Transkodeketa</target> |
898 | <context-group name="null"> | 897 | <context-group name="null"> |
899 | <context context-type="linenumber">172</context> | 898 | <context context-type="linenumber">164</context> |
900 | </context-group> | 899 | </context-group> |
901 | </trans-unit> | 900 | </trans-unit> |
902 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 901 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
903 | <source>Transcoding enabled</source> | 902 | <source>Transcoding enabled</source> |
904 | <target>Transkodeketa gaituta</target> | 903 | <target>Transkodeketa gaituta</target> |
905 | <context-group name="null"> | 904 | <context-group name="null"> |
906 | <context context-type="linenumber">178</context> | 905 | <context context-type="linenumber">168</context> |
907 | </context-group> | 906 | </context-group> |
908 | </trans-unit> | 907 | </trans-unit> |
909 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 908 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
910 | <source>If you disable transcoding, many videos from your users will not work!</source> | 909 | <source>If you disable transcoding, many videos from your users will not work!</source> |
911 | <target>Transkodeketa desgaitzen baduzu, erabiltzaileen bideo askok ez dute funtzionatuko!</target> | 910 | <target>Transkodeketa desgaitzen baduzu, erabiltzaileen bideo askok ez dute funtzionatuko!</target> |
912 | <context-group name="null"> | 911 | <context-group name="null"> |
913 | <context context-type="linenumber">180</context> | 912 | <context context-type="linenumber">169</context> |
914 | </context-group> | 913 | </context-group> |
915 | </trans-unit> | 914 | </trans-unit> |
916 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 915 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
917 | <source>Transcoding threads</source> | 916 | <source>Transcoding threads</source> |
918 | <target>Transkodetze hariak</target> | 917 | <target>Transkodetze hariak</target> |
919 | <context-group name="null"> | 918 | <context-group name="null"> |
920 | <context context-type="linenumber">186</context> | 919 | <context context-type="linenumber">175</context> |
921 | </context-group> | ||
922 | </trans-unit> | ||
923 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
924 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
925 | <target><x id="INTERPOLATION" equiv-text="{{ resolution }}"/> bereizmena gaituta</target> | ||
926 | <context-group name="null"> | ||
927 | <context context-type="linenumber">205</context> | ||
928 | </context-group> | ||
929 | </trans-unit> | ||
930 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
931 | <source>Cache</source> | ||
932 | <target>Cachea</target> | ||
933 | <context-group name="null"> | ||
934 | <context context-type="linenumber">209</context> | ||
935 | </context-group> | 920 | </context-group> |
936 | </trans-unit> | 921 | </trans-unit> |
937 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 922 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
938 | <source>Previews cache size</source> | 923 | <source>Previews cache size</source> |
939 | <target>Aurrebisten cachearen tamaina</target> | 924 | <target>Aurrebisten cachearen tamaina</target> |
940 | <context-group name="null"> | 925 | <context-group name="null"> |
941 | <context context-type="linenumber">212</context> | 926 | <context context-type="linenumber">207</context> |
942 | </context-group> | ||
943 | </trans-unit> | ||
944 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
945 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
946 | <target>Aurrebistak ez daude federatuta. Zuzenean jatorrizko instantziatik jasotzen ditugu eta cachean gorde.</target> | ||
947 | <context-group name="null"> | ||
948 | <context context-type="linenumber">215</context> | ||
949 | </context-group> | 927 | </context-group> |
950 | </trans-unit> | 928 | </trans-unit> |
951 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 929 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
952 | <source>Customizations</source> | 930 | <source>Customizations</source> |
953 | <target>Pertsonalizazioak</target> | 931 | <target>Pertsonalizazioak</target> |
954 | <context-group name="null"> | 932 | <context-group name="null"> |
955 | <context context-type="linenumber">227</context> | 933 | <context context-type="linenumber">228</context> |
956 | </context-group> | 934 | </context-group> |
957 | </trans-unit> | 935 | </trans-unit> |
958 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 936 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
959 | <source>JavaScript</source> | 937 | <source>JavaScript</source> |
960 | <target>JavaScript</target> | 938 | <target>JavaScript</target> |
961 | <context-group name="null"> | 939 | <context-group name="null"> |
962 | <context context-type="linenumber">230</context> | 940 | <context context-type="linenumber">231</context> |
963 | </context-group> | 941 | </context-group> |
964 | </trans-unit> | 942 | </trans-unit> |
965 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 943 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
966 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 944 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
967 | <target>IdatziJavaScript kodea zuzenean.<br />Adibidez: <pre>console.log('nire instantzia zoragarria da');</pre></target> | 945 | <target>IdatziJavaScript kodea zuzenean.<br />Adibidez: <pre>console.log('nire instantzia zoragarria da');</pre></target> |
968 | <context-group name="null"> | 946 | <context-group name="null"> |
969 | <context context-type="linenumber">233</context> | 947 | <context context-type="linenumber">234</context> |
970 | </context-group> | 948 | </context-group> |
971 | </trans-unit> | 949 | </trans-unit> |
972 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 950 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -1001,28 +979,28 @@ Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL b | |||
1001 | </pre> | 979 | </pre> |
1002 | </target> | 980 | </target> |
1003 | <context-group name="null"> | 981 | <context-group name="null"> |
1004 | <context context-type="linenumber">249</context> | 982 | <context context-type="linenumber">250</context> |
1005 | </context-group> | 983 | </context-group> |
1006 | </trans-unit> | 984 | </trans-unit> |
1007 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 985 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1008 | <source>Advanced configuration</source> | 986 | <source>Advanced configuration</source> |
1009 | <target>Konfigurazio aurreratua</target> | 987 | <target>Konfigurazio aurreratua</target> |
1010 | <context-group name="null"> | 988 | <context-group name="null"> |
1011 | <context context-type="linenumber">170</context> | 989 | <context context-type="linenumber">162</context> |
1012 | </context-group> | 990 | </context-group> |
1013 | </trans-unit> | 991 | </trans-unit> |
1014 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 992 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1015 | <source>Update configuration</source> | 993 | <source>Update configuration</source> |
1016 | <target>Eguneratu konfigurazioa</target> | 994 | <target>Eguneratu konfigurazioa</target> |
1017 | <context-group name="null"> | 995 | <context-group name="null"> |
1018 | <context context-type="linenumber">276</context> | 996 | <context context-type="linenumber">277</context> |
1019 | </context-group> | 997 | </context-group> |
1020 | </trans-unit> | 998 | </trans-unit> |
1021 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 999 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1022 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 1000 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1023 | <target>Konfigurazioa baliogabea dela dirudi. Bilatu zer egon daitekeen gaizki fitxa desberdinetan begiratuz.</target> | 1001 | <target>Konfigurazioa baliogabea dela dirudi. Bilatu zer egon daitekeen gaizki fitxa desberdinetan begiratuz.</target> |
1024 | <context-group name="null"> | 1002 | <context-group name="null"> |
1025 | <context context-type="linenumber">277</context> | 1003 | <context context-type="linenumber">278</context> |
1026 | </context-group> | 1004 | </context-group> |
1027 | </trans-unit> | 1005 | </trans-unit> |
1028 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1006 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1172,13 +1150,6 @@ Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL b | |||
1172 | <context context-type="linenumber">19</context> | 1150 | <context context-type="linenumber">19</context> |
1173 | </context-group> | 1151 | </context-group> |
1174 | </trans-unit> | 1152 | </trans-unit> |
1175 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1176 | <source>Updated</source> | ||
1177 | <target>Eguneratuta</target> | ||
1178 | <context-group name="null"> | ||
1179 | <context context-type="linenumber">22</context> | ||
1180 | </context-group> | ||
1181 | </trans-unit> | ||
1182 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1153 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1183 | <source>Create user</source> | 1154 | <source>Create user</source> |
1184 | <target>Sortu erabiltzailea</target> | 1155 | <target>Sortu erabiltzailea</target> |
@@ -1353,53 +1324,32 @@ Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL b | |||
1353 | <context context-type="linenumber">7</context> | 1324 | <context context-type="linenumber">7</context> |
1354 | </context-group> | 1325 | </context-group> |
1355 | </trans-unit> | 1326 | </trans-unit> |
1356 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1357 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1358 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> harpidedun</target> | ||
1359 | <context-group name="null"> | ||
1360 | <context context-type="linenumber">9</context> | ||
1361 | </context-group> | ||
1362 | </trans-unit> | ||
1363 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1364 | <source>Change your avatar</source> | ||
1365 | <target>Aldatu zure abatarra</target> | ||
1366 | <context-group name="null"> | ||
1367 | <context context-type="linenumber">14</context> | ||
1368 | </context-group> | ||
1369 | </trans-unit> | ||
1370 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1371 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1372 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | byte }}"/>)</target> | ||
1373 | <context-group name="null"> | ||
1374 | <context context-type="linenumber">17</context> | ||
1375 | </context-group> | ||
1376 | </trans-unit> | ||
1377 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1327 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1378 | <source>Video quota:</source> | 1328 | <source>Video quota:</source> |
1379 | <target>Bideo-kuota:</target> | 1329 | <target>Bideo-kuota:</target> |
1380 | <context-group name="null"> | 1330 | <context-group name="null"> |
1381 | <context context-type="linenumber">20</context> | 1331 | <context context-type="linenumber">4</context> |
1382 | </context-group> | 1332 | </context-group> |
1383 | </trans-unit> | 1333 | </trans-unit> |
1384 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1334 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1385 | <source>Profile</source> | 1335 | <source>Profile</source> |
1386 | <target>Profila</target> | 1336 | <target>Profila</target> |
1387 | <context-group name="null"> | 1337 | <context-group name="null"> |
1388 | <context context-type="linenumber">24</context> | 1338 | <context context-type="linenumber">8</context> |
1389 | </context-group> | 1339 | </context-group> |
1390 | </trans-unit> | 1340 | </trans-unit> |
1391 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1341 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1392 | <source>Video settings</source> | 1342 | <source>Video settings</source> |
1393 | <target>Bideo ezarpenak</target> | 1343 | <target>Bideo ezarpenak</target> |
1394 | <context-group name="null"> | 1344 | <context-group name="null"> |
1395 | <context context-type="linenumber">31</context> | 1345 | <context context-type="linenumber">15</context> |
1396 | </context-group> | 1346 | </context-group> |
1397 | </trans-unit> | 1347 | </trans-unit> |
1398 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1348 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1399 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1349 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1400 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi</target> | 1350 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi</target> |
1401 | <context-group name="null"> | 1351 | <context-group name="null"> |
1402 | <context context-type="linenumber">20</context> | 1352 | <context context-type="linenumber">19</context> |
1403 | </context-group> | 1353 | </context-group> |
1404 | </trans-unit> | 1354 | </trans-unit> |
1405 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1355 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1427,14 +1377,7 @@ Markatu kutxa hau, gorde konfigurazioa eta probatu zure instantziako bideo URL b | |||
1427 | <source>Create a video channel</source> | 1377 | <source>Create a video channel</source> |
1428 | <target>Sortu bideo kanala</target> | 1378 | <target>Sortu bideo kanala</target> |
1429 | <context-group name="null"> | 1379 | <context-group name="null"> |
1430 | <context context-type="linenumber">1</context> | 1380 | <context context-type="linenumber">6</context> |
1431 | </context-group> | ||
1432 | </trans-unit> | ||
1433 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1434 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1435 | <target>Eguneratu <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1436 | <context-group name="null"> | ||
1437 | <context context-type="linenumber">2</context> | ||
1438 | </context-group> | 1381 | </context-group> |
1439 | </trans-unit> | 1382 | </trans-unit> |
1440 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1383 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1450,7 +1393,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1450 | <target>Jendeari zure kanala babestu dezaketela azaltzeko testu labur bat (kidetza plataforma...). <br /><br /> | 1393 | <target>Jendeari zure kanala babestu dezaketela azaltzeko testu labur bat (kidetza plataforma...). <br /><br /> |
1451 | Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin beteko da.</target> | 1394 | Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin beteko da.</target> |
1452 | <context-group name="null"> | 1395 | <context-group name="null"> |
1453 | <context context-type="linenumber">32</context> | 1396 | <context context-type="linenumber">36</context> |
1454 | </context-group> | 1397 | </context-group> |
1455 | </trans-unit> | 1398 | </trans-unit> |
1456 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1399 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1485,14 +1428,14 @@ Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin | |||
1485 | <source>Automatically plays video</source> | 1428 | <source>Automatically plays video</source> |
1486 | <target>Automatikoki abiatzen du bideoa</target> | 1429 | <target>Automatikoki abiatzen du bideoa</target> |
1487 | <context-group name="null"> | 1430 | <context-group name="null"> |
1488 | <context context-type="linenumber">24</context> | 1431 | <context context-type="linenumber">20</context> |
1489 | </context-group> | 1432 | </context-group> |
1490 | </trans-unit> | 1433 | </trans-unit> |
1491 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1434 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1492 | <source>Save</source> | 1435 | <source>Save</source> |
1493 | <target>Gorde</target> | 1436 | <target>Gorde</target> |
1494 | <context-group name="null"> | 1437 | <context-group name="null"> |
1495 | <context context-type="linenumber">27</context> | 1438 | <context context-type="linenumber">23</context> |
1496 | </context-group> | 1439 | </context-group> |
1497 | </trans-unit> | 1440 | </trans-unit> |
1498 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1441 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1502,6 +1445,13 @@ Kanal honetara bideo bat igotzen duzunean, bideoa babesteko eremua testu honekin | |||
1502 | <context context-type="linenumber">27</context> | 1445 | <context context-type="linenumber">27</context> |
1503 | </context-group> | 1446 | </context-group> |
1504 | </trans-unit> | 1447 | </trans-unit> |
1448 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1449 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1450 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | byte }}"/>)</target> | ||
1451 | <context-group name="null"> | ||
1452 | <context context-type="linenumber">18</context> | ||
1453 | </context-group> | ||
1454 | </trans-unit> | ||
1505 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1455 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1506 | <source> | 1456 | <source> |
1507 | Sorry, but we couldn't find the page you were looking for. | 1457 | Sorry, but we couldn't find the page you were looking for. |
@@ -1573,21 +1523,21 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1573 | <source>Privacy</source> | 1523 | <source>Privacy</source> |
1574 | <target>Pribatutasuna</target> | 1524 | <target>Pribatutasuna</target> |
1575 | <context-group name="null"> | 1525 | <context-group name="null"> |
1576 | <context context-type="linenumber">86</context> | 1526 | <context context-type="linenumber">139</context> |
1577 | </context-group> | 1527 | </context-group> |
1578 | </trans-unit> | 1528 | </trans-unit> |
1579 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1529 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1580 | <source>Publish will be available when upload is finished</source> | 1530 | <source>Publish will be available when upload is finished</source> |
1581 | <target>Argitaratzea behin igoera bukatzean egongo da erabilgarri</target> | 1531 | <target>Argitaratzea behin igoera bukatzean egongo da erabilgarri</target> |
1582 | <context-group name="null"> | 1532 | <context-group name="null"> |
1583 | <context context-type="linenumber">53</context> | 1533 | <context context-type="linenumber">54</context> |
1584 | </context-group> | 1534 | </context-group> |
1585 | </trans-unit> | 1535 | </trans-unit> |
1586 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1536 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1587 | <source>Publish</source> | 1537 | <source>Publish</source> |
1588 | <target>Argitaratu</target> | 1538 | <target>Argitaratu</target> |
1589 | <context-group name="null"> | 1539 | <context-group name="null"> |
1590 | <context context-type="linenumber">60</context> | 1540 | <context context-type="linenumber">61</context> |
1591 | </context-group> | 1541 | </context-group> |
1592 | </trans-unit> | 1542 | </trans-unit> |
1593 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1543 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1601,7 +1551,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1601 | <source>Tags</source> | 1551 | <source>Tags</source> |
1602 | <target>Etiketak</target> | 1552 | <target>Etiketak</target> |
1603 | <context-group name="null"> | 1553 | <context-group name="null"> |
1604 | <context context-type="linenumber">15</context> | 1554 | <context context-type="linenumber">171</context> |
1605 | </context-group> | 1555 | </context-group> |
1606 | </trans-unit> | 1556 | </trans-unit> |
1607 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1557 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1618,27 +1568,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1618 | <context context-type="linenumber">24</context> | 1568 | <context context-type="linenumber">24</context> |
1619 | </context-group> | 1569 | </context-group> |
1620 | </trans-unit> | 1570 | </trans-unit> |
1621 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1622 | <source>Category</source> | ||
1623 | <target>Kategoria</target> | ||
1624 | <context-group name="null"> | ||
1625 | <context context-type="linenumber">44</context> | ||
1626 | </context-group> | ||
1627 | </trans-unit> | ||
1628 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1629 | <source>Licence</source> | ||
1630 | <target>Lizentzia</target> | ||
1631 | <context-group name="null"> | ||
1632 | <context context-type="linenumber">58</context> | ||
1633 | </context-group> | ||
1634 | </trans-unit> | ||
1635 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1636 | <source>Language</source> | ||
1637 | <target>Hizkuntza</target> | ||
1638 | <context-group name="null"> | ||
1639 | <context context-type="linenumber">72</context> | ||
1640 | </context-group> | ||
1641 | </trans-unit> | ||
1642 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1571 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1643 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1572 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1644 | <target>Programatutako argitaratzea (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1573 | <target>Programatutako argitaratzea (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1650,35 +1579,28 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1650 | <source>This video contains mature or explicit content</source> | 1579 | <source>This video contains mature or explicit content</source> |
1651 | <target>Bideo honek helduentzako edo hunkigarria den edukia du</target> | 1580 | <target>Bideo honek helduentzako edo hunkigarria den edukia du</target> |
1652 | <context-group name="null"> | 1581 | <context-group name="null"> |
1653 | <context context-type="linenumber">116</context> | 1582 | <context context-type="linenumber">115</context> |
1654 | </context-group> | 1583 | </context-group> |
1655 | </trans-unit> | 1584 | </trans-unit> |
1656 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1585 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1657 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1586 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1658 | <target>Instantzia batzuk ez dute lehenetsita helduentzako edo hunkigarria den edukia zerrendatzen.</target> | 1587 | <target>Instantzia batzuk ez dute lehenetsita helduentzako edo hunkigarria den edukia zerrendatzen.</target> |
1659 | <context-group name="null"> | 1588 | <context-group name="null"> |
1660 | <context context-type="linenumber">119</context> | 1589 | <context context-type="linenumber">116</context> |
1661 | </context-group> | 1590 | </context-group> |
1662 | </trans-unit> | 1591 | </trans-unit> |
1663 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1592 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1664 | <source>Enable video comments</source> | 1593 | <source>Enable video comments</source> |
1665 | <target>Gaitu bideoaren iruzkinak</target> | 1594 | <target>Gaitu bideoaren iruzkinak</target> |
1666 | <context-group name="null"> | 1595 | <context-group name="null"> |
1667 | <context context-type="linenumber">126</context> | 1596 | <context context-type="linenumber">121</context> |
1668 | </context-group> | 1597 | </context-group> |
1669 | </trans-unit> | 1598 | </trans-unit> |
1670 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1599 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1671 | <source>Wait transcoding before publishing the video</source> | 1600 | <source>Wait transcoding before publishing the video</source> |
1672 | <target>Itxaron transkodetzeari bideoa argitaratu aurretik</target> | 1601 | <target>Itxaron transkodetzeari bideoa argitaratu aurretik</target> |
1673 | <context-group name="null"> | 1602 | <context-group name="null"> |
1674 | <context context-type="linenumber">132</context> | 1603 | <context context-type="linenumber">126</context> |
1675 | </context-group> | ||
1676 | </trans-unit> | ||
1677 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1678 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1679 | <target>Bideoa argitaratu aurretik ez baduzu transkodetzea bukatu arte itxaroten, bideoa transkodetzea bukatu arte ezin ikustea gerta daiteke.</target> | ||
1680 | <context-group name="null"> | ||
1681 | <context context-type="linenumber">135</context> | ||
1682 | </context-group> | 1604 | </context-group> |
1683 | </trans-unit> | 1605 | </trans-unit> |
1684 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1606 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1692,42 +1614,35 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1692 | <source>Upload thumbnail</source> | 1614 | <source>Upload thumbnail</source> |
1693 | <target>Igo irudia</target> | 1615 | <target>Igo irudia</target> |
1694 | <context-group name="null"> | 1616 | <context-group name="null"> |
1695 | <context context-type="linenumber">146</context> | 1617 | <context context-type="linenumber">186</context> |
1696 | </context-group> | 1618 | </context-group> |
1697 | </trans-unit> | 1619 | </trans-unit> |
1698 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1620 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1699 | <source>Upload preview</source> | 1621 | <source>Upload preview</source> |
1700 | <target>Igo aurrebista</target> | 1622 | <target>Igo aurrebista</target> |
1701 | <context-group name="null"> | 1623 | <context-group name="null"> |
1702 | <context context-type="linenumber">153</context> | 1624 | <context context-type="linenumber">193</context> |
1703 | </context-group> | 1625 | </context-group> |
1704 | </trans-unit> | 1626 | </trans-unit> |
1705 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1627 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1706 | <source>Support</source> | 1628 | <source>Support</source> |
1707 | <target>Babestu</target> | 1629 | <target>Babestu</target> |
1708 | <context-group name="null"> | 1630 | <context-group name="null"> |
1709 | <context context-type="linenumber">59</context> | 1631 | <context context-type="linenumber">67</context> |
1710 | </context-group> | 1632 | </context-group> |
1711 | </trans-unit> | 1633 | </trans-unit> |
1712 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1634 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1713 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1635 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1714 | <target>Jendeari zu nola babestu azaltzeko testu labur bat (kidetza plataforma...).</target> | 1636 | <target>Jendeari zu nola babestu azaltzeko testu labur bat (kidetza plataforma...).</target> |
1715 | <context-group name="null"> | 1637 | <context-group name="null"> |
1716 | <context context-type="linenumber">160</context> | 1638 | <context context-type="linenumber">200</context> |
1717 | </context-group> | 1639 | </context-group> |
1718 | </trans-unit> | 1640 | </trans-unit> |
1719 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1641 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1720 | <source>Advanced settings</source> | 1642 | <source>Advanced settings</source> |
1721 | <target>Ezarpen aurreratuak</target> | 1643 | <target>Ezarpen aurreratuak</target> |
1722 | <context-group name="null"> | 1644 | <context-group name="null"> |
1723 | <context context-type="linenumber">142</context> | 1645 | <context context-type="linenumber">182</context> |
1724 | </context-group> | ||
1725 | </trans-unit> | ||
1726 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1727 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1728 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, gehieneko tamaina: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | byte }}"/>)</target> | ||
1729 | <context-group name="null"> | ||
1730 | <context context-type="linenumber">11</context> | ||
1731 | </context-group> | 1646 | </context-group> |
1732 | </trans-unit> | 1647 | </trans-unit> |
1733 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1648 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1745,7 +1660,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1745 | <source>Update</source> | 1660 | <source>Update</source> |
1746 | <target>Eguneratu</target> | 1661 | <target>Eguneratu</target> |
1747 | <context-group name="null"> | 1662 | <context-group name="null"> |
1748 | <context context-type="linenumber">93</context> | 1663 | <context context-type="linenumber">101</context> |
1749 | </context-group> | 1664 | </context-group> |
1750 | </trans-unit> | 1665 | </trans-unit> |
1751 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1666 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1755,32 +1670,18 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1755 | <context context-type="linenumber">7</context> | 1670 | <context context-type="linenumber">7</context> |
1756 | </context-group> | 1671 | </context-group> |
1757 | </trans-unit> | 1672 | </trans-unit> |
1758 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1759 | <source>Torrent</source> | ||
1760 | <target>Torrent</target> | ||
1761 | <context-group name="null"> | ||
1762 | <context context-type="linenumber">20</context> | ||
1763 | </context-group> | ||
1764 | </trans-unit> | ||
1765 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1673 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1766 | <source>Direct download</source> | 1674 | <source>Direct download</source> |
1767 | <target>Deskarga zuzena</target> | 1675 | <target>Deskarga zuzena</target> |
1768 | <context-group name="null"> | 1676 | <context-group name="null"> |
1769 | <context context-type="linenumber">25</context> | 1677 | <context context-type="linenumber">20</context> |
1770 | </context-group> | ||
1771 | </trans-unit> | ||
1772 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1773 | <source>Torrent (magnet)</source> | ||
1774 | <target>Torrent (magnet)</target> | ||
1775 | <context-group name="null"> | ||
1776 | <context context-type="linenumber">30</context> | ||
1777 | </context-group> | 1678 | </context-group> |
1778 | </trans-unit> | 1679 | </trans-unit> |
1779 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1680 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1780 | <source>Download</source> | 1681 | <source>Download</source> |
1781 | <target>Deskargatu</target> | 1682 | <target>Deskargatu</target> |
1782 | <context-group name="null"> | 1683 | <context-group name="null"> |
1783 | <context context-type="linenumber">75</context> | 1684 | <context context-type="linenumber">83</context> |
1784 | </context-group> | 1685 | </context-group> |
1785 | </trans-unit> | 1686 | </trans-unit> |
1786 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1687 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1819,7 +1720,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1819 | <source>Share</source> | 1720 | <source>Share</source> |
1820 | <target>Partekatu</target> | 1721 | <target>Partekatu</target> |
1821 | <context-group name="null"> | 1722 | <context-group name="null"> |
1822 | <context context-type="linenumber">64</context> | 1723 | <context context-type="linenumber">72</context> |
1823 | </context-group> | 1724 | </context-group> |
1824 | </trans-unit> | 1725 | </trans-unit> |
1825 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1726 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1855,7 +1756,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1855 | Bideoa transkodetzen ari da, oraindik ez funtzionatzea izan daiteke. | 1756 | Bideoa transkodetzen ari da, oraindik ez funtzionatzea izan daiteke. |
1856 | </target> | 1757 | </target> |
1857 | <context-group name="null"> | 1758 | <context-group name="null"> |
1858 | <context context-type="linenumber">6</context> | 1759 | <context context-type="linenumber">11</context> |
1859 | </context-group> | 1760 | </context-group> |
1860 | </trans-unit> | 1761 | </trans-unit> |
1861 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1762 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1866,7 +1767,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1866 | Bideoa data eta ordu honetan argitaratuko da: <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1767 | Bideoa data eta ordu honetan argitaratuko da: <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1867 | </target> | 1768 | </target> |
1868 | <context-group name="null"> | 1769 | <context-group name="null"> |
1869 | <context context-type="linenumber">10</context> | 1770 | <context context-type="linenumber">15</context> |
1870 | </context-group> | 1771 | </context-group> |
1871 | </trans-unit> | 1772 | </trans-unit> |
1872 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1773 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1877,167 +1778,112 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
1877 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi | 1778 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> ikustaldi |
1878 | </target> | 1779 | </target> |
1879 | <context-group name="null"> | 1780 | <context-group name="null"> |
1880 | <context context-type="linenumber">21</context> | 1781 | <context context-type="linenumber">26</context> |
1881 | </context-group> | 1782 | </context-group> |
1882 | </trans-unit> | 1783 | </trans-unit> |
1883 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1784 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1884 | <source>Go the channel page</source> | 1785 | <source>Go the channel page</source> |
1885 | <target>Joan kanalaren orrira</target> | 1786 | <target>Joan kanalaren orrira</target> |
1886 | <context-group name="null"> | 1787 | <context-group name="null"> |
1887 | <context context-type="linenumber">26</context> | 1788 | <context context-type="linenumber">31</context> |
1888 | </context-group> | ||
1889 | </trans-unit> | ||
1890 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1891 | <source>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>.</source> | ||
1892 | <target>Kontu honetara harpidetu zaitezke ActivityPub onartzen duen fedibertsoko Instantzia batetik, esaterako Mastodon edo Pleroma instantzietan, bilaketa kutxan <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> idatzi dezakezu eta handik harpidetu. PeerTube erabiltzaile gisa harpidetzeko aukera garapenean dago oraindik: <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1893 | <context-group name="null"> | ||
1894 | <context context-type="linenumber">30</context> | ||
1895 | </context-group> | 1789 | </context-group> |
1896 | </trans-unit> | 1790 | </trans-unit> |
1897 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1791 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1898 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1792 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1899 | <target>Egilea <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1793 | <target>Egilea <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1900 | <context-group name="null"> | 1794 | <context-group name="null"> |
1901 | <context context-type="linenumber">35</context> | 1795 | <context context-type="linenumber">41</context> |
1902 | </context-group> | 1796 | </context-group> |
1903 | </trans-unit> | 1797 | </trans-unit> |
1904 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1798 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1905 | <source>Go to the account page</source> | 1799 | <source>Go to the account page</source> |
1906 | <target>Joan kontuaren orrira</target> | 1800 | <target>Joan kontuaren orrira</target> |
1907 | <context-group name="null"> | 1801 | <context-group name="null"> |
1908 | <context context-type="linenumber">34</context> | 1802 | <context context-type="linenumber">40</context> |
1803 | </context-group> | ||
1804 | </trans-unit> | ||
1805 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1806 | <source>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>.</source> | ||
1807 | <target>Kontu honetara harpidetu zaitezke ActivityPub onartzen duen fedibertsoko Instantzia batetik, esaterako Mastodon edo Pleroma instantzietan, bilaketa kutxan <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> idatzi dezakezu eta handik harpidetu. PeerTube erabiltzaile gisa harpidetzeko aukera garapenean dago oraindik: <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1808 | <context-group name="null"> | ||
1809 | <context context-type="linenumber">45</context> | ||
1909 | </context-group> | 1810 | </context-group> |
1910 | </trans-unit> | 1811 | </trans-unit> |
1911 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1812 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1912 | <source>Like this video</source> | 1813 | <source>Like this video</source> |
1913 | <target>Atsegin bideo hau</target> | 1814 | <target>Atsegin bideo hau</target> |
1914 | <context-group name="null"> | 1815 | <context-group name="null"> |
1915 | <context context-type="linenumber">47</context> | 1816 | <context context-type="linenumber">55</context> |
1916 | </context-group> | 1817 | </context-group> |
1917 | </trans-unit> | 1818 | </trans-unit> |
1918 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1819 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1919 | <source>Dislike this video</source> | 1820 | <source>Dislike this video</source> |
1920 | <target>Utzi bideoa hau atsegiteari</target> | 1821 | <target>Utzi bideoa hau atsegiteari</target> |
1921 | <context-group name="null"> | 1822 | <context-group name="null"> |
1922 | <context context-type="linenumber">54</context> | 1823 | <context context-type="linenumber">62</context> |
1923 | </context-group> | 1824 | </context-group> |
1924 | </trans-unit> | 1825 | </trans-unit> |
1925 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1826 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1926 | <source>Download the video</source> | 1827 | <source>Download the video</source> |
1927 | <target>Deskargatu bideoa</target> | 1828 | <target>Deskargatu bideoa</target> |
1928 | <context-group name="null"> | 1829 | <context-group name="null"> |
1929 | <context context-type="linenumber">74</context> | 1830 | <context context-type="linenumber">82</context> |
1930 | </context-group> | 1831 | </context-group> |
1931 | </trans-unit> | 1832 | </trans-unit> |
1932 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1833 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1933 | <source>Report</source> | 1834 | <source>Report</source> |
1934 | <target>Salatu</target> | 1835 | <target>Salatu</target> |
1935 | <context-group name="null"> | 1836 | <context-group name="null"> |
1936 | <context context-type="linenumber">81</context> | 1837 | <context context-type="linenumber">89</context> |
1937 | </context-group> | 1838 | </context-group> |
1938 | </trans-unit> | 1839 | </trans-unit> |
1939 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1840 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1940 | <source>Report this video</source> | 1841 | <source>Report this video</source> |
1941 | <target>Salatu bideo hau</target> | 1842 | <target>Salatu bideo hau</target> |
1942 | <context-group name="null"> | 1843 | <context-group name="null"> |
1943 | <context context-type="linenumber">80</context> | 1844 | <context context-type="linenumber">88</context> |
1944 | </context-group> | 1845 | </context-group> |
1945 | </trans-unit> | 1846 | </trans-unit> |
1946 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1847 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1947 | <source>Blacklist</source> | 1848 | <source>Blacklist</source> |
1948 | <target>Zerrenda beltza</target> | 1849 | <target>Zerrenda beltza</target> |
1949 | <context-group name="null"> | 1850 | <context-group name="null"> |
1950 | <context context-type="linenumber">87</context> | 1851 | <context context-type="linenumber">95</context> |
1951 | </context-group> | 1852 | </context-group> |
1952 | </trans-unit> | 1853 | </trans-unit> |
1953 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1854 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1954 | <source>Blacklist this video</source> | 1855 | <source>Blacklist this video</source> |
1955 | <target>Sartu zerrenda beltzean bideo hau</target> | 1856 | <target>Sartu zerrenda beltzean bideo hau</target> |
1956 | <context-group name="null"> | 1857 | <context-group name="null"> |
1957 | <context context-type="linenumber">86</context> | 1858 | <context context-type="linenumber">94</context> |
1958 | </context-group> | 1859 | </context-group> |
1959 | </trans-unit> | 1860 | </trans-unit> |
1960 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1861 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1961 | <source>Update this video</source> | 1862 | <source>Update this video</source> |
1962 | <target>Eguneratu bideo hau</target> | 1863 | <target>Eguneratu bideo hau</target> |
1963 | <context-group name="null"> | 1864 | <context-group name="null"> |
1964 | <context context-type="linenumber">92</context> | 1865 | <context context-type="linenumber">100</context> |
1965 | </context-group> | 1866 | </context-group> |
1966 | </trans-unit> | 1867 | </trans-unit> |
1967 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1868 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1968 | <source>Delete this video</source> | 1869 | <source>Delete this video</source> |
1969 | <target>Ezabatu bideo hau</target> | 1870 | <target>Ezabatu bideo hau</target> |
1970 | <context-group name="null"> | 1871 | <context-group name="null"> |
1971 | <context context-type="linenumber">98</context> | 1872 | <context context-type="linenumber">106</context> |
1972 | </context-group> | 1873 | </context-group> |
1973 | </trans-unit> | 1874 | </trans-unit> |
1974 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1875 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1975 | <source>Show more</source> | 1876 | <source>Show more</source> |
1976 | <target>Erakutsi gehiago</target> | 1877 | <target>Erakutsi gehiago</target> |
1977 | <context-group name="null"> | 1878 | <context-group name="null"> |
1978 | <context context-type="linenumber">118</context> | 1879 | <context context-type="linenumber">126</context> |
1979 | </context-group> | 1880 | </context-group> |
1980 | </trans-unit> | 1881 | </trans-unit> |
1981 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1882 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1982 | <source>Show less</source> | 1883 | <source>Show less</source> |
1983 | <target>Erakutsi gutxiago</target> | 1884 | <target>Erakutsi gutxiago</target> |
1984 | <context-group name="null"> | 1885 | <context-group name="null"> |
1985 | <context context-type="linenumber">124</context> | 1886 | <context context-type="linenumber">132</context> |
1986 | </context-group> | ||
1987 | </trans-unit> | ||
1988 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1989 | <source> | ||
1990 | Privacy | ||
1991 | </source> | ||
1992 | <target> | ||
1993 | Pribatutasuna | ||
1994 | </target> | ||
1995 | <context-group name="null"> | ||
1996 | <context context-type="linenumber">131</context> | ||
1997 | </context-group> | ||
1998 | </trans-unit> | ||
1999 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
2000 | <source> | ||
2001 | Category | ||
2002 | </source> | ||
2003 | <target> | ||
2004 | Kategoria | ||
2005 | </target> | ||
2006 | <context-group name="null"> | ||
2007 | <context context-type="linenumber">140</context> | ||
2008 | </context-group> | ||
2009 | </trans-unit> | ||
2010 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2011 | <source> | ||
2012 | Licence | ||
2013 | </source> | ||
2014 | <target> | ||
2015 | Lizentzia | ||
2016 | </target> | ||
2017 | <context-group name="null"> | ||
2018 | <context context-type="linenumber">149</context> | ||
2019 | </context-group> | ||
2020 | </trans-unit> | ||
2021 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2022 | <source> | ||
2023 | Language | ||
2024 | </source> | ||
2025 | <target> | ||
2026 | Hizkuntza | ||
2027 | </target> | ||
2028 | <context-group name="null"> | ||
2029 | <context context-type="linenumber">158</context> | ||
2030 | </context-group> | ||
2031 | </trans-unit> | ||
2032 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2033 | <source> | ||
2034 | Tags | ||
2035 | </source> | ||
2036 | <target> | ||
2037 | Etiketak | ||
2038 | </target> | ||
2039 | <context-group name="null"> | ||
2040 | <context context-type="linenumber">167</context> | ||
2041 | </context-group> | 1887 | </context-group> |
2042 | </trans-unit> | 1888 | </trans-unit> |
2043 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1889 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2048,24 +1894,13 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
2048 | Beste bideo batzuk | 1894 | Beste bideo batzuk |
2049 | </target> | 1895 | </target> |
2050 | <context-group name="null"> | 1896 | <context-group name="null"> |
2051 | <context context-type="linenumber">181</context> | 1897 | <context context-type="linenumber">183</context> |
2052 | </context-group> | 1898 | </context-group> |
2053 | </trans-unit> | 1899 | </trans-unit> |
2054 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1900 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2055 | <source>Friendly Reminder:</source> | 1901 | <source>Friendly Reminder:</source> |
2056 | <target>Oroigarria:</target> | 1902 | <target>Oroigarria:</target> |
2057 | <context-group name="null"> | 1903 | <context-group name="null"> |
2058 | <context context-type="linenumber">193</context> | ||
2059 | </context-group> | ||
2060 | </trans-unit> | ||
2061 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2062 | <source> | ||
2063 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2064 | </source> | ||
2065 | <target> | ||
2066 | Bideo honek darabilen partekatze sistema zure sistemako informazio teknikoa (IP helbide publikoa esaterako) edonork ikusi dezakeela esan nahi du. | ||
2067 | </target> | ||
2068 | <context-group name="null"> | ||
2069 | <context context-type="linenumber">195</context> | 1904 | <context context-type="linenumber">195</context> |
2070 | </context-group> | 1905 | </context-group> |
2071 | </trans-unit> | 1906 | </trans-unit> |
@@ -2073,14 +1908,14 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
2073 | <source>More information</source> | 1908 | <source>More information</source> |
2074 | <target>Informazio gehiago</target> | 1909 | <target>Informazio gehiago</target> |
2075 | <context-group name="null"> | 1910 | <context-group name="null"> |
2076 | <context context-type="linenumber">198</context> | 1911 | <context context-type="linenumber">200</context> |
2077 | </context-group> | 1912 | </context-group> |
2078 | </trans-unit> | 1913 | </trans-unit> |
2079 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1914 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2080 | <source>Get more information</source> | 1915 | <source>Get more information</source> |
2081 | <target>Lortu informazio gehiago</target> | 1916 | <target>Lortu informazio gehiago</target> |
2082 | <context-group name="null"> | 1917 | <context-group name="null"> |
2083 | <context context-type="linenumber">198</context> | 1918 | <context context-type="linenumber">200</context> |
2084 | </context-group> | 1919 | </context-group> |
2085 | </trans-unit> | 1920 | </trans-unit> |
2086 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1921 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2091,7 +1926,7 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
2091 | Ados | 1926 | Ados |
2092 | </target> | 1927 | </target> |
2093 | <context-group name="null"> | 1928 | <context-group name="null"> |
2094 | <context context-type="linenumber">201</context> | 1929 | <context context-type="linenumber">203</context> |
2095 | </context-group> | 1930 | </context-group> |
2096 | </trans-unit> | 1931 | </trans-unit> |
2097 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1932 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2563,13 +2398,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
2563 | <context context-type="linenumber">1</context> | 2398 | <context context-type="linenumber">1</context> |
2564 | </context-group> | 2399 | </context-group> |
2565 | </trans-unit> | 2400 | </trans-unit> |
2566 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2567 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2568 | <target>Pasahitza berrezartzeko argibideak dituen e-mail bidaliko da <x id="INTERPOLATION" equiv-text="{{ email }}"/> helbidera.</target> | ||
2569 | <context-group name="null"> | ||
2570 | <context context-type="linenumber">1</context> | ||
2571 | </context-group> | ||
2572 | </trans-unit> | ||
2573 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2401 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2574 | <source>Unable to find user id or verification string.</source> | 2402 | <source>Unable to find user id or verification string.</source> |
2575 | <target>Ezin izan da erabiltzailearen id-a edo berreste katea aurkitu.</target> | 2403 | <target>Ezin izan da erabiltzailearen id-a edo berreste katea aurkitu.</target> |
@@ -2584,6 +2412,20 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
2584 | <context context-type="linenumber">1</context> | 2412 | <context context-type="linenumber">1</context> |
2585 | </context-group> | 2413 | </context-group> |
2586 | </trans-unit> | 2414 | </trans-unit> |
2415 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2416 | <source>Today</source> | ||
2417 | <target>Gaur</target> | ||
2418 | <context-group name="null"> | ||
2419 | <context context-type="linenumber">1</context> | ||
2420 | </context-group> | ||
2421 | </trans-unit> | ||
2422 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2423 | <source>Search</source> | ||
2424 | <target>Bilatu</target> | ||
2425 | <context-group name="null"> | ||
2426 | <context context-type="linenumber">1</context> | ||
2427 | </context-group> | ||
2428 | </trans-unit> | ||
2587 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2429 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2588 | <source>Instance name is required.</source> | 2430 | <source>Instance name is required.</source> |
2589 | <target>Instantziaren izena behar da.</target> | 2431 | <target>Instantziaren izena behar da.</target> |
@@ -3270,13 +3112,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
3270 | <context context-type="linenumber">1</context> | 3112 | <context context-type="linenumber">1</context> |
3271 | </context-group> | 3113 | </context-group> |
3272 | </trans-unit> | 3114 | </trans-unit> |
3273 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3274 | <source>Today</source> | ||
3275 | <target>Gaur</target> | ||
3276 | <context-group name="null"> | ||
3277 | <context context-type="linenumber">1</context> | ||
3278 | </context-group> | ||
3279 | </trans-unit> | ||
3280 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3115 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3281 | <source>Clear</source> | 3116 | <source>Clear</source> |
3282 | <target>Garbitu</target> | 3117 | <target>Garbitu</target> |
@@ -3480,13 +3315,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
3480 | <context context-type="linenumber">1</context> | 3315 | <context context-type="linenumber">1</context> |
3481 | </context-group> | 3316 | </context-group> |
3482 | </trans-unit> | 3317 | </trans-unit> |
3483 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3484 | <source>This image is too large.</source> | ||
3485 | <target>Irudi hau handiegia da.</target> | ||
3486 | <context-group name="null"> | ||
3487 | <context context-type="linenumber">1</context> | ||
3488 | </context-group> | ||
3489 | </trans-unit> | ||
3490 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3318 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3491 | <source>Your video was uploaded in your account and is private.</source> | 3319 | <source>Your video was uploaded in your account and is private.</source> |
3492 | <target>Zure bideoa zure kontura igo da eta pribatua da.</target> | 3320 | <target>Zure bideoa zure kontura igo da eta pribatua da.</target> |
@@ -3522,13 +3350,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
3522 | <context context-type="linenumber">1</context> | 3350 | <context context-type="linenumber">1</context> |
3523 | </context-group> | 3351 | </context-group> |
3524 | </trans-unit> | 3352 | </trans-unit> |
3525 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3526 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3527 | <target>PeerTube-k ezin ditu 4GB-tik gorako bideoak kudeatu</target> | ||
3528 | <context-group name="null"> | ||
3529 | <context context-type="linenumber">1</context> | ||
3530 | </context-group> | ||
3531 | </trans-unit> | ||
3532 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3353 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3533 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3354 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3534 | <target>Zure bideo-kuota bideo honekin gainditzen da (bideoaren tamaina: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, erabilia: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, kuota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3355 | <target>Zure bideo-kuota bideo honekin gainditzen da (bideoaren tamaina: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, erabilia: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, kuota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3599,13 +3420,6 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
3599 | <context context-type="linenumber">1</context> | 3420 | <context context-type="linenumber">1</context> |
3600 | </context-group> | 3421 | </context-group> |
3601 | </trans-unit> | 3422 | </trans-unit> |
3602 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3603 | <source>Cannot fetch video from server, maybe down.</source> | ||
3604 | <target>Ezin da bideoa zerbitzaritik eskuratu, agian erorita dago.</target> | ||
3605 | <context-group name="null"> | ||
3606 | <context context-type="linenumber">1</context> | ||
3607 | </context-group> | ||
3608 | </trans-unit> | ||
3609 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3423 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3610 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3424 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3611 | <target>Bideo honek helduentzako edo hunkigarria den edukia du. Ziur ikusi nahi duzula?</target> | 3425 | <target>Bideo honek helduentzako edo hunkigarria den edukia du. Ziur ikusi nahi duzula?</target> |
@@ -3620,12 +3434,5 @@ Ezin izan dugu bilatzen duzun orria aurkitu. | |||
3620 | <context context-type="linenumber">1</context> | 3434 | <context context-type="linenumber">1</context> |
3621 | </context-group> | 3435 | </context-group> |
3622 | </trans-unit> | 3436 | </trans-unit> |
3623 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3624 | <source>Search</source> | ||
3625 | <target>Bilatu</target> | ||
3626 | <context-group name="null"> | ||
3627 | <context context-type="linenumber">1</context> | ||
3628 | </context-group> | ||
3629 | </trans-unit> | ||
3630 | </body> | 3437 | </body> |
3631 | </file></xliff> \ No newline at end of file | 3438 | </file></xliff> \ 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 681f65e7f..fffa43842 100644 --- a/client/src/locale/target/angular_fr_FR.xml +++ b/client/src/locale/target/angular_fr_FR.xml | |||
@@ -10,14 +10,14 @@ | |||
10 | <target> | 10 | <target> |
11 | Annuler</target> | 11 | Annuler</target> |
12 | <context-group name="null"> | 12 | <context-group name="null"> |
13 | <context context-type="linenumber">40</context> | 13 | <context context-type="linenumber">45</context> |
14 | </context-group> | 14 | </context-group> |
15 | </trans-unit> | 15 | </trans-unit> |
16 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 16 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
17 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 17 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
18 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues</target> | 18 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues</target> |
19 | <context-group name="null"> | 19 | <context-group name="null"> |
20 | <context context-type="linenumber">12</context> | 20 | <context context-type="linenumber">34</context> |
21 | </context-group> | 21 | </context-group> |
22 | </trans-unit> | 22 | </trans-unit> |
23 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 23 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -45,7 +45,7 @@ | |||
45 | <source>Get help</source> | 45 | <source>Get help</source> |
46 | <target>Obtenir de l'aide</target> | 46 | <target>Obtenir de l'aide</target> |
47 | <context-group name="null"> | 47 | <context-group name="null"> |
48 | <context context-type="linenumber">17</context> | 48 | <context context-type="linenumber">18</context> |
49 | </context-group> | 49 | </context-group> |
50 | </trans-unit> | 50 | </trans-unit> |
51 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 51 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -105,7 +105,7 @@ | |||
105 | <source>Password</source> | 105 | <source>Password</source> |
106 | <target>Mot de passe</target> | 106 | <target>Mot de passe</target> |
107 | <context-group name="null"> | 107 | <context-group name="null"> |
108 | <context context-type="linenumber">28</context> | 108 | <context context-type="linenumber">12</context> |
109 | </context-group> | 109 | </context-group> |
110 | </trans-unit> | 110 | </trans-unit> |
111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -327,6 +327,27 @@ | |||
327 | <context context-type="linenumber">9</context> | 327 | <context context-type="linenumber">9</context> |
328 | </context-group> | 328 | </context-group> |
329 | </trans-unit> | 329 | </trans-unit> |
330 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
331 | <source>Category</source> | ||
332 | <target>Catégorie</target> | ||
333 | <context-group name="null"> | ||
334 | <context context-type="linenumber">144</context> | ||
335 | </context-group> | ||
336 | </trans-unit> | ||
337 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
338 | <source>Licence</source> | ||
339 | <target>Licence</target> | ||
340 | <context-group name="null"> | ||
341 | <context context-type="linenumber">153</context> | ||
342 | </context-group> | ||
343 | </trans-unit> | ||
344 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
345 | <source>Language</source> | ||
346 | <target>Langage</target> | ||
347 | <context-group name="null"> | ||
348 | <context context-type="linenumber">162</context> | ||
349 | </context-group> | ||
350 | </trans-unit> | ||
330 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 351 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
331 | <source>No results.</source> | 352 | <source>No results.</source> |
332 | <target>Aucun résultat.</target> | 353 | <target>Aucun résultat.</target> |
@@ -553,21 +574,6 @@ | |||
553 | <context context-type="linenumber">51</context> | 574 | <context context-type="linenumber">51</context> |
554 | </context-group> | 575 | </context-group> |
555 | </trans-unit> | 576 | </trans-unit> |
556 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
557 | <source> | ||
558 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
559 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
560 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
561 | </source> | ||
562 | <target> | ||
563 | Les pairs Web ne sont pas envoyés directement par le tracker : parce que nous utilisons WebRTC à l'intérieur du navigateur Web, le protocole est différent de BitTorrent classique. | ||
564 | Lorsque vous êtes dans un navigateur Web, vous envoyez un signal contenant votre adresse IP au traqueur qui choisira au hasard d'autres pairs pour transmettre l'information. | ||
565 | Voir <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>ce document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> pour plus d'information | ||
566 | </target> | ||
567 | <context-group name="null"> | ||
568 | <context context-type="linenumber">55</context> | ||
569 | </context-group> | ||
570 | </trans-unit> | ||
571 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 577 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
572 | <source> | 578 | <source> |
573 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 579 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -580,13 +586,6 @@ | |||
580 | <context context-type="linenumber">62</context> | 586 | <context context-type="linenumber">62</context> |
581 | </context-group> | 587 | </context-group> |
582 | </trans-unit> | 588 | </trans-unit> |
583 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
584 | <source>How does PeerTube compares to YouTube?</source> | ||
585 | <target>Quelles sont les différences entre PeerTube et YouTube ?</target> | ||
586 | <context-group name="null"> | ||
587 | <context context-type="linenumber">67</context> | ||
588 | </context-group> | ||
589 | </trans-unit> | ||
590 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 589 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
591 | <source> | 590 | <source> |
592 | The threats to privacy in YouTube are different from PeerTube's. | 591 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -803,42 +802,42 @@ | |||
803 | <source>Signup enabled</source> | 802 | <source>Signup enabled</source> |
804 | <target>Enregistrement activé</target> | 803 | <target>Enregistrement activé</target> |
805 | <context-group name="null"> | 804 | <context-group name="null"> |
806 | <context context-type="linenumber">92</context> | 805 | <context context-type="linenumber">90</context> |
807 | </context-group> | 806 | </context-group> |
808 | </trans-unit> | 807 | </trans-unit> |
809 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 808 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
810 | <source>Signup limit</source> | 809 | <source>Signup limit</source> |
811 | <target>Limitation des enregistrements</target> | 810 | <target>Limitation des enregistrements</target> |
812 | <context-group name="null"> | 811 | <context-group name="null"> |
813 | <context context-type="linenumber">96</context> | 812 | <context context-type="linenumber">94</context> |
814 | </context-group> | 813 | </context-group> |
815 | </trans-unit> | 814 | </trans-unit> |
816 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 815 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
817 | <source>Administrator</source> | 816 | <source>Administrator</source> |
818 | <target>Administrateur</target> | 817 | <target>Administrateur</target> |
819 | <context-group name="null"> | 818 | <context-group name="null"> |
820 | <context context-type="linenumber">106</context> | 819 | <context context-type="linenumber">104</context> |
821 | </context-group> | 820 | </context-group> |
822 | </trans-unit> | 821 | </trans-unit> |
823 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 822 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
824 | <source>Admin email</source> | 823 | <source>Admin email</source> |
825 | <target>Email de l'administrateur</target> | 824 | <target>Email de l'administrateur</target> |
826 | <context-group name="null"> | 825 | <context-group name="null"> |
827 | <context context-type="linenumber">109</context> | 826 | <context context-type="linenumber">107</context> |
828 | </context-group> | 827 | </context-group> |
829 | </trans-unit> | 828 | </trans-unit> |
830 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 829 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
831 | <source>Users</source> | 830 | <source>Users</source> |
832 | <target>Utilisateurs</target> | 831 | <target>Utilisateurs</target> |
833 | <context-group name="null"> | 832 | <context-group name="null"> |
834 | <context context-type="linenumber">119</context> | 833 | <context context-type="linenumber">117</context> |
835 | </context-group> | 834 | </context-group> |
836 | </trans-unit> | 835 | </trans-unit> |
837 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 836 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
838 | <source>User default video quota</source> | 837 | <source>User default video quota</source> |
839 | <target>Quota de vidéos par défaut par utilisateur </target> | 838 | <target>Quota de vidéos par défaut par utilisateur </target> |
840 | <context-group name="null"> | 839 | <context-group name="null"> |
841 | <context context-type="linenumber">122</context> | 840 | <context context-type="linenumber">120</context> |
842 | </context-group> | 841 | </context-group> |
843 | </trans-unit> | 842 | </trans-unit> |
844 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 843 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -852,28 +851,28 @@ | |||
852 | <source>Twitter</source> | 851 | <source>Twitter</source> |
853 | <target>Twitter</target> | 852 | <target>Twitter</target> |
854 | <context-group name="null"> | 853 | <context-group name="null"> |
855 | <context context-type="linenumber">138</context> | 854 | <context context-type="linenumber">136</context> |
856 | </context-group> | 855 | </context-group> |
857 | </trans-unit> | 856 | </trans-unit> |
858 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 857 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
859 | <source>Your Twitter username</source> | 858 | <source>Your Twitter username</source> |
860 | <target>Votre identifiant Twitter</target> | 859 | <target>Votre identifiant Twitter</target> |
861 | <context-group name="null"> | 860 | <context-group name="null"> |
862 | <context context-type="linenumber">141</context> | 861 | <context context-type="linenumber">139</context> |
863 | </context-group> | 862 | </context-group> |
864 | </trans-unit> | 863 | </trans-unit> |
865 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 864 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
866 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 865 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
867 | <target>Indique le compte Twitter pour le site ou la plateforme sur laquelle le contenu a été publié.</target> | 866 | <target>Indique le compte Twitter pour le site ou la plateforme sur laquelle le contenu a été publié.</target> |
868 | <context-group name="null"> | 867 | <context-group name="null"> |
869 | <context context-type="linenumber">144</context> | 868 | <context context-type="linenumber">142</context> |
870 | </context-group> | 869 | </context-group> |
871 | </trans-unit> | 870 | </trans-unit> |
872 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 871 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
873 | <source>Instance whitelisted by Twitter</source> | 872 | <source>Instance whitelisted by Twitter</source> |
874 | <target>Instance sur la liste blanche de Twitter</target> | 873 | <target>Instance sur la liste blanche de Twitter</target> |
875 | <context-group name="null"> | 874 | <context-group name="null"> |
876 | <context context-type="linenumber">159</context> | 875 | <context context-type="linenumber">155</context> |
877 | </context-group> | 876 | </context-group> |
878 | </trans-unit> | 877 | </trans-unit> |
879 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 878 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -884,91 +883,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
884 | Si l'instance n'est pas sur liste blanche, nous utilisons une lien-image qui redirigera sur votre instance PeerTube.<br /><br /> | 883 | Si l'instance n'est pas sur liste blanche, nous utilisons une lien-image qui redirigera sur votre instance PeerTube.<br /><br /> |
885 | Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidéo de votre instance (https://example.com/videos/watch/blabla) sur <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> pour voir si votre instance est sur liste blanche.</target> | 884 | Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidéo de votre instance (https://example.com/videos/watch/blabla) sur <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> pour voir si votre instance est sur liste blanche.</target> |
886 | <context-group name="null"> | 885 | <context-group name="null"> |
887 | <context context-type="linenumber">162</context> | 886 | <context context-type="linenumber">156</context> |
888 | </context-group> | 887 | </context-group> |
889 | </trans-unit> | 888 | </trans-unit> |
890 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 889 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
891 | <source>Services</source> | 890 | <source>Services</source> |
892 | <target>Services</target> | 891 | <target>Services</target> |
893 | <context-group name="null"> | 892 | <context-group name="null"> |
894 | <context context-type="linenumber">136</context> | 893 | <context context-type="linenumber">134</context> |
895 | </context-group> | 894 | </context-group> |
896 | </trans-unit> | 895 | </trans-unit> |
897 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 896 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
898 | <source>Transcoding</source> | 897 | <source>Transcoding</source> |
899 | <target>Encodage</target> | 898 | <target>Encodage</target> |
900 | <context-group name="null"> | 899 | <context-group name="null"> |
901 | <context context-type="linenumber">172</context> | 900 | <context context-type="linenumber">164</context> |
902 | </context-group> | 901 | </context-group> |
903 | </trans-unit> | 902 | </trans-unit> |
904 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 903 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
905 | <source>Transcoding enabled</source> | 904 | <source>Transcoding enabled</source> |
906 | <target>Encodage activé</target> | 905 | <target>Encodage activé</target> |
907 | <context-group name="null"> | 906 | <context-group name="null"> |
908 | <context context-type="linenumber">178</context> | 907 | <context context-type="linenumber">168</context> |
909 | </context-group> | 908 | </context-group> |
910 | </trans-unit> | 909 | </trans-unit> |
911 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 910 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
912 | <source>If you disable transcoding, many videos from your users will not work!</source> | 911 | <source>If you disable transcoding, many videos from your users will not work!</source> |
913 | <target>Si vous désactivez le transcodage, de nombreuses vidéos d'utilisateurs ne fonctionneront pas !</target> | 912 | <target>Si vous désactivez le transcodage, de nombreuses vidéos d'utilisateurs ne fonctionneront pas !</target> |
914 | <context-group name="null"> | 913 | <context-group name="null"> |
915 | <context context-type="linenumber">180</context> | 914 | <context context-type="linenumber">169</context> |
916 | </context-group> | 915 | </context-group> |
917 | </trans-unit> | 916 | </trans-unit> |
918 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 917 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
919 | <source>Transcoding threads</source> | 918 | <source>Transcoding threads</source> |
920 | <target>Nombre de threads pour l'encodage</target> | 919 | <target>Nombre de threads pour l'encodage</target> |
921 | <context-group name="null"> | 920 | <context-group name="null"> |
922 | <context context-type="linenumber">186</context> | 921 | <context context-type="linenumber">175</context> |
923 | </context-group> | ||
924 | </trans-unit> | ||
925 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
926 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
927 | <target>Définition <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> activée</target> | ||
928 | <context-group name="null"> | ||
929 | <context context-type="linenumber">205</context> | ||
930 | </context-group> | ||
931 | </trans-unit> | ||
932 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
933 | <source>Cache</source> | ||
934 | <target>Cache</target> | ||
935 | <context-group name="null"> | ||
936 | <context context-type="linenumber">209</context> | ||
937 | </context-group> | 922 | </context-group> |
938 | </trans-unit> | 923 | </trans-unit> |
939 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 924 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
940 | <source>Previews cache size</source> | 925 | <source>Previews cache size</source> |
941 | <target>Taille du cache des prévisualisations </target> | 926 | <target>Taille du cache des prévisualisations </target> |
942 | <context-group name="null"> | 927 | <context-group name="null"> |
943 | <context context-type="linenumber">212</context> | 928 | <context context-type="linenumber">207</context> |
944 | </context-group> | ||
945 | </trans-unit> | ||
946 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
947 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
948 | <target>Les aperçus ne sont pas fédérés. Nous les récupérons directement de l'instance d'origine, et les mettons en cache.</target> | ||
949 | <context-group name="null"> | ||
950 | <context context-type="linenumber">215</context> | ||
951 | </context-group> | 929 | </context-group> |
952 | </trans-unit> | 930 | </trans-unit> |
953 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 931 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
954 | <source>Customizations</source> | 932 | <source>Customizations</source> |
955 | <target>Personnalisations</target> | 933 | <target>Personnalisations</target> |
956 | <context-group name="null"> | 934 | <context-group name="null"> |
957 | <context context-type="linenumber">227</context> | 935 | <context context-type="linenumber">228</context> |
958 | </context-group> | 936 | </context-group> |
959 | </trans-unit> | 937 | </trans-unit> |
960 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 938 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
961 | <source>JavaScript</source> | 939 | <source>JavaScript</source> |
962 | <target>JavaScript</target> | 940 | <target>JavaScript</target> |
963 | <context-group name="null"> | 941 | <context-group name="null"> |
964 | <context context-type="linenumber">230</context> | 942 | <context context-type="linenumber">231</context> |
965 | </context-group> | 943 | </context-group> |
966 | </trans-unit> | 944 | </trans-unit> |
967 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 945 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
968 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 946 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
969 | <target>Écrivez directement du code JavaScript.<br />Exemple : <pre>console.log('mon instance est super géniale');</pre></target> | 947 | <target>Écrivez directement du code JavaScript.<br />Exemple : <pre>console.log('mon instance est super géniale');</pre></target> |
970 | <context-group name="null"> | 948 | <context-group name="null"> |
971 | <context context-type="linenumber">233</context> | 949 | <context context-type="linenumber">234</context> |
972 | </context-group> | 950 | </context-group> |
973 | </trans-unit> | 951 | </trans-unit> |
974 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 952 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -1003,28 +981,28 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé | |||
1003 | </pre> | 981 | </pre> |
1004 | </target> | 982 | </target> |
1005 | <context-group name="null"> | 983 | <context-group name="null"> |
1006 | <context context-type="linenumber">249</context> | 984 | <context context-type="linenumber">250</context> |
1007 | </context-group> | 985 | </context-group> |
1008 | </trans-unit> | 986 | </trans-unit> |
1009 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 987 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1010 | <source>Advanced configuration</source> | 988 | <source>Advanced configuration</source> |
1011 | <target>Configuration avancée</target> | 989 | <target>Configuration avancée</target> |
1012 | <context-group name="null"> | 990 | <context-group name="null"> |
1013 | <context context-type="linenumber">170</context> | 991 | <context context-type="linenumber">162</context> |
1014 | </context-group> | 992 | </context-group> |
1015 | </trans-unit> | 993 | </trans-unit> |
1016 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 994 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1017 | <source>Update configuration</source> | 995 | <source>Update configuration</source> |
1018 | <target>Mettre à jour la configuration</target> | 996 | <target>Mettre à jour la configuration</target> |
1019 | <context-group name="null"> | 997 | <context-group name="null"> |
1020 | <context context-type="linenumber">276</context> | 998 | <context context-type="linenumber">277</context> |
1021 | </context-group> | 999 | </context-group> |
1022 | </trans-unit> | 1000 | </trans-unit> |
1023 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 1001 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1024 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 1002 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1025 | <target>Il semblerait que la configuration soit invalide. Merci de chercher des erreurs potentielles dans les différents onglets.</target> | 1003 | <target>Il semblerait que la configuration soit invalide. Merci de chercher des erreurs potentielles dans les différents onglets.</target> |
1026 | <context-group name="null"> | 1004 | <context-group name="null"> |
1027 | <context context-type="linenumber">277</context> | 1005 | <context context-type="linenumber">278</context> |
1028 | </context-group> | 1006 | </context-group> |
1029 | </trans-unit> | 1007 | </trans-unit> |
1030 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1008 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1174,13 +1152,6 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé | |||
1174 | <context context-type="linenumber">19</context> | 1152 | <context context-type="linenumber">19</context> |
1175 | </context-group> | 1153 | </context-group> |
1176 | </trans-unit> | 1154 | </trans-unit> |
1177 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1178 | <source>Updated</source> | ||
1179 | <target>Mis à jour</target> | ||
1180 | <context-group name="null"> | ||
1181 | <context context-type="linenumber">22</context> | ||
1182 | </context-group> | ||
1183 | </trans-unit> | ||
1184 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1155 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1185 | <source>Create user</source> | 1156 | <source>Create user</source> |
1186 | <target>Créer un utilisateur</target> | 1157 | <target>Créer un utilisateur</target> |
@@ -1355,53 +1326,32 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé | |||
1355 | <context context-type="linenumber">7</context> | 1326 | <context context-type="linenumber">7</context> |
1356 | </context-group> | 1327 | </context-group> |
1357 | </trans-unit> | 1328 | </trans-unit> |
1358 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1359 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1360 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> abonnés</target> | ||
1361 | <context-group name="null"> | ||
1362 | <context context-type="linenumber">9</context> | ||
1363 | </context-group> | ||
1364 | </trans-unit> | ||
1365 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1366 | <source>Change your avatar</source> | ||
1367 | <target>Changer son avatar</target> | ||
1368 | <context-group name="null"> | ||
1369 | <context context-type="linenumber">14</context> | ||
1370 | </context-group> | ||
1371 | </trans-unit> | ||
1372 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1373 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1374 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1375 | <context-group name="null"> | ||
1376 | <context context-type="linenumber">17</context> | ||
1377 | </context-group> | ||
1378 | </trans-unit> | ||
1379 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1329 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1380 | <source>Video quota:</source> | 1330 | <source>Video quota:</source> |
1381 | <target>Quota de vidéos :</target> | 1331 | <target>Quota de vidéos :</target> |
1382 | <context-group name="null"> | 1332 | <context-group name="null"> |
1383 | <context context-type="linenumber">20</context> | 1333 | <context context-type="linenumber">4</context> |
1384 | </context-group> | 1334 | </context-group> |
1385 | </trans-unit> | 1335 | </trans-unit> |
1386 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1336 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1387 | <source>Profile</source> | 1337 | <source>Profile</source> |
1388 | <target>Profil</target> | 1338 | <target>Profil</target> |
1389 | <context-group name="null"> | 1339 | <context-group name="null"> |
1390 | <context context-type="linenumber">24</context> | 1340 | <context context-type="linenumber">8</context> |
1391 | </context-group> | 1341 | </context-group> |
1392 | </trans-unit> | 1342 | </trans-unit> |
1393 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1343 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1394 | <source>Video settings</source> | 1344 | <source>Video settings</source> |
1395 | <target>Paramètres de la vidéo</target> | 1345 | <target>Paramètres de la vidéo</target> |
1396 | <context-group name="null"> | 1346 | <context-group name="null"> |
1397 | <context context-type="linenumber">31</context> | 1347 | <context context-type="linenumber">15</context> |
1398 | </context-group> | 1348 | </context-group> |
1399 | </trans-unit> | 1349 | </trans-unit> |
1400 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1350 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1401 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1351 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1402 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues</target> | 1352 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues</target> |
1403 | <context-group name="null"> | 1353 | <context-group name="null"> |
1404 | <context context-type="linenumber">20</context> | 1354 | <context context-type="linenumber">19</context> |
1405 | </context-group> | 1355 | </context-group> |
1406 | </trans-unit> | 1356 | </trans-unit> |
1407 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1357 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1429,14 +1379,7 @@ Cochez cette case, sauvegardez la configuration et testez avec l'URL d'une vidé | |||
1429 | <source>Create a video channel</source> | 1379 | <source>Create a video channel</source> |
1430 | <target>Créer une chaîne vidéo</target> | 1380 | <target>Créer une chaîne vidéo</target> |
1431 | <context-group name="null"> | 1381 | <context-group name="null"> |
1432 | <context context-type="linenumber">1</context> | 1382 | <context context-type="linenumber">6</context> |
1433 | </context-group> | ||
1434 | </trans-unit> | ||
1435 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1436 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1437 | <target>Mettre à jour <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1438 | <context-group name="null"> | ||
1439 | <context context-type="linenumber">2</context> | ||
1440 | </context-group> | 1383 | </context-group> |
1441 | </trans-unit> | 1384 | </trans-unit> |
1442 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1385 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1452,7 +1395,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1452 | <target>Texte court pour décrire les moyens mis à disposition de ceux qui souhaiteraient vous soutenir (plateforme de financement participatif, etc.).<br /><br /> | 1395 | <target>Texte court pour décrire les moyens mis à disposition de ceux qui souhaiteraient vous soutenir (plateforme de financement participatif, etc.).<br /><br /> |
1453 | Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera automatiquement un bouton pour afficher ce texte.</target> | 1396 | Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera automatiquement un bouton pour afficher ce texte.</target> |
1454 | <context-group name="null"> | 1397 | <context-group name="null"> |
1455 | <context context-type="linenumber">32</context> | 1398 | <context context-type="linenumber">36</context> |
1456 | </context-group> | 1399 | </context-group> |
1457 | </trans-unit> | 1400 | </trans-unit> |
1458 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1401 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1487,14 +1430,14 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1487 | <source>Automatically plays video</source> | 1430 | <source>Automatically plays video</source> |
1488 | <target>Lire automatiquement les vidéos</target> | 1431 | <target>Lire automatiquement les vidéos</target> |
1489 | <context-group name="null"> | 1432 | <context-group name="null"> |
1490 | <context context-type="linenumber">24</context> | 1433 | <context context-type="linenumber">20</context> |
1491 | </context-group> | 1434 | </context-group> |
1492 | </trans-unit> | 1435 | </trans-unit> |
1493 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1436 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1494 | <source>Save</source> | 1437 | <source>Save</source> |
1495 | <target>Enregistrer</target> | 1438 | <target>Enregistrer</target> |
1496 | <context-group name="null"> | 1439 | <context-group name="null"> |
1497 | <context context-type="linenumber">27</context> | 1440 | <context context-type="linenumber">23</context> |
1498 | </context-group> | 1441 | </context-group> |
1499 | </trans-unit> | 1442 | </trans-unit> |
1500 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1443 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1504,6 +1447,13 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1504 | <context context-type="linenumber">27</context> | 1447 | <context context-type="linenumber">27</context> |
1505 | </context-group> | 1448 | </context-group> |
1506 | </trans-unit> | 1449 | </trans-unit> |
1450 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1451 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1452 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1453 | <context-group name="null"> | ||
1454 | <context context-type="linenumber">18</context> | ||
1455 | </context-group> | ||
1456 | </trans-unit> | ||
1507 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1457 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1508 | <source> | 1458 | <source> |
1509 | Sorry, but we couldn't find the page you were looking for. | 1459 | Sorry, but we couldn't find the page you were looking for. |
@@ -1575,21 +1525,21 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1575 | <source>Privacy</source> | 1525 | <source>Privacy</source> |
1576 | <target>Confidentialité</target> | 1526 | <target>Confidentialité</target> |
1577 | <context-group name="null"> | 1527 | <context-group name="null"> |
1578 | <context context-type="linenumber">86</context> | 1528 | <context context-type="linenumber">139</context> |
1579 | </context-group> | 1529 | </context-group> |
1580 | </trans-unit> | 1530 | </trans-unit> |
1581 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1531 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1582 | <source>Publish will be available when upload is finished</source> | 1532 | <source>Publish will be available when upload is finished</source> |
1583 | <target>Vous pourrez publier cette vidéo lorsque l'envoi sera terminé</target> | 1533 | <target>Vous pourrez publier cette vidéo lorsque l'envoi sera terminé</target> |
1584 | <context-group name="null"> | 1534 | <context-group name="null"> |
1585 | <context context-type="linenumber">53</context> | 1535 | <context context-type="linenumber">54</context> |
1586 | </context-group> | 1536 | </context-group> |
1587 | </trans-unit> | 1537 | </trans-unit> |
1588 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1538 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1589 | <source>Publish</source> | 1539 | <source>Publish</source> |
1590 | <target>Publier</target> | 1540 | <target>Publier</target> |
1591 | <context-group name="null"> | 1541 | <context-group name="null"> |
1592 | <context context-type="linenumber">60</context> | 1542 | <context context-type="linenumber">61</context> |
1593 | </context-group> | 1543 | </context-group> |
1594 | </trans-unit> | 1544 | </trans-unit> |
1595 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1545 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1603,7 +1553,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1603 | <source>Tags</source> | 1553 | <source>Tags</source> |
1604 | <target>Étiquettes</target> | 1554 | <target>Étiquettes</target> |
1605 | <context-group name="null"> | 1555 | <context-group name="null"> |
1606 | <context context-type="linenumber">15</context> | 1556 | <context context-type="linenumber">171</context> |
1607 | </context-group> | 1557 | </context-group> |
1608 | </trans-unit> | 1558 | </trans-unit> |
1609 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1559 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1620,27 +1570,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1620 | <context context-type="linenumber">24</context> | 1570 | <context context-type="linenumber">24</context> |
1621 | </context-group> | 1571 | </context-group> |
1622 | </trans-unit> | 1572 | </trans-unit> |
1623 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1624 | <source>Category</source> | ||
1625 | <target>Catégorie</target> | ||
1626 | <context-group name="null"> | ||
1627 | <context context-type="linenumber">44</context> | ||
1628 | </context-group> | ||
1629 | </trans-unit> | ||
1630 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1631 | <source>Licence</source> | ||
1632 | <target>Licence</target> | ||
1633 | <context-group name="null"> | ||
1634 | <context context-type="linenumber">58</context> | ||
1635 | </context-group> | ||
1636 | </trans-unit> | ||
1637 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1638 | <source>Language</source> | ||
1639 | <target>Langage</target> | ||
1640 | <context-group name="null"> | ||
1641 | <context context-type="linenumber">72</context> | ||
1642 | </context-group> | ||
1643 | </trans-unit> | ||
1644 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1573 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1645 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1574 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1646 | <target>Programmation de la publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1575 | <target>Programmation de la publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1652,35 +1581,28 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1652 | <source>This video contains mature or explicit content</source> | 1581 | <source>This video contains mature or explicit content</source> |
1653 | <target>Cette vidéo contient du contenu sensible</target> | 1582 | <target>Cette vidéo contient du contenu sensible</target> |
1654 | <context-group name="null"> | 1583 | <context-group name="null"> |
1655 | <context context-type="linenumber">116</context> | 1584 | <context context-type="linenumber">115</context> |
1656 | </context-group> | 1585 | </context-group> |
1657 | </trans-unit> | 1586 | </trans-unit> |
1658 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1587 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1659 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1588 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1660 | <target>Certaines instances ne listent pas, par défaut, des vidéos sensibles ou avec du contenu pour adultes.</target> | 1589 | <target>Certaines instances ne listent pas, par défaut, des vidéos sensibles ou avec du contenu pour adultes.</target> |
1661 | <context-group name="null"> | 1590 | <context-group name="null"> |
1662 | <context context-type="linenumber">119</context> | 1591 | <context context-type="linenumber">116</context> |
1663 | </context-group> | 1592 | </context-group> |
1664 | </trans-unit> | 1593 | </trans-unit> |
1665 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1594 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1666 | <source>Enable video comments</source> | 1595 | <source>Enable video comments</source> |
1667 | <target>Activer les commentaires</target> | 1596 | <target>Activer les commentaires</target> |
1668 | <context-group name="null"> | 1597 | <context-group name="null"> |
1669 | <context context-type="linenumber">126</context> | 1598 | <context context-type="linenumber">121</context> |
1670 | </context-group> | 1599 | </context-group> |
1671 | </trans-unit> | 1600 | </trans-unit> |
1672 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1601 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1673 | <source>Wait transcoding before publishing the video</source> | 1602 | <source>Wait transcoding before publishing the video</source> |
1674 | <target>Attendre l'encodage avant de publier la vidéo</target> | 1603 | <target>Attendre l'encodage avant de publier la vidéo</target> |
1675 | <context-group name="null"> | 1604 | <context-group name="null"> |
1676 | <context context-type="linenumber">132</context> | 1605 | <context context-type="linenumber">126</context> |
1677 | </context-group> | ||
1678 | </trans-unit> | ||
1679 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1680 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1681 | <target>Si vous décidez de ne pas attendre la fin de l'encodage avant de publier la vidéo, elle ne pourra être lue jusqu'à ce que l'encodage s'achève.</target> | ||
1682 | <context-group name="null"> | ||
1683 | <context context-type="linenumber">135</context> | ||
1684 | </context-group> | 1606 | </context-group> |
1685 | </trans-unit> | 1607 | </trans-unit> |
1686 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1608 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1694,42 +1616,35 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1694 | <source>Upload thumbnail</source> | 1616 | <source>Upload thumbnail</source> |
1695 | <target>Téléverser une vignette</target> | 1617 | <target>Téléverser une vignette</target> |
1696 | <context-group name="null"> | 1618 | <context-group name="null"> |
1697 | <context context-type="linenumber">146</context> | 1619 | <context context-type="linenumber">186</context> |
1698 | </context-group> | 1620 | </context-group> |
1699 | </trans-unit> | 1621 | </trans-unit> |
1700 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1622 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1701 | <source>Upload preview</source> | 1623 | <source>Upload preview</source> |
1702 | <target>Téléverser un aperçu</target> | 1624 | <target>Téléverser un aperçu</target> |
1703 | <context-group name="null"> | 1625 | <context-group name="null"> |
1704 | <context context-type="linenumber">153</context> | 1626 | <context context-type="linenumber">193</context> |
1705 | </context-group> | 1627 | </context-group> |
1706 | </trans-unit> | 1628 | </trans-unit> |
1707 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1629 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1708 | <source>Support</source> | 1630 | <source>Support</source> |
1709 | <target>Soutenir</target> | 1631 | <target>Soutenir</target> |
1710 | <context-group name="null"> | 1632 | <context-group name="null"> |
1711 | <context context-type="linenumber">59</context> | 1633 | <context context-type="linenumber">67</context> |
1712 | </context-group> | 1634 | </context-group> |
1713 | </trans-unit> | 1635 | </trans-unit> |
1714 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1636 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1715 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1637 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1716 | <target>Courte description des moyens qu'ont les utilisateurs de vous soutenir (financement participatif, etc.).</target> | 1638 | <target>Courte description des moyens qu'ont les utilisateurs de vous soutenir (financement participatif, etc.).</target> |
1717 | <context-group name="null"> | 1639 | <context-group name="null"> |
1718 | <context context-type="linenumber">160</context> | 1640 | <context context-type="linenumber">200</context> |
1719 | </context-group> | 1641 | </context-group> |
1720 | </trans-unit> | 1642 | </trans-unit> |
1721 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1643 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1722 | <source>Advanced settings</source> | 1644 | <source>Advanced settings</source> |
1723 | <target>Paramétrage avancé</target> | 1645 | <target>Paramétrage avancé</target> |
1724 | <context-group name="null"> | 1646 | <context-group name="null"> |
1725 | <context context-type="linenumber">142</context> | 1647 | <context context-type="linenumber">182</context> |
1726 | </context-group> | ||
1727 | </trans-unit> | ||
1728 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1729 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1730 | <target>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1731 | <context-group name="null"> | ||
1732 | <context context-type="linenumber">11</context> | ||
1733 | </context-group> | 1648 | </context-group> |
1734 | </trans-unit> | 1649 | </trans-unit> |
1735 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1650 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1747,7 +1662,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1747 | <source>Update</source> | 1662 | <source>Update</source> |
1748 | <target>Mettre à jour</target> | 1663 | <target>Mettre à jour</target> |
1749 | <context-group name="null"> | 1664 | <context-group name="null"> |
1750 | <context context-type="linenumber">93</context> | 1665 | <context context-type="linenumber">101</context> |
1751 | </context-group> | 1666 | </context-group> |
1752 | </trans-unit> | 1667 | </trans-unit> |
1753 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1668 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1757,32 +1672,18 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1757 | <context context-type="linenumber">7</context> | 1672 | <context context-type="linenumber">7</context> |
1758 | </context-group> | 1673 | </context-group> |
1759 | </trans-unit> | 1674 | </trans-unit> |
1760 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1761 | <source>Torrent</source> | ||
1762 | <target>Torrent (fichier metainfo)</target> | ||
1763 | <context-group name="null"> | ||
1764 | <context context-type="linenumber">20</context> | ||
1765 | </context-group> | ||
1766 | </trans-unit> | ||
1767 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1675 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1768 | <source>Direct download</source> | 1676 | <source>Direct download</source> |
1769 | <target>Téléchargement direct</target> | 1677 | <target>Téléchargement direct</target> |
1770 | <context-group name="null"> | 1678 | <context-group name="null"> |
1771 | <context context-type="linenumber">25</context> | 1679 | <context context-type="linenumber">20</context> |
1772 | </context-group> | ||
1773 | </trans-unit> | ||
1774 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1775 | <source>Torrent (magnet)</source> | ||
1776 | <target>Torrent (lien magnet)</target> | ||
1777 | <context-group name="null"> | ||
1778 | <context context-type="linenumber">30</context> | ||
1779 | </context-group> | 1680 | </context-group> |
1780 | </trans-unit> | 1681 | </trans-unit> |
1781 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1682 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1782 | <source>Download</source> | 1683 | <source>Download</source> |
1783 | <target>Télécharger</target> | 1684 | <target>Télécharger</target> |
1784 | <context-group name="null"> | 1685 | <context-group name="null"> |
1785 | <context context-type="linenumber">75</context> | 1686 | <context context-type="linenumber">83</context> |
1786 | </context-group> | 1687 | </context-group> |
1787 | </trans-unit> | 1688 | </trans-unit> |
1788 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1689 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1821,7 +1722,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1821 | <source>Share</source> | 1722 | <source>Share</source> |
1822 | <target>Partager</target> | 1723 | <target>Partager</target> |
1823 | <context-group name="null"> | 1724 | <context-group name="null"> |
1824 | <context context-type="linenumber">64</context> | 1725 | <context context-type="linenumber">72</context> |
1825 | </context-group> | 1726 | </context-group> |
1826 | </trans-unit> | 1727 | </trans-unit> |
1827 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1728 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1857,7 +1758,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1857 | La vidéo est en train d'être encodée, elle peut ne pas fonctionner correctement. | 1758 | La vidéo est en train d'être encodée, elle peut ne pas fonctionner correctement. |
1858 | </target> | 1759 | </target> |
1859 | <context-group name="null"> | 1760 | <context-group name="null"> |
1860 | <context context-type="linenumber">6</context> | 1761 | <context context-type="linenumber">11</context> |
1861 | </context-group> | 1762 | </context-group> |
1862 | </trans-unit> | 1763 | </trans-unit> |
1863 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1764 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1868,7 +1769,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1868 | Cette vidéo sera publiée le <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1769 | Cette vidéo sera publiée le <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1869 | </target> | 1770 | </target> |
1870 | <context-group name="null"> | 1771 | <context-group name="null"> |
1871 | <context context-type="linenumber">10</context> | 1772 | <context context-type="linenumber">15</context> |
1872 | </context-group> | 1773 | </context-group> |
1873 | </trans-unit> | 1774 | </trans-unit> |
1874 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1775 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1878,167 +1779,112 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
1878 | <target> | 1779 | <target> |
1879 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues </target> | 1780 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vues </target> |
1880 | <context-group name="null"> | 1781 | <context-group name="null"> |
1881 | <context context-type="linenumber">21</context> | 1782 | <context context-type="linenumber">26</context> |
1882 | </context-group> | 1783 | </context-group> |
1883 | </trans-unit> | 1784 | </trans-unit> |
1884 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1785 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1885 | <source>Go the channel page</source> | 1786 | <source>Go the channel page</source> |
1886 | <target>Aller à la page des chaînes</target> | 1787 | <target>Aller à la page des chaînes</target> |
1887 | <context-group name="null"> | 1788 | <context-group name="null"> |
1888 | <context context-type="linenumber">26</context> | 1789 | <context context-type="linenumber">31</context> |
1889 | </context-group> | ||
1890 | </trans-unit> | ||
1891 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1892 | <source>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>.</source> | ||
1893 | <target>Vous pouvez vous abonner à ce compte en utilisant une instance utilisant le protocole ActivityPub. Par exemple, avec Mastodon ou Pleroma vous pouvez taper dans le champ de recherche : <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> et s'abonner. S'abonner comme un utilisateur de PeerTube est en cours de développement, cela peut être suivi via cette issue : <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1894 | <context-group name="null"> | ||
1895 | <context context-type="linenumber">30</context> | ||
1896 | </context-group> | 1790 | </context-group> |
1897 | </trans-unit> | 1791 | </trans-unit> |
1898 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1792 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1899 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1793 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1900 | <target>Par <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1794 | <target>Par <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1901 | <context-group name="null"> | 1795 | <context-group name="null"> |
1902 | <context context-type="linenumber">35</context> | 1796 | <context context-type="linenumber">41</context> |
1903 | </context-group> | 1797 | </context-group> |
1904 | </trans-unit> | 1798 | </trans-unit> |
1905 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1799 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1906 | <source>Go to the account page</source> | 1800 | <source>Go to the account page</source> |
1907 | <target>Accéder au profil public de l'utilisateur</target> | 1801 | <target>Accéder au profil public de l'utilisateur</target> |
1908 | <context-group name="null"> | 1802 | <context-group name="null"> |
1909 | <context context-type="linenumber">34</context> | 1803 | <context context-type="linenumber">40</context> |
1804 | </context-group> | ||
1805 | </trans-unit> | ||
1806 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1807 | <source>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>.</source> | ||
1808 | <target>Vous pouvez vous abonner à ce compte en utilisant une instance utilisant le protocole ActivityPub. Par exemple, avec Mastodon ou Pleroma vous pouvez taper dans le champ de recherche : <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> et s'abonner. S'abonner comme un utilisateur de PeerTube est en cours de développement, cela peut être suivi via cette issue : <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1809 | <context-group name="null"> | ||
1810 | <context context-type="linenumber">45</context> | ||
1910 | </context-group> | 1811 | </context-group> |
1911 | </trans-unit> | 1812 | </trans-unit> |
1912 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1813 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1913 | <source>Like this video</source> | 1814 | <source>Like this video</source> |
1914 | <target>J'aime cette vidéo</target> | 1815 | <target>J'aime cette vidéo</target> |
1915 | <context-group name="null"> | 1816 | <context-group name="null"> |
1916 | <context context-type="linenumber">47</context> | 1817 | <context context-type="linenumber">55</context> |
1917 | </context-group> | 1818 | </context-group> |
1918 | </trans-unit> | 1819 | </trans-unit> |
1919 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1820 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1920 | <source>Dislike this video</source> | 1821 | <source>Dislike this video</source> |
1921 | <target>Je n'aime pas cette vidéo</target> | 1822 | <target>Je n'aime pas cette vidéo</target> |
1922 | <context-group name="null"> | 1823 | <context-group name="null"> |
1923 | <context context-type="linenumber">54</context> | 1824 | <context context-type="linenumber">62</context> |
1924 | </context-group> | 1825 | </context-group> |
1925 | </trans-unit> | 1826 | </trans-unit> |
1926 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1827 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1927 | <source>Download the video</source> | 1828 | <source>Download the video</source> |
1928 | <target>Télécharger la vidéo</target> | 1829 | <target>Télécharger la vidéo</target> |
1929 | <context-group name="null"> | 1830 | <context-group name="null"> |
1930 | <context context-type="linenumber">74</context> | 1831 | <context context-type="linenumber">82</context> |
1931 | </context-group> | 1832 | </context-group> |
1932 | </trans-unit> | 1833 | </trans-unit> |
1933 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1834 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1934 | <source>Report</source> | 1835 | <source>Report</source> |
1935 | <target>Signaler</target> | 1836 | <target>Signaler</target> |
1936 | <context-group name="null"> | 1837 | <context-group name="null"> |
1937 | <context context-type="linenumber">81</context> | 1838 | <context context-type="linenumber">89</context> |
1938 | </context-group> | 1839 | </context-group> |
1939 | </trans-unit> | 1840 | </trans-unit> |
1940 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1841 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1941 | <source>Report this video</source> | 1842 | <source>Report this video</source> |
1942 | <target>Signaler cette vidéo</target> | 1843 | <target>Signaler cette vidéo</target> |
1943 | <context-group name="null"> | 1844 | <context-group name="null"> |
1944 | <context context-type="linenumber">80</context> | 1845 | <context context-type="linenumber">88</context> |
1945 | </context-group> | 1846 | </context-group> |
1946 | </trans-unit> | 1847 | </trans-unit> |
1947 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1848 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1948 | <source>Blacklist</source> | 1849 | <source>Blacklist</source> |
1949 | <target>Blacklister</target> | 1850 | <target>Blacklister</target> |
1950 | <context-group name="null"> | 1851 | <context-group name="null"> |
1951 | <context context-type="linenumber">87</context> | 1852 | <context context-type="linenumber">95</context> |
1952 | </context-group> | 1853 | </context-group> |
1953 | </trans-unit> | 1854 | </trans-unit> |
1954 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1855 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1955 | <source>Blacklist this video</source> | 1856 | <source>Blacklist this video</source> |
1956 | <target>Blacklister cette vidéo</target> | 1857 | <target>Blacklister cette vidéo</target> |
1957 | <context-group name="null"> | 1858 | <context-group name="null"> |
1958 | <context context-type="linenumber">86</context> | 1859 | <context context-type="linenumber">94</context> |
1959 | </context-group> | 1860 | </context-group> |
1960 | </trans-unit> | 1861 | </trans-unit> |
1961 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1862 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1962 | <source>Update this video</source> | 1863 | <source>Update this video</source> |
1963 | <target>Mettre à jour cette vidéo</target> | 1864 | <target>Mettre à jour cette vidéo</target> |
1964 | <context-group name="null"> | 1865 | <context-group name="null"> |
1965 | <context context-type="linenumber">92</context> | 1866 | <context context-type="linenumber">100</context> |
1966 | </context-group> | 1867 | </context-group> |
1967 | </trans-unit> | 1868 | </trans-unit> |
1968 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1869 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1969 | <source>Delete this video</source> | 1870 | <source>Delete this video</source> |
1970 | <target>Supprimer cette vidéo</target> | 1871 | <target>Supprimer cette vidéo</target> |
1971 | <context-group name="null"> | 1872 | <context-group name="null"> |
1972 | <context context-type="linenumber">98</context> | 1873 | <context context-type="linenumber">106</context> |
1973 | </context-group> | 1874 | </context-group> |
1974 | </trans-unit> | 1875 | </trans-unit> |
1975 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1876 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1976 | <source>Show more</source> | 1877 | <source>Show more</source> |
1977 | <target>Voir plus</target> | 1878 | <target>Voir plus</target> |
1978 | <context-group name="null"> | 1879 | <context-group name="null"> |
1979 | <context context-type="linenumber">118</context> | 1880 | <context context-type="linenumber">126</context> |
1980 | </context-group> | 1881 | </context-group> |
1981 | </trans-unit> | 1882 | </trans-unit> |
1982 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1883 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1983 | <source>Show less</source> | 1884 | <source>Show less</source> |
1984 | <target>Montrer moins</target> | 1885 | <target>Montrer moins</target> |
1985 | <context-group name="null"> | 1886 | <context-group name="null"> |
1986 | <context context-type="linenumber">124</context> | 1887 | <context context-type="linenumber">132</context> |
1987 | </context-group> | ||
1988 | </trans-unit> | ||
1989 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1990 | <source> | ||
1991 | Privacy | ||
1992 | </source> | ||
1993 | <target> | ||
1994 | Visibilité | ||
1995 | </target> | ||
1996 | <context-group name="null"> | ||
1997 | <context context-type="linenumber">131</context> | ||
1998 | </context-group> | ||
1999 | </trans-unit> | ||
2000 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
2001 | <source> | ||
2002 | Category | ||
2003 | </source> | ||
2004 | <target> | ||
2005 | Catégorie | ||
2006 | </target> | ||
2007 | <context-group name="null"> | ||
2008 | <context context-type="linenumber">140</context> | ||
2009 | </context-group> | ||
2010 | </trans-unit> | ||
2011 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2012 | <source> | ||
2013 | Licence | ||
2014 | </source> | ||
2015 | <target> | ||
2016 | Licence | ||
2017 | </target> | ||
2018 | <context-group name="null"> | ||
2019 | <context context-type="linenumber">149</context> | ||
2020 | </context-group> | ||
2021 | </trans-unit> | ||
2022 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2023 | <source> | ||
2024 | Language | ||
2025 | </source> | ||
2026 | <target> | ||
2027 | Langue | ||
2028 | </target> | ||
2029 | <context-group name="null"> | ||
2030 | <context context-type="linenumber">158</context> | ||
2031 | </context-group> | ||
2032 | </trans-unit> | ||
2033 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2034 | <source> | ||
2035 | Tags | ||
2036 | </source> | ||
2037 | <target> | ||
2038 | Étiquettes | ||
2039 | </target> | ||
2040 | <context-group name="null"> | ||
2041 | <context context-type="linenumber">167</context> | ||
2042 | </context-group> | 1888 | </context-group> |
2043 | </trans-unit> | 1889 | </trans-unit> |
2044 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1890 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2049,24 +1895,13 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
2049 | Autres vidéos | 1895 | Autres vidéos |
2050 | </target> | 1896 | </target> |
2051 | <context-group name="null"> | 1897 | <context-group name="null"> |
2052 | <context context-type="linenumber">181</context> | 1898 | <context context-type="linenumber">183</context> |
2053 | </context-group> | 1899 | </context-group> |
2054 | </trans-unit> | 1900 | </trans-unit> |
2055 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1901 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2056 | <source>Friendly Reminder:</source> | 1902 | <source>Friendly Reminder:</source> |
2057 | <target>Rappel :</target> | 1903 | <target>Rappel :</target> |
2058 | <context-group name="null"> | 1904 | <context-group name="null"> |
2059 | <context context-type="linenumber">193</context> | ||
2060 | </context-group> | ||
2061 | </trans-unit> | ||
2062 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2063 | <source> | ||
2064 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2065 | </source> | ||
2066 | <target> | ||
2067 | 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) soient rendues publiques. | ||
2068 | </target> | ||
2069 | <context-group name="null"> | ||
2070 | <context context-type="linenumber">195</context> | 1905 | <context context-type="linenumber">195</context> |
2071 | </context-group> | 1906 | </context-group> |
2072 | </trans-unit> | 1907 | </trans-unit> |
@@ -2074,14 +1909,14 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
2074 | <source>More information</source> | 1909 | <source>More information</source> |
2075 | <target>Plus d'informations</target> | 1910 | <target>Plus d'informations</target> |
2076 | <context-group name="null"> | 1911 | <context-group name="null"> |
2077 | <context context-type="linenumber">198</context> | 1912 | <context context-type="linenumber">200</context> |
2078 | </context-group> | 1913 | </context-group> |
2079 | </trans-unit> | 1914 | </trans-unit> |
2080 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1915 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2081 | <source>Get more information</source> | 1916 | <source>Get more information</source> |
2082 | <target>Obtenir plus d'informations</target> | 1917 | <target>Obtenir plus d'informations</target> |
2083 | <context-group name="null"> | 1918 | <context-group name="null"> |
2084 | <context context-type="linenumber">198</context> | 1919 | <context context-type="linenumber">200</context> |
2085 | </context-group> | 1920 | </context-group> |
2086 | </trans-unit> | 1921 | </trans-unit> |
2087 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1922 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2092,7 +1927,7 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
2092 | OK | 1927 | OK |
2093 | </target> | 1928 | </target> |
2094 | <context-group name="null"> | 1929 | <context-group name="null"> |
2095 | <context context-type="linenumber">201</context> | 1930 | <context context-type="linenumber">203</context> |
2096 | </context-group> | 1931 | </context-group> |
2097 | </trans-unit> | 1932 | </trans-unit> |
2098 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1933 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2564,13 +2399,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
2564 | <context context-type="linenumber">1</context> | 2399 | <context context-type="linenumber">1</context> |
2565 | </context-group> | 2400 | </context-group> |
2566 | </trans-unit> | 2401 | </trans-unit> |
2567 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2568 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2569 | <target>Un courriel avec les instructions nécessaire à la réinitialisation de votre mot de passe sera envoyé à <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</target> | ||
2570 | <context-group name="null"> | ||
2571 | <context context-type="linenumber">1</context> | ||
2572 | </context-group> | ||
2573 | </trans-unit> | ||
2574 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2402 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2575 | <source>Unable to find user id or verification string.</source> | 2403 | <source>Unable to find user id or verification string.</source> |
2576 | <target>Impossible de trouver l'identifiant utilisateur ou le texte de vérification.</target> | 2404 | <target>Impossible de trouver l'identifiant utilisateur ou le texte de vérification.</target> |
@@ -2585,6 +2413,20 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
2585 | <context context-type="linenumber">1</context> | 2413 | <context context-type="linenumber">1</context> |
2586 | </context-group> | 2414 | </context-group> |
2587 | </trans-unit> | 2415 | </trans-unit> |
2416 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2417 | <source>Today</source> | ||
2418 | <target>Aujourd'hui</target> | ||
2419 | <context-group name="null"> | ||
2420 | <context context-type="linenumber">1</context> | ||
2421 | </context-group> | ||
2422 | </trans-unit> | ||
2423 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2424 | <source>Search</source> | ||
2425 | <target>Résultats de la recherche</target> | ||
2426 | <context-group name="null"> | ||
2427 | <context context-type="linenumber">1</context> | ||
2428 | </context-group> | ||
2429 | </trans-unit> | ||
2588 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2430 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2589 | <source>Instance name is required.</source> | 2431 | <source>Instance name is required.</source> |
2590 | <target>Le nom de l'instance est requis.</target> | 2432 | <target>Le nom de l'instance est requis.</target> |
@@ -3271,13 +3113,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
3271 | <context context-type="linenumber">1</context> | 3113 | <context context-type="linenumber">1</context> |
3272 | </context-group> | 3114 | </context-group> |
3273 | </trans-unit> | 3115 | </trans-unit> |
3274 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3275 | <source>Today</source> | ||
3276 | <target>Aujourd'hui</target> | ||
3277 | <context-group name="null"> | ||
3278 | <context context-type="linenumber">1</context> | ||
3279 | </context-group> | ||
3280 | </trans-unit> | ||
3281 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3116 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3282 | <source>Clear</source> | 3117 | <source>Clear</source> |
3283 | <target>Effacer</target> | 3118 | <target>Effacer</target> |
@@ -3481,13 +3316,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
3481 | <context context-type="linenumber">1</context> | 3316 | <context context-type="linenumber">1</context> |
3482 | </context-group> | 3317 | </context-group> |
3483 | </trans-unit> | 3318 | </trans-unit> |
3484 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3485 | <source>This image is too large.</source> | ||
3486 | <target>Cette image est trop grande.</target> | ||
3487 | <context-group name="null"> | ||
3488 | <context context-type="linenumber">1</context> | ||
3489 | </context-group> | ||
3490 | </trans-unit> | ||
3491 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3319 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3492 | <source>Your video was uploaded in your account and is private.</source> | 3320 | <source>Your video was uploaded in your account and is private.</source> |
3493 | <target>Votre vidéo a été mise ligne sur votre compte de manière privée.</target> | 3321 | <target>Votre vidéo a été mise ligne sur votre compte de manière privée.</target> |
@@ -3523,13 +3351,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
3523 | <context context-type="linenumber">1</context> | 3351 | <context context-type="linenumber">1</context> |
3524 | </context-group> | 3352 | </context-group> |
3525 | </trans-unit> | 3353 | </trans-unit> |
3526 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3527 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3528 | <target>Nous sommes navrés mais PeerTube ne supporte pas pour l'instant les vidéos d'une taille supérieure à 4Go </target> | ||
3529 | <context-group name="null"> | ||
3530 | <context context-type="linenumber">1</context> | ||
3531 | </context-group> | ||
3532 | </trans-unit> | ||
3533 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3354 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3534 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3355 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3535 | <target>Votre quota vidéo est dépassé avec cette vidéo (taille de la vidéo : <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, utilisé : <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota : <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3356 | <target>Votre quota vidéo est dépassé avec cette vidéo (taille de la vidéo : <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, utilisé : <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota : <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3600,13 +3421,6 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
3600 | <context context-type="linenumber">1</context> | 3421 | <context context-type="linenumber">1</context> |
3601 | </context-group> | 3422 | </context-group> |
3602 | </trans-unit> | 3423 | </trans-unit> |
3603 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3604 | <source>Cannot fetch video from server, maybe down.</source> | ||
3605 | <target>Impossible de récupérer la vidéo du serveur ; il est peut-être hors-ligne.</target> | ||
3606 | <context-group name="null"> | ||
3607 | <context context-type="linenumber">1</context> | ||
3608 | </context-group> | ||
3609 | </trans-unit> | ||
3610 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3424 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3611 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3425 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3612 | <target>Cette vidéo contient du contenu sensible. Êtes-vous sûr·e de vouloir la regarder ?</target> | 3426 | <target>Cette vidéo contient du contenu sensible. Êtes-vous sûr·e de vouloir la regarder ?</target> |
@@ -3621,12 +3435,5 @@ Quand vous mettrez en ligne une vidéo sur cette chaîne, la vidéo affichera au | |||
3621 | <context context-type="linenumber">1</context> | 3435 | <context context-type="linenumber">1</context> |
3622 | </context-group> | 3436 | </context-group> |
3623 | </trans-unit> | 3437 | </trans-unit> |
3624 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3625 | <source>Search</source> | ||
3626 | <target>Résultats de la recherche</target> | ||
3627 | <context-group name="null"> | ||
3628 | <context context-type="linenumber">1</context> | ||
3629 | </context-group> | ||
3630 | </trans-unit> | ||
3631 | </body> | 3438 | </body> |
3632 | </file></xliff> \ No newline at end of file | 3439 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_nl_NL.xml b/client/src/locale/target/angular_nl_NL.xml index 872187f22..74481efa6 100644 --- a/client/src/locale/target/angular_nl_NL.xml +++ b/client/src/locale/target/angular_nl_NL.xml | |||
@@ -9,14 +9,14 @@ | |||
9 | </source> | 9 | </source> |
10 | <target>Annuleren</target> | 10 | <target>Annuleren</target> |
11 | <context-group name="null"> | 11 | <context-group name="null"> |
12 | <context context-type="linenumber">40</context> | 12 | <context context-type="linenumber">45</context> |
13 | </context-group> | 13 | </context-group> |
14 | </trans-unit> | 14 | </trans-unit> |
15 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 15 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
16 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 16 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
17 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> keer bekeken</target> | 17 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> keer bekeken</target> |
18 | <context-group name="null"> | 18 | <context-group name="null"> |
19 | <context context-type="linenumber">12</context> | 19 | <context context-type="linenumber">34</context> |
20 | </context-group> | 20 | </context-group> |
21 | </trans-unit> | 21 | </trans-unit> |
22 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 22 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -44,7 +44,7 @@ | |||
44 | <source>Get help</source> | 44 | <source>Get help</source> |
45 | <target>Hulp</target> | 45 | <target>Hulp</target> |
46 | <context-group name="null"> | 46 | <context-group name="null"> |
47 | <context context-type="linenumber">17</context> | 47 | <context context-type="linenumber">18</context> |
48 | </context-group> | 48 | </context-group> |
49 | </trans-unit> | 49 | </trans-unit> |
50 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 50 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -99,7 +99,7 @@ | |||
99 | <source>Password</source> | 99 | <source>Password</source> |
100 | <target>Wachtwoord</target> | 100 | <target>Wachtwoord</target> |
101 | <context-group name="null"> | 101 | <context-group name="null"> |
102 | <context context-type="linenumber">28</context> | 102 | <context context-type="linenumber">12</context> |
103 | </context-group> | 103 | </context-group> |
104 | </trans-unit> | 104 | </trans-unit> |
105 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 105 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -310,6 +310,27 @@ | |||
310 | <context context-type="linenumber">9</context> | 310 | <context context-type="linenumber">9</context> |
311 | </context-group> | 311 | </context-group> |
312 | </trans-unit> | 312 | </trans-unit> |
313 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
314 | <source>Category</source> | ||
315 | <target>Categorie</target> | ||
316 | <context-group name="null"> | ||
317 | <context context-type="linenumber">144</context> | ||
318 | </context-group> | ||
319 | </trans-unit> | ||
320 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
321 | <source>Licence</source> | ||
322 | <target>Licentie</target> | ||
323 | <context-group name="null"> | ||
324 | <context context-type="linenumber">153</context> | ||
325 | </context-group> | ||
326 | </trans-unit> | ||
327 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
328 | <source>Language</source> | ||
329 | <target>Taal</target> | ||
330 | <context-group name="null"> | ||
331 | <context context-type="linenumber">162</context> | ||
332 | </context-group> | ||
333 | </trans-unit> | ||
313 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 334 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
314 | <source>No results.</source> | 335 | <source>No results.</source> |
315 | <target>Geen resultaten.</target> | 336 | <target>Geen resultaten.</target> |
@@ -639,42 +660,42 @@ Het Peer-to-Peer-mechanisme uit PeerTube halen zou je niet méér anonimiteit ge | |||
639 | <source>Signup enabled</source> | 660 | <source>Signup enabled</source> |
640 | <target>Registratie mogelijk</target> | 661 | <target>Registratie mogelijk</target> |
641 | <context-group name="null"> | 662 | <context-group name="null"> |
642 | <context context-type="linenumber">92</context> | 663 | <context context-type="linenumber">90</context> |
643 | </context-group> | 664 | </context-group> |
644 | </trans-unit> | 665 | </trans-unit> |
645 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 666 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
646 | <source>Signup limit</source> | 667 | <source>Signup limit</source> |
647 | <target>Registratielimiet</target> | 668 | <target>Registratielimiet</target> |
648 | <context-group name="null"> | 669 | <context-group name="null"> |
649 | <context context-type="linenumber">96</context> | 670 | <context context-type="linenumber">94</context> |
650 | </context-group> | 671 | </context-group> |
651 | </trans-unit> | 672 | </trans-unit> |
652 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 673 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
653 | <source>Administrator</source> | 674 | <source>Administrator</source> |
654 | <target>Beheerder</target> | 675 | <target>Beheerder</target> |
655 | <context-group name="null"> | 676 | <context-group name="null"> |
656 | <context context-type="linenumber">106</context> | 677 | <context context-type="linenumber">104</context> |
657 | </context-group> | 678 | </context-group> |
658 | </trans-unit> | 679 | </trans-unit> |
659 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 680 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
660 | <source>Admin email</source> | 681 | <source>Admin email</source> |
661 | <target>E-mail van beheerder</target> | 682 | <target>E-mail van beheerder</target> |
662 | <context-group name="null"> | 683 | <context-group name="null"> |
663 | <context context-type="linenumber">109</context> | 684 | <context context-type="linenumber">107</context> |
664 | </context-group> | 685 | </context-group> |
665 | </trans-unit> | 686 | </trans-unit> |
666 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 687 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
667 | <source>Users</source> | 688 | <source>Users</source> |
668 | <target>Gebruikers</target> | 689 | <target>Gebruikers</target> |
669 | <context-group name="null"> | 690 | <context-group name="null"> |
670 | <context context-type="linenumber">119</context> | 691 | <context context-type="linenumber">117</context> |
671 | </context-group> | 692 | </context-group> |
672 | </trans-unit> | 693 | </trans-unit> |
673 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 694 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
674 | <source>User default video quota</source> | 695 | <source>User default video quota</source> |
675 | <target>Standaard video-quotum voor gebruikers</target> | 696 | <target>Standaard video-quotum voor gebruikers</target> |
676 | <context-group name="null"> | 697 | <context-group name="null"> |
677 | <context context-type="linenumber">122</context> | 698 | <context context-type="linenumber">120</context> |
678 | </context-group> | 699 | </context-group> |
679 | </trans-unit> | 700 | </trans-unit> |
680 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 701 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -688,28 +709,28 @@ Het Peer-to-Peer-mechanisme uit PeerTube halen zou je niet méér anonimiteit ge | |||
688 | <source>Twitter</source> | 709 | <source>Twitter</source> |
689 | <target>Twitter</target> | 710 | <target>Twitter</target> |
690 | <context-group name="null"> | 711 | <context-group name="null"> |
691 | <context context-type="linenumber">138</context> | 712 | <context context-type="linenumber">136</context> |
692 | </context-group> | 713 | </context-group> |
693 | </trans-unit> | 714 | </trans-unit> |
694 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 715 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
695 | <source>Your Twitter username</source> | 716 | <source>Your Twitter username</source> |
696 | <target>Je Twitter-gebruikersnaam</target> | 717 | <target>Je Twitter-gebruikersnaam</target> |
697 | <context-group name="null"> | 718 | <context-group name="null"> |
698 | <context context-type="linenumber">141</context> | 719 | <context context-type="linenumber">139</context> |
699 | </context-group> | 720 | </context-group> |
700 | </trans-unit> | 721 | </trans-unit> |
701 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 722 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
702 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 723 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
703 | <target>Geeft het Twitter-account aan voor de website of het platform waarop de inhoud gepubliceerd werd.</target> | 724 | <target>Geeft het Twitter-account aan voor de website of het platform waarop de inhoud gepubliceerd werd.</target> |
704 | <context-group name="null"> | 725 | <context-group name="null"> |
705 | <context context-type="linenumber">144</context> | 726 | <context context-type="linenumber">142</context> |
706 | </context-group> | 727 | </context-group> |
707 | </trans-unit> | 728 | </trans-unit> |
708 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 729 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
709 | <source>Instance whitelisted by Twitter</source> | 730 | <source>Instance whitelisted by Twitter</source> |
710 | <target>Instantie ge-whitelist door Twitter</target> | 731 | <target>Instantie ge-whitelist door Twitter</target> |
711 | <context-group name="null"> | 732 | <context-group name="null"> |
712 | <context context-type="linenumber">159</context> | 733 | <context context-type="linenumber">155</context> |
713 | </context-group> | 734 | </context-group> |
714 | </trans-unit> | 735 | </trans-unit> |
715 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 736 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -720,91 +741,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
720 | Als de instantie niet ge-whitelist is, komt er een afbeelding met een link die naar de PeerTube-instantie leidt.<br /><br /> | 741 | Als de instantie niet ge-whitelist is, komt er een afbeelding met een link die naar de PeerTube-instantie leidt.<br /><br /> |
721 | Vink dit hokje aan, sla de configuratie op en test met een video-URL van je instantie (https://example.com/videos/watch/blabla) op <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> om te zien of je instantie ge-whitelist is.</target> | 742 | Vink dit hokje aan, sla de configuratie op en test met een video-URL van je instantie (https://example.com/videos/watch/blabla) op <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> om te zien of je instantie ge-whitelist is.</target> |
722 | <context-group name="null"> | 743 | <context-group name="null"> |
723 | <context context-type="linenumber">162</context> | 744 | <context context-type="linenumber">156</context> |
724 | </context-group> | 745 | </context-group> |
725 | </trans-unit> | 746 | </trans-unit> |
726 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 747 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
727 | <source>Services</source> | 748 | <source>Services</source> |
728 | <target>Diensten</target> | 749 | <target>Diensten</target> |
729 | <context-group name="null"> | 750 | <context-group name="null"> |
730 | <context context-type="linenumber">136</context> | 751 | <context context-type="linenumber">134</context> |
731 | </context-group> | 752 | </context-group> |
732 | </trans-unit> | 753 | </trans-unit> |
733 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 754 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
734 | <source>Transcoding</source> | 755 | <source>Transcoding</source> |
735 | <target>Transcoding</target> | 756 | <target>Transcoding</target> |
736 | <context-group name="null"> | 757 | <context-group name="null"> |
737 | <context context-type="linenumber">172</context> | 758 | <context context-type="linenumber">164</context> |
738 | </context-group> | 759 | </context-group> |
739 | </trans-unit> | 760 | </trans-unit> |
740 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 761 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
741 | <source>Transcoding enabled</source> | 762 | <source>Transcoding enabled</source> |
742 | <target>Transcoding ingeschakeld</target> | 763 | <target>Transcoding ingeschakeld</target> |
743 | <context-group name="null"> | 764 | <context-group name="null"> |
744 | <context context-type="linenumber">178</context> | 765 | <context context-type="linenumber">168</context> |
745 | </context-group> | 766 | </context-group> |
746 | </trans-unit> | 767 | </trans-unit> |
747 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 768 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
748 | <source>If you disable transcoding, many videos from your users will not work!</source> | 769 | <source>If you disable transcoding, many videos from your users will not work!</source> |
749 | <target>Als je transcoding niet inschakelt, zullen veel video's die je gebruikers uploaden niet overal werken!</target> | 770 | <target>Als je transcoding niet inschakelt, zullen veel video's die je gebruikers uploaden niet overal werken!</target> |
750 | <context-group name="null"> | 771 | <context-group name="null"> |
751 | <context context-type="linenumber">180</context> | 772 | <context context-type="linenumber">169</context> |
752 | </context-group> | 773 | </context-group> |
753 | </trans-unit> | 774 | </trans-unit> |
754 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 775 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
755 | <source>Transcoding threads</source> | 776 | <source>Transcoding threads</source> |
756 | <target>Threads gebruikt voor transcoding</target> | 777 | <target>Threads gebruikt voor transcoding</target> |
757 | <context-group name="null"> | 778 | <context-group name="null"> |
758 | <context context-type="linenumber">186</context> | 779 | <context context-type="linenumber">175</context> |
759 | </context-group> | ||
760 | </trans-unit> | ||
761 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
762 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
763 | <target>Resolutie <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> ingeschakeld</target> | ||
764 | <context-group name="null"> | ||
765 | <context context-type="linenumber">205</context> | ||
766 | </context-group> | ||
767 | </trans-unit> | ||
768 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
769 | <source>Cache</source> | ||
770 | <target>Cache</target> | ||
771 | <context-group name="null"> | ||
772 | <context context-type="linenumber">209</context> | ||
773 | </context-group> | 780 | </context-group> |
774 | </trans-unit> | 781 | </trans-unit> |
775 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 782 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
776 | <source>Previews cache size</source> | 783 | <source>Previews cache size</source> |
777 | <target>Cachegrootte voor previews</target> | 784 | <target>Cachegrootte voor previews</target> |
778 | <context-group name="null"> | 785 | <context-group name="null"> |
779 | <context context-type="linenumber">212</context> | 786 | <context context-type="linenumber">207</context> |
780 | </context-group> | ||
781 | </trans-unit> | ||
782 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
783 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
784 | <target>Previews worden niet gefedereerd. Ze worden rechtstreeks van de oorspronkelijke instantie opgehaald en gecachet.</target> | ||
785 | <context-group name="null"> | ||
786 | <context context-type="linenumber">215</context> | ||
787 | </context-group> | 787 | </context-group> |
788 | </trans-unit> | 788 | </trans-unit> |
789 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 789 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
790 | <source>Customizations</source> | 790 | <source>Customizations</source> |
791 | <target>Aanpassingen</target> | 791 | <target>Aanpassingen</target> |
792 | <context-group name="null"> | 792 | <context-group name="null"> |
793 | <context context-type="linenumber">227</context> | 793 | <context context-type="linenumber">228</context> |
794 | </context-group> | 794 | </context-group> |
795 | </trans-unit> | 795 | </trans-unit> |
796 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 796 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
797 | <source>JavaScript</source> | 797 | <source>JavaScript</source> |
798 | <target>JavaScript</target> | 798 | <target>JavaScript</target> |
799 | <context-group name="null"> | 799 | <context-group name="null"> |
800 | <context context-type="linenumber">230</context> | 800 | <context context-type="linenumber">231</context> |
801 | </context-group> | 801 | </context-group> |
802 | </trans-unit> | 802 | </trans-unit> |
803 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 803 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
804 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 804 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
805 | <target>Schrijf JavaScriptcode.<br />Voorbeeld: <pre>console.log('mijn instantie is fantastisch');</pre></target> | 805 | <target>Schrijf JavaScriptcode.<br />Voorbeeld: <pre>console.log('mijn instantie is fantastisch');</pre></target> |
806 | <context-group name="null"> | 806 | <context-group name="null"> |
807 | <context context-type="linenumber">233</context> | 807 | <context context-type="linenumber">234</context> |
808 | </context-group> | 808 | </context-group> |
809 | </trans-unit> | 809 | </trans-unit> |
810 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 810 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -838,21 +838,21 @@ Laat er <em>#custom-css</em> aan voorafgaan om stijlen te overriden. | |||
838 | </pre> | 838 | </pre> |
839 | </target> | 839 | </target> |
840 | <context-group name="null"> | 840 | <context-group name="null"> |
841 | <context context-type="linenumber">249</context> | 841 | <context context-type="linenumber">250</context> |
842 | </context-group> | 842 | </context-group> |
843 | </trans-unit> | 843 | </trans-unit> |
844 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 844 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
845 | <source>Advanced configuration</source> | 845 | <source>Advanced configuration</source> |
846 | <target>Geavanceerde configuratie</target> | 846 | <target>Geavanceerde configuratie</target> |
847 | <context-group name="null"> | 847 | <context-group name="null"> |
848 | <context context-type="linenumber">170</context> | 848 | <context context-type="linenumber">162</context> |
849 | </context-group> | 849 | </context-group> |
850 | </trans-unit> | 850 | </trans-unit> |
851 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 851 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
852 | <source>Update configuration</source> | 852 | <source>Update configuration</source> |
853 | <target>Updateconfiguratie</target> | 853 | <target>Updateconfiguratie</target> |
854 | <context-group name="null"> | 854 | <context-group name="null"> |
855 | <context context-type="linenumber">276</context> | 855 | <context context-type="linenumber">277</context> |
856 | </context-group> | 856 | </context-group> |
857 | </trans-unit> | 857 | </trans-unit> |
858 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 858 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -988,13 +988,6 @@ Laat er <em>#custom-css</em> aan voorafgaan om stijlen te overriden. | |||
988 | <context context-type="linenumber">19</context> | 988 | <context context-type="linenumber">19</context> |
989 | </context-group> | 989 | </context-group> |
990 | </trans-unit> | 990 | </trans-unit> |
991 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
992 | <source>Updated</source> | ||
993 | <target>Geüpdatet</target> | ||
994 | <context-group name="null"> | ||
995 | <context context-type="linenumber">22</context> | ||
996 | </context-group> | ||
997 | </trans-unit> | ||
998 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 991 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
999 | <source>Create user</source> | 992 | <source>Create user</source> |
1000 | <target>Gebruiker aanmaken</target> | 993 | <target>Gebruiker aanmaken</target> |
@@ -1169,53 +1162,32 @@ Laat er <em>#custom-css</em> aan voorafgaan om stijlen te overriden. | |||
1169 | <context context-type="linenumber">7</context> | 1162 | <context context-type="linenumber">7</context> |
1170 | </context-group> | 1163 | </context-group> |
1171 | </trans-unit> | 1164 | </trans-unit> |
1172 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1173 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1174 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> abonnees</target> | ||
1175 | <context-group name="null"> | ||
1176 | <context context-type="linenumber">9</context> | ||
1177 | </context-group> | ||
1178 | </trans-unit> | ||
1179 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1180 | <source>Change your avatar</source> | ||
1181 | <target>Wijzig je avatar</target> | ||
1182 | <context-group name="null"> | ||
1183 | <context context-type="linenumber">14</context> | ||
1184 | </context-group> | ||
1185 | </trans-unit> | ||
1186 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1187 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1188 | <target>(extensies: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximale grootte: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1189 | <context-group name="null"> | ||
1190 | <context context-type="linenumber">17</context> | ||
1191 | </context-group> | ||
1192 | </trans-unit> | ||
1193 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1165 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1194 | <source>Video quota:</source> | 1166 | <source>Video quota:</source> |
1195 | <target>Videoquotum:</target> | 1167 | <target>Videoquotum:</target> |
1196 | <context-group name="null"> | 1168 | <context-group name="null"> |
1197 | <context context-type="linenumber">20</context> | 1169 | <context context-type="linenumber">4</context> |
1198 | </context-group> | 1170 | </context-group> |
1199 | </trans-unit> | 1171 | </trans-unit> |
1200 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1172 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1201 | <source>Profile</source> | 1173 | <source>Profile</source> |
1202 | <target>Profiel</target> | 1174 | <target>Profiel</target> |
1203 | <context-group name="null"> | 1175 | <context-group name="null"> |
1204 | <context context-type="linenumber">24</context> | 1176 | <context context-type="linenumber">8</context> |
1205 | </context-group> | 1177 | </context-group> |
1206 | </trans-unit> | 1178 | </trans-unit> |
1207 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1179 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1208 | <source>Video settings</source> | 1180 | <source>Video settings</source> |
1209 | <target>Video-instellingen</target> | 1181 | <target>Video-instellingen</target> |
1210 | <context-group name="null"> | 1182 | <context-group name="null"> |
1211 | <context context-type="linenumber">31</context> | 1183 | <context context-type="linenumber">15</context> |
1212 | </context-group> | 1184 | </context-group> |
1213 | </trans-unit> | 1185 | </trans-unit> |
1214 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1186 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1215 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1187 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1216 | <target>Video’s <x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> aantal keer bekeken</target> | 1188 | <target>Video’s <x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> aantal keer bekeken</target> |
1217 | <context-group name="null"> | 1189 | <context-group name="null"> |
1218 | <context context-type="linenumber">20</context> | 1190 | <context context-type="linenumber">19</context> |
1219 | </context-group> | 1191 | </context-group> |
1220 | </trans-unit> | 1192 | </trans-unit> |
1221 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1193 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1243,14 +1215,7 @@ Laat er <em>#custom-css</em> aan voorafgaan om stijlen te overriden. | |||
1243 | <source>Create a video channel</source> | 1215 | <source>Create a video channel</source> |
1244 | <target>Videokanaal maken</target> | 1216 | <target>Videokanaal maken</target> |
1245 | <context-group name="null"> | 1217 | <context-group name="null"> |
1246 | <context context-type="linenumber">1</context> | 1218 | <context context-type="linenumber">6</context> |
1247 | </context-group> | ||
1248 | </trans-unit> | ||
1249 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1250 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1251 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/> updaten</target> | ||
1252 | <context-group name="null"> | ||
1253 | <context context-type="linenumber">2</context> | ||
1254 | </context-group> | 1219 | </context-group> |
1255 | </trans-unit> | 1220 | </trans-unit> |
1256 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1221 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1266,7 +1231,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1266 | <target>Korte tekst om mensen te vertellen hoe ze je kanaal kunnen ondersteunen (lidmaatschap…).<br/><br/> | 1231 | <target>Korte tekst om mensen te vertellen hoe ze je kanaal kunnen ondersteunen (lidmaatschap…).<br/><br/> |
1267 | Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "ondersteun"-veld.</target> | 1232 | Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "ondersteun"-veld.</target> |
1268 | <context-group name="null"> | 1233 | <context-group name="null"> |
1269 | <context context-type="linenumber">32</context> | 1234 | <context context-type="linenumber">36</context> |
1270 | </context-group> | 1235 | </context-group> |
1271 | </trans-unit> | 1236 | </trans-unit> |
1272 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1237 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1300,14 +1265,14 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1300 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | 1265 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> |
1301 | <source>Automatically plays video</source> | 1266 | <source>Automatically plays video</source> |
1302 | <context-group name="null"> | 1267 | <context-group name="null"> |
1303 | <context context-type="linenumber">24</context> | 1268 | <context context-type="linenumber">20</context> |
1304 | </context-group> | 1269 | </context-group> |
1305 | </trans-unit> | 1270 | </trans-unit> |
1306 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1271 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1307 | <source>Save</source> | 1272 | <source>Save</source> |
1308 | <target>Opslaan</target> | 1273 | <target>Opslaan</target> |
1309 | <context-group name="null"> | 1274 | <context-group name="null"> |
1310 | <context context-type="linenumber">27</context> | 1275 | <context context-type="linenumber">23</context> |
1311 | </context-group> | 1276 | </context-group> |
1312 | </trans-unit> | 1277 | </trans-unit> |
1313 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1278 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1317,6 +1282,13 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1317 | <context context-type="linenumber">27</context> | 1282 | <context context-type="linenumber">27</context> |
1318 | </context-group> | 1283 | </context-group> |
1319 | </trans-unit> | 1284 | </trans-unit> |
1285 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1286 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1287 | <target>(extensies: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maximale grootte: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1288 | <context-group name="null"> | ||
1289 | <context context-type="linenumber">18</context> | ||
1290 | </context-group> | ||
1291 | </trans-unit> | ||
1320 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1292 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1321 | <source> | 1293 | <source> |
1322 | Sorry, but we couldn't find the page you were looking for. | 1294 | Sorry, but we couldn't find the page you were looking for. |
@@ -1386,21 +1358,21 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1386 | <source>Privacy</source> | 1358 | <source>Privacy</source> |
1387 | <target>Zichtbaarheid</target> | 1359 | <target>Zichtbaarheid</target> |
1388 | <context-group name="null"> | 1360 | <context-group name="null"> |
1389 | <context context-type="linenumber">86</context> | 1361 | <context context-type="linenumber">139</context> |
1390 | </context-group> | 1362 | </context-group> |
1391 | </trans-unit> | 1363 | </trans-unit> |
1392 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1364 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1393 | <source>Publish will be available when upload is finished</source> | 1365 | <source>Publish will be available when upload is finished</source> |
1394 | <target>Publiceren is mogelijk wanneer de upload voltooid is</target> | 1366 | <target>Publiceren is mogelijk wanneer de upload voltooid is</target> |
1395 | <context-group name="null"> | 1367 | <context-group name="null"> |
1396 | <context context-type="linenumber">53</context> | 1368 | <context context-type="linenumber">54</context> |
1397 | </context-group> | 1369 | </context-group> |
1398 | </trans-unit> | 1370 | </trans-unit> |
1399 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1371 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1400 | <source>Publish</source> | 1372 | <source>Publish</source> |
1401 | <target>Publiceren</target> | 1373 | <target>Publiceren</target> |
1402 | <context-group name="null"> | 1374 | <context-group name="null"> |
1403 | <context context-type="linenumber">60</context> | 1375 | <context context-type="linenumber">61</context> |
1404 | </context-group> | 1376 | </context-group> |
1405 | </trans-unit> | 1377 | </trans-unit> |
1406 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1378 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1414,7 +1386,7 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1414 | <source>Tags</source> | 1386 | <source>Tags</source> |
1415 | <target>Tags</target> | 1387 | <target>Tags</target> |
1416 | <context-group name="null"> | 1388 | <context-group name="null"> |
1417 | <context context-type="linenumber">15</context> | 1389 | <context context-type="linenumber">171</context> |
1418 | </context-group> | 1390 | </context-group> |
1419 | </trans-unit> | 1391 | </trans-unit> |
1420 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1392 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1431,27 +1403,6 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1431 | <context context-type="linenumber">24</context> | 1403 | <context context-type="linenumber">24</context> |
1432 | </context-group> | 1404 | </context-group> |
1433 | </trans-unit> | 1405 | </trans-unit> |
1434 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1435 | <source>Category</source> | ||
1436 | <target>Categorie</target> | ||
1437 | <context-group name="null"> | ||
1438 | <context context-type="linenumber">44</context> | ||
1439 | </context-group> | ||
1440 | </trans-unit> | ||
1441 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1442 | <source>Licence</source> | ||
1443 | <target>Licentie</target> | ||
1444 | <context-group name="null"> | ||
1445 | <context context-type="linenumber">58</context> | ||
1446 | </context-group> | ||
1447 | </trans-unit> | ||
1448 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1449 | <source>Language</source> | ||
1450 | <target>Taal</target> | ||
1451 | <context-group name="null"> | ||
1452 | <context context-type="linenumber">72</context> | ||
1453 | </context-group> | ||
1454 | </trans-unit> | ||
1455 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1406 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1456 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1407 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1457 | <target>Publicatie uitstellen (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1408 | <target>Publicatie uitstellen (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1463,35 +1414,28 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1463 | <source>This video contains mature or explicit content</source> | 1414 | <source>This video contains mature or explicit content</source> |
1464 | <target>Deze video bevat expliciete inhoud of inhoud die enkel voor volwassenen geschikt is</target> | 1415 | <target>Deze video bevat expliciete inhoud of inhoud die enkel voor volwassenen geschikt is</target> |
1465 | <context-group name="null"> | 1416 | <context-group name="null"> |
1466 | <context context-type="linenumber">116</context> | 1417 | <context context-type="linenumber">115</context> |
1467 | </context-group> | 1418 | </context-group> |
1468 | </trans-unit> | 1419 | </trans-unit> |
1469 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1420 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1470 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1421 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1471 | <target>Op sommige instanties worden expliciete video's standaard niet in zoekresultaten en in lijsten getoond.</target> | 1422 | <target>Op sommige instanties worden expliciete video's standaard niet in zoekresultaten en in lijsten getoond.</target> |
1472 | <context-group name="null"> | 1423 | <context-group name="null"> |
1473 | <context context-type="linenumber">119</context> | 1424 | <context context-type="linenumber">116</context> |
1474 | </context-group> | 1425 | </context-group> |
1475 | </trans-unit> | 1426 | </trans-unit> |
1476 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1427 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1477 | <source>Enable video comments</source> | 1428 | <source>Enable video comments</source> |
1478 | <target>Videoreacties toelaten</target> | 1429 | <target>Videoreacties toelaten</target> |
1479 | <context-group name="null"> | 1430 | <context-group name="null"> |
1480 | <context context-type="linenumber">126</context> | 1431 | <context context-type="linenumber">121</context> |
1481 | </context-group> | 1432 | </context-group> |
1482 | </trans-unit> | 1433 | </trans-unit> |
1483 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1434 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1484 | <source>Wait transcoding before publishing the video</source> | 1435 | <source>Wait transcoding before publishing the video</source> |
1485 | <target>Wacht tot het transcoderen voltooid is om de video te publiceren</target> | 1436 | <target>Wacht tot het transcoderen voltooid is om de video te publiceren</target> |
1486 | <context-group name="null"> | 1437 | <context-group name="null"> |
1487 | <context context-type="linenumber">132</context> | 1438 | <context context-type="linenumber">126</context> |
1488 | </context-group> | ||
1489 | </trans-unit> | ||
1490 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1491 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1492 | <target>Als je beslist niet te wachten tot het transcoderen voltooid is voordat je de video publiceert, is die mogelijks niet overal afspeelbaar tot het transcoderen klaar is.</target> | ||
1493 | <context-group name="null"> | ||
1494 | <context context-type="linenumber">135</context> | ||
1495 | </context-group> | 1439 | </context-group> |
1496 | </trans-unit> | 1440 | </trans-unit> |
1497 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1441 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1505,42 +1449,35 @@ Als je een video uploadt in dit kanaal, wordt deze tekst ingevuld in het "onders | |||
1505 | <source>Upload thumbnail</source> | 1449 | <source>Upload thumbnail</source> |
1506 | <target>Thumbnail uploaden</target> | 1450 | <target>Thumbnail uploaden</target> |
1507 | <context-group name="null"> | 1451 | <context-group name="null"> |
1508 | <context context-type="linenumber">146</context> | 1452 | <context context-type="linenumber">186</context> |
1509 | </context-group> | 1453 | </context-group> |
1510 | </trans-unit> | 1454 | </trans-unit> |
1511 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1455 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1512 | <source>Upload preview</source> | 1456 | <source>Upload preview</source> |
1513 | <target>Voorvertoning uploaden</target> | 1457 | <target>Voorvertoning uploaden</target> |
1514 | <context-group name="null"> | 1458 | <context-group name="null"> |
1515 | <context context-type="linenumber">153</context> | 1459 | <context context-type="linenumber">193</context> |
1516 | </context-group> | 1460 | </context-group> |
1517 | </trans-unit> | 1461 | </trans-unit> |
1518 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1462 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1519 | <source>Support</source> | 1463 | <source>Support</source> |
1520 | <target>Ondersteun</target> | 1464 | <target>Ondersteun</target> |
1521 | <context-group name="null"> | 1465 | <context-group name="null"> |
1522 | <context context-type="linenumber">59</context> | 1466 | <context context-type="linenumber">67</context> |
1523 | </context-group> | 1467 | </context-group> |
1524 | </trans-unit> | 1468 | </trans-unit> |
1525 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1469 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1526 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1470 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1527 | <target>Korte tekst om mensen te vertellen hoe ze je kanaal kunnen ondersteunen (bv. door gelddonaties).</target> | 1471 | <target>Korte tekst om mensen te vertellen hoe ze je kanaal kunnen ondersteunen (bv. door gelddonaties).</target> |
1528 | <context-group name="null"> | 1472 | <context-group name="null"> |
1529 | <context context-type="linenumber">160</context> | 1473 | <context context-type="linenumber">200</context> |
1530 | </context-group> | 1474 | </context-group> |
1531 | </trans-unit> | 1475 | </trans-unit> |
1532 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1476 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1533 | <source>Advanced settings</source> | 1477 | <source>Advanced settings</source> |
1534 | <target>Geavanceerde instellingen</target> | 1478 | <target>Geavanceerde instellingen</target> |
1535 | <context-group name="null"> | 1479 | <context-group name="null"> |
1536 | <context context-type="linenumber">142</context> | 1480 | <context context-type="linenumber">182</context> |
1537 | </context-group> | ||
1538 | </trans-unit> | ||
1539 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1540 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1541 | <target>(extensies: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, maximale grootte: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1542 | <context-group name="null"> | ||
1543 | <context context-type="linenumber">11</context> | ||
1544 | </context-group> | 1481 | </context-group> |
1545 | </trans-unit> | 1482 | </trans-unit> |
1546 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1483 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
diff --git a/client/src/locale/target/angular_oc.xml b/client/src/locale/target/angular_oc.xml index 553df7050..f8514c7b9 100644 --- a/client/src/locale/target/angular_oc.xml +++ b/client/src/locale/target/angular_oc.xml | |||
@@ -10,14 +10,14 @@ | |||
10 | <target> | 10 | <target> |
11 | Anullar </target> | 11 | Anullar </target> |
12 | <context-group name="null"> | 12 | <context-group name="null"> |
13 | <context context-type="linenumber">40</context> | 13 | <context context-type="linenumber">45</context> |
14 | </context-group> | 14 | </context-group> |
15 | </trans-unit> | 15 | </trans-unit> |
16 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 16 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
17 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 17 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
18 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizacions</target> | 18 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizacions</target> |
19 | <context-group name="null"> | 19 | <context-group name="null"> |
20 | <context context-type="linenumber">12</context> | 20 | <context context-type="linenumber">34</context> |
21 | </context-group> | 21 | </context-group> |
22 | </trans-unit> | 22 | </trans-unit> |
23 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 23 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -45,7 +45,7 @@ | |||
45 | <source>Get help</source> | 45 | <source>Get help</source> |
46 | <target>Obténer d’ajuda</target> | 46 | <target>Obténer d’ajuda</target> |
47 | <context-group name="null"> | 47 | <context-group name="null"> |
48 | <context context-type="linenumber">17</context> | 48 | <context context-type="linenumber">18</context> |
49 | </context-group> | 49 | </context-group> |
50 | </trans-unit> | 50 | </trans-unit> |
51 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 51 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -106,7 +106,7 @@ | |||
106 | <source>Password</source> | 106 | <source>Password</source> |
107 | <target>Senhal</target> | 107 | <target>Senhal</target> |
108 | <context-group name="null"> | 108 | <context-group name="null"> |
109 | <context context-type="linenumber">28</context> | 109 | <context context-type="linenumber">12</context> |
110 | </context-group> | 110 | </context-group> |
111 | </trans-unit> | 111 | </trans-unit> |
112 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 112 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -327,6 +327,27 @@ | |||
327 | <context context-type="linenumber">9</context> | 327 | <context context-type="linenumber">9</context> |
328 | </context-group> | 328 | </context-group> |
329 | </trans-unit> | 329 | </trans-unit> |
330 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
331 | <source>Category</source> | ||
332 | <target>Categoria</target> | ||
333 | <context-group name="null"> | ||
334 | <context context-type="linenumber">144</context> | ||
335 | </context-group> | ||
336 | </trans-unit> | ||
337 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
338 | <source>Licence</source> | ||
339 | <target>Licéncia</target> | ||
340 | <context-group name="null"> | ||
341 | <context context-type="linenumber">153</context> | ||
342 | </context-group> | ||
343 | </trans-unit> | ||
344 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
345 | <source>Language</source> | ||
346 | <target>Lenga</target> | ||
347 | <context-group name="null"> | ||
348 | <context context-type="linenumber">162</context> | ||
349 | </context-group> | ||
350 | </trans-unit> | ||
330 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 351 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
331 | <source>No results.</source> | 352 | <source>No results.</source> |
332 | <target>Cap de resultat</target> | 353 | <target>Cap de resultat</target> |
@@ -458,6 +479,19 @@ | |||
458 | <context context-type="linenumber">18</context> | 479 | <context context-type="linenumber">18</context> |
459 | </context-group> | 480 | </context-group> |
460 | </trans-unit> | 481 | </trans-unit> |
482 | <trans-unit id="cd429d53cb8f4a87879301248e38cb85f07fa9d6"> | ||
483 | <source> | ||
484 | PeerTube uses the BitTorrent protocol to share bandwidth between users. | ||
485 | This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. | ||
486 | </source> | ||
487 | <target> | ||
488 | PeerTube utiliza lo protocòl BitTorrent per partejar la capacitat de connexion entre los utilizaires. | ||
489 | Aquò significa que vòstra adreça IP es gardada dins l’instància del traçadors BitTorrent tan que telecargatz o agachatz una vidèo. | ||
490 | </target> | ||
491 | <context-group name="null"> | ||
492 | <context context-type="linenumber">20</context> | ||
493 | </context-group> | ||
494 | </trans-unit> | ||
461 | <trans-unit id="e4ce50f3019e3ebe9a479784c6cb68a31c7a8231"> | 495 | <trans-unit id="e4ce50f3019e3ebe9a479784c6cb68a31c7a8231"> |
462 | <source>What are the consequences?</source> | 496 | <source>What are the consequences?</source> |
463 | <target>Quinas son las consequéncias ? </target> | 497 | <target>Quinas son las consequéncias ? </target> |
@@ -465,6 +499,43 @@ | |||
465 | <context context-type="linenumber">25</context> | 499 | <context context-type="linenumber">25</context> |
466 | </context-group> | 500 | </context-group> |
467 | </trans-unit> | 501 | </trans-unit> |
502 | <trans-unit id="9a612748b059ad246935df17ef4ec4e6afb43a2a"> | ||
503 | <source> | ||
504 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. | ||
505 | In practice, this is much more difficult because: | ||
506 | </source> | ||
507 | <target> | ||
508 | En teoria, qualqu’un amb pro competéncias tecnicas poiriá crear un script que pista quala adreça IP es a telecargar quina vidèo. | ||
509 | En pratica, aquò es mai complicat pr’amor : | ||
510 | </target> | ||
511 | <context-group name="null"> | ||
512 | <context context-type="linenumber">27</context> | ||
513 | </context-group> | ||
514 | </trans-unit> | ||
515 | <trans-unit id="64f96be62df4a95a0615b6f630ad25d6348a29d3"> | ||
516 | <source> | ||
517 | An HTTP request has to be sent on each tracker for each video to spy. | ||
518 | If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) | ||
519 | </source> | ||
520 | <target> | ||
521 | Una requèsta HTTP deu èsser enviada a cada traçadors per cada vidèo d’espiar. | ||
522 | Se volèm espiar totas las vidèo de PeerTube, avèm d’enviar tantas requèstas qu’i a de vidèos (doncas potencialament un molon) | ||
523 | </target> | ||
524 | <context-group name="null"> | ||
525 | <context context-type="linenumber">33</context> | ||
526 | </context-group> | ||
527 | </trans-unit> | ||
528 | <trans-unit id="44bbecddbdf2aad1f4bad97cb806560553fb2ab3"> | ||
529 | <source> | ||
530 | If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video | ||
531 | </source> | ||
532 | <target> | ||
533 | S’una adreça es garda dins lo traçador, aquò vòl pas dire que la persona (s’existís) darrièr l’IP a agachat la vidèo | ||
534 | </target> | ||
535 | <context-group name="null"> | ||
536 | <context context-type="linenumber">47</context> | ||
537 | </context-group> | ||
538 | </trans-unit> | ||
468 | <trans-unit id="3c2990d5e452bdf2317ff23745db70705d848d99"> | 539 | <trans-unit id="3c2990d5e452bdf2317ff23745db70705d848d99"> |
469 | <source>What can I do to limit the exposure of my IP address?</source> | 540 | <source>What can I do to limit the exposure of my IP address?</source> |
470 | <target>Qué pòdi far per limitar l’exposicion de mon adreça IP ?</target> | 541 | <target>Qué pòdi far per limitar l’exposicion de mon adreça IP ?</target> |
@@ -609,42 +680,42 @@ | |||
609 | <source>Signup enabled</source> | 680 | <source>Signup enabled</source> |
610 | <target>Inscripcions activadas</target> | 681 | <target>Inscripcions activadas</target> |
611 | <context-group name="null"> | 682 | <context-group name="null"> |
612 | <context context-type="linenumber">92</context> | 683 | <context context-type="linenumber">90</context> |
613 | </context-group> | 684 | </context-group> |
614 | </trans-unit> | 685 | </trans-unit> |
615 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 686 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
616 | <source>Signup limit</source> | 687 | <source>Signup limit</source> |
617 | <target>Limit d’inscripcions</target> | 688 | <target>Limit d’inscripcions</target> |
618 | <context-group name="null"> | 689 | <context-group name="null"> |
619 | <context context-type="linenumber">96</context> | 690 | <context context-type="linenumber">94</context> |
620 | </context-group> | 691 | </context-group> |
621 | </trans-unit> | 692 | </trans-unit> |
622 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 693 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
623 | <source>Administrator</source> | 694 | <source>Administrator</source> |
624 | <target>Administrator</target> | 695 | <target>Administrator</target> |
625 | <context-group name="null"> | 696 | <context-group name="null"> |
626 | <context context-type="linenumber">106</context> | 697 | <context context-type="linenumber">104</context> |
627 | </context-group> | 698 | </context-group> |
628 | </trans-unit> | 699 | </trans-unit> |
629 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 700 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
630 | <source>Admin email</source> | 701 | <source>Admin email</source> |
631 | <target>Adreça de l’admin</target> | 702 | <target>Adreça de l’admin</target> |
632 | <context-group name="null"> | 703 | <context-group name="null"> |
633 | <context context-type="linenumber">109</context> | 704 | <context context-type="linenumber">107</context> |
634 | </context-group> | 705 | </context-group> |
635 | </trans-unit> | 706 | </trans-unit> |
636 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 707 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
637 | <source>Users</source> | 708 | <source>Users</source> |
638 | <target>Utilizaires</target> | 709 | <target>Utilizaires</target> |
639 | <context-group name="null"> | 710 | <context-group name="null"> |
640 | <context context-type="linenumber">119</context> | 711 | <context context-type="linenumber">117</context> |
641 | </context-group> | 712 | </context-group> |
642 | </trans-unit> | 713 | </trans-unit> |
643 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 714 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
644 | <source>User default video quota</source> | 715 | <source>User default video quota</source> |
645 | <target>Quòta per defaut per utilizaire</target> | 716 | <target>Quòta per defaut per utilizaire</target> |
646 | <context-group name="null"> | 717 | <context-group name="null"> |
647 | <context context-type="linenumber">122</context> | 718 | <context context-type="linenumber">120</context> |
648 | </context-group> | 719 | </context-group> |
649 | </trans-unit> | 720 | </trans-unit> |
650 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 721 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -658,91 +729,111 @@ | |||
658 | <source>Twitter</source> | 729 | <source>Twitter</source> |
659 | <target>Twitter</target> | 730 | <target>Twitter</target> |
660 | <context-group name="null"> | 731 | <context-group name="null"> |
661 | <context context-type="linenumber">138</context> | 732 | <context context-type="linenumber">136</context> |
662 | </context-group> | 733 | </context-group> |
663 | </trans-unit> | 734 | </trans-unit> |
664 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 735 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
665 | <source>Your Twitter username</source> | 736 | <source>Your Twitter username</source> |
666 | <target>Vòstre nom d’utilizaire Twitter</target> | 737 | <target>Vòstre nom d’utilizaire Twitter</target> |
667 | <context-group name="null"> | 738 | <context-group name="null"> |
668 | <context context-type="linenumber">141</context> | 739 | <context context-type="linenumber">139</context> |
669 | </context-group> | 740 | </context-group> |
670 | </trans-unit> | 741 | </trans-unit> |
671 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 742 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
672 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 743 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
673 | <target>Indica lo compte Twitter del site o de la plataforma ont lo contengut foguèt publicat.</target> | 744 | <target>Indica lo compte Twitter del site o de la plataforma ont lo contengut foguèt publicat.</target> |
674 | <context-group name="null"> | 745 | <context-group name="null"> |
675 | <context context-type="linenumber">144</context> | 746 | <context context-type="linenumber">142</context> |
676 | </context-group> | 747 | </context-group> |
677 | </trans-unit> | 748 | </trans-unit> |
678 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 749 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
679 | <source>Instance whitelisted by Twitter</source> | 750 | <source>Instance whitelisted by Twitter</source> |
680 | <target>Instàncias en lista blanca per Twitter</target> | 751 | <target>Instàncias en lista blanca per Twitter</target> |
681 | <context-group name="null"> | 752 | <context-group name="null"> |
682 | <context context-type="linenumber">159</context> | 753 | <context context-type="linenumber">155</context> |
683 | </context-group> | 754 | </context-group> |
684 | </trans-unit> | 755 | </trans-unit> |
685 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 756 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
686 | <source>Services</source> | 757 | <source>Services</source> |
687 | <target>Servicis</target> | 758 | <target>Servicis</target> |
688 | <context-group name="null"> | 759 | <context-group name="null"> |
689 | <context context-type="linenumber">136</context> | 760 | <context context-type="linenumber">134</context> |
761 | </context-group> | ||
762 | </trans-unit> | ||
763 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
764 | <source>Transcoding</source> | ||
765 | <target>Transcodatge</target> | ||
766 | <context-group name="null"> | ||
767 | <context context-type="linenumber">164</context> | ||
690 | </context-group> | 768 | </context-group> |
691 | </trans-unit> | 769 | </trans-unit> |
692 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | 770 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
693 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | 771 | <source>Transcoding enabled</source> |
694 | <target>Resolucion <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> activada</target> | 772 | <target>Transcodatge activat</target> |
695 | <context-group name="null"> | 773 | <context-group name="null"> |
696 | <context context-type="linenumber">205</context> | 774 | <context context-type="linenumber">168</context> |
697 | </context-group> | 775 | </context-group> |
698 | </trans-unit> | 776 | </trans-unit> |
699 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | 777 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
700 | <source>Cache</source> | 778 | <source>If you disable transcoding, many videos from your users will not work!</source> |
701 | <target>Cache</target> | 779 | <target>Se desactivatz lo transcodatge, un fum de vidèos de vòstres utilizaires foncionaràn pas !</target> |
702 | <context-group name="null"> | 780 | <context-group name="null"> |
703 | <context context-type="linenumber">209</context> | 781 | <context context-type="linenumber">169</context> |
782 | </context-group> | ||
783 | </trans-unit> | ||
784 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
785 | <source>Transcoding threads</source> | ||
786 | <context-group name="null"> | ||
787 | <context context-type="linenumber">175</context> | ||
704 | </context-group> | 788 | </context-group> |
705 | </trans-unit> | 789 | </trans-unit> |
706 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 790 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
707 | <source>Previews cache size</source> | 791 | <source>Previews cache size</source> |
708 | <target>Talha del cache d’apercebut</target> | 792 | <target>Talha del cache d’apercebut</target> |
709 | <context-group name="null"> | 793 | <context-group name="null"> |
710 | <context context-type="linenumber">212</context> | 794 | <context context-type="linenumber">207</context> |
711 | </context-group> | 795 | </context-group> |
712 | </trans-unit> | 796 | </trans-unit> |
713 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 797 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
714 | <source>Customizations</source> | 798 | <source>Customizations</source> |
715 | <target>Personalizacions</target> | 799 | <target>Personalizacions</target> |
716 | <context-group name="null"> | 800 | <context-group name="null"> |
717 | <context context-type="linenumber">227</context> | 801 | <context context-type="linenumber">228</context> |
718 | </context-group> | 802 | </context-group> |
719 | </trans-unit> | 803 | </trans-unit> |
720 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 804 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
721 | <source>JavaScript</source> | 805 | <source>JavaScript</source> |
722 | <target>JavaScript</target> | 806 | <target>JavaScript</target> |
723 | <context-group name="null"> | 807 | <context-group name="null"> |
724 | <context context-type="linenumber">230</context> | 808 | <context context-type="linenumber">231</context> |
809 | </context-group> | ||
810 | </trans-unit> | ||
811 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
812 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
813 | <target>Escrivètz dirèctament de JavaScript còdi.<br />Exemple : <pre>console.log('mon instància es tròp crana');</pre></target> | ||
814 | <context-group name="null"> | ||
815 | <context context-type="linenumber">234</context> | ||
725 | </context-group> | 816 | </context-group> |
726 | </trans-unit> | 817 | </trans-unit> |
727 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 818 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
728 | <source>Advanced configuration</source> | 819 | <source>Advanced configuration</source> |
729 | <target>Configuracion avançada</target> | 820 | <target>Configuracion avançada</target> |
730 | <context-group name="null"> | 821 | <context-group name="null"> |
731 | <context context-type="linenumber">170</context> | 822 | <context context-type="linenumber">162</context> |
732 | </context-group> | 823 | </context-group> |
733 | </trans-unit> | 824 | </trans-unit> |
734 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 825 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
735 | <source>Update configuration</source> | 826 | <source>Update configuration</source> |
736 | <target>Actualizar la configuracion</target> | 827 | <target>Actualizar la configuracion</target> |
737 | <context-group name="null"> | 828 | <context-group name="null"> |
738 | <context context-type="linenumber">276</context> | 829 | <context context-type="linenumber">277</context> |
739 | </context-group> | 830 | </context-group> |
740 | </trans-unit> | 831 | </trans-unit> |
741 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 832 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
742 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 833 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
743 | <target>Sembla que la configuracion es invalida. Mercés de cercar d’errors possiblas pels diferents onglets.</target> | 834 | <target>Sembla que la configuracion es invalida. Mercés de cercar d’errors possiblas pels diferents onglets.</target> |
744 | <context-group name="null"> | 835 | <context-group name="null"> |
745 | <context context-type="linenumber">277</context> | 836 | <context context-type="linenumber">278</context> |
746 | </context-group> | 837 | </context-group> |
747 | </trans-unit> | 838 | </trans-unit> |
748 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 839 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -767,6 +858,17 @@ | |||
767 | <context context-type="linenumber">7</context> | 858 | <context context-type="linenumber">7</context> |
768 | </context-group> | 859 | </context-group> |
769 | </trans-unit> | 860 | </trans-unit> |
861 | <trans-unit id="96ccede058f0022f34230c3adc09e60076b6d037"> | ||
862 | <source> | ||
863 | Video blacklist | ||
864 | </source> | ||
865 | <target> | ||
866 | Lista nègra de vidèo | ||
867 | </target> | ||
868 | <context-group name="null"> | ||
869 | <context context-type="linenumber">15</context> | ||
870 | </context-group> | ||
871 | </trans-unit> | ||
770 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> | 872 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> |
771 | <source> | 873 | <source> |
772 | Jobs | 874 | Jobs |
@@ -796,6 +898,13 @@ | |||
796 | <context context-type="linenumber">5</context> | 898 | <context context-type="linenumber">5</context> |
797 | </context-group> | 899 | </context-group> |
798 | </trans-unit> | 900 | </trans-unit> |
901 | <trans-unit id="456c6383d8e7cd15aadbcdc196d4ae7a70092437"> | ||
902 | <source>Add following</source> | ||
903 | <target>Ajustar los abonaments</target> | ||
904 | <context-group name="null"> | ||
905 | <context context-type="linenumber">21</context> | ||
906 | </context-group> | ||
907 | </trans-unit> | ||
799 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> | 908 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> |
800 | <source>ID</source> | 909 | <source>ID</source> |
801 | <target>ID</target> | 910 | <target>ID</target> |
@@ -817,6 +926,27 @@ | |||
817 | <context context-type="linenumber">20</context> | 926 | <context context-type="linenumber">20</context> |
818 | </context-group> | 927 | </context-group> |
819 | </trans-unit> | 928 | </trans-unit> |
929 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
930 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
931 | <target>Creat <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
932 | <context-group name="null"> | ||
933 | <context context-type="linenumber">16</context> | ||
934 | </context-group> | ||
935 | </trans-unit> | ||
936 | <trans-unit id="5fccee488a9ea908c16d2ab9dbdaf264f1aac479"> | ||
937 | <source>Manage follows</source> | ||
938 | <target>Gerir los abonaments</target> | ||
939 | <context-group name="null"> | ||
940 | <context context-type="linenumber">2</context> | ||
941 | </context-group> | ||
942 | </trans-unit> | ||
943 | <trans-unit id="a9f2501fcb2ff71f1376c2d2fbbbd49f200e6c8f"> | ||
944 | <source>Jobs list</source> | ||
945 | <target>Lista de trabalhs</target> | ||
946 | <context-group name="null"> | ||
947 | <context context-type="linenumber">2</context> | ||
948 | </context-group> | ||
949 | </trans-unit> | ||
820 | <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc"> | 950 | <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc"> |
821 | <source>Type</source> | 951 | <source>Type</source> |
822 | <target>Tipe</target> | 952 | <target>Tipe</target> |
@@ -824,13 +954,6 @@ | |||
824 | <context context-type="linenumber">19</context> | 954 | <context context-type="linenumber">19</context> |
825 | </context-group> | 955 | </context-group> |
826 | </trans-unit> | 956 | </trans-unit> |
827 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
828 | <source>Updated</source> | ||
829 | <target>Actualizat</target> | ||
830 | <context-group name="null"> | ||
831 | <context context-type="linenumber">22</context> | ||
832 | </context-group> | ||
833 | </trans-unit> | ||
834 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 957 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
835 | <source>Create user</source> | 958 | <source>Create user</source> |
836 | <target>Crear un utilizaire</target> | 959 | <target>Crear un utilizaire</target> |
@@ -838,6 +961,13 @@ | |||
838 | <context context-type="linenumber">6</context> | 961 | <context context-type="linenumber">6</context> |
839 | </context-group> | 962 | </context-group> |
840 | </trans-unit> | 963 | </trans-unit> |
964 | <trans-unit id="2788d9a67ed2b6f35c85818e6af1871317c57a7e"> | ||
965 | <source>Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/></source> | ||
966 | <target>Modificar l’utilizaire <x id="INTERPOLATION" equiv-text="{{ username }}"/></target> | ||
967 | <context-group name="null"> | ||
968 | <context context-type="linenumber">2</context> | ||
969 | </context-group> | ||
970 | </trans-unit> | ||
841 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> | 971 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> |
842 | <source>john</source> | 972 | <source>john</source> |
843 | <target>joan</target> | 973 | <target>joan</target> |
@@ -915,6 +1045,27 @@ | |||
915 | <context context-type="linenumber">28</context> | 1045 | <context context-type="linenumber">28</context> |
916 | </context-group> | 1046 | </context-group> |
917 | </trans-unit> | 1047 | </trans-unit> |
1048 | <trans-unit id="00ecde6001106fe7406a34cc3459cc5b88e4aec1"> | ||
1049 | <source>Blacklisted videos</source> | ||
1050 | <target>Vidèos en lista nègra</target> | ||
1051 | <context-group name="null"> | ||
1052 | <context context-type="linenumber">2</context> | ||
1053 | </context-group> | ||
1054 | </trans-unit> | ||
1055 | <trans-unit id="7c02d113e9b7884037834cddecf2a32a5538b35b"> | ||
1056 | <source>Name <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1057 | <target>Nom <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1058 | <context-group name="null"> | ||
1059 | <context context-type="linenumber">11</context> | ||
1060 | </context-group> | ||
1061 | </trans-unit> | ||
1062 | <trans-unit id="cd5ca5da9e2fa21571e9f86a24a5c3b45a3ddc51"> | ||
1063 | <source>Views <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1064 | <target>Visualizacions <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1065 | <context-group name="null"> | ||
1066 | <context context-type="linenumber">13</context> | ||
1067 | </context-group> | ||
1068 | </trans-unit> | ||
918 | <trans-unit id="d4717113115ca7106a354a5aac54d1c0126261d9"> | 1069 | <trans-unit id="d4717113115ca7106a354a5aac54d1c0126261d9"> |
919 | <source>NSFW</source> | 1070 | <source>NSFW</source> |
920 | <target>NSFW</target> | 1071 | <target>NSFW</target> |
@@ -957,46 +1108,32 @@ | |||
957 | <context context-type="linenumber">7</context> | 1108 | <context context-type="linenumber">7</context> |
958 | </context-group> | 1109 | </context-group> |
959 | </trans-unit> | 1110 | </trans-unit> |
960 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
961 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
962 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> abonats</target> | ||
963 | <context-group name="null"> | ||
964 | <context context-type="linenumber">9</context> | ||
965 | </context-group> | ||
966 | </trans-unit> | ||
967 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
968 | <source>Change your avatar</source> | ||
969 | <target>Cambiar l’avatar</target> | ||
970 | <context-group name="null"> | ||
971 | <context context-type="linenumber">14</context> | ||
972 | </context-group> | ||
973 | </trans-unit> | ||
974 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1111 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
975 | <source>Video quota:</source> | 1112 | <source>Video quota:</source> |
976 | <target>Quòta vidèo :</target> | 1113 | <target>Quòta vidèo :</target> |
977 | <context-group name="null"> | 1114 | <context-group name="null"> |
978 | <context context-type="linenumber">20</context> | 1115 | <context context-type="linenumber">4</context> |
979 | </context-group> | 1116 | </context-group> |
980 | </trans-unit> | 1117 | </trans-unit> |
981 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1118 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
982 | <source>Profile</source> | 1119 | <source>Profile</source> |
983 | <target>Perfil</target> | 1120 | <target>Perfil</target> |
984 | <context-group name="null"> | 1121 | <context-group name="null"> |
985 | <context context-type="linenumber">24</context> | 1122 | <context context-type="linenumber">8</context> |
986 | </context-group> | 1123 | </context-group> |
987 | </trans-unit> | 1124 | </trans-unit> |
988 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1125 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
989 | <source>Video settings</source> | 1126 | <source>Video settings</source> |
990 | <target>Paramètres vidèo</target> | 1127 | <target>Paramètres vidèo</target> |
991 | <context-group name="null"> | 1128 | <context-group name="null"> |
992 | <context context-type="linenumber">31</context> | 1129 | <context context-type="linenumber">15</context> |
993 | </context-group> | 1130 | </context-group> |
994 | </trans-unit> | 1131 | </trans-unit> |
995 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1132 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
996 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1133 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
997 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vistas</target> | 1134 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> vistas</target> |
998 | <context-group name="null"> | 1135 | <context-group name="null"> |
999 | <context context-type="linenumber">20</context> | 1136 | <context context-type="linenumber">19</context> |
1000 | </context-group> | 1137 | </context-group> |
1001 | </trans-unit> | 1138 | </trans-unit> |
1002 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1139 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1024,7 +1161,7 @@ | |||
1024 | <source>Create a video channel</source> | 1161 | <source>Create a video channel</source> |
1025 | <target>Crear una cadena vidèo</target> | 1162 | <target>Crear una cadena vidèo</target> |
1026 | <context-group name="null"> | 1163 | <context-group name="null"> |
1027 | <context context-type="linenumber">1</context> | 1164 | <context context-type="linenumber">6</context> |
1028 | </context-group> | 1165 | </context-group> |
1029 | </trans-unit> | 1166 | </trans-unit> |
1030 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1167 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1055,18 +1192,25 @@ | |||
1055 | <context context-type="linenumber">15</context> | 1192 | <context context-type="linenumber">15</context> |
1056 | </context-group> | 1193 | </context-group> |
1057 | </trans-unit> | 1194 | </trans-unit> |
1195 | <trans-unit id="20f62f24170d57b1efeb2387a0949f482cd4d129"> | ||
1196 | <source>Default policy on videos containing sensitive content</source> | ||
1197 | <target>Politica per defaut de las vidèos amb un contengut sensible</target> | ||
1198 | <context-group name="null"> | ||
1199 | <context context-type="linenumber">3</context> | ||
1200 | </context-group> | ||
1201 | </trans-unit> | ||
1058 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | 1202 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> |
1059 | <source>Automatically plays video</source> | 1203 | <source>Automatically plays video</source> |
1060 | <target>Legir automaticament las vidèos</target> | 1204 | <target>Legir automaticament las vidèos</target> |
1061 | <context-group name="null"> | 1205 | <context-group name="null"> |
1062 | <context context-type="linenumber">24</context> | 1206 | <context context-type="linenumber">20</context> |
1063 | </context-group> | 1207 | </context-group> |
1064 | </trans-unit> | 1208 | </trans-unit> |
1065 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1209 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1066 | <source>Save</source> | 1210 | <source>Save</source> |
1067 | <target>Salvagardar</target> | 1211 | <target>Salvagardar</target> |
1068 | <context-group name="null"> | 1212 | <context-group name="null"> |
1069 | <context context-type="linenumber">27</context> | 1213 | <context context-type="linenumber">23</context> |
1070 | </context-group> | 1214 | </context-group> |
1071 | </trans-unit> | 1215 | </trans-unit> |
1072 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1216 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1076,6 +1220,13 @@ | |||
1076 | <context context-type="linenumber">27</context> | 1220 | <context context-type="linenumber">27</context> |
1077 | </context-group> | 1221 | </context-group> |
1078 | </trans-unit> | 1222 | </trans-unit> |
1223 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1224 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1225 | <target>(extensions : <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, talha max : <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1226 | <context-group name="null"> | ||
1227 | <context context-type="linenumber">18</context> | ||
1228 | </context-group> | ||
1229 | </trans-unit> | ||
1079 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1230 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1080 | <source> | 1231 | <source> |
1081 | Sorry, but we couldn't find the page you were looking for. | 1232 | Sorry, but we couldn't find the page you were looking for. |
@@ -1108,6 +1259,13 @@ | |||
1108 | <context context-type="linenumber">9</context> | 1259 | <context context-type="linenumber">9</context> |
1109 | </context-group> | 1260 | </context-group> |
1110 | </trans-unit> | 1261 | </trans-unit> |
1262 | <trans-unit id="5523952d0300c96cfba2ec5a693c95f923e90c40"> | ||
1263 | <source>Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></source> | ||
1264 | <target>Creada <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></target> | ||
1265 | <context-group name="null"> | ||
1266 | <context context-type="linenumber">17</context> | ||
1267 | </context-group> | ||
1268 | </trans-unit> | ||
1111 | <trans-unit id="d4dcf74163f127ca9afa84d55b5d95846958faa0"> | 1269 | <trans-unit id="d4dcf74163f127ca9afa84d55b5d95846958faa0"> |
1112 | <source>Upload your video</source> | 1270 | <source>Upload your video</source> |
1113 | <target>Mandatz vòstras vidèos</target> | 1271 | <target>Mandatz vòstras vidèos</target> |
@@ -1115,6 +1273,13 @@ | |||
1115 | <context context-type="linenumber">3</context> | 1273 | <context context-type="linenumber">3</context> |
1116 | </context-group> | 1274 | </context-group> |
1117 | </trans-unit> | 1275 | </trans-unit> |
1276 | <trans-unit id="1af3dcf5aad5b7f4b3251da88a89dc9a184445dd"> | ||
1277 | <source>Upload <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></source> | ||
1278 | <target>Actualizada <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></target> | ||
1279 | <context-group name="null"> | ||
1280 | <context context-type="linenumber">4</context> | ||
1281 | </context-group> | ||
1282 | </trans-unit> | ||
1118 | <trans-unit id="21add64f0f3ebbedf1150ca822c6e149494ab7a9"> | 1283 | <trans-unit id="21add64f0f3ebbedf1150ca822c6e149494ab7a9"> |
1119 | <source>Select the file to upload</source> | 1284 | <source>Select the file to upload</source> |
1120 | <target>Selecionnatz lo fichièr de mandar</target> | 1285 | <target>Selecionnatz lo fichièr de mandar</target> |
@@ -1133,21 +1298,21 @@ | |||
1133 | <source>Privacy</source> | 1298 | <source>Privacy</source> |
1134 | <target>Confidencialitat</target> | 1299 | <target>Confidencialitat</target> |
1135 | <context-group name="null"> | 1300 | <context-group name="null"> |
1136 | <context context-type="linenumber">86</context> | 1301 | <context context-type="linenumber">139</context> |
1137 | </context-group> | 1302 | </context-group> |
1138 | </trans-unit> | 1303 | </trans-unit> |
1139 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1304 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1140 | <source>Publish will be available when upload is finished</source> | 1305 | <source>Publish will be available when upload is finished</source> |
1141 | <target>La publicacion serà possibla un còp lo mandadís acabat</target> | 1306 | <target>La publicacion serà possibla un còp lo mandadís acabat</target> |
1142 | <context-group name="null"> | 1307 | <context-group name="null"> |
1143 | <context context-type="linenumber">53</context> | 1308 | <context context-type="linenumber">54</context> |
1144 | </context-group> | 1309 | </context-group> |
1145 | </trans-unit> | 1310 | </trans-unit> |
1146 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1311 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1147 | <source>Publish</source> | 1312 | <source>Publish</source> |
1148 | <target>Publicar</target> | 1313 | <target>Publicar</target> |
1149 | <context-group name="null"> | 1314 | <context-group name="null"> |
1150 | <context context-type="linenumber">60</context> | 1315 | <context context-type="linenumber">61</context> |
1151 | </context-group> | 1316 | </context-group> |
1152 | </trans-unit> | 1317 | </trans-unit> |
1153 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1318 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1161,7 +1326,7 @@ | |||
1161 | <source>Tags</source> | 1326 | <source>Tags</source> |
1162 | <target>Etiquetas</target> | 1327 | <target>Etiquetas</target> |
1163 | <context-group name="null"> | 1328 | <context-group name="null"> |
1164 | <context context-type="linenumber">15</context> | 1329 | <context context-type="linenumber">171</context> |
1165 | </context-group> | 1330 | </context-group> |
1166 | </trans-unit> | 1331 | </trans-unit> |
1167 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1332 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1171,31 +1336,24 @@ | |||
1171 | <context context-type="linenumber">15</context> | 1336 | <context context-type="linenumber">15</context> |
1172 | </context-group> | 1337 | </context-group> |
1173 | </trans-unit> | 1338 | </trans-unit> |
1174 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | 1339 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1175 | <source>Category</source> | 1340 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1176 | <target>Categoria</target> | 1341 | <target>Publicacion programada (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
1177 | <context-group name="null"> | ||
1178 | <context context-type="linenumber">44</context> | ||
1179 | </context-group> | ||
1180 | </trans-unit> | ||
1181 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1182 | <source>Licence</source> | ||
1183 | <target>Licéncia</target> | ||
1184 | <context-group name="null"> | ||
1185 | <context context-type="linenumber">58</context> | ||
1186 | </context-group> | ||
1187 | </trans-unit> | ||
1188 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1189 | <source>Language</source> | ||
1190 | <target>Lenga</target> | ||
1191 | <context-group name="null"> | 1342 | <context-group name="null"> |
1192 | <context context-type="linenumber">72</context> | 1343 | <context context-type="linenumber">101</context> |
1193 | </context-group> | 1344 | </context-group> |
1194 | </trans-unit> | 1345 | </trans-unit> |
1195 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1346 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1196 | <source>Enable video comments</source> | 1347 | <source>Enable video comments</source> |
1197 | <target>Activar los comentaris</target> | 1348 | <target>Activar los comentaris</target> |
1198 | <context-group name="null"> | 1349 | <context-group name="null"> |
1350 | <context context-type="linenumber">121</context> | ||
1351 | </context-group> | ||
1352 | </trans-unit> | ||
1353 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | ||
1354 | <source>Wait transcoding before publishing the video</source> | ||
1355 | <target>Esperatz lo transcodatge abans de publicar la vidèo</target> | ||
1356 | <context-group name="null"> | ||
1199 | <context context-type="linenumber">126</context> | 1357 | <context context-type="linenumber">126</context> |
1200 | </context-group> | 1358 | </context-group> |
1201 | </trans-unit> | 1359 | </trans-unit> |
@@ -1210,28 +1368,46 @@ | |||
1210 | <source>Upload thumbnail</source> | 1368 | <source>Upload thumbnail</source> |
1211 | <target>Enviar una vinheta d’apercebut</target> | 1369 | <target>Enviar una vinheta d’apercebut</target> |
1212 | <context-group name="null"> | 1370 | <context-group name="null"> |
1213 | <context context-type="linenumber">146</context> | 1371 | <context context-type="linenumber">186</context> |
1214 | </context-group> | 1372 | </context-group> |
1215 | </trans-unit> | 1373 | </trans-unit> |
1216 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1374 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1217 | <source>Upload preview</source> | 1375 | <source>Upload preview</source> |
1218 | <target>Enviar un apercebut</target> | 1376 | <target>Enviar un apercebut</target> |
1219 | <context-group name="null"> | 1377 | <context-group name="null"> |
1220 | <context context-type="linenumber">153</context> | 1378 | <context context-type="linenumber">193</context> |
1221 | </context-group> | 1379 | </context-group> |
1222 | </trans-unit> | 1380 | </trans-unit> |
1223 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1381 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1224 | <source>Support</source> | 1382 | <source>Support</source> |
1225 | <target>Sosténer</target> | 1383 | <target>Sosténer</target> |
1226 | <context-group name="null"> | 1384 | <context-group name="null"> |
1227 | <context context-type="linenumber">59</context> | 1385 | <context context-type="linenumber">67</context> |
1228 | </context-group> | 1386 | </context-group> |
1229 | </trans-unit> | 1387 | </trans-unit> |
1230 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1388 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1231 | <source>Advanced settings</source> | 1389 | <source>Advanced settings</source> |
1232 | <target>Paramètres avançats</target> | 1390 | <target>Paramètres avançats</target> |
1233 | <context-group name="null"> | 1391 | <context-group name="null"> |
1234 | <context context-type="linenumber">142</context> | 1392 | <context context-type="linenumber">182</context> |
1393 | </context-group> | ||
1394 | </trans-unit> | ||
1395 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | ||
1396 | <source> | ||
1397 | Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1398 | </source> | ||
1399 | <target> | ||
1400 | Actualizar <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1401 | </target> | ||
1402 | <context-group name="null"> | ||
1403 | <context context-type="linenumber">2</context> | ||
1404 | </context-group> | ||
1405 | </trans-unit> | ||
1406 | <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb"> | ||
1407 | <source>Update</source> | ||
1408 | <target>Actualizar</target> | ||
1409 | <context-group name="null"> | ||
1410 | <context context-type="linenumber">101</context> | ||
1235 | </context-group> | 1411 | </context-group> |
1236 | </trans-unit> | 1412 | </trans-unit> |
1237 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1413 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1241,32 +1417,18 @@ | |||
1241 | <context context-type="linenumber">7</context> | 1417 | <context context-type="linenumber">7</context> |
1242 | </context-group> | 1418 | </context-group> |
1243 | </trans-unit> | 1419 | </trans-unit> |
1244 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1245 | <source>Torrent</source> | ||
1246 | <target>Torrent</target> | ||
1247 | <context-group name="null"> | ||
1248 | <context context-type="linenumber">20</context> | ||
1249 | </context-group> | ||
1250 | </trans-unit> | ||
1251 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1420 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1252 | <source>Direct download</source> | 1421 | <source>Direct download</source> |
1253 | <target>Telecargament dirècte</target> | 1422 | <target>Telecargament dirècte</target> |
1254 | <context-group name="null"> | 1423 | <context-group name="null"> |
1255 | <context context-type="linenumber">25</context> | 1424 | <context context-type="linenumber">20</context> |
1256 | </context-group> | ||
1257 | </trans-unit> | ||
1258 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1259 | <source>Torrent (magnet)</source> | ||
1260 | <target>Torrent (magnet)</target> | ||
1261 | <context-group name="null"> | ||
1262 | <context context-type="linenumber">30</context> | ||
1263 | </context-group> | 1425 | </context-group> |
1264 | </trans-unit> | 1426 | </trans-unit> |
1265 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1427 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1266 | <source>Download</source> | 1428 | <source>Download</source> |
1267 | <target>Telecargar</target> | 1429 | <target>Telecargar</target> |
1268 | <context-group name="null"> | 1430 | <context-group name="null"> |
1269 | <context context-type="linenumber">75</context> | 1431 | <context context-type="linenumber">83</context> |
1270 | </context-group> | 1432 | </context-group> |
1271 | </trans-unit> | 1433 | </trans-unit> |
1272 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1434 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1305,7 +1467,7 @@ | |||
1305 | <source>Share</source> | 1467 | <source>Share</source> |
1306 | <target>Partejar</target> | 1468 | <target>Partejar</target> |
1307 | <context-group name="null"> | 1469 | <context-group name="null"> |
1308 | <context context-type="linenumber">64</context> | 1470 | <context context-type="linenumber">72</context> |
1309 | </context-group> | 1471 | </context-group> |
1310 | </trans-unit> | 1472 | </trans-unit> |
1311 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1473 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1322,80 +1484,135 @@ | |||
1322 | <context context-type="linenumber">24</context> | 1484 | <context context-type="linenumber">24</context> |
1323 | </context-group> | 1485 | </context-group> |
1324 | </trans-unit> | 1486 | </trans-unit> |
1325 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1487 | <trans-unit id="9ed65ae88f6c982bc44d6fed2796e55f47dbf304"> |
1326 | <source>Delete this video</source> | 1488 | <source> |
1327 | <target>Suprimir aquesta vidèo</target> | 1489 | The video is being transcoded, it may not work properly. |
1328 | <context-group name="null"> | 1490 | </source> |
1329 | <context context-type="linenumber">98</context> | 1491 | <target> |
1330 | </context-group> | 1492 | La vidèo es en transcodatge, pòt arribar que foncione pas coma cal. |
1331 | </trans-unit> | 1493 | </target> |
1332 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | ||
1333 | <source>Show more</source> | ||
1334 | <target>Ne veire mai</target> | ||
1335 | <context-group name="null"> | 1494 | <context-group name="null"> |
1336 | <context context-type="linenumber">118</context> | 1495 | <context context-type="linenumber">11</context> |
1337 | </context-group> | 1496 | </context-group> |
1338 | </trans-unit> | 1497 | </trans-unit> |
1339 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1498 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
1340 | <source>Show less</source> | 1499 | <source> |
1341 | <target>Ne veire mens</target> | 1500 | This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1501 | </source> | ||
1502 | <target> | ||
1503 | Aquesta vidèo serà publicada lo <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | ||
1504 | </target> | ||
1342 | <context-group name="null"> | 1505 | <context-group name="null"> |
1343 | <context context-type="linenumber">124</context> | 1506 | <context context-type="linenumber">15</context> |
1344 | </context-group> | 1507 | </context-group> |
1345 | </trans-unit> | 1508 | </trans-unit> |
1346 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | 1509 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
1347 | <source> | 1510 | <source> |
1348 | Privacy | 1511 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views |
1349 | </source> | 1512 | </source> |
1350 | <target> | 1513 | <target> |
1351 | Vida privada | 1514 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizacions |
1352 | </target> | 1515 | </target> |
1353 | <context-group name="null"> | 1516 | <context-group name="null"> |
1354 | <context context-type="linenumber">131</context> | 1517 | <context context-type="linenumber">26</context> |
1355 | </context-group> | 1518 | </context-group> |
1356 | </trans-unit> | 1519 | </trans-unit> |
1357 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | 1520 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1358 | <source> | 1521 | <source>Go the channel page</source> |
1359 | Category | 1522 | <target>Anar la pagina de la cadena</target> |
1360 | </source> | ||
1361 | <target> | ||
1362 | Categoria | ||
1363 | </target> | ||
1364 | <context-group name="null"> | 1523 | <context-group name="null"> |
1365 | <context context-type="linenumber">140</context> | 1524 | <context context-type="linenumber">31</context> |
1366 | </context-group> | 1525 | </context-group> |
1367 | </trans-unit> | 1526 | </trans-unit> |
1368 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | 1527 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1369 | <source> | 1528 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1370 | Licence | 1529 | <target>Per <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1371 | </source> | ||
1372 | <target> | ||
1373 | Licéncia | ||
1374 | </target> | ||
1375 | <context-group name="null"> | 1530 | <context-group name="null"> |
1376 | <context context-type="linenumber">149</context> | 1531 | <context context-type="linenumber">41</context> |
1377 | </context-group> | 1532 | </context-group> |
1378 | </trans-unit> | 1533 | </trans-unit> |
1379 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | 1534 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1380 | <source> | 1535 | <source>Go to the account page</source> |
1381 | Language | 1536 | <target>Anar a la pagina del compte</target> |
1382 | </source> | ||
1383 | <target> | ||
1384 | Lenga | ||
1385 | </target> | ||
1386 | <context-group name="null"> | 1537 | <context-group name="null"> |
1387 | <context context-type="linenumber">158</context> | 1538 | <context context-type="linenumber">40</context> |
1388 | </context-group> | 1539 | </context-group> |
1389 | </trans-unit> | 1540 | </trans-unit> |
1390 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | 1541 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1391 | <source> | 1542 | <source>Like this video</source> |
1392 | Tags | 1543 | <target>Aimar la vidèo</target> |
1393 | </source> | 1544 | <context-group name="null"> |
1394 | <target> | 1545 | <context context-type="linenumber">55</context> |
1395 | Etiquetas | 1546 | </context-group> |
1396 | </target> | 1547 | </trans-unit> |
1548 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | ||
1549 | <source>Dislike this video</source> | ||
1550 | <target>Aimar pas mai la vidèo</target> | ||
1397 | <context-group name="null"> | 1551 | <context-group name="null"> |
1398 | <context context-type="linenumber">167</context> | 1552 | <context context-type="linenumber">62</context> |
1553 | </context-group> | ||
1554 | </trans-unit> | ||
1555 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | ||
1556 | <source>Download the video</source> | ||
1557 | <target>Telecargar la vidèo</target> | ||
1558 | <context-group name="null"> | ||
1559 | <context context-type="linenumber">82</context> | ||
1560 | </context-group> | ||
1561 | </trans-unit> | ||
1562 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | ||
1563 | <source>Report</source> | ||
1564 | <target>Senhalar</target> | ||
1565 | <context-group name="null"> | ||
1566 | <context context-type="linenumber">89</context> | ||
1567 | </context-group> | ||
1568 | </trans-unit> | ||
1569 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | ||
1570 | <source>Report this video</source> | ||
1571 | <target>Senhalar aquesta vidèo</target> | ||
1572 | <context-group name="null"> | ||
1573 | <context context-type="linenumber">88</context> | ||
1574 | </context-group> | ||
1575 | </trans-unit> | ||
1576 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | ||
1577 | <source>Blacklist</source> | ||
1578 | <target>Lista nègra</target> | ||
1579 | <context-group name="null"> | ||
1580 | <context context-type="linenumber">95</context> | ||
1581 | </context-group> | ||
1582 | </trans-unit> | ||
1583 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | ||
1584 | <source>Blacklist this video</source> | ||
1585 | <target>Metre en lista nègra</target> | ||
1586 | <context-group name="null"> | ||
1587 | <context context-type="linenumber">94</context> | ||
1588 | </context-group> | ||
1589 | </trans-unit> | ||
1590 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | ||
1591 | <source>Update this video</source> | ||
1592 | <target>Enviar aquesta vidèo</target> | ||
1593 | <context-group name="null"> | ||
1594 | <context context-type="linenumber">100</context> | ||
1595 | </context-group> | ||
1596 | </trans-unit> | ||
1597 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | ||
1598 | <source>Delete this video</source> | ||
1599 | <target>Suprimir aquesta vidèo</target> | ||
1600 | <context-group name="null"> | ||
1601 | <context context-type="linenumber">106</context> | ||
1602 | </context-group> | ||
1603 | </trans-unit> | ||
1604 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | ||
1605 | <source>Show more</source> | ||
1606 | <target>Ne veire mai</target> | ||
1607 | <context-group name="null"> | ||
1608 | <context context-type="linenumber">126</context> | ||
1609 | </context-group> | ||
1610 | </trans-unit> | ||
1611 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | ||
1612 | <source>Show less</source> | ||
1613 | <target>Ne veire mens</target> | ||
1614 | <context-group name="null"> | ||
1615 | <context context-type="linenumber">132</context> | ||
1399 | </context-group> | 1616 | </context-group> |
1400 | </trans-unit> | 1617 | </trans-unit> |
1401 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1618 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -1406,21 +1623,21 @@ | |||
1406 | Autras vidèos | 1623 | Autras vidèos |
1407 | </target> | 1624 | </target> |
1408 | <context-group name="null"> | 1625 | <context-group name="null"> |
1409 | <context context-type="linenumber">181</context> | 1626 | <context context-type="linenumber">183</context> |
1410 | </context-group> | 1627 | </context-group> |
1411 | </trans-unit> | 1628 | </trans-unit> |
1412 | <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e"> | 1629 | <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e"> |
1413 | <source>More information</source> | 1630 | <source>More information</source> |
1414 | <target>Mai d’informacions</target> | 1631 | <target>Mai d’informacions</target> |
1415 | <context-group name="null"> | 1632 | <context-group name="null"> |
1416 | <context context-type="linenumber">198</context> | 1633 | <context context-type="linenumber">200</context> |
1417 | </context-group> | 1634 | </context-group> |
1418 | </trans-unit> | 1635 | </trans-unit> |
1419 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1636 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
1420 | <source>Get more information</source> | 1637 | <source>Get more information</source> |
1421 | <target>Obténer mai d’informacions</target> | 1638 | <target>Obténer mai d’informacions</target> |
1422 | <context-group name="null"> | 1639 | <context-group name="null"> |
1423 | <context context-type="linenumber">198</context> | 1640 | <context context-type="linenumber">200</context> |
1424 | </context-group> | 1641 | </context-group> |
1425 | </trans-unit> | 1642 | </trans-unit> |
1426 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1643 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -1431,7 +1648,7 @@ | |||
1431 | D’acòrdi | 1648 | D’acòrdi |
1432 | </target> | 1649 | </target> |
1433 | <context-group name="null"> | 1650 | <context-group name="null"> |
1434 | <context context-type="linenumber">201</context> | 1651 | <context context-type="linenumber">203</context> |
1435 | </context-group> | 1652 | </context-group> |
1436 | </trans-unit> | 1653 | </trans-unit> |
1437 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1654 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -1452,6 +1669,13 @@ | |||
1452 | <context context-type="linenumber">19</context> | 1669 | <context context-type="linenumber">19</context> |
1453 | </context-group> | 1670 | </context-group> |
1454 | </trans-unit> | 1671 | </trans-unit> |
1672 | <trans-unit id="69c081796209e45e26af91152ec9bd0a65ec261e"> | ||
1673 | <source>View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies</source> | ||
1674 | <target>Veire totas las <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> responsas</target> | ||
1675 | <context-group name="null"> | ||
1676 | <context context-type="linenumber">56</context> | ||
1677 | </context-group> | ||
1678 | </trans-unit> | ||
1455 | <trans-unit id="b7fccd922d6473725247ed85a9fdf96fe6794828"> | 1679 | <trans-unit id="b7fccd922d6473725247ed85a9fdf96fe6794828"> |
1456 | <source> | 1680 | <source> |
1457 | Comments are disabled. | 1681 | Comments are disabled. |
@@ -1516,6 +1740,97 @@ | |||
1516 | <context context-type="linenumber">1</context> | 1740 | <context context-type="linenumber">1</context> |
1517 | </context-group> | 1741 | </context-group> |
1518 | </trans-unit> | 1742 | </trans-unit> |
1743 | <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d"> | ||
1744 | <source>Error</source> | ||
1745 | <target>Error</target> | ||
1746 | <context-group name="null"> | ||
1747 | <context context-type="linenumber">1</context> | ||
1748 | </context-group> | ||
1749 | </trans-unit> | ||
1750 | <trans-unit id="262e18b2efb5912651684a522fc08d77c99972d0"> | ||
1751 | <source>Are you sure you want to update the configuration?</source> | ||
1752 | <target>Volètz vertadièrament actualizar la configuracion ?</target> | ||
1753 | <context-group name="null"> | ||
1754 | <context context-type="linenumber">1</context> | ||
1755 | </context-group> | ||
1756 | </trans-unit> | ||
1757 | <trans-unit id="1ae0ab69f5c19d179282c8d882fd2f3c00e29119"> | ||
1758 | <source>Please type</source> | ||
1759 | <target>Mercés de picar</target> | ||
1760 | <context-group name="null"> | ||
1761 | <context context-type="linenumber">1</context> | ||
1762 | </context-group> | ||
1763 | </trans-unit> | ||
1764 | <trans-unit id="75f4bb68ee4c6b282abfd9d8d32be22c6202794d"> | ||
1765 | <source>to confirm.</source> | ||
1766 | <target>per confirmar.</target> | ||
1767 | <context-group name="null"> | ||
1768 | <context context-type="linenumber">1</context> | ||
1769 | </context-group> | ||
1770 | </trans-unit> | ||
1771 | <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba"> | ||
1772 | <source>Success</source> | ||
1773 | <target>Succès</target> | ||
1774 | <context-group name="null"> | ||
1775 | <context context-type="linenumber">1</context> | ||
1776 | </context-group> | ||
1777 | </trans-unit> | ||
1778 | <trans-unit id="b9e64712e3e5c342ce9cd32eec6cd7d6c00f4048"> | ||
1779 | <source>Configuration updated.</source> | ||
1780 | <target>Configuracion actualizada.</target> | ||
1781 | <context-group name="null"> | ||
1782 | <context context-type="linenumber">1</context> | ||
1783 | </context-group> | ||
1784 | </trans-unit> | ||
1785 | <trans-unit id="fc5731a28a99b25c62d43333ceebb250d60aff84"> | ||
1786 | <source><x id="INTERPOLATION" equiv-text="{{host}}"/> is not valid</source> | ||
1787 | <target><x id="INTERPOLATION" equiv-text="{{host}}"/> es pas valid</target> | ||
1788 | <context-group name="null"> | ||
1789 | <context context-type="linenumber">1</context> | ||
1790 | </context-group> | ||
1791 | </trans-unit> | ||
1792 | <trans-unit id="e02f50674f1d96966384dc096beb42d4973997df"> | ||
1793 | <source>You need to specify hosts to follow.</source> | ||
1794 | <target>Vos fa mestièr especificar los òstes de seguir</target> | ||
1795 | <context-group name="null"> | ||
1796 | <context context-type="linenumber">1</context> | ||
1797 | </context-group> | ||
1798 | </trans-unit> | ||
1799 | <trans-unit id="a89875525c82ab81ffe32e481a5475b43d0c2902"> | ||
1800 | <source>Unfollow</source> | ||
1801 | <target>Quitar de seguir</target> | ||
1802 | <context-group name="null"> | ||
1803 | <context context-type="linenumber">1</context> | ||
1804 | </context-group> | ||
1805 | </trans-unit> | ||
1806 | <trans-unit id="fb4e35e2b0ea2abc1f71295a4b34830e57c07bd0"> | ||
1807 | <source>You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore.</source> | ||
1808 | <target>Seguèt pas mai <x id="INTERPOLATION" equiv-text="{{host}}"/>.</target> | ||
1809 | <context-group name="null"> | ||
1810 | <context context-type="linenumber">1</context> | ||
1811 | </context-group> | ||
1812 | </trans-unit> | ||
1813 | <trans-unit id="f995df052a1dfc675c2a21926420a707d9601936"> | ||
1814 | <source>Following</source> | ||
1815 | <target>Abonaments</target> | ||
1816 | <context-group name="null"> | ||
1817 | <context context-type="linenumber">1</context> | ||
1818 | </context-group> | ||
1819 | </trans-unit> | ||
1820 | <trans-unit id="d29764bcbaad3ef69b6be92be35bdf25972ce246"> | ||
1821 | <source>Follow</source> | ||
1822 | <target>Seguir</target> | ||
1823 | <context-group name="null"> | ||
1824 | <context context-type="linenumber">1</context> | ||
1825 | </context-group> | ||
1826 | </trans-unit> | ||
1827 | <trans-unit id="9bee670725966ed477b4c33a545c8b5436b0065e"> | ||
1828 | <source>Followers</source> | ||
1829 | <target>Seguidors</target> | ||
1830 | <context-group name="null"> | ||
1831 | <context context-type="linenumber">1</context> | ||
1832 | </context-group> | ||
1833 | </trans-unit> | ||
1519 | <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> | 1834 | <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> |
1520 | <source>Unlimited</source> | 1835 | <source>Unlimited</source> |
1521 | <target>Cap de limit</target> | 1836 | <target>Cap de limit</target> |
@@ -1649,6 +1964,69 @@ | |||
1649 | <context context-type="linenumber">1</context> | 1964 | <context context-type="linenumber">1</context> |
1650 | </context-group> | 1965 | </context-group> |
1651 | </trans-unit> | 1966 | </trans-unit> |
1967 | <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87"> | ||
1968 | <source>You need to reconnect.</source> | ||
1969 | <target>Vos cal vos reconnectar.</target> | ||
1970 | <context-group name="null"> | ||
1971 | <context context-type="linenumber">1</context> | ||
1972 | </context-group> | ||
1973 | </trans-unit> | ||
1974 | <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da"> | ||
1975 | <source>Confirm</source> | ||
1976 | <target>Confirmar</target> | ||
1977 | <context-group name="null"> | ||
1978 | <context context-type="linenumber">1</context> | ||
1979 | </context-group> | ||
1980 | </trans-unit> | ||
1981 | <trans-unit id="b0f24b7136e551a0deba831f1525711245b31a26"> | ||
1982 | <source>Your password has been successfully reset!</source> | ||
1983 | <target>Vòstre senhal es estat corrèctament reïnicializat</target> | ||
1984 | <context-group name="null"> | ||
1985 | <context context-type="linenumber">1</context> | ||
1986 | </context-group> | ||
1987 | </trans-unit> | ||
1988 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
1989 | <source>Today</source> | ||
1990 | <target>Uèi</target> | ||
1991 | <context-group name="null"> | ||
1992 | <context context-type="linenumber">1</context> | ||
1993 | </context-group> | ||
1994 | </trans-unit> | ||
1995 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
1996 | <source>Search</source> | ||
1997 | <target>Cercar</target> | ||
1998 | <context-group name="null"> | ||
1999 | <context context-type="linenumber">1</context> | ||
2000 | </context-group> | ||
2001 | </trans-unit> | ||
2002 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | ||
2003 | <source>Instance name is required.</source> | ||
2004 | <target>Lo nom de l’instància es requesit.</target> | ||
2005 | <context-group name="null"> | ||
2006 | <context context-type="linenumber">1</context> | ||
2007 | </context-group> | ||
2008 | </trans-unit> | ||
2009 | <trans-unit id="356e63270712273da168072ec0fc78a969919bf1"> | ||
2010 | <source>Twitter username is required.</source> | ||
2011 | <target>Lo nom d’utilizaire Twitter es requesit.</target> | ||
2012 | <context-group name="null"> | ||
2013 | <context context-type="linenumber">1</context> | ||
2014 | </context-group> | ||
2015 | </trans-unit> | ||
2016 | <trans-unit id="5db300f6fba918a35597160183205ede13e8e149"> | ||
2017 | <source>Username is required.</source> | ||
2018 | <target>Lo nom d’utilizaire es requesit.</target> | ||
2019 | <context-group name="null"> | ||
2020 | <context context-type="linenumber">1</context> | ||
2021 | </context-group> | ||
2022 | </trans-unit> | ||
2023 | <trans-unit id="4eb39d69b74d7a56652ec84fa6826994ee26c0e5"> | ||
2024 | <source>Password is required.</source> | ||
2025 | <target>Lo senhal es requesit.</target> | ||
2026 | <context-group name="null"> | ||
2027 | <context context-type="linenumber">1</context> | ||
2028 | </context-group> | ||
2029 | </trans-unit> | ||
1652 | <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01"> | 2030 | <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01"> |
1653 | <source>Warning</source> | 2031 | <source>Warning</source> |
1654 | <target>Avís</target> | 2032 | <target>Avís</target> |
@@ -1796,13 +2174,6 @@ | |||
1796 | <context context-type="linenumber">1</context> | 2174 | <context context-type="linenumber">1</context> |
1797 | </context-group> | 2175 | </context-group> |
1798 | </trans-unit> | 2176 | </trans-unit> |
1799 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
1800 | <source>Today</source> | ||
1801 | <target>Uèi</target> | ||
1802 | <context-group name="null"> | ||
1803 | <context context-type="linenumber">1</context> | ||
1804 | </context-group> | ||
1805 | </trans-unit> | ||
1806 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 2177 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
1807 | <source>Clear</source> | 2178 | <source>Clear</source> |
1808 | <target>Escafar</target> | 2179 | <target>Escafar</target> |
@@ -1943,13 +2314,6 @@ | |||
1943 | <context context-type="linenumber">1</context> | 2314 | <context context-type="linenumber">1</context> |
1944 | </context-group> | 2315 | </context-group> |
1945 | </trans-unit> | 2316 | </trans-unit> |
1946 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
1947 | <source>This image is too large.</source> | ||
1948 | <target>Aqueste imatge es tròp larg.</target> | ||
1949 | <context-group name="null"> | ||
1950 | <context context-type="linenumber">1</context> | ||
1951 | </context-group> | ||
1952 | </trans-unit> | ||
1953 | <trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5"> | 2317 | <trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5"> |
1954 | <source>Info</source> | 2318 | <source>Info</source> |
1955 | <target>Info</target> | 2319 | <target>Info</target> |
@@ -1964,13 +2328,6 @@ | |||
1964 | <context context-type="linenumber">1</context> | 2328 | <context context-type="linenumber">1</context> |
1965 | </context-group> | 2329 | </context-group> |
1966 | </trans-unit> | 2330 | </trans-unit> |
1967 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
1968 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
1969 | <target>O planhèm mas PeerTube pòt pas gerir de vidèos de mai de 4 Go</target> | ||
1970 | <context-group name="null"> | ||
1971 | <context context-type="linenumber">1</context> | ||
1972 | </context-group> | ||
1973 | </trans-unit> | ||
1974 | <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> | 2331 | <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> |
1975 | <source>Video published.</source> | 2332 | <source>Video published.</source> |
1976 | <target>Vidèo publicada.</target> | 2333 | <target>Vidèo publicada.</target> |
@@ -1999,12 +2356,5 @@ | |||
1999 | <context context-type="linenumber">1</context> | 2356 | <context context-type="linenumber">1</context> |
2000 | </context-group> | 2357 | </context-group> |
2001 | </trans-unit> | 2358 | </trans-unit> |
2002 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2003 | <source>Search</source> | ||
2004 | <target>Cercar</target> | ||
2005 | <context-group name="null"> | ||
2006 | <context context-type="linenumber">1</context> | ||
2007 | </context-group> | ||
2008 | </trans-unit> | ||
2009 | </body> | 2359 | </body> |
2010 | </file></xliff> \ No newline at end of file | 2360 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_pl_PL.xml b/client/src/locale/target/angular_pl_PL.xml index 5bc09d040..6689cd4d2 100644 --- a/client/src/locale/target/angular_pl_PL.xml +++ b/client/src/locale/target/angular_pl_PL.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Anuluj | 11 | Anuluj |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetleń</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetleń</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Uzyskaj pomoc</target> | 47 | <target>Uzyskaj pomoc</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Hasło</target> | 108 | <target>Hasło</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -330,6 +330,34 @@ | |||
330 | <context context-type="linenumber">9</context> | 330 | <context context-type="linenumber">9</context> |
331 | </context-group> | 331 | </context-group> |
332 | </trans-unit> | 332 | </trans-unit> |
333 | <trans-unit id="3d3ae7deebc5949b0c1c78b9847886a94321d9fd"> | ||
334 | <source>No</source> | ||
335 | <target>Nie</target> | ||
336 | <context-group name="null"> | ||
337 | <context context-type="linenumber">42</context> | ||
338 | </context-group> | ||
339 | </trans-unit> | ||
340 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
341 | <source>Category</source> | ||
342 | <target>Kategoria</target> | ||
343 | <context-group name="null"> | ||
344 | <context context-type="linenumber">144</context> | ||
345 | </context-group> | ||
346 | </trans-unit> | ||
347 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
348 | <source>Licence</source> | ||
349 | <target>Licencja</target> | ||
350 | <context-group name="null"> | ||
351 | <context context-type="linenumber">153</context> | ||
352 | </context-group> | ||
353 | </trans-unit> | ||
354 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
355 | <source>Language</source> | ||
356 | <target>Język</target> | ||
357 | <context-group name="null"> | ||
358 | <context context-type="linenumber">162</context> | ||
359 | </context-group> | ||
360 | </trans-unit> | ||
333 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 361 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
334 | <source>No results.</source> | 362 | <source>No results.</source> |
335 | <target>Brak wyników.</target> | 363 | <target>Brak wyników.</target> |
@@ -555,16 +583,6 @@ | |||
555 | <context context-type="linenumber">51</context> | 583 | <context context-type="linenumber">51</context> |
556 | </context-group> | 584 | </context-group> |
557 | </trans-unit> | 585 | </trans-unit> |
558 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
559 | <source> | ||
560 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
561 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
562 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
563 | </source> | ||
564 | <context-group name="null"> | ||
565 | <context context-type="linenumber">55</context> | ||
566 | </context-group> | ||
567 | </trans-unit> | ||
568 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 586 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
569 | <source> | 587 | <source> |
570 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 588 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -578,13 +596,6 @@ | |||
578 | <context context-type="linenumber">62</context> | 596 | <context context-type="linenumber">62</context> |
579 | </context-group> | 597 | </context-group> |
580 | </trans-unit> | 598 | </trans-unit> |
581 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
582 | <source>How does PeerTube compares to YouTube?</source> | ||
583 | <target>Jak to wygląda w porównaniu do YouTube?</target> | ||
584 | <context-group name="null"> | ||
585 | <context context-type="linenumber">67</context> | ||
586 | </context-group> | ||
587 | </trans-unit> | ||
588 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 599 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
589 | <source> | 600 | <source> |
590 | The threats to privacy in YouTube are different from PeerTube's. | 601 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -798,42 +809,42 @@ | |||
798 | <source>Signup enabled</source> | 809 | <source>Signup enabled</source> |
799 | <target>Wymagana rejestracja</target> | 810 | <target>Wymagana rejestracja</target> |
800 | <context-group name="null"> | 811 | <context-group name="null"> |
801 | <context context-type="linenumber">92</context> | 812 | <context context-type="linenumber">90</context> |
802 | </context-group> | 813 | </context-group> |
803 | </trans-unit> | 814 | </trans-unit> |
804 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 815 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
805 | <source>Signup limit</source> | 816 | <source>Signup limit</source> |
806 | <target>Limit rejestracji</target> | 817 | <target>Limit rejestracji</target> |
807 | <context-group name="null"> | 818 | <context-group name="null"> |
808 | <context context-type="linenumber">96</context> | 819 | <context context-type="linenumber">94</context> |
809 | </context-group> | 820 | </context-group> |
810 | </trans-unit> | 821 | </trans-unit> |
811 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 822 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
812 | <source>Administrator</source> | 823 | <source>Administrator</source> |
813 | <target>Administrator</target> | 824 | <target>Administrator</target> |
814 | <context-group name="null"> | 825 | <context-group name="null"> |
815 | <context context-type="linenumber">106</context> | 826 | <context context-type="linenumber">104</context> |
816 | </context-group> | 827 | </context-group> |
817 | </trans-unit> | 828 | </trans-unit> |
818 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 829 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
819 | <source>Admin email</source> | 830 | <source>Admin email</source> |
820 | <target>E-mail administratora</target> | 831 | <target>E-mail administratora</target> |
821 | <context-group name="null"> | 832 | <context-group name="null"> |
822 | <context context-type="linenumber">109</context> | 833 | <context context-type="linenumber">107</context> |
823 | </context-group> | 834 | </context-group> |
824 | </trans-unit> | 835 | </trans-unit> |
825 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 836 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
826 | <source>Users</source> | 837 | <source>Users</source> |
827 | <target>Użytkownicy</target> | 838 | <target>Użytkownicy</target> |
828 | <context-group name="null"> | 839 | <context-group name="null"> |
829 | <context context-type="linenumber">119</context> | 840 | <context context-type="linenumber">117</context> |
830 | </context-group> | 841 | </context-group> |
831 | </trans-unit> | 842 | </trans-unit> |
832 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | 843 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> |
833 | <source>User default video quota</source> | 844 | <source>User default video quota</source> |
834 | <target>Domyślna powierzchnia na filmy dla użytkownika</target> | 845 | <target>Domyślna powierzchnia na filmy dla użytkownika</target> |
835 | <context-group name="null"> | 846 | <context-group name="null"> |
836 | <context context-type="linenumber">122</context> | 847 | <context context-type="linenumber">120</context> |
837 | </context-group> | 848 | </context-group> |
838 | </trans-unit> | 849 | </trans-unit> |
839 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 850 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -847,28 +858,28 @@ | |||
847 | <source>Twitter</source> | 858 | <source>Twitter</source> |
848 | <target>Twitter</target> | 859 | <target>Twitter</target> |
849 | <context-group name="null"> | 860 | <context-group name="null"> |
850 | <context context-type="linenumber">138</context> | 861 | <context context-type="linenumber">136</context> |
851 | </context-group> | 862 | </context-group> |
852 | </trans-unit> | 863 | </trans-unit> |
853 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 864 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
854 | <source>Your Twitter username</source> | 865 | <source>Your Twitter username</source> |
855 | <target>Twoja nazwa użytkownika na Twitterze</target> | 866 | <target>Twoja nazwa użytkownika na Twitterze</target> |
856 | <context-group name="null"> | 867 | <context-group name="null"> |
857 | <context context-type="linenumber">141</context> | 868 | <context context-type="linenumber">139</context> |
858 | </context-group> | 869 | </context-group> |
859 | </trans-unit> | 870 | </trans-unit> |
860 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | 871 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> |
861 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | 872 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> |
862 | <target>Oznacza konto Twittera dla strony lub platformy na której została opublikowana zawartość.</target> | 873 | <target>Oznacza konto Twittera dla strony lub platformy na której została opublikowana zawartość.</target> |
863 | <context-group name="null"> | 874 | <context-group name="null"> |
864 | <context context-type="linenumber">144</context> | 875 | <context context-type="linenumber">142</context> |
865 | </context-group> | 876 | </context-group> |
866 | </trans-unit> | 877 | </trans-unit> |
867 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | 878 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> |
868 | <source>Instance whitelisted by Twitter</source> | 879 | <source>Instance whitelisted by Twitter</source> |
869 | <target>Instancja jest na białej liście Twittera</target> | 880 | <target>Instancja jest na białej liście Twittera</target> |
870 | <context-group name="null"> | 881 | <context-group name="null"> |
871 | <context context-type="linenumber">159</context> | 882 | <context context-type="linenumber">155</context> |
872 | </context-group> | 883 | </context-group> |
873 | </trans-unit> | 884 | </trans-unit> |
874 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | 885 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> |
@@ -879,91 +890,70 @@ Check this checkbox, save the configuration and test with a video URL of your in | |||
879 | Jeżeli instancja nie znajduje się na białej liście, będzie widoczna karta z miniaturą filmu, która przekieruje na instancję PeerTube.<br /><br /> | 890 | Jeżeli instancja nie znajduje się na białej liście, będzie widoczna karta z miniaturą filmu, która przekieruje na instancję PeerTube.<br /><br /> |
880 | Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej instancji (np. https://example.com/videos/watch/blabla) na <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a>, aby sprawdzić czy instancja jest na białej liście.</target> | 891 | Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej instancji (np. https://example.com/videos/watch/blabla) na <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a>, aby sprawdzić czy instancja jest na białej liście.</target> |
881 | <context-group name="null"> | 892 | <context-group name="null"> |
882 | <context context-type="linenumber">162</context> | 893 | <context context-type="linenumber">156</context> |
883 | </context-group> | 894 | </context-group> |
884 | </trans-unit> | 895 | </trans-unit> |
885 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | 896 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> |
886 | <source>Services</source> | 897 | <source>Services</source> |
887 | <target>Usługi</target> | 898 | <target>Usługi</target> |
888 | <context-group name="null"> | 899 | <context-group name="null"> |
889 | <context context-type="linenumber">136</context> | 900 | <context context-type="linenumber">134</context> |
890 | </context-group> | 901 | </context-group> |
891 | </trans-unit> | 902 | </trans-unit> |
892 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | 903 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> |
893 | <source>Transcoding</source> | 904 | <source>Transcoding</source> |
894 | <target>Transkodowanie</target> | 905 | <target>Transkodowanie</target> |
895 | <context-group name="null"> | 906 | <context-group name="null"> |
896 | <context context-type="linenumber">172</context> | 907 | <context context-type="linenumber">164</context> |
897 | </context-group> | 908 | </context-group> |
898 | </trans-unit> | 909 | </trans-unit> |
899 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | 910 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> |
900 | <source>Transcoding enabled</source> | 911 | <source>Transcoding enabled</source> |
901 | <target>Transkodowanie jest włączone</target> | 912 | <target>Transkodowanie jest włączone</target> |
902 | <context-group name="null"> | 913 | <context-group name="null"> |
903 | <context context-type="linenumber">178</context> | 914 | <context context-type="linenumber">168</context> |
904 | </context-group> | 915 | </context-group> |
905 | </trans-unit> | 916 | </trans-unit> |
906 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | 917 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> |
907 | <source>If you disable transcoding, many videos from your users will not work!</source> | 918 | <source>If you disable transcoding, many videos from your users will not work!</source> |
908 | <target>Jeżeli wyłączysz transkodowanie, wiele filmów od użytkowników może nie działać!</target> | 919 | <target>Jeżeli wyłączysz transkodowanie, wiele filmów od użytkowników może nie działać!</target> |
909 | <context-group name="null"> | 920 | <context-group name="null"> |
910 | <context context-type="linenumber">180</context> | 921 | <context context-type="linenumber">169</context> |
911 | </context-group> | 922 | </context-group> |
912 | </trans-unit> | 923 | </trans-unit> |
913 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | 924 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> |
914 | <source>Transcoding threads</source> | 925 | <source>Transcoding threads</source> |
915 | <target>Wątki transkodowania</target> | 926 | <target>Wątki transkodowania</target> |
916 | <context-group name="null"> | 927 | <context-group name="null"> |
917 | <context context-type="linenumber">186</context> | 928 | <context context-type="linenumber">175</context> |
918 | </context-group> | ||
919 | </trans-unit> | ||
920 | <trans-unit id="6aff7f4b4f140702c4ce791cc9990932623862f0"> | ||
921 | <source>Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled</source> | ||
922 | <target>Rozdzielczość <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> jest włączona</target> | ||
923 | <context-group name="null"> | ||
924 | <context context-type="linenumber">205</context> | ||
925 | </context-group> | ||
926 | </trans-unit> | ||
927 | <trans-unit id="1fa92c6ce274f878b2625587daa7e08b2a3a8b38"> | ||
928 | <source>Cache</source> | ||
929 | <target>Pamięć podręczna</target> | ||
930 | <context-group name="null"> | ||
931 | <context context-type="linenumber">209</context> | ||
932 | </context-group> | 929 | </context-group> |
933 | </trans-unit> | 930 | </trans-unit> |
934 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | 931 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> |
935 | <source>Previews cache size</source> | 932 | <source>Previews cache size</source> |
936 | <target>Rozmiar pamięci podręcznej podglądu</target> | 933 | <target>Rozmiar pamięci podręcznej podglądu</target> |
937 | <context-group name="null"> | 934 | <context-group name="null"> |
938 | <context context-type="linenumber">212</context> | 935 | <context context-type="linenumber">207</context> |
939 | </context-group> | ||
940 | </trans-unit> | ||
941 | <trans-unit id="bf91318659ada3d3ad1b0ca1e63ae427e5a857d5"> | ||
942 | <source>Previews are not federated. We fetch them directly from the origin instance and cache them.</source> | ||
943 | <target>Podgląd nie federuje się. Pobieramy go bezpośrednio ze źródłowej instancji i przechowujemy go.</target> | ||
944 | <context-group name="null"> | ||
945 | <context context-type="linenumber">215</context> | ||
946 | </context-group> | 936 | </context-group> |
947 | </trans-unit> | 937 | </trans-unit> |
948 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | 938 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> |
949 | <source>Customizations</source> | 939 | <source>Customizations</source> |
950 | <target>Dostosowywanie</target> | 940 | <target>Dostosowywanie</target> |
951 | <context-group name="null"> | 941 | <context-group name="null"> |
952 | <context context-type="linenumber">227</context> | 942 | <context context-type="linenumber">228</context> |
953 | </context-group> | 943 | </context-group> |
954 | </trans-unit> | 944 | </trans-unit> |
955 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 945 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
956 | <source>JavaScript</source> | 946 | <source>JavaScript</source> |
957 | <target>JavaScript</target> | 947 | <target>JavaScript</target> |
958 | <context-group name="null"> | 948 | <context-group name="null"> |
959 | <context context-type="linenumber">230</context> | 949 | <context context-type="linenumber">231</context> |
960 | </context-group> | 950 | </context-group> |
961 | </trans-unit> | 951 | </trans-unit> |
962 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | 952 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> |
963 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | 953 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> |
964 | <target>Wprowadź kod JavaScript.<br />Przykład: <pre>console.log('moja instancja jest świetna');</pre></target> | 954 | <target>Wprowadź kod JavaScript.<br />Przykład: <pre>console.log('moja instancja jest świetna');</pre></target> |
965 | <context-group name="null"> | 955 | <context-group name="null"> |
966 | <context context-type="linenumber">233</context> | 956 | <context context-type="linenumber">234</context> |
967 | </context-group> | 957 | </context-group> |
968 | </trans-unit> | 958 | </trans-unit> |
969 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | 959 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> |
@@ -998,28 +988,28 @@ Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej | |||
998 | </pre> | 988 | </pre> |
999 | </target> | 989 | </target> |
1000 | <context-group name="null"> | 990 | <context-group name="null"> |
1001 | <context context-type="linenumber">249</context> | 991 | <context context-type="linenumber">250</context> |
1002 | </context-group> | 992 | </context-group> |
1003 | </trans-unit> | 993 | </trans-unit> |
1004 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 994 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
1005 | <source>Advanced configuration</source> | 995 | <source>Advanced configuration</source> |
1006 | <target>Zaawansowana konfiguracja</target> | 996 | <target>Zaawansowana konfiguracja</target> |
1007 | <context-group name="null"> | 997 | <context-group name="null"> |
1008 | <context context-type="linenumber">170</context> | 998 | <context context-type="linenumber">162</context> |
1009 | </context-group> | 999 | </context-group> |
1010 | </trans-unit> | 1000 | </trans-unit> |
1011 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 1001 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
1012 | <source>Update configuration</source> | 1002 | <source>Update configuration</source> |
1013 | <target>Aktualizuj konfigurację</target> | 1003 | <target>Aktualizuj konfigurację</target> |
1014 | <context-group name="null"> | 1004 | <context-group name="null"> |
1015 | <context context-type="linenumber">276</context> | 1005 | <context context-type="linenumber">277</context> |
1016 | </context-group> | 1006 | </context-group> |
1017 | </trans-unit> | 1007 | </trans-unit> |
1018 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | 1008 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> |
1019 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | 1009 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> |
1020 | <target>Wygląda na to, że konfiguracja jest nieprawidłowa. Poszukaj możliwych błędów w innych kartach.</target> | 1010 | <target>Wygląda na to, że konfiguracja jest nieprawidłowa. Poszukaj możliwych błędów w innych kartach.</target> |
1021 | <context-group name="null"> | 1011 | <context-group name="null"> |
1022 | <context context-type="linenumber">277</context> | 1012 | <context context-type="linenumber">278</context> |
1023 | </context-group> | 1013 | </context-group> |
1024 | </trans-unit> | 1014 | </trans-unit> |
1025 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 1015 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -1168,13 +1158,6 @@ Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej | |||
1168 | <context context-type="linenumber">19</context> | 1158 | <context context-type="linenumber">19</context> |
1169 | </context-group> | 1159 | </context-group> |
1170 | </trans-unit> | 1160 | </trans-unit> |
1171 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
1172 | <source>Updated</source> | ||
1173 | <target>Zaktualizowano</target> | ||
1174 | <context-group name="null"> | ||
1175 | <context context-type="linenumber">22</context> | ||
1176 | </context-group> | ||
1177 | </trans-unit> | ||
1178 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 1161 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
1179 | <source>Create user</source> | 1162 | <source>Create user</source> |
1180 | <target>Utwórz użytkownika</target> | 1163 | <target>Utwórz użytkownika</target> |
@@ -1345,53 +1328,32 @@ Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej | |||
1345 | <context context-type="linenumber">7</context> | 1328 | <context context-type="linenumber">7</context> |
1346 | </context-group> | 1329 | </context-group> |
1347 | </trans-unit> | 1330 | </trans-unit> |
1348 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
1349 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
1350 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subskrybentów</target> | ||
1351 | <context-group name="null"> | ||
1352 | <context context-type="linenumber">9</context> | ||
1353 | </context-group> | ||
1354 | </trans-unit> | ||
1355 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
1356 | <source>Change your avatar</source> | ||
1357 | <target>Zmień awatar</target> | ||
1358 | <context-group name="null"> | ||
1359 | <context context-type="linenumber">14</context> | ||
1360 | </context-group> | ||
1361 | </trans-unit> | ||
1362 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1363 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1364 | <target>(rozszerzenia: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maksymalny rozmiar: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1365 | <context-group name="null"> | ||
1366 | <context context-type="linenumber">17</context> | ||
1367 | </context-group> | ||
1368 | </trans-unit> | ||
1369 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 1331 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
1370 | <source>Video quota:</source> | 1332 | <source>Video quota:</source> |
1371 | <target>Powierzchnia na filmy:</target> | 1333 | <target>Powierzchnia na filmy:</target> |
1372 | <context-group name="null"> | 1334 | <context-group name="null"> |
1373 | <context context-type="linenumber">20</context> | 1335 | <context context-type="linenumber">4</context> |
1374 | </context-group> | 1336 | </context-group> |
1375 | </trans-unit> | 1337 | </trans-unit> |
1376 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 1338 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
1377 | <source>Profile</source> | 1339 | <source>Profile</source> |
1378 | <target>Profil</target> | 1340 | <target>Profil</target> |
1379 | <context-group name="null"> | 1341 | <context-group name="null"> |
1380 | <context context-type="linenumber">24</context> | 1342 | <context context-type="linenumber">8</context> |
1381 | </context-group> | 1343 | </context-group> |
1382 | </trans-unit> | 1344 | </trans-unit> |
1383 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 1345 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
1384 | <source>Video settings</source> | 1346 | <source>Video settings</source> |
1385 | <target>Ustawienia wideo</target> | 1347 | <target>Ustawienia wideo</target> |
1386 | <context-group name="null"> | 1348 | <context-group name="null"> |
1387 | <context context-type="linenumber">31</context> | 1349 | <context context-type="linenumber">15</context> |
1388 | </context-group> | 1350 | </context-group> |
1389 | </trans-unit> | 1351 | </trans-unit> |
1390 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 1352 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
1391 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 1353 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
1392 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetlenia</target> | 1354 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetlenia</target> |
1393 | <context-group name="null"> | 1355 | <context-group name="null"> |
1394 | <context context-type="linenumber">20</context> | 1356 | <context context-type="linenumber">19</context> |
1395 | </context-group> | 1357 | </context-group> |
1396 | </trans-unit> | 1358 | </trans-unit> |
1397 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 1359 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -1419,14 +1381,7 @@ Zaznacz ten element, zapisz konfigurację i przetestuj odnośnik do filmu z tej | |||
1419 | <source>Create a video channel</source> | 1381 | <source>Create a video channel</source> |
1420 | <target>Utwórz kanał wideo</target> | 1382 | <target>Utwórz kanał wideo</target> |
1421 | <context-group name="null"> | 1383 | <context-group name="null"> |
1422 | <context context-type="linenumber">1</context> | 1384 | <context context-type="linenumber">6</context> |
1423 | </context-group> | ||
1424 | </trans-unit> | ||
1425 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
1426 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
1427 | <target>Zaktualizuj <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
1428 | <context-group name="null"> | ||
1429 | <context context-type="linenumber">2</context> | ||
1430 | </context-group> | 1385 | </context-group> |
1431 | </trans-unit> | 1386 | </trans-unit> |
1432 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | 1387 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> |
@@ -1442,7 +1397,7 @@ When you will upload a video in this channel, the video support field will be au | |||
1442 | <target>Krótki tekst informujący o tym, jak można wspomóc Twój kanał (platforma członkowska…).<br /><br /> | 1397 | <target>Krótki tekst informujący o tym, jak można wspomóc Twój kanał (platforma członkowska…).<br /><br /> |
1443 | Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia zostanie nim wypełnione.</target> | 1398 | Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia zostanie nim wypełnione.</target> |
1444 | <context-group name="null"> | 1399 | <context-group name="null"> |
1445 | <context context-type="linenumber">32</context> | 1400 | <context context-type="linenumber">36</context> |
1446 | </context-group> | 1401 | </context-group> |
1447 | </trans-unit> | 1402 | </trans-unit> |
1448 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | 1403 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> |
@@ -1477,14 +1432,14 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1477 | <source>Automatically plays video</source> | 1432 | <source>Automatically plays video</source> |
1478 | <target>Automatycznie odtwarzaj filmy</target> | 1433 | <target>Automatycznie odtwarzaj filmy</target> |
1479 | <context-group name="null"> | 1434 | <context-group name="null"> |
1480 | <context context-type="linenumber">24</context> | 1435 | <context context-type="linenumber">20</context> |
1481 | </context-group> | 1436 | </context-group> |
1482 | </trans-unit> | 1437 | </trans-unit> |
1483 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | 1438 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> |
1484 | <source>Save</source> | 1439 | <source>Save</source> |
1485 | <target>Zapisz</target> | 1440 | <target>Zapisz</target> |
1486 | <context-group name="null"> | 1441 | <context-group name="null"> |
1487 | <context context-type="linenumber">27</context> | 1442 | <context context-type="linenumber">23</context> |
1488 | </context-group> | 1443 | </context-group> |
1489 | </trans-unit> | 1444 | </trans-unit> |
1490 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | 1445 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> |
@@ -1494,6 +1449,13 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1494 | <context context-type="linenumber">27</context> | 1449 | <context context-type="linenumber">27</context> |
1495 | </context-group> | 1450 | </context-group> |
1496 | </trans-unit> | 1451 | </trans-unit> |
1452 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1453 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1454 | <target>(rozszerzenia: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, maksymalny rozmiar: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1455 | <context-group name="null"> | ||
1456 | <context context-type="linenumber">18</context> | ||
1457 | </context-group> | ||
1458 | </trans-unit> | ||
1497 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | 1459 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> |
1498 | <source> | 1460 | <source> |
1499 | Sorry, but we couldn't find the page you were looking for. | 1461 | Sorry, but we couldn't find the page you were looking for. |
@@ -1565,21 +1527,21 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1565 | <source>Privacy</source> | 1527 | <source>Privacy</source> |
1566 | <target>Prywatność</target> | 1528 | <target>Prywatność</target> |
1567 | <context-group name="null"> | 1529 | <context-group name="null"> |
1568 | <context context-type="linenumber">86</context> | 1530 | <context context-type="linenumber">139</context> |
1569 | </context-group> | 1531 | </context-group> |
1570 | </trans-unit> | 1532 | </trans-unit> |
1571 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | 1533 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> |
1572 | <source>Publish will be available when upload is finished</source> | 1534 | <source>Publish will be available when upload is finished</source> |
1573 | <target>Opublikuj automatycznie po ukończeniu wysyłania</target> | 1535 | <target>Opublikuj automatycznie po ukończeniu wysyłania</target> |
1574 | <context-group name="null"> | 1536 | <context-group name="null"> |
1575 | <context context-type="linenumber">53</context> | 1537 | <context context-type="linenumber">54</context> |
1576 | </context-group> | 1538 | </context-group> |
1577 | </trans-unit> | 1539 | </trans-unit> |
1578 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | 1540 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> |
1579 | <source>Publish</source> | 1541 | <source>Publish</source> |
1580 | <target>Opublikuj</target> | 1542 | <target>Opublikuj</target> |
1581 | <context-group name="null"> | 1543 | <context-group name="null"> |
1582 | <context context-type="linenumber">60</context> | 1544 | <context context-type="linenumber">61</context> |
1583 | </context-group> | 1545 | </context-group> |
1584 | </trans-unit> | 1546 | </trans-unit> |
1585 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | 1547 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> |
@@ -1593,7 +1555,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1593 | <source>Tags</source> | 1555 | <source>Tags</source> |
1594 | <target>Tagi</target> | 1556 | <target>Tagi</target> |
1595 | <context-group name="null"> | 1557 | <context-group name="null"> |
1596 | <context context-type="linenumber">15</context> | 1558 | <context context-type="linenumber">171</context> |
1597 | </context-group> | 1559 | </context-group> |
1598 | </trans-unit> | 1560 | </trans-unit> |
1599 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | 1561 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> |
@@ -1610,27 +1572,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1610 | <context context-type="linenumber">24</context> | 1572 | <context context-type="linenumber">24</context> |
1611 | </context-group> | 1573 | </context-group> |
1612 | </trans-unit> | 1574 | </trans-unit> |
1613 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
1614 | <source>Category</source> | ||
1615 | <target>Kategoria</target> | ||
1616 | <context-group name="null"> | ||
1617 | <context context-type="linenumber">44</context> | ||
1618 | </context-group> | ||
1619 | </trans-unit> | ||
1620 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
1621 | <source>Licence</source> | ||
1622 | <target>Licencja</target> | ||
1623 | <context-group name="null"> | ||
1624 | <context context-type="linenumber">58</context> | ||
1625 | </context-group> | ||
1626 | </trans-unit> | ||
1627 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
1628 | <source>Language</source> | ||
1629 | <target>Język</target> | ||
1630 | <context-group name="null"> | ||
1631 | <context context-type="linenumber">72</context> | ||
1632 | </context-group> | ||
1633 | </trans-unit> | ||
1634 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | 1575 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> |
1635 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | 1576 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> |
1636 | <target>Zaplanuj publikację (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | 1577 | <target>Zaplanuj publikację (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> |
@@ -1642,35 +1583,28 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1642 | <source>This video contains mature or explicit content</source> | 1583 | <source>This video contains mature or explicit content</source> |
1643 | <target>Ten film zawiera zawartość niecenzuralną lub dla dorosłych</target> | 1584 | <target>Ten film zawiera zawartość niecenzuralną lub dla dorosłych</target> |
1644 | <context-group name="null"> | 1585 | <context-group name="null"> |
1645 | <context context-type="linenumber">116</context> | 1586 | <context context-type="linenumber">115</context> |
1646 | </context-group> | 1587 | </context-group> |
1647 | </trans-unit> | 1588 | </trans-unit> |
1648 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | 1589 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> |
1649 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | 1590 | <source>Some instances do not list videos containing mature or explicit content by default.</source> |
1650 | <target>Niektóre instancje domyślnie nie wyświetlają filmów zawierających taką zawartość.</target> | 1591 | <target>Niektóre instancje domyślnie nie wyświetlają filmów zawierających taką zawartość.</target> |
1651 | <context-group name="null"> | 1592 | <context-group name="null"> |
1652 | <context context-type="linenumber">119</context> | 1593 | <context context-type="linenumber">116</context> |
1653 | </context-group> | 1594 | </context-group> |
1654 | </trans-unit> | 1595 | </trans-unit> |
1655 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | 1596 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> |
1656 | <source>Enable video comments</source> | 1597 | <source>Enable video comments</source> |
1657 | <target>Włącz komentarze do filmu</target> | 1598 | <target>Włącz komentarze do filmu</target> |
1658 | <context-group name="null"> | 1599 | <context-group name="null"> |
1659 | <context context-type="linenumber">126</context> | 1600 | <context context-type="linenumber">121</context> |
1660 | </context-group> | 1601 | </context-group> |
1661 | </trans-unit> | 1602 | </trans-unit> |
1662 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | 1603 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> |
1663 | <source>Wait transcoding before publishing the video</source> | 1604 | <source>Wait transcoding before publishing the video</source> |
1664 | <target>Poczekaj na transkodowanie przed opublikowaniem filmu</target> | 1605 | <target>Poczekaj na transkodowanie przed opublikowaniem filmu</target> |
1665 | <context-group name="null"> | 1606 | <context-group name="null"> |
1666 | <context context-type="linenumber">132</context> | 1607 | <context context-type="linenumber">126</context> |
1667 | </context-group> | ||
1668 | </trans-unit> | ||
1669 | <trans-unit id="0001ec53fe3dfd603b7ad80fd32d262170e3d9a5"> | ||
1670 | <source>If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends.</source> | ||
1671 | <target>Jeżeli wybierzesz, aby nie czekać na transkodowanie, film może być niemożliwy do odtworzenia, zanim transkodowanie zakończy się.</target> | ||
1672 | <context-group name="null"> | ||
1673 | <context context-type="linenumber">135</context> | ||
1674 | </context-group> | 1608 | </context-group> |
1675 | </trans-unit> | 1609 | </trans-unit> |
1676 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | 1610 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> |
@@ -1684,42 +1618,35 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1684 | <source>Upload thumbnail</source> | 1618 | <source>Upload thumbnail</source> |
1685 | <target>Wyślij miniaturę</target> | 1619 | <target>Wyślij miniaturę</target> |
1686 | <context-group name="null"> | 1620 | <context-group name="null"> |
1687 | <context context-type="linenumber">146</context> | 1621 | <context context-type="linenumber">186</context> |
1688 | </context-group> | 1622 | </context-group> |
1689 | </trans-unit> | 1623 | </trans-unit> |
1690 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | 1624 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> |
1691 | <source>Upload preview</source> | 1625 | <source>Upload preview</source> |
1692 | <target>Podgląd wysyłania</target> | 1626 | <target>Podgląd wysyłania</target> |
1693 | <context-group name="null"> | 1627 | <context-group name="null"> |
1694 | <context context-type="linenumber">153</context> | 1628 | <context context-type="linenumber">193</context> |
1695 | </context-group> | 1629 | </context-group> |
1696 | </trans-unit> | 1630 | </trans-unit> |
1697 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | 1631 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> |
1698 | <source>Support</source> | 1632 | <source>Support</source> |
1699 | <target>Wsparcie</target> | 1633 | <target>Wsparcie</target> |
1700 | <context-group name="null"> | 1634 | <context-group name="null"> |
1701 | <context context-type="linenumber">59</context> | 1635 | <context context-type="linenumber">67</context> |
1702 | </context-group> | 1636 | </context-group> |
1703 | </trans-unit> | 1637 | </trans-unit> |
1704 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | 1638 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> |
1705 | <source>Short text to tell people how they can support you (membership platform...).</source> | 1639 | <source>Short text to tell people how they can support you (membership platform...).</source> |
1706 | <target>Krótki tekst informujący innych, jak mogą Cię wesprzeć (platforma członkowska…).</target> | 1640 | <target>Krótki tekst informujący innych, jak mogą Cię wesprzeć (platforma członkowska…).</target> |
1707 | <context-group name="null"> | 1641 | <context-group name="null"> |
1708 | <context context-type="linenumber">160</context> | 1642 | <context context-type="linenumber">200</context> |
1709 | </context-group> | 1643 | </context-group> |
1710 | </trans-unit> | 1644 | </trans-unit> |
1711 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | 1645 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> |
1712 | <source>Advanced settings</source> | 1646 | <source>Advanced settings</source> |
1713 | <target>Ustawienia zaawansowane</target> | 1647 | <target>Ustawienia zaawansowane</target> |
1714 | <context-group name="null"> | 1648 | <context-group name="null"> |
1715 | <context context-type="linenumber">142</context> | 1649 | <context context-type="linenumber">182</context> |
1716 | </context-group> | ||
1717 | </trans-unit> | ||
1718 | <trans-unit id="c07377d8b52fde03fcf70824a980346b9222d056"> | ||
1719 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</source> | ||
1720 | <target>(rozszerzenia: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, maksymalny rozmiar: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>)</target> | ||
1721 | <context-group name="null"> | ||
1722 | <context context-type="linenumber">11</context> | ||
1723 | </context-group> | 1650 | </context-group> |
1724 | </trans-unit> | 1651 | </trans-unit> |
1725 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | 1652 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> |
@@ -1737,7 +1664,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1737 | <source>Update</source> | 1664 | <source>Update</source> |
1738 | <target>Aktualizacja</target> | 1665 | <target>Aktualizacja</target> |
1739 | <context-group name="null"> | 1666 | <context-group name="null"> |
1740 | <context context-type="linenumber">93</context> | 1667 | <context context-type="linenumber">101</context> |
1741 | </context-group> | 1668 | </context-group> |
1742 | </trans-unit> | 1669 | </trans-unit> |
1743 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | 1670 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> |
@@ -1747,32 +1674,18 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1747 | <context context-type="linenumber">7</context> | 1674 | <context context-type="linenumber">7</context> |
1748 | </context-group> | 1675 | </context-group> |
1749 | </trans-unit> | 1676 | </trans-unit> |
1750 | <trans-unit id="b92eaf680d6d1cd83e1bc61c3ee88b1b7754eb66"> | ||
1751 | <source>Torrent</source> | ||
1752 | <target>Torrent</target> | ||
1753 | <context-group name="null"> | ||
1754 | <context context-type="linenumber">20</context> | ||
1755 | </context-group> | ||
1756 | </trans-unit> | ||
1757 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | 1677 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> |
1758 | <source>Direct download</source> | 1678 | <source>Direct download</source> |
1759 | <target>Pobieranie bezpośrednie</target> | 1679 | <target>Pobieranie bezpośrednie</target> |
1760 | <context-group name="null"> | 1680 | <context-group name="null"> |
1761 | <context context-type="linenumber">25</context> | 1681 | <context context-type="linenumber">20</context> |
1762 | </context-group> | ||
1763 | </trans-unit> | ||
1764 | <trans-unit id="6ac01cebf6f87418b309a83d5ce965d77b4ab740"> | ||
1765 | <source>Torrent (magnet)</source> | ||
1766 | <target>Torrent (magnet)</target> | ||
1767 | <context-group name="null"> | ||
1768 | <context context-type="linenumber">30</context> | ||
1769 | </context-group> | 1682 | </context-group> |
1770 | </trans-unit> | 1683 | </trans-unit> |
1771 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | 1684 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> |
1772 | <source>Download</source> | 1685 | <source>Download</source> |
1773 | <target>Pobierz</target> | 1686 | <target>Pobierz</target> |
1774 | <context-group name="null"> | 1687 | <context-group name="null"> |
1775 | <context context-type="linenumber">75</context> | 1688 | <context context-type="linenumber">83</context> |
1776 | </context-group> | 1689 | </context-group> |
1777 | </trans-unit> | 1690 | </trans-unit> |
1778 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | 1691 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> |
@@ -1811,7 +1724,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1811 | <source>Share</source> | 1724 | <source>Share</source> |
1812 | <target>Udostępnij</target> | 1725 | <target>Udostępnij</target> |
1813 | <context-group name="null"> | 1726 | <context-group name="null"> |
1814 | <context context-type="linenumber">64</context> | 1727 | <context context-type="linenumber">72</context> |
1815 | </context-group> | 1728 | </context-group> |
1816 | </trans-unit> | 1729 | </trans-unit> |
1817 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | 1730 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> |
@@ -1847,7 +1760,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1847 | Film jest w trakcie transkodowania, może nie działać prawidłowo. | 1760 | Film jest w trakcie transkodowania, może nie działać prawidłowo. |
1848 | </target> | 1761 | </target> |
1849 | <context-group name="null"> | 1762 | <context-group name="null"> |
1850 | <context context-type="linenumber">6</context> | 1763 | <context context-type="linenumber">11</context> |
1851 | </context-group> | 1764 | </context-group> |
1852 | </trans-unit> | 1765 | </trans-unit> |
1853 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | 1766 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> |
@@ -1858,7 +1771,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1858 | Ten film zostanie opublikowany <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | 1771 | Ten film zostanie opublikowany <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> |
1859 | </target> | 1772 | </target> |
1860 | <context-group name="null"> | 1773 | <context-group name="null"> |
1861 | <context context-type="linenumber">10</context> | 1774 | <context context-type="linenumber">15</context> |
1862 | </context-group> | 1775 | </context-group> |
1863 | </trans-unit> | 1776 | </trans-unit> |
1864 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | 1777 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> |
@@ -1869,166 +1782,111 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
1869 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetlenia | 1782 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> wyświetlenia |
1870 | </target> | 1783 | </target> |
1871 | <context-group name="null"> | 1784 | <context-group name="null"> |
1872 | <context context-type="linenumber">21</context> | 1785 | <context context-type="linenumber">26</context> |
1873 | </context-group> | 1786 | </context-group> |
1874 | </trans-unit> | 1787 | </trans-unit> |
1875 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | 1788 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> |
1876 | <source>Go the channel page</source> | 1789 | <source>Go the channel page</source> |
1877 | <target>Przejdź na stronę kanału</target> | 1790 | <target>Przejdź na stronę kanału</target> |
1878 | <context-group name="null"> | 1791 | <context-group name="null"> |
1879 | <context context-type="linenumber">26</context> | 1792 | <context context-type="linenumber">31</context> |
1880 | </context-group> | ||
1881 | </trans-unit> | ||
1882 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1883 | <source>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>.</source> | ||
1884 | <target>Możesz zasubskrybować to konto na każdej instancji należącej do Fediwersum obsługującej ActivityPub. Na przykład, na Mastodonie lub Pleromie możesz wprowadzić w pole wyszukiwania <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> i zasubskrybować je. Subskrybowanie jako użytkownik PeerTube jest przygotowywane w <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1885 | <context-group name="null"> | ||
1886 | <context context-type="linenumber">30</context> | ||
1887 | </context-group> | 1793 | </context-group> |
1888 | </trans-unit> | 1794 | </trans-unit> |
1889 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | 1795 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> |
1890 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | 1796 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> |
1891 | <target>Od <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | 1797 | <target>Od <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> |
1892 | <context-group name="null"> | 1798 | <context-group name="null"> |
1893 | <context context-type="linenumber">35</context> | 1799 | <context context-type="linenumber">41</context> |
1894 | </context-group> | 1800 | </context-group> |
1895 | </trans-unit> | 1801 | </trans-unit> |
1896 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | 1802 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> |
1897 | <source>Go to the account page</source> | 1803 | <source>Go to the account page</source> |
1898 | <target>Przejdź na stronę konta</target> | 1804 | <target>Przejdź na stronę konta</target> |
1899 | <context-group name="null"> | 1805 | <context-group name="null"> |
1900 | <context context-type="linenumber">34</context> | 1806 | <context context-type="linenumber">40</context> |
1807 | </context-group> | ||
1808 | </trans-unit> | ||
1809 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1810 | <source>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>.</source> | ||
1811 | <target>Możesz zasubskrybować to konto na każdej instancji należącej do Fediwersum obsługującej ActivityPub. Na przykład, na Mastodonie lub Pleromie możesz wprowadzić w pole wyszukiwania <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> i zasubskrybować je. Subskrybowanie jako użytkownik PeerTube jest przygotowywane w <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>.</target> | ||
1812 | <context-group name="null"> | ||
1813 | <context context-type="linenumber">45</context> | ||
1901 | </context-group> | 1814 | </context-group> |
1902 | </trans-unit> | 1815 | </trans-unit> |
1903 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | 1816 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> |
1904 | <source>Like this video</source> | 1817 | <source>Like this video</source> |
1905 | <target>Polub ten film</target> | 1818 | <target>Polub ten film</target> |
1906 | <context-group name="null"> | 1819 | <context-group name="null"> |
1907 | <context context-type="linenumber">47</context> | 1820 | <context context-type="linenumber">55</context> |
1908 | </context-group> | 1821 | </context-group> |
1909 | </trans-unit> | 1822 | </trans-unit> |
1910 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | 1823 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> |
1911 | <source>Dislike this video</source> | 1824 | <source>Dislike this video</source> |
1912 | <context-group name="null"> | 1825 | <context-group name="null"> |
1913 | <context context-type="linenumber">54</context> | 1826 | <context context-type="linenumber">62</context> |
1914 | </context-group> | 1827 | </context-group> |
1915 | </trans-unit> | 1828 | </trans-unit> |
1916 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | 1829 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> |
1917 | <source>Download the video</source> | 1830 | <source>Download the video</source> |
1918 | <target>Pobierz ten film</target> | 1831 | <target>Pobierz ten film</target> |
1919 | <context-group name="null"> | 1832 | <context-group name="null"> |
1920 | <context context-type="linenumber">74</context> | 1833 | <context context-type="linenumber">82</context> |
1921 | </context-group> | 1834 | </context-group> |
1922 | </trans-unit> | 1835 | </trans-unit> |
1923 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | 1836 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> |
1924 | <source>Report</source> | 1837 | <source>Report</source> |
1925 | <target>Zgłoś</target> | 1838 | <target>Zgłoś</target> |
1926 | <context-group name="null"> | 1839 | <context-group name="null"> |
1927 | <context context-type="linenumber">81</context> | 1840 | <context context-type="linenumber">89</context> |
1928 | </context-group> | 1841 | </context-group> |
1929 | </trans-unit> | 1842 | </trans-unit> |
1930 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | 1843 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> |
1931 | <source>Report this video</source> | 1844 | <source>Report this video</source> |
1932 | <target>Zgłoś ten film</target> | 1845 | <target>Zgłoś ten film</target> |
1933 | <context-group name="null"> | 1846 | <context-group name="null"> |
1934 | <context context-type="linenumber">80</context> | 1847 | <context context-type="linenumber">88</context> |
1935 | </context-group> | 1848 | </context-group> |
1936 | </trans-unit> | 1849 | </trans-unit> |
1937 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | 1850 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> |
1938 | <source>Blacklist</source> | 1851 | <source>Blacklist</source> |
1939 | <target>Czarna lista</target> | 1852 | <target>Czarna lista</target> |
1940 | <context-group name="null"> | 1853 | <context-group name="null"> |
1941 | <context context-type="linenumber">87</context> | 1854 | <context context-type="linenumber">95</context> |
1942 | </context-group> | 1855 | </context-group> |
1943 | </trans-unit> | 1856 | </trans-unit> |
1944 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | 1857 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> |
1945 | <source>Blacklist this video</source> | 1858 | <source>Blacklist this video</source> |
1946 | <target>Dodaj ten film na czarną listę</target> | 1859 | <target>Dodaj ten film na czarną listę</target> |
1947 | <context-group name="null"> | 1860 | <context-group name="null"> |
1948 | <context context-type="linenumber">86</context> | 1861 | <context context-type="linenumber">94</context> |
1949 | </context-group> | 1862 | </context-group> |
1950 | </trans-unit> | 1863 | </trans-unit> |
1951 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | 1864 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> |
1952 | <source>Update this video</source> | 1865 | <source>Update this video</source> |
1953 | <target>Zaktualizuj ten film</target> | 1866 | <target>Zaktualizuj ten film</target> |
1954 | <context-group name="null"> | 1867 | <context-group name="null"> |
1955 | <context context-type="linenumber">92</context> | 1868 | <context context-type="linenumber">100</context> |
1956 | </context-group> | 1869 | </context-group> |
1957 | </trans-unit> | 1870 | </trans-unit> |
1958 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | 1871 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> |
1959 | <source>Delete this video</source> | 1872 | <source>Delete this video</source> |
1960 | <target>Usuń ten film</target> | 1873 | <target>Usuń ten film</target> |
1961 | <context-group name="null"> | 1874 | <context-group name="null"> |
1962 | <context context-type="linenumber">98</context> | 1875 | <context context-type="linenumber">106</context> |
1963 | </context-group> | 1876 | </context-group> |
1964 | </trans-unit> | 1877 | </trans-unit> |
1965 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | 1878 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> |
1966 | <source>Show more</source> | 1879 | <source>Show more</source> |
1967 | <target>Pokaż więcej</target> | 1880 | <target>Pokaż więcej</target> |
1968 | <context-group name="null"> | 1881 | <context-group name="null"> |
1969 | <context context-type="linenumber">118</context> | 1882 | <context context-type="linenumber">126</context> |
1970 | </context-group> | 1883 | </context-group> |
1971 | </trans-unit> | 1884 | </trans-unit> |
1972 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | 1885 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> |
1973 | <source>Show less</source> | 1886 | <source>Show less</source> |
1974 | <target>Pokaż mniej</target> | 1887 | <target>Pokaż mniej</target> |
1975 | <context-group name="null"> | 1888 | <context-group name="null"> |
1976 | <context context-type="linenumber">124</context> | 1889 | <context context-type="linenumber">132</context> |
1977 | </context-group> | ||
1978 | </trans-unit> | ||
1979 | <trans-unit id="8057a9b7f9e908ff350edfd71417b96c174e5911"> | ||
1980 | <source> | ||
1981 | Privacy | ||
1982 | </source> | ||
1983 | <target> | ||
1984 | Prywatność | ||
1985 | </target> | ||
1986 | <context-group name="null"> | ||
1987 | <context context-type="linenumber">131</context> | ||
1988 | </context-group> | ||
1989 | </trans-unit> | ||
1990 | <trans-unit id="bd407eca607a8905a26a9e30c9d0cd70f4465db8"> | ||
1991 | <source> | ||
1992 | Category | ||
1993 | </source> | ||
1994 | <target> | ||
1995 | Kategoria | ||
1996 | </target> | ||
1997 | <context-group name="null"> | ||
1998 | <context context-type="linenumber">140</context> | ||
1999 | </context-group> | ||
2000 | </trans-unit> | ||
2001 | <trans-unit id="af5072bd79ea3cd767ab74a6622d2eee791b3832"> | ||
2002 | <source> | ||
2003 | Licence | ||
2004 | </source> | ||
2005 | <target> | ||
2006 | Licencja | ||
2007 | </target> | ||
2008 | <context-group name="null"> | ||
2009 | <context context-type="linenumber">149</context> | ||
2010 | </context-group> | ||
2011 | </trans-unit> | ||
2012 | <trans-unit id="a911eee019174741b0aec6fcf3fbd5752fab3e67"> | ||
2013 | <source> | ||
2014 | Language | ||
2015 | </source> | ||
2016 | <target> | ||
2017 | Język | ||
2018 | </target> | ||
2019 | <context-group name="null"> | ||
2020 | <context context-type="linenumber">158</context> | ||
2021 | </context-group> | ||
2022 | </trans-unit> | ||
2023 | <trans-unit id="ecf7007c2842cc26a7b91d08d48c7a4f5f749fb3"> | ||
2024 | <source> | ||
2025 | Tags | ||
2026 | </source> | ||
2027 | <target> | ||
2028 | Tagi | ||
2029 | </target> | ||
2030 | <context-group name="null"> | ||
2031 | <context context-type="linenumber">167</context> | ||
2032 | </context-group> | 1890 | </context-group> |
2033 | </trans-unit> | 1891 | </trans-unit> |
2034 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | 1892 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> |
@@ -2039,24 +1897,13 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
2039 | Inne filmy | 1897 | Inne filmy |
2040 | </target> | 1898 | </target> |
2041 | <context-group name="null"> | 1899 | <context-group name="null"> |
2042 | <context context-type="linenumber">181</context> | 1900 | <context context-type="linenumber">183</context> |
2043 | </context-group> | 1901 | </context-group> |
2044 | </trans-unit> | 1902 | </trans-unit> |
2045 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | 1903 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> |
2046 | <source>Friendly Reminder:</source> | 1904 | <source>Friendly Reminder:</source> |
2047 | <target>Przypomnienie:</target> | 1905 | <target>Przypomnienie:</target> |
2048 | <context-group name="null"> | 1906 | <context-group name="null"> |
2049 | <context context-type="linenumber">193</context> | ||
2050 | </context-group> | ||
2051 | </trans-unit> | ||
2052 | <trans-unit id="4c2fca29fd9d7e85abe85a206958a4226f403be2"> | ||
2053 | <source> | ||
2054 | The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be accessed publicly. | ||
2055 | </source> | ||
2056 | <target> | ||
2057 | Technologia udostępniania używana przez ten film oznacza, że część technicznych informacji o Twoim systemie (tj. publiczny adres IP) może być dostępna dla innych. | ||
2058 | </target> | ||
2059 | <context-group name="null"> | ||
2060 | <context context-type="linenumber">195</context> | 1907 | <context context-type="linenumber">195</context> |
2061 | </context-group> | 1908 | </context-group> |
2062 | </trans-unit> | 1909 | </trans-unit> |
@@ -2064,14 +1911,14 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
2064 | <source>More information</source> | 1911 | <source>More information</source> |
2065 | <target>Więcej informacji</target> | 1912 | <target>Więcej informacji</target> |
2066 | <context-group name="null"> | 1913 | <context-group name="null"> |
2067 | <context context-type="linenumber">198</context> | 1914 | <context context-type="linenumber">200</context> |
2068 | </context-group> | 1915 | </context-group> |
2069 | </trans-unit> | 1916 | </trans-unit> |
2070 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | 1917 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> |
2071 | <source>Get more information</source> | 1918 | <source>Get more information</source> |
2072 | <target>Uzyskaj więcej informacji</target> | 1919 | <target>Uzyskaj więcej informacji</target> |
2073 | <context-group name="null"> | 1920 | <context-group name="null"> |
2074 | <context context-type="linenumber">198</context> | 1921 | <context context-type="linenumber">200</context> |
2075 | </context-group> | 1922 | </context-group> |
2076 | </trans-unit> | 1923 | </trans-unit> |
2077 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | 1924 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> |
@@ -2082,7 +1929,7 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
2082 | OK | 1929 | OK |
2083 | </target> | 1930 | </target> |
2084 | <context-group name="null"> | 1931 | <context-group name="null"> |
2085 | <context context-type="linenumber">201</context> | 1932 | <context context-type="linenumber">203</context> |
2086 | </context-group> | 1933 | </context-group> |
2087 | </trans-unit> | 1934 | </trans-unit> |
2088 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | 1935 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> |
@@ -2553,13 +2400,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
2553 | <context context-type="linenumber">1</context> | 2400 | <context context-type="linenumber">1</context> |
2554 | </context-group> | 2401 | </context-group> |
2555 | </trans-unit> | 2402 | </trans-unit> |
2556 | <trans-unit id="4fe245955c7ec7d53a4236fda7a985edcb63124c"> | ||
2557 | <source>An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</source> | ||
2558 | <target>Adres e-mail z instrukcjami przywracania hasła został wysłany na <x id="INTERPOLATION" equiv-text="{{ email }}"/>.</target> | ||
2559 | <context-group name="null"> | ||
2560 | <context context-type="linenumber">1</context> | ||
2561 | </context-group> | ||
2562 | </trans-unit> | ||
2563 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | 2403 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> |
2564 | <source>Unable to find user id or verification string.</source> | 2404 | <source>Unable to find user id or verification string.</source> |
2565 | <target>Nie można znaleźć ID użytkownika lub kodu weryfikującego.</target> | 2405 | <target>Nie można znaleźć ID użytkownika lub kodu weryfikującego.</target> |
@@ -2574,6 +2414,20 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
2574 | <context context-type="linenumber">1</context> | 2414 | <context context-type="linenumber">1</context> |
2575 | </context-group> | 2415 | </context-group> |
2576 | </trans-unit> | 2416 | </trans-unit> |
2417 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2418 | <source>Today</source> | ||
2419 | <target>Dzisiaj</target> | ||
2420 | <context-group name="null"> | ||
2421 | <context context-type="linenumber">1</context> | ||
2422 | </context-group> | ||
2423 | </trans-unit> | ||
2424 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2425 | <source>Search</source> | ||
2426 | <target>Szukaj</target> | ||
2427 | <context-group name="null"> | ||
2428 | <context context-type="linenumber">1</context> | ||
2429 | </context-group> | ||
2430 | </trans-unit> | ||
2577 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | 2431 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> |
2578 | <source>Instance name is required.</source> | 2432 | <source>Instance name is required.</source> |
2579 | <target>Nazwa instancji jest wymagana.</target> | 2433 | <target>Nazwa instancji jest wymagana.</target> |
@@ -3258,13 +3112,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
3258 | <context context-type="linenumber">1</context> | 3112 | <context context-type="linenumber">1</context> |
3259 | </context-group> | 3113 | </context-group> |
3260 | </trans-unit> | 3114 | </trans-unit> |
3261 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
3262 | <source>Today</source> | ||
3263 | <target>Dzisiaj</target> | ||
3264 | <context-group name="null"> | ||
3265 | <context context-type="linenumber">1</context> | ||
3266 | </context-group> | ||
3267 | </trans-unit> | ||
3268 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | 3115 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> |
3269 | <source>Clear</source> | 3116 | <source>Clear</source> |
3270 | <target>Wyczyśż</target> | 3117 | <target>Wyczyśż</target> |
@@ -3468,13 +3315,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
3468 | <context context-type="linenumber">1</context> | 3315 | <context context-type="linenumber">1</context> |
3469 | </context-group> | 3316 | </context-group> |
3470 | </trans-unit> | 3317 | </trans-unit> |
3471 | <trans-unit id="6d0fdbf0a14c9ac51e12b52f8781152ba5c87793"> | ||
3472 | <source>This image is too large.</source> | ||
3473 | <target>Obraz jest zbyt wielki.</target> | ||
3474 | <context-group name="null"> | ||
3475 | <context context-type="linenumber">1</context> | ||
3476 | </context-group> | ||
3477 | </trans-unit> | ||
3478 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | 3318 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> |
3479 | <source>Your video was uploaded in your account and is private.</source> | 3319 | <source>Your video was uploaded in your account and is private.</source> |
3480 | <target>Twój film został wysłany na Twoje konto i jest prywatny.</target> | 3320 | <target>Twój film został wysłany na Twoje konto i jest prywatny.</target> |
@@ -3510,13 +3350,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
3510 | <context context-type="linenumber">1</context> | 3350 | <context context-type="linenumber">1</context> |
3511 | </context-group> | 3351 | </context-group> |
3512 | </trans-unit> | 3352 | </trans-unit> |
3513 | <trans-unit id="8b7132ca8401e9b847c242dc9a6b63cc63a80a74"> | ||
3514 | <source>We are sorry but PeerTube cannot handle videos > 4GB</source> | ||
3515 | <target>Przepraszamy, ale PeerTube nie obsługuje filmów większych niż 4GB</target> | ||
3516 | <context-group name="null"> | ||
3517 | <context context-type="linenumber">1</context> | ||
3518 | </context-group> | ||
3519 | </trans-unit> | ||
3520 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | 3353 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> |
3521 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | 3354 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> |
3522 | <target>Twoja powierzchnia na filmy została przekroczona tym filmem (rozmiar filmu: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, powierzchnia: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | 3355 | <target>Twoja powierzchnia na filmy została przekroczona tym filmem (rozmiar filmu: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, powierzchnia: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> |
@@ -3586,13 +3419,6 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
3586 | <context context-type="linenumber">1</context> | 3419 | <context context-type="linenumber">1</context> |
3587 | </context-group> | 3420 | </context-group> |
3588 | </trans-unit> | 3421 | </trans-unit> |
3589 | <trans-unit id="4a400b174208188dcb46f2c23f4af9accfabaa3f"> | ||
3590 | <source>Cannot fetch video from server, maybe down.</source> | ||
3591 | <target>Nie można uzyskać filmu z serwera, może być niedostępny.</target> | ||
3592 | <context-group name="null"> | ||
3593 | <context context-type="linenumber">1</context> | ||
3594 | </context-group> | ||
3595 | </trans-unit> | ||
3596 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 3422 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
3597 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 3423 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
3598 | <target>Ten film zawiera treści wulgarne lub przeznaczone dla dorosłych. Czy na pewno chcesz go obejrzeć?</target> | 3424 | <target>Ten film zawiera treści wulgarne lub przeznaczone dla dorosłych. Czy na pewno chcesz go obejrzeć?</target> |
@@ -3607,12 +3433,5 @@ Jeżeli umieścisz film na ten kanał, pole informujące o możliwości wsparcia | |||
3607 | <context context-type="linenumber">1</context> | 3433 | <context context-type="linenumber">1</context> |
3608 | </context-group> | 3434 | </context-group> |
3609 | </trans-unit> | 3435 | </trans-unit> |
3610 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
3611 | <source>Search</source> | ||
3612 | <target>Szukaj</target> | ||
3613 | <context-group name="null"> | ||
3614 | <context context-type="linenumber">1</context> | ||
3615 | </context-group> | ||
3616 | </trans-unit> | ||
3617 | </body> | 3436 | </body> |
3618 | </file></xliff> \ No newline at end of file | 3437 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_pt_BR.xml b/client/src/locale/target/angular_pt_BR.xml index 73af84038..7efc39706 100644 --- a/client/src/locale/target/angular_pt_BR.xml +++ b/client/src/locale/target/angular_pt_BR.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | Cancelar | 11 | Cancelar |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizações</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visualizações</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>Obter ajuda</target> | 47 | <target>Obter ajuda</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -107,7 +107,7 @@ | |||
107 | <source>Password</source> | 107 | <source>Password</source> |
108 | <target>Senha</target> | 108 | <target>Senha</target> |
109 | <context-group name="null"> | 109 | <context-group name="null"> |
110 | <context context-type="linenumber">28</context> | 110 | <context context-type="linenumber">12</context> |
111 | </context-group> | 111 | </context-group> |
112 | </trans-unit> | 112 | </trans-unit> |
113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 113 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -555,21 +555,6 @@ | |||
555 | <context context-type="linenumber">51</context> | 555 | <context context-type="linenumber">51</context> |
556 | </context-group> | 556 | </context-group> |
557 | </trans-unit> | 557 | </trans-unit> |
558 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
559 | <source> | ||
560 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
561 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
562 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
563 | </source> | ||
564 | <target> | ||
565 | Pares web não são enviados diretamente pelo rastreador: por utilizarmos WebRTC dentro do navegador web, o protocolo é diferente do BitTorrent clássico. | ||
566 | Quando você está em um navegador web, você envia um sinal contendo seu endereço IP para o rastreador que escolherá outros pares para encaminhá-los a informação. | ||
567 | Veja <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>este documento<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> para mais informações | ||
568 | </target> | ||
569 | <context-group name="null"> | ||
570 | <context context-type="linenumber">55</context> | ||
571 | </context-group> | ||
572 | </trans-unit> | ||
573 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 558 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
574 | <source> | 559 | <source> |
575 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 560 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -583,13 +568,6 @@ | |||
583 | <context context-type="linenumber">62</context> | 568 | <context context-type="linenumber">62</context> |
584 | </context-group> | 569 | </context-group> |
585 | </trans-unit> | 570 | </trans-unit> |
586 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
587 | <source>How does PeerTube compares to YouTube?</source> | ||
588 | <target>Como o PeerTube se compara com o YouTube?</target> | ||
589 | <context-group name="null"> | ||
590 | <context context-type="linenumber">67</context> | ||
591 | </context-group> | ||
592 | </trans-unit> | ||
593 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 571 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
594 | <source> | 572 | <source> |
595 | The threats to privacy in YouTube are different from PeerTube's. | 573 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -675,6 +653,13 @@ | |||
675 | <context context-type="linenumber">94</context> | 653 | <context context-type="linenumber">94</context> |
676 | </context-group> | 654 | </context-group> |
677 | </trans-unit> | 655 | </trans-unit> |
656 | <trans-unit id="efde279863678ed95a8949a3712c99748bdabfe6"> | ||
657 | <source>An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program</source> | ||
658 | <target>Um programa de redundância automática de vídeos: nós não saberíamos se o IP baixou o vídeo de propósito ou se isso foi o programa automatizado</target> | ||
659 | <context-group name="null"> | ||
660 | <context context-type="linenumber">95</context> | ||
661 | </context-group> | ||
662 | </trans-unit> | ||
678 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> | 663 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> |
679 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> | 664 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> |
680 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> inscritos</target> | 665 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> inscritos</target> |
@@ -738,6 +723,412 @@ | |||
738 | <context context-type="linenumber">54</context> | 723 | <context context-type="linenumber">54</context> |
739 | </context-group> | 724 | </context-group> |
740 | </trans-unit> | 725 | </trans-unit> |
726 | <trans-unit id="1cbeb1eb589bfbe5efce94184cacd3095ca26948"> | ||
727 | <source>Videos Trending</source> | ||
728 | <target>Vídeos em Tendência</target> | ||
729 | <context-group name="null"> | ||
730 | <context context-type="linenumber">57</context> | ||
731 | </context-group> | ||
732 | </trans-unit> | ||
733 | <trans-unit id="1861c96217213992e02dcb77e15ea69e718c9883"> | ||
734 | <source>Videos Recently Added</source> | ||
735 | <target>Vídeos Adicionados Recentemente</target> | ||
736 | <context-group name="null"> | ||
737 | <context context-type="linenumber">58</context> | ||
738 | </context-group> | ||
739 | </trans-unit> | ||
740 | <trans-unit id="b6307f83d9f43bff8d5129a7888e89964ddc3f7f"> | ||
741 | <source>Local videos</source> | ||
742 | <target>Vídeos locais</target> | ||
743 | <context-group name="null"> | ||
744 | <context context-type="linenumber">59</context> | ||
745 | </context-group> | ||
746 | </trans-unit> | ||
747 | <trans-unit id="8551afadb69b3fef89e191f507e8ac84e624e8b9"> | ||
748 | <source>Policy on videos containing sensitive content</source> | ||
749 | <target>Política sobre vídeos que possuem conteúdo sensível</target> | ||
750 | <context-group name="null"> | ||
751 | <context context-type="linenumber">68</context> | ||
752 | </context-group> | ||
753 | </trans-unit> | ||
754 | <trans-unit id="aa3ef567a1ea22c1e4d0acfdc8f80bc636bf12df"> | ||
755 | <source>With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.</source> | ||
756 | <target>Com <strong>Não listar</strong> ou <strong>Desfocar miniaturas</strong>, uma confirmação será requisitada para assistir o vídeo.</target> | ||
757 | <context-group name="null"> | ||
758 | <context context-type="linenumber">6</context> | ||
759 | </context-group> | ||
760 | </trans-unit> | ||
761 | <trans-unit id="5e155c34fb3ed8159bf0a486a366cfbc6874f9fe"> | ||
762 | <source>Do not list</source> | ||
763 | <target>Não listar</target> | ||
764 | <context-group name="null"> | ||
765 | <context context-type="linenumber">11</context> | ||
766 | </context-group> | ||
767 | </trans-unit> | ||
768 | <trans-unit id="aaa900149c2ca1575ac1918d1ded33fb69830ab2"> | ||
769 | <source>Blur thumbnails</source> | ||
770 | <target>Desfocar miniaturas</target> | ||
771 | <context-group name="null"> | ||
772 | <context context-type="linenumber">12</context> | ||
773 | </context-group> | ||
774 | </trans-unit> | ||
775 | <trans-unit id="010d24ef3c43b2d8f45a4d6cba7d73e12ee1557e"> | ||
776 | <source>Display</source> | ||
777 | <target>Exibição</target> | ||
778 | <context-group name="null"> | ||
779 | <context context-type="linenumber">13</context> | ||
780 | </context-group> | ||
781 | </trans-unit> | ||
782 | <trans-unit id="ca53e66e68986546b7ef820c934145fd7c9c4247"> | ||
783 | <source>Signup enabled</source> | ||
784 | <target>Inscrição permitida</target> | ||
785 | <context-group name="null"> | ||
786 | <context context-type="linenumber">90</context> | ||
787 | </context-group> | ||
788 | </trans-unit> | ||
789 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | ||
790 | <source>Signup limit</source> | ||
791 | <target>Limite de inscrições</target> | ||
792 | <context-group name="null"> | ||
793 | <context context-type="linenumber">94</context> | ||
794 | </context-group> | ||
795 | </trans-unit> | ||
796 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | ||
797 | <source>Administrator</source> | ||
798 | <target>Administrador</target> | ||
799 | <context-group name="null"> | ||
800 | <context context-type="linenumber">104</context> | ||
801 | </context-group> | ||
802 | </trans-unit> | ||
803 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | ||
804 | <source>Admin email</source> | ||
805 | <target>Email de administrador</target> | ||
806 | <context-group name="null"> | ||
807 | <context context-type="linenumber">107</context> | ||
808 | </context-group> | ||
809 | </trans-unit> | ||
810 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | ||
811 | <source>Users</source> | ||
812 | <target>Usuários</target> | ||
813 | <context-group name="null"> | ||
814 | <context context-type="linenumber">117</context> | ||
815 | </context-group> | ||
816 | </trans-unit> | ||
817 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | ||
818 | <source>User default video quota</source> | ||
819 | <target>Cota padrão de vídeos do usuário</target> | ||
820 | <context-group name="null"> | ||
821 | <context context-type="linenumber">120</context> | ||
822 | </context-group> | ||
823 | </trans-unit> | ||
824 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | ||
825 | <source>Basic configuration</source> | ||
826 | <target>Configurações básicas</target> | ||
827 | <context-group name="null"> | ||
828 | <context context-type="linenumber">5</context> | ||
829 | </context-group> | ||
830 | </trans-unit> | ||
831 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> | ||
832 | <source>Twitter</source> | ||
833 | <target>Twitter</target> | ||
834 | <context-group name="null"> | ||
835 | <context context-type="linenumber">136</context> | ||
836 | </context-group> | ||
837 | </trans-unit> | ||
838 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | ||
839 | <source>Your Twitter username</source> | ||
840 | <target>Seu nome de usuário no Twitter</target> | ||
841 | <context-group name="null"> | ||
842 | <context context-type="linenumber">139</context> | ||
843 | </context-group> | ||
844 | </trans-unit> | ||
845 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | ||
846 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | ||
847 | <target>Indica a conta Twitter do sítio web ou plataforma em que o conteúdo foi publicado.</target> | ||
848 | <context-group name="null"> | ||
849 | <context context-type="linenumber">142</context> | ||
850 | </context-group> | ||
851 | </trans-unit> | ||
852 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | ||
853 | <source>Instance whitelisted by Twitter</source> | ||
854 | <target>Instância listada como permitida pelo Twitter</target> | ||
855 | <context-group name="null"> | ||
856 | <context context-type="linenumber">155</context> | ||
857 | </context-group> | ||
858 | </trans-unit> | ||
859 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | ||
860 | <source>If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> | ||
861 | If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> | ||
862 | Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted.</source> | ||
863 | <target>Se a sua instância está listada como permitida pelo Twitter, um player de vídeo será embutido no feed do Twitter no compartilhador do vídeo do PeerTube.<br /> | ||
864 | Se a instância não está listada como permitida, nós utilizamos um cartão de imagem com link que redirecionará à sua instância PeerTube.<br /><br /> | ||
865 | Marque esta opção, salve as configurações e teste com uma URL de vídeo da sua instância (https://example.com/videos/watch/blabla) em <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> para ver se sua instância está listada como permitida.</target> | ||
866 | <context-group name="null"> | ||
867 | <context context-type="linenumber">156</context> | ||
868 | </context-group> | ||
869 | </trans-unit> | ||
870 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | ||
871 | <source>Services</source> | ||
872 | <target>Serviços</target> | ||
873 | <context-group name="null"> | ||
874 | <context context-type="linenumber">134</context> | ||
875 | </context-group> | ||
876 | </trans-unit> | ||
877 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
878 | <source>Transcoding</source> | ||
879 | <target>Transcodificação</target> | ||
880 | <context-group name="null"> | ||
881 | <context context-type="linenumber">164</context> | ||
882 | </context-group> | ||
883 | </trans-unit> | ||
884 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | ||
885 | <source>Transcoding enabled</source> | ||
886 | <target>Transcodificação ativada</target> | ||
887 | <context-group name="null"> | ||
888 | <context context-type="linenumber">168</context> | ||
889 | </context-group> | ||
890 | </trans-unit> | ||
891 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | ||
892 | <source>If you disable transcoding, many videos from your users will not work!</source> | ||
893 | <target>Se você desativar a transcodificação, muitos vídeos dos seus usuários não funcionarão!</target> | ||
894 | <context-group name="null"> | ||
895 | <context context-type="linenumber">169</context> | ||
896 | </context-group> | ||
897 | </trans-unit> | ||
898 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
899 | <source>Transcoding threads</source> | ||
900 | <target>Threads de transcodificação</target> | ||
901 | <context-group name="null"> | ||
902 | <context context-type="linenumber">175</context> | ||
903 | </context-group> | ||
904 | </trans-unit> | ||
905 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | ||
906 | <source>Previews cache size</source> | ||
907 | <target>Tamanho do cache de previsualizações</target> | ||
908 | <context-group name="null"> | ||
909 | <context context-type="linenumber">207</context> | ||
910 | </context-group> | ||
911 | </trans-unit> | ||
912 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | ||
913 | <source>Customizations</source> | ||
914 | <target>Personalizações</target> | ||
915 | <context-group name="null"> | ||
916 | <context context-type="linenumber">228</context> | ||
917 | </context-group> | ||
918 | </trans-unit> | ||
919 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | ||
920 | <source>JavaScript</source> | ||
921 | <target>JavaScript</target> | ||
922 | <context-group name="null"> | ||
923 | <context context-type="linenumber">231</context> | ||
924 | </context-group> | ||
925 | </trans-unit> | ||
926 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
927 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
928 | <target>Escreva diretamente código JavaScript.<br />Exemplo: <pre>console.log('minha instância é demais');</pre></target> | ||
929 | <context-group name="null"> | ||
930 | <context context-type="linenumber">234</context> | ||
931 | </context-group> | ||
932 | </trans-unit> | ||
933 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | ||
934 | <source> | ||
935 | Write directly CSS code. Example:<br /> | ||
936 | <pre> | ||
937 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
938 | background-color: red; | ||
939 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
940 | </pre> | ||
941 | |||
942 | Prepend with <em>#custom-css</em> to override styles. Example: | ||
943 | <pre> | ||
944 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
945 | color: red; | ||
946 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
947 | </pre> | ||
948 | </source> | ||
949 | <target> | ||
950 | Escreva código CSS diretamente. Exemplo:<br /> | ||
951 | <pre> | ||
952 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
953 | background-color: red; | ||
954 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
955 | </pre> | ||
956 | |||
957 | Prefixe com <em>#custom-css</em> para sobrescrever estilos. Exemplo: | ||
958 | <pre> | ||
959 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
960 | color: red; | ||
961 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
962 | </pre> | ||
963 | </target> | ||
964 | <context-group name="null"> | ||
965 | <context context-type="linenumber">250</context> | ||
966 | </context-group> | ||
967 | </trans-unit> | ||
968 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | ||
969 | <source>Advanced configuration</source> | ||
970 | <target>Configurações avançadas</target> | ||
971 | <context-group name="null"> | ||
972 | <context context-type="linenumber">162</context> | ||
973 | </context-group> | ||
974 | </trans-unit> | ||
975 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | ||
976 | <source>Update configuration</source> | ||
977 | <target>Atualizar configuração</target> | ||
978 | <context-group name="null"> | ||
979 | <context context-type="linenumber">277</context> | ||
980 | </context-group> | ||
981 | </trans-unit> | ||
982 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | ||
983 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | ||
984 | <target>Aparentemente a configuração está valida. Por favor procure potenciais erros nas diferentes abas.</target> | ||
985 | <context-group name="null"> | ||
986 | <context context-type="linenumber">278</context> | ||
987 | </context-group> | ||
988 | </trans-unit> | ||
989 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | ||
990 | <source> | ||
991 | Users | ||
992 | </source> | ||
993 | <target> | ||
994 | Usuários | ||
995 | </target> | ||
996 | <context-group name="null"> | ||
997 | <context context-type="linenumber">3</context> | ||
998 | </context-group> | ||
999 | </trans-unit> | ||
1000 | <trans-unit id="0315abd64e35510ed0534f597130ef781aca175a"> | ||
1001 | <source> | ||
1002 | Manage follows | ||
1003 | </source> | ||
1004 | <target> | ||
1005 | |||
1006 | </target> | ||
1007 | <context-group name="null"> | ||
1008 | <context context-type="linenumber">7</context> | ||
1009 | </context-group> | ||
1010 | </trans-unit> | ||
1011 | <trans-unit id="96ccede058f0022f34230c3adc09e60076b6d037"> | ||
1012 | <source> | ||
1013 | Video blacklist | ||
1014 | </source> | ||
1015 | <target> | ||
1016 | Lista de bloqueio de vídeos | ||
1017 | </target> | ||
1018 | <context-group name="null"> | ||
1019 | <context context-type="linenumber">15</context> | ||
1020 | </context-group> | ||
1021 | </trans-unit> | ||
1022 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> | ||
1023 | <source> | ||
1024 | Jobs | ||
1025 | </source> | ||
1026 | <target> | ||
1027 | Empregos | ||
1028 | </target> | ||
1029 | <context-group name="null"> | ||
1030 | <context context-type="linenumber">19</context> | ||
1031 | </context-group> | ||
1032 | </trans-unit> | ||
1033 | <trans-unit id="9c6ce37623b626a102002901ca12c37e7a3a7f13"> | ||
1034 | <source> | ||
1035 | Configuration | ||
1036 | </source> | ||
1037 | <target> | ||
1038 | Configurações | ||
1039 | </target> | ||
1040 | <context-group name="null"> | ||
1041 | <context context-type="linenumber">23</context> | ||
1042 | </context-group> | ||
1043 | </trans-unit> | ||
1044 | <trans-unit id="4e8635c108375983b42229df44bda8c0af84f396"> | ||
1045 | <source>1 host (without "http://") per line</source> | ||
1046 | <target>1 host (sem "http://") por linha</target> | ||
1047 | <context-group name="null"> | ||
1048 | <context context-type="linenumber">5</context> | ||
1049 | </context-group> | ||
1050 | </trans-unit> | ||
1051 | <trans-unit id="f7a7a00999ccbd126cbb8e74f5dd1724942dd507"> | ||
1052 | <source> | ||
1053 | It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. | ||
1054 | </source> | ||
1055 | <target> | ||
1056 | Aparentemente você não está em um servidor HTTPS. Seu sítio web necessita ter TLS ativado para possibilitar seguir servidores. | ||
1057 | </target> | ||
1058 | <context-group name="null"> | ||
1059 | <context context-type="linenumber">17</context> | ||
1060 | </context-group> | ||
1061 | </trans-unit> | ||
1062 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> | ||
1063 | <source>ID</source> | ||
1064 | <target>ID</target> | ||
1065 | <context-group name="null"> | ||
1066 | <context context-type="linenumber">18</context> | ||
1067 | </context-group> | ||
1068 | </trans-unit> | ||
1069 | <trans-unit id="380e20a1e13d9489c69f6dbea7da19025ab6eb25"> | ||
1070 | <source>Score</source> | ||
1071 | <target>Pontuação</target> | ||
1072 | <context-group name="null"> | ||
1073 | <context context-type="linenumber">8</context> | ||
1074 | </context-group> | ||
1075 | </trans-unit> | ||
1076 | <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767"> | ||
1077 | <source>Host</source> | ||
1078 | <target>Host</target> | ||
1079 | <context-group name="null"> | ||
1080 | <context context-type="linenumber">8</context> | ||
1081 | </context-group> | ||
1082 | </trans-unit> | ||
1083 | <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b"> | ||
1084 | <source>State</source> | ||
1085 | <target>Estado</target> | ||
1086 | <context-group name="null"> | ||
1087 | <context context-type="linenumber">20</context> | ||
1088 | </context-group> | ||
1089 | </trans-unit> | ||
1090 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
1091 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1092 | <target>Criado <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1093 | <context-group name="null"> | ||
1094 | <context context-type="linenumber">16</context> | ||
1095 | </context-group> | ||
1096 | </trans-unit> | ||
1097 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> | ||
1098 | <source>john</source> | ||
1099 | <target>josé</target> | ||
1100 | <context-group name="null"> | ||
1101 | <context context-type="linenumber">10</context> | ||
1102 | </context-group> | ||
1103 | </trans-unit> | ||
1104 | <trans-unit id="bb3542ff8e5defa6d0c773799e5c8fe399605d05"> | ||
1105 | <source>mail@example.com</source> | ||
1106 | <target>mail@exemplo.com</target> | ||
1107 | <context-group name="null"> | ||
1108 | <context context-type="linenumber">21</context> | ||
1109 | </context-group> | ||
1110 | </trans-unit> | ||
1111 | <trans-unit id="c36a66f2107e8da5371ebc9d15c2008dff567f46"> | ||
1112 | <source>Role</source> | ||
1113 | <target>Papel</target> | ||
1114 | <context-group name="null"> | ||
1115 | <context context-type="linenumber">19</context> | ||
1116 | </context-group> | ||
1117 | </trans-unit> | ||
1118 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> | ||
1119 | <source>Video quota</source> | ||
1120 | <target>Cota de vídeo</target> | ||
1121 | <context-group name="null"> | ||
1122 | <context context-type="linenumber">18</context> | ||
1123 | </context-group> | ||
1124 | </trans-unit> | ||
1125 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
1126 | <source>Search</source> | ||
1127 | <target>Pesquisar</target> | ||
1128 | <context-group name="null"> | ||
1129 | <context context-type="linenumber">1</context> | ||
1130 | </context-group> | ||
1131 | </trans-unit> | ||
741 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 1132 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> |
742 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 1133 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> |
743 | <target>Este vídeo possui conteúdo adulto ou explícito. Você tem certeza que deseja assistí-lo?</target> | 1134 | <target>Este vídeo possui conteúdo adulto ou explícito. Você tem certeza que deseja assistí-lo?</target> |
@@ -752,12 +1143,5 @@ | |||
752 | <context context-type="linenumber">1</context> | 1143 | <context context-type="linenumber">1</context> |
753 | </context-group> | 1144 | </context-group> |
754 | </trans-unit> | 1145 | </trans-unit> |
755 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
756 | <source>Search</source> | ||
757 | <target>Pesquisar</target> | ||
758 | <context-group name="null"> | ||
759 | <context context-type="linenumber">1</context> | ||
760 | </context-group> | ||
761 | </trans-unit> | ||
762 | </body> | 1146 | </body> |
763 | </file></xliff> \ No newline at end of file | 1147 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_sv_SE.xml b/client/src/locale/target/angular_sv_SE.xml index 1749cab85..f711d4c66 100644 --- a/client/src/locale/target/angular_sv_SE.xml +++ b/client/src/locale/target/angular_sv_SE.xml | |||
@@ -10,7 +10,7 @@ | |||
10 | <target> | 10 | <target> |
11 | Avbryt</target> | 11 | Avbryt</target> |
12 | <context-group name="null"> | 12 | <context-group name="null"> |
13 | <context context-type="linenumber">40</context> | 13 | <context context-type="linenumber">45</context> |
14 | </context-group> | 14 | </context-group> |
15 | </trans-unit> | 15 | </trans-unit> |
16 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 16 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -38,7 +38,7 @@ Avbryt</target> | |||
38 | <source>Get help</source> | 38 | <source>Get help</source> |
39 | <target>Få hjälp</target> | 39 | <target>Få hjälp</target> |
40 | <context-group name="null"> | 40 | <context-group name="null"> |
41 | <context context-type="linenumber">17</context> | 41 | <context context-type="linenumber">18</context> |
42 | </context-group> | 42 | </context-group> |
43 | </trans-unit> | 43 | </trans-unit> |
44 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 44 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -96,7 +96,7 @@ eller skapa ett konto på en annan instans</target> | |||
96 | <source>Password</source> | 96 | <source>Password</source> |
97 | <target>Lösenord</target> | 97 | <target>Lösenord</target> |
98 | <context-group name="null"> | 98 | <context-group name="null"> |
99 | <context context-type="linenumber">28</context> | 99 | <context context-type="linenumber">12</context> |
100 | </context-group> | 100 | </context-group> |
101 | </trans-unit> | 101 | </trans-unit> |
102 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 102 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -413,35 +413,35 @@ Obegränsad</target> | |||
413 | <source>Signup enabled</source> | 413 | <source>Signup enabled</source> |
414 | <target>Registrering aktiverat</target> | 414 | <target>Registrering aktiverat</target> |
415 | <context-group name="null"> | 415 | <context-group name="null"> |
416 | <context context-type="linenumber">92</context> | 416 | <context context-type="linenumber">90</context> |
417 | </context-group> | 417 | </context-group> |
418 | </trans-unit> | 418 | </trans-unit> |
419 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | 419 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> |
420 | <source>Signup limit</source> | 420 | <source>Signup limit</source> |
421 | <target>Registreringsgräns</target> | 421 | <target>Registreringsgräns</target> |
422 | <context-group name="null"> | 422 | <context-group name="null"> |
423 | <context context-type="linenumber">96</context> | 423 | <context context-type="linenumber">94</context> |
424 | </context-group> | 424 | </context-group> |
425 | </trans-unit> | 425 | </trans-unit> |
426 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | 426 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> |
427 | <source>Administrator</source> | 427 | <source>Administrator</source> |
428 | <target>Administratörs</target> | 428 | <target>Administratörs</target> |
429 | <context-group name="null"> | 429 | <context-group name="null"> |
430 | <context context-type="linenumber">106</context> | 430 | <context context-type="linenumber">104</context> |
431 | </context-group> | 431 | </context-group> |
432 | </trans-unit> | 432 | </trans-unit> |
433 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | 433 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> |
434 | <source>Admin email</source> | 434 | <source>Admin email</source> |
435 | <target>Admin e-post</target> | 435 | <target>Admin e-post</target> |
436 | <context-group name="null"> | 436 | <context-group name="null"> |
437 | <context context-type="linenumber">109</context> | 437 | <context context-type="linenumber">107</context> |
438 | </context-group> | 438 | </context-group> |
439 | </trans-unit> | 439 | </trans-unit> |
440 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | 440 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> |
441 | <source>Users</source> | 441 | <source>Users</source> |
442 | <target>Användare</target> | 442 | <target>Användare</target> |
443 | <context-group name="null"> | 443 | <context-group name="null"> |
444 | <context context-type="linenumber">119</context> | 444 | <context context-type="linenumber">117</context> |
445 | </context-group> | 445 | </context-group> |
446 | </trans-unit> | 446 | </trans-unit> |
447 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | 447 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> |
@@ -455,35 +455,35 @@ Obegränsad</target> | |||
455 | <source>Twitter</source> | 455 | <source>Twitter</source> |
456 | <target>Twitter</target> | 456 | <target>Twitter</target> |
457 | <context-group name="null"> | 457 | <context-group name="null"> |
458 | <context context-type="linenumber">138</context> | 458 | <context context-type="linenumber">136</context> |
459 | </context-group> | 459 | </context-group> |
460 | </trans-unit> | 460 | </trans-unit> |
461 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | 461 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> |
462 | <source>Your Twitter username</source> | 462 | <source>Your Twitter username</source> |
463 | <target>Ditt Twitter-användarnamn</target> | 463 | <target>Ditt Twitter-användarnamn</target> |
464 | <context-group name="null"> | 464 | <context-group name="null"> |
465 | <context context-type="linenumber">141</context> | 465 | <context context-type="linenumber">139</context> |
466 | </context-group> | 466 | </context-group> |
467 | </trans-unit> | 467 | </trans-unit> |
468 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | 468 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> |
469 | <source>JavaScript</source> | 469 | <source>JavaScript</source> |
470 | <target>JavaScript</target> | 470 | <target>JavaScript</target> |
471 | <context-group name="null"> | 471 | <context-group name="null"> |
472 | <context context-type="linenumber">230</context> | 472 | <context context-type="linenumber">231</context> |
473 | </context-group> | 473 | </context-group> |
474 | </trans-unit> | 474 | </trans-unit> |
475 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | 475 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> |
476 | <source>Advanced configuration</source> | 476 | <source>Advanced configuration</source> |
477 | <target>Avancerad konfiguration</target> | 477 | <target>Avancerad konfiguration</target> |
478 | <context-group name="null"> | 478 | <context-group name="null"> |
479 | <context context-type="linenumber">170</context> | 479 | <context context-type="linenumber">162</context> |
480 | </context-group> | 480 | </context-group> |
481 | </trans-unit> | 481 | </trans-unit> |
482 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | 482 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> |
483 | <source>Update configuration</source> | 483 | <source>Update configuration</source> |
484 | <target>Uppdatera konfiguration</target> | 484 | <target>Uppdatera konfiguration</target> |
485 | <context-group name="null"> | 485 | <context-group name="null"> |
486 | <context context-type="linenumber">276</context> | 486 | <context context-type="linenumber">277</context> |
487 | </context-group> | 487 | </context-group> |
488 | </trans-unit> | 488 | </trans-unit> |
489 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | 489 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> |
@@ -605,13 +605,6 @@ Det verkar som du inte är på en HTTPS-server. Din webbserver behöver ha TLS a | |||
605 | <context context-type="linenumber">19</context> | 605 | <context context-type="linenumber">19</context> |
606 | </context-group> | 606 | </context-group> |
607 | </trans-unit> | 607 | </trans-unit> |
608 | <trans-unit id="9da0107a35751e722c8b4bca7636fc7645dbdbdc"> | ||
609 | <source>Updated</source> | ||
610 | <target>Uppdaterad</target> | ||
611 | <context-group name="null"> | ||
612 | <context context-type="linenumber">22</context> | ||
613 | </context-group> | ||
614 | </trans-unit> | ||
615 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | 608 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> |
616 | <source>Create user</source> | 609 | <source>Create user</source> |
617 | <target>Skapa användare</target> | 610 | <target>Skapa användare</target> |
@@ -745,46 +738,32 @@ Det verkar som du inte är på en HTTPS-server. Din webbserver behöver ha TLS a | |||
745 | <context context-type="linenumber">7</context> | 738 | <context context-type="linenumber">7</context> |
746 | </context-group> | 739 | </context-group> |
747 | </trans-unit> | 740 | </trans-unit> |
748 | <trans-unit id="7cadf30b337f4ef9b05b7d02e13ec3cf79de9dba"> | ||
749 | <source><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> subscribers</source> | ||
750 | <target><x id="INTERPOLATION" equiv-text="{{ user.account?.followersCount }}"/> prenumeranter</target> | ||
751 | <context-group name="null"> | ||
752 | <context context-type="linenumber">9</context> | ||
753 | </context-group> | ||
754 | </trans-unit> | ||
755 | <trans-unit id="3fb9a5f7268114445d8c109a8f48102e93471f5a"> | ||
756 | <source>Change your avatar</source> | ||
757 | <target>Ändra din avatar</target> | ||
758 | <context-group name="null"> | ||
759 | <context context-type="linenumber">14</context> | ||
760 | </context-group> | ||
761 | </trans-unit> | ||
762 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | 741 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> |
763 | <source>Video quota:</source> | 742 | <source>Video quota:</source> |
764 | <target>Videokvot:</target> | 743 | <target>Videokvot:</target> |
765 | <context-group name="null"> | 744 | <context-group name="null"> |
766 | <context context-type="linenumber">20</context> | 745 | <context context-type="linenumber">4</context> |
767 | </context-group> | 746 | </context-group> |
768 | </trans-unit> | 747 | </trans-unit> |
769 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | 748 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> |
770 | <source>Profile</source> | 749 | <source>Profile</source> |
771 | <target>Profil</target> | 750 | <target>Profil</target> |
772 | <context-group name="null"> | 751 | <context-group name="null"> |
773 | <context context-type="linenumber">24</context> | 752 | <context context-type="linenumber">8</context> |
774 | </context-group> | 753 | </context-group> |
775 | </trans-unit> | 754 | </trans-unit> |
776 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | 755 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> |
777 | <source>Video settings</source> | 756 | <source>Video settings</source> |
778 | <target>Videoinställningar</target> | 757 | <target>Videoinställningar</target> |
779 | <context-group name="null"> | 758 | <context-group name="null"> |
780 | <context context-type="linenumber">31</context> | 759 | <context context-type="linenumber">15</context> |
781 | </context-group> | 760 | </context-group> |
782 | </trans-unit> | 761 | </trans-unit> |
783 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | 762 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> |
784 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 763 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
785 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visningar</target> | 764 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> visningar</target> |
786 | <context-group name="null"> | 765 | <context-group name="null"> |
787 | <context context-type="linenumber">20</context> | 766 | <context context-type="linenumber">19</context> |
788 | </context-group> | 767 | </context-group> |
789 | </trans-unit> | 768 | </trans-unit> |
790 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | 769 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> |
@@ -812,14 +791,7 @@ Det verkar som du inte är på en HTTPS-server. Din webbserver behöver ha TLS a | |||
812 | <source>Create a video channel</source> | 791 | <source>Create a video channel</source> |
813 | <target>Skapa en videokanal</target> | 792 | <target>Skapa en videokanal</target> |
814 | <context-group name="null"> | 793 | <context-group name="null"> |
815 | <context context-type="linenumber">1</context> | 794 | <context context-type="linenumber">6</context> |
816 | </context-group> | ||
817 | </trans-unit> | ||
818 | <trans-unit id="9277e6f7b8ed9538d1f6ad812b620384252ffe56"> | ||
819 | <source>Update <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></source> | ||
820 | <target>Uppdatera <x id="INTERPOLATION" equiv-text="{{ videoChannel?.displayName }}"/></target> | ||
821 | <context-group name="null"> | ||
822 | <context context-type="linenumber">2</context> | ||
823 | </context-group> | 795 | </context-group> |
824 | </trans-unit> | 796 | </trans-unit> |
825 | </body> | 797 | </body> |
diff --git a/client/src/locale/target/angular_zh_Hans_CN.xml b/client/src/locale/target/angular_zh_Hans_CN.xml index 5d0b30363..638275aeb 100644 --- a/client/src/locale/target/angular_zh_Hans_CN.xml +++ b/client/src/locale/target/angular_zh_Hans_CN.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | 取消 | 11 | 取消 |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次观看</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次观看</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>帮助</target> | 47 | <target>帮助</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -96,7 +96,7 @@ | |||
96 | </trans-unit> | 96 | </trans-unit> |
97 | <trans-unit id="76e1f485e6ead4c84b606f46d413878881d66ad3"> | 97 | <trans-unit id="76e1f485e6ead4c84b606f46d413878881d66ad3"> |
98 | <source>User registration is not allowed on this instance, but you can register on many others!</source> | 98 | <source>User registration is not allowed on this instance, but you can register on many others!</source> |
99 | <target>不允许用户注册,但您可以注其他许多!</target> | 99 | <target>此实允许用户注册,但您可以其它的许多实上注册!</target> |
100 | <context-group name="null"> | 100 | <context-group name="null"> |
101 | <context context-type="linenumber">26</context> | 101 | <context context-type="linenumber">26</context> |
102 | </context-group> | 102 | </context-group> |
@@ -105,7 +105,7 @@ | |||
105 | <source>Password</source> | 105 | <source>Password</source> |
106 | <target>密码</target> | 106 | <target>密码</target> |
107 | <context-group name="null"> | 107 | <context-group name="null"> |
108 | <context context-type="linenumber">28</context> | 108 | <context context-type="linenumber">12</context> |
109 | </context-group> | 109 | </context-group> |
110 | </trans-unit> | 110 | </trans-unit> |
111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -298,6 +298,13 @@ | |||
298 | <context context-type="linenumber">55</context> | 298 | <context context-type="linenumber">55</context> |
299 | </context-group> | 299 | </context-group> |
300 | </trans-unit> | 300 | </trans-unit> |
301 | <trans-unit id="b7648e7aced164498aa843b5c4e8f2f1c36a7919"> | ||
302 | <source>Administration</source> | ||
303 | <target>管理</target> | ||
304 | <context-group name="null"> | ||
305 | <context context-type="linenumber">64</context> | ||
306 | </context-group> | ||
307 | </trans-unit> | ||
301 | <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a"> | 308 | <trans-unit id="004b222ff9ef9dd4771b777950ca1d0e4cd4348a"> |
302 | <source>About</source> | 309 | <source>About</source> |
303 | <target>关于</target> | 310 | <target>关于</target> |
@@ -319,6 +326,27 @@ | |||
319 | <context context-type="linenumber">9</context> | 326 | <context context-type="linenumber">9</context> |
320 | </context-group> | 327 | </context-group> |
321 | </trans-unit> | 328 | </trans-unit> |
329 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
330 | <source>Category</source> | ||
331 | <target>分类</target> | ||
332 | <context-group name="null"> | ||
333 | <context context-type="linenumber">144</context> | ||
334 | </context-group> | ||
335 | </trans-unit> | ||
336 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
337 | <source>Licence</source> | ||
338 | <target>协议</target> | ||
339 | <context-group name="null"> | ||
340 | <context context-type="linenumber">153</context> | ||
341 | </context-group> | ||
342 | </trans-unit> | ||
343 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
344 | <source>Language</source> | ||
345 | <target>语言</target> | ||
346 | <context-group name="null"> | ||
347 | <context context-type="linenumber">162</context> | ||
348 | </context-group> | ||
349 | </trans-unit> | ||
322 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 350 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
323 | <source>No results.</source> | 351 | <source>No results.</source> |
324 | <target>没有结果</target> | 352 | <target>没有结果</target> |
@@ -333,6 +361,66 @@ | |||
333 | <context context-type="linenumber">7</context> | 361 | <context context-type="linenumber">7</context> |
334 | </context-group> | 362 | </context-group> |
335 | </trans-unit> | 363 | </trans-unit> |
364 | <trans-unit id="6385c357c1de58ce92c0cf618ecf9cf74b917390"> | ||
365 | <source>PeerTube</source> | ||
366 | <target>PeerTube</target> | ||
367 | <context-group name="null"> | ||
368 | <context context-type="linenumber">7</context> | ||
369 | </context-group> | ||
370 | </trans-unit> | ||
371 | <trans-unit id="5849c589454817c1e991639d3091d8da0e8d6bd2"> | ||
372 | <source> | ||
373 | About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance | ||
374 | </source> | ||
375 | <target> | ||
376 | 跳过实例 <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/></target> | ||
377 | <context-group name="null"> | ||
378 | <context context-type="linenumber">1</context> | ||
379 | </context-group> | ||
380 | </trans-unit> | ||
381 | <trans-unit id="eec715de352a6b114713b30b640d319fa78207a0"> | ||
382 | <source>Description</source> | ||
383 | <target>描述</target> | ||
384 | <context-group name="null"> | ||
385 | <context context-type="linenumber">23</context> | ||
386 | </context-group> | ||
387 | </trans-unit> | ||
388 | <trans-unit id="69580f2c2dbf4edf7096820ba8c393367352d774"> | ||
389 | <source>Terms</source> | ||
390 | <target>条款</target> | ||
391 | <context-group name="null"> | ||
392 | <context context-type="linenumber">43</context> | ||
393 | </context-group> | ||
394 | </trans-unit> | ||
395 | <trans-unit id="9c6e6db693ab265457c6578df179c65694141d27"> | ||
396 | <source>User registration is allowed and</source> | ||
397 | <target>用户注册开放,并且</target> | ||
398 | <context-group name="null"> | ||
399 | <context context-type="linenumber">25</context> | ||
400 | </context-group> | ||
401 | </trans-unit> | ||
402 | <trans-unit id="ac324b07e7c3c972f1c33894eda02dc2917eda5e"> | ||
403 | <source> | ||
404 | this instance provides a baseline quota of <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> space for the videos of its users. | ||
405 | </source> | ||
406 | <target> | ||
407 | 本实例提供大小为 <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> 的基准空间用于存储用户上传的视频。 | ||
408 | </target> | ||
409 | <context-group name="null"> | ||
410 | <context context-type="linenumber">27</context> | ||
411 | </context-group> | ||
412 | </trans-unit> | ||
413 | <trans-unit id="a6865ec6abf6af58f808501d84c8ed6ff8ce46ae"> | ||
414 | <source> | ||
415 | this instance provides unlimited space for the videos of its users. | ||
416 | </source> | ||
417 | <target> | ||
418 | 本实例为用户提供无限制的视频存储空间。 | ||
419 | </target> | ||
420 | <context-group name="null"> | ||
421 | <context context-type="linenumber">31</context> | ||
422 | </context-group> | ||
423 | </trans-unit> | ||
336 | <trans-unit id="5c856a6a233b6f6c4cc8eed46436d31d2da63fc1"> | 424 | <trans-unit id="5c856a6a233b6f6c4cc8eed46436d31d2da63fc1"> |
337 | <source> | 425 | <source> |
338 | User registration is currently not allowed. | 426 | User registration is currently not allowed. |
@@ -344,6 +432,37 @@ | |||
344 | <context context-type="linenumber">36</context> | 432 | <context context-type="linenumber">36</context> |
345 | </context-group> | 433 | </context-group> |
346 | </trans-unit> | 434 | </trans-unit> |
435 | <trans-unit id="a11e3ba2c5aea841de67a3c85892bb61295e94dc"> | ||
436 | <source> | ||
437 | About PeerTube | ||
438 | </source> | ||
439 | <target>关于 PeerTube</target> | ||
440 | <context-group name="null"> | ||
441 | <context context-type="linenumber">1</context> | ||
442 | </context-group> | ||
443 | </trans-unit> | ||
444 | <trans-unit id="c2bc16265b72b9af4a4374b805931ae03e3f73a5"> | ||
445 | <source> | ||
446 | It is a free and open-source software, under the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
447 | </source> | ||
448 | <target> | ||
449 | 这是自由且开源的软件,以 <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 协议<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>发布。 | ||
450 | </target> | ||
451 | <context-group name="null"> | ||
452 | <context context-type="linenumber">8</context> | ||
453 | </context-group> | ||
454 | </trans-unit> | ||
455 | <trans-unit id="a10308f7ac111f5b66d08af0a24fc9ddf143931a"> | ||
456 | <source> | ||
457 | For more information, please visit <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. | ||
458 | </source> | ||
459 | <target> | ||
460 | 欲获取更多信息,请访问 <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>。 | ||
461 | </target> | ||
462 | <context-group name="null"> | ||
463 | <context context-type="linenumber">12</context> | ||
464 | </context-group> | ||
465 | </trans-unit> | ||
347 | <trans-unit id="c02493cfa08b82c468233b83069b5baff23890e1"> | 466 | <trans-unit id="c02493cfa08b82c468233b83069b5baff23890e1"> |
348 | <source>P2P & Privacy</source> | 467 | <source>P2P & Privacy</source> |
349 | <target>P2P隐私</target> | 468 | <target>P2P隐私</target> |
@@ -351,6 +470,79 @@ | |||
351 | <context context-type="linenumber">18</context> | 470 | <context context-type="linenumber">18</context> |
352 | </context-group> | 471 | </context-group> |
353 | </trans-unit> | 472 | </trans-unit> |
473 | <trans-unit id="cd429d53cb8f4a87879301248e38cb85f07fa9d6"> | ||
474 | <source> | ||
475 | PeerTube uses the BitTorrent protocol to share bandwidth between users. | ||
476 | This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. | ||
477 | </source> | ||
478 | <target> | ||
479 | PeerTube 使用 BitTorrent 协议在用户间分享带宽。 | ||
480 | 这代表着只要您下载或者播放了此视频,您的 IP 地址就会被此实例的 BitTorrent tracker 服务器储存。</target> | ||
481 | <context-group name="null"> | ||
482 | <context context-type="linenumber">20</context> | ||
483 | </context-group> | ||
484 | </trans-unit> | ||
485 | <trans-unit id="e4ce50f3019e3ebe9a479784c6cb68a31c7a8231"> | ||
486 | <source>What are the consequences?</source> | ||
487 | <target>结果如何?</target> | ||
488 | <context-group name="null"> | ||
489 | <context context-type="linenumber">25</context> | ||
490 | </context-group> | ||
491 | </trans-unit> | ||
492 | <trans-unit id="9a612748b059ad246935df17ef4ec4e6afb43a2a"> | ||
493 | <source> | ||
494 | In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. | ||
495 | In practice, this is much more difficult because: | ||
496 | </source> | ||
497 | <target> | ||
498 | 理论上,技术能力足够强的人能写一个脚本来跟踪哪个 IP 下载了什么视频。 | ||
499 | 实际上这件事要难得多,因为:</target> | ||
500 | <context-group name="null"> | ||
501 | <context context-type="linenumber">27</context> | ||
502 | </context-group> | ||
503 | </trans-unit> | ||
504 | <trans-unit id="3c2990d5e452bdf2317ff23745db70705d848d99"> | ||
505 | <source>What can I do to limit the exposure of my IP address?</source> | ||
506 | <target>我如何限制我 IP 地址的暴露?</target> | ||
507 | <context-group name="null"> | ||
508 | <context context-type="linenumber">75</context> | ||
509 | </context-group> | ||
510 | </trans-unit> | ||
511 | <trans-unit id="8ce78dd287b9a9dde5079916425ea66466530e41"> | ||
512 | <source>What will be done to mitigate this problem?</source> | ||
513 | <target>如何缓解这个问题?</target> | ||
514 | <context-group name="null"> | ||
515 | <context context-type="linenumber">83</context> | ||
516 | </context-group> | ||
517 | </trans-unit> | ||
518 | <trans-unit id="ba77e356eaa5c06caaf5c8734c361d1a5415fe1c"> | ||
519 | <source>Ring a bell if there are unusual requests (being tested)</source> | ||
520 | <target>出现异常请求时给予提示(正在测试)</target> | ||
521 | <context-group name="null"> | ||
522 | <context context-type="linenumber">93</context> | ||
523 | </context-group> | ||
524 | </trans-unit> | ||
525 | <trans-unit id="81861ff8a71c8a5881cdf66417f3bddb753f0e18"> | ||
526 | <source>Disable P2P from the administration interface</source> | ||
527 | <target>从管理界面禁用 P2P</target> | ||
528 | <context-group name="null"> | ||
529 | <context context-type="linenumber">94</context> | ||
530 | </context-group> | ||
531 | </trans-unit> | ||
532 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> | ||
533 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> | ||
534 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> 位订阅者</target> | ||
535 | <context-group name="null"> | ||
536 | <context context-type="linenumber">12</context> | ||
537 | </context-group> | ||
538 | </trans-unit> | ||
539 | <trans-unit id="6f5a458f827503ac7b8697688ecf3e0490818ee8"> | ||
540 | <source>Video channels</source> | ||
541 | <target>视频频道</target> | ||
542 | <context-group name="null"> | ||
543 | <context context-type="linenumber">19</context> | ||
544 | </context-group> | ||
545 | </trans-unit> | ||
354 | <trans-unit id="299f97b8ee9c62d45f2cc01961aa1e5101d6d05a"> | 546 | <trans-unit id="299f97b8ee9c62d45f2cc01961aa1e5101d6d05a"> |
355 | <source>Stats</source> | 547 | <source>Stats</source> |
356 | <target>统计</target> | 548 | <target>统计</target> |
@@ -372,20 +564,663 @@ | |||
372 | <context context-type="linenumber">57</context> | 564 | <context context-type="linenumber">57</context> |
373 | </context-group> | 565 | </context-group> |
374 | </trans-unit> | 566 | </trans-unit> |
375 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | 567 | <trans-unit id="b6307f83d9f43bff8d5129a7888e89964ddc3f7f"> |
376 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | 568 | <source>Local videos</source> |
377 | <target>视频包含成人内容,确定继续播放吗?</target> | 569 | <target>地视频</target> |
378 | <context-group name="null"> | 570 | <context-group name="null"> |
379 | <context context-type="linenumber">1</context> | 571 | <context context-type="linenumber">59</context> |
380 | </context-group> | 572 | </context-group> |
381 | </trans-unit> | 573 | </trans-unit> |
382 | <trans-unit id="5ba3d522e4146eefcbd5c222247c1e2423d27cd8"> | 574 | <trans-unit id="8551afadb69b3fef89e191f507e8ac84e624e8b9"> |
383 | <source>Mature or explicit content</source> | 575 | <source>Policy on videos containing sensitive content</source> |
384 | <target>成人内容</target> | 576 | <target>关于包含敏感内容视频的方针</target> |
577 | <context-group name="null"> | ||
578 | <context context-type="linenumber">68</context> | ||
579 | </context-group> | ||
580 | </trans-unit> | ||
581 | <trans-unit id="5e155c34fb3ed8159bf0a486a366cfbc6874f9fe"> | ||
582 | <source>Do not list</source> | ||
583 | <target>不要出现在列表上</target> | ||
584 | <context-group name="null"> | ||
585 | <context context-type="linenumber">11</context> | ||
586 | </context-group> | ||
587 | </trans-unit> | ||
588 | <trans-unit id="aaa900149c2ca1575ac1918d1ded33fb69830ab2"> | ||
589 | <source>Blur thumbnails</source> | ||
590 | <target>对缩略图进行模糊处理</target> | ||
591 | <context-group name="null"> | ||
592 | <context context-type="linenumber">12</context> | ||
593 | </context-group> | ||
594 | </trans-unit> | ||
595 | <trans-unit id="010d24ef3c43b2d8f45a4d6cba7d73e12ee1557e"> | ||
596 | <source>Display</source> | ||
597 | <target>显示</target> | ||
598 | <context-group name="null"> | ||
599 | <context context-type="linenumber">13</context> | ||
600 | </context-group> | ||
601 | </trans-unit> | ||
602 | <trans-unit id="ca53e66e68986546b7ef820c934145fd7c9c4247"> | ||
603 | <source>Signup enabled</source> | ||
604 | <target>开放注册</target> | ||
605 | <context-group name="null"> | ||
606 | <context context-type="linenumber">90</context> | ||
607 | </context-group> | ||
608 | </trans-unit> | ||
609 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | ||
610 | <source>Signup limit</source> | ||
611 | <target>注册限制</target> | ||
612 | <context-group name="null"> | ||
613 | <context context-type="linenumber">94</context> | ||
614 | </context-group> | ||
615 | </trans-unit> | ||
616 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | ||
617 | <source>Administrator</source> | ||
618 | <target>管理员</target> | ||
619 | <context-group name="null"> | ||
620 | <context context-type="linenumber">104</context> | ||
621 | </context-group> | ||
622 | </trans-unit> | ||
623 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | ||
624 | <source>Admin email</source> | ||
625 | <target>管理员邮箱</target> | ||
626 | <context-group name="null"> | ||
627 | <context context-type="linenumber">107</context> | ||
628 | </context-group> | ||
629 | </trans-unit> | ||
630 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | ||
631 | <source>Users</source> | ||
632 | <target>用户</target> | ||
633 | <context-group name="null"> | ||
634 | <context context-type="linenumber">117</context> | ||
635 | </context-group> | ||
636 | </trans-unit> | ||
637 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | ||
638 | <source>User default video quota</source> | ||
639 | <target>用户的默认视频存储空间大小</target> | ||
640 | <context-group name="null"> | ||
641 | <context context-type="linenumber">120</context> | ||
642 | </context-group> | ||
643 | </trans-unit> | ||
644 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | ||
645 | <source>Basic configuration</source> | ||
646 | <target>基本配置</target> | ||
647 | <context-group name="null"> | ||
648 | <context context-type="linenumber">5</context> | ||
649 | </context-group> | ||
650 | </trans-unit> | ||
651 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> | ||
652 | <source>Twitter</source> | ||
653 | <target>Twitter</target> | ||
654 | <context-group name="null"> | ||
655 | <context context-type="linenumber">136</context> | ||
656 | </context-group> | ||
657 | </trans-unit> | ||
658 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | ||
659 | <source>Your Twitter username</source> | ||
660 | <target>你的 Twitter 用户名</target> | ||
661 | <context-group name="null"> | ||
662 | <context context-type="linenumber">139</context> | ||
663 | </context-group> | ||
664 | </trans-unit> | ||
665 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
666 | <source>Transcoding</source> | ||
667 | <target>正在转码</target> | ||
668 | <context-group name="null"> | ||
669 | <context context-type="linenumber">164</context> | ||
670 | </context-group> | ||
671 | </trans-unit> | ||
672 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | ||
673 | <source>Transcoding enabled</source> | ||
674 | <target>转码被启用</target> | ||
675 | <context-group name="null"> | ||
676 | <context context-type="linenumber">168</context> | ||
677 | </context-group> | ||
678 | </trans-unit> | ||
679 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | ||
680 | <source>If you disable transcoding, many videos from your users will not work!</source> | ||
681 | <target>如果禁用转码,许多你的用户上传的视频将不可用!</target> | ||
682 | <context-group name="null"> | ||
683 | <context context-type="linenumber">169</context> | ||
684 | </context-group> | ||
685 | </trans-unit> | ||
686 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
687 | <source>Transcoding threads</source> | ||
688 | <target>转码线程数</target> | ||
689 | <context-group name="null"> | ||
690 | <context context-type="linenumber">175</context> | ||
691 | </context-group> | ||
692 | </trans-unit> | ||
693 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | ||
694 | <source>Previews cache size</source> | ||
695 | <target>预览缓存大小</target> | ||
696 | <context-group name="null"> | ||
697 | <context context-type="linenumber">207</context> | ||
698 | </context-group> | ||
699 | </trans-unit> | ||
700 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | ||
701 | <source>Customizations</source> | ||
702 | <target>个性化</target> | ||
703 | <context-group name="null"> | ||
704 | <context context-type="linenumber">228</context> | ||
705 | </context-group> | ||
706 | </trans-unit> | ||
707 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | ||
708 | <source>JavaScript</source> | ||
709 | <target>JavaScript</target> | ||
710 | <context-group name="null"> | ||
711 | <context context-type="linenumber">231</context> | ||
712 | </context-group> | ||
713 | </trans-unit> | ||
714 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
715 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
716 | <target>直接写入 JavaScript 代码。<br />例如: <pre>console.log('我的实例太棒了!');</pre></target> | ||
717 | <context-group name="null"> | ||
718 | <context context-type="linenumber">234</context> | ||
719 | </context-group> | ||
720 | </trans-unit> | ||
721 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | ||
722 | <source>Advanced configuration</source> | ||
723 | <target>高级配置</target> | ||
724 | <context-group name="null"> | ||
725 | <context context-type="linenumber">162</context> | ||
726 | </context-group> | ||
727 | </trans-unit> | ||
728 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | ||
729 | <source>Update configuration</source> | ||
730 | <target>更新配置</target> | ||
731 | <context-group name="null"> | ||
732 | <context context-type="linenumber">277</context> | ||
733 | </context-group> | ||
734 | </trans-unit> | ||
735 | <trans-unit id="1c9406213cf05033eda4d3df678217b5eb822315"> | ||
736 | <source> | ||
737 | Video abuses | ||
738 | </source> | ||
739 | <target> | ||
740 | 视频滥用 | ||
741 | </target> | ||
742 | <context-group name="null"> | ||
743 | <context context-type="linenumber">11</context> | ||
744 | </context-group> | ||
745 | </trans-unit> | ||
746 | <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b"> | ||
747 | <source>State</source> | ||
748 | <target>状态</target> | ||
749 | <context-group name="null"> | ||
750 | <context context-type="linenumber">20</context> | ||
751 | </context-group> | ||
752 | </trans-unit> | ||
753 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
754 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
755 | <target>创建了 <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
756 | <context-group name="null"> | ||
757 | <context context-type="linenumber">16</context> | ||
758 | </context-group> | ||
759 | </trans-unit> | ||
760 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | ||
761 | <source>Create user</source> | ||
762 | <target>创建用户</target> | ||
763 | <context-group name="null"> | ||
764 | <context context-type="linenumber">6</context> | ||
765 | </context-group> | ||
766 | </trans-unit> | ||
767 | <trans-unit id="2788d9a67ed2b6f35c85818e6af1871317c57a7e"> | ||
768 | <source>Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/></source> | ||
769 | <target>编辑用户 <x id="INTERPOLATION" equiv-text="{{ username }}"/></target> | ||
770 | <context-group name="null"> | ||
771 | <context context-type="linenumber">2</context> | ||
772 | </context-group> | ||
773 | </trans-unit> | ||
774 | <trans-unit id="c36a66f2107e8da5371ebc9d15c2008dff567f46"> | ||
775 | <source>Role</source> | ||
776 | <target>角色</target> | ||
777 | <context-group name="null"> | ||
778 | <context context-type="linenumber">19</context> | ||
779 | </context-group> | ||
780 | </trans-unit> | ||
781 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> | ||
782 | <source>Video quota</source> | ||
783 | <target>视频存储空间</target> | ||
784 | <context-group name="null"> | ||
785 | <context context-type="linenumber">18</context> | ||
786 | </context-group> | ||
787 | </trans-unit> | ||
788 | <trans-unit id="5e8b4663c17c337a1f11160c0a683350936faa1f"> | ||
789 | <source>Users list</source> | ||
790 | <target>用户列表</target> | ||
791 | <context-group name="null"> | ||
792 | <context context-type="linenumber">2</context> | ||
793 | </context-group> | ||
794 | </trans-unit> | ||
795 | <trans-unit id="0c7e8870481f1287af6a142f538391d8c16c2408"> | ||
796 | <source>Video abuses list</source> | ||
797 | <target>视频滥用列表</target> | ||
798 | <context-group name="null"> | ||
799 | <context context-type="linenumber">2</context> | ||
800 | </context-group> | ||
801 | </trans-unit> | ||
802 | <trans-unit id="4ba250869daa372b54d24fafc0ea934769ee4076"> | ||
803 | <source>Reason</source> | ||
804 | <target>原因</target> | ||
805 | <context-group name="null"> | ||
806 | <context context-type="linenumber">11</context> | ||
807 | </context-group> | ||
808 | </trans-unit> | ||
809 | <trans-unit id="2bf5a31043ff476ca081a4080f3f3f17518dc6f2"> | ||
810 | <source>Reporter</source> | ||
811 | <target>报告者</target> | ||
812 | <context-group name="null"> | ||
813 | <context context-type="linenumber">12</context> | ||
814 | </context-group> | ||
815 | </trans-unit> | ||
816 | <trans-unit id="2d1ea268a6a9f483dbc2cbfe19bf4256a57a6af4"> | ||
817 | <source>Video</source> | ||
818 | <target>视频</target> | ||
819 | <context-group name="null"> | ||
820 | <context context-type="linenumber">14</context> | ||
821 | </context-group> | ||
822 | </trans-unit> | ||
823 | <trans-unit id="c6ab75e099e131d7a4f94e1732e7436d8fc386c7"> | ||
824 | <source>Go to the account</source> | ||
825 | <target>转到账号</target> | ||
826 | <context-group name="null"> | ||
827 | <context context-type="linenumber">22</context> | ||
828 | </context-group> | ||
829 | </trans-unit> | ||
830 | <trans-unit id="1cb8348c199d03e297d165e262237194f25fe3f5"> | ||
831 | <source>Go to the video</source> | ||
832 | <target>转到视频</target> | ||
833 | <context-group name="null"> | ||
834 | <context context-type="linenumber">28</context> | ||
835 | </context-group> | ||
836 | </trans-unit> | ||
837 | <trans-unit id="00ecde6001106fe7406a34cc3459cc5b88e4aec1"> | ||
838 | <source>Blacklisted videos</source> | ||
839 | <target>被拉黑的视频</target> | ||
840 | <context-group name="null"> | ||
841 | <context context-type="linenumber">2</context> | ||
842 | </context-group> | ||
843 | </trans-unit> | ||
844 | <trans-unit id="d4717113115ca7106a354a5aac54d1c0126261d9"> | ||
845 | <source>NSFW</source> | ||
846 | <target>不适宜于工作场所播放(NSFW)</target> | ||
847 | <context-group name="null"> | ||
848 | <context context-type="linenumber">14</context> | ||
849 | </context-group> | ||
850 | </trans-unit> | ||
851 | <trans-unit id="8c87d9527af7ff2ada84c911516a9e43a352e401"> | ||
852 | <source>UUID</source> | ||
853 | <target>唯一ID</target> | ||
854 | <context-group name="null"> | ||
855 | <context context-type="linenumber">15</context> | ||
856 | </context-group> | ||
857 | </trans-unit> | ||
858 | <trans-unit id="86f26b106c67be3c2e98b82766656e5d9da86dff"> | ||
859 | <source>Unblacklist</source> | ||
860 | <target>取消黑名单</target> | ||
861 | <context-group name="null"> | ||
862 | <context context-type="linenumber">30</context> | ||
863 | </context-group> | ||
864 | </trans-unit> | ||
865 | <trans-unit id="efad4be364b8fb5c73cbfcc7acccd542f9d84ad6"> | ||
866 | <source>My settings</source> | ||
867 | <target>我的设置</target> | ||
868 | <context-group name="null"> | ||
869 | <context context-type="linenumber">3</context> | ||
870 | </context-group> | ||
871 | </trans-unit> | ||
872 | <trans-unit id="520d68b2c9f7dacaf2a5073716cad9bd328ea7e7"> | ||
873 | <source>My video channels</source> | ||
874 | <target>我的视频频道</target> | ||
875 | <context-group name="null"> | ||
876 | <context context-type="linenumber">5</context> | ||
877 | </context-group> | ||
878 | </trans-unit> | ||
879 | <trans-unit id="d02888c485d3aeab6de628508f4a00312a722894"> | ||
880 | <source>My videos</source> | ||
881 | <target>我的视频</target> | ||
882 | <context-group name="null"> | ||
883 | <context context-type="linenumber">7</context> | ||
884 | </context-group> | ||
885 | </trans-unit> | ||
886 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | ||
887 | <source>Profile</source> | ||
888 | <target>个人资料</target> | ||
889 | <context-group name="null"> | ||
890 | <context context-type="linenumber">8</context> | ||
891 | </context-group> | ||
892 | </trans-unit> | ||
893 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | ||
894 | <source>Video settings</source> | ||
895 | <target>视频设置</target> | ||
896 | <context-group name="null"> | ||
897 | <context context-type="linenumber">15</context> | ||
898 | </context-group> | ||
899 | </trans-unit> | ||
900 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | ||
901 | <source>Delete</source> | ||
902 | <target>删除</target> | ||
903 | <context-group name="null"> | ||
904 | <context context-type="linenumber">15</context> | ||
905 | </context-group> | ||
906 | </trans-unit> | ||
907 | <trans-unit id="73c1cefc348a6f361497210dea1ed79499fd1260"> | ||
908 | <source>Create another video channel</source> | ||
909 | <target>再建立一个视频频道</target> | ||
910 | <context-group name="null"> | ||
911 | <context context-type="linenumber">4</context> | ||
912 | </context-group> | ||
913 | </trans-unit> | ||
914 | <trans-unit id="30fcac6c20aac1f24e000efc4a889cbb93d4baf2"> | ||
915 | <source>Go to the channel</source> | ||
916 | <target>转到频道</target> | ||
917 | <context-group name="null"> | ||
918 | <context context-type="linenumber">15</context> | ||
919 | </context-group> | ||
920 | </trans-unit> | ||
921 | <trans-unit id="9dbe4718a5611fbc611fc6b5e0b27df813372c68"> | ||
922 | <source>Create a video channel</source> | ||
923 | <target>建立视频频道</target> | ||
924 | <context-group name="null"> | ||
925 | <context context-type="linenumber">6</context> | ||
926 | </context-group> | ||
927 | </trans-unit> | ||
928 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | ||
929 | <source>Display name</source> | ||
930 | <target>显示名</target> | ||
931 | <context-group name="null"> | ||
932 | <context context-type="linenumber">6</context> | ||
933 | </context-group> | ||
934 | </trans-unit> | ||
935 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | ||
936 | <source>Change password</source> | ||
937 | <target>修改密码</target> | ||
938 | <context-group name="null"> | ||
939 | <context context-type="linenumber">19</context> | ||
940 | </context-group> | ||
941 | </trans-unit> | ||
942 | <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229"> | ||
943 | <source>New password</source> | ||
944 | <target>新密码</target> | ||
945 | <context-group name="null"> | ||
946 | <context context-type="linenumber">7</context> | ||
947 | </context-group> | ||
948 | </trans-unit> | ||
949 | <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b"> | ||
950 | <source>Confirm new password</source> | ||
951 | <target>确认新密码</target> | ||
952 | <context-group name="null"> | ||
953 | <context context-type="linenumber">15</context> | ||
954 | </context-group> | ||
955 | </trans-unit> | ||
956 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | ||
957 | <source>Automatically plays video</source> | ||
958 | <target>自动播放视频</target> | ||
959 | <context-group name="null"> | ||
960 | <context context-type="linenumber">20</context> | ||
961 | </context-group> | ||
962 | </trans-unit> | ||
963 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | ||
964 | <source>Save</source> | ||
965 | <target>保存</target> | ||
966 | <context-group name="null"> | ||
967 | <context context-type="linenumber">23</context> | ||
968 | </context-group> | ||
969 | </trans-unit> | ||
970 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | ||
971 | <source>Update my profile</source> | ||
972 | <target>更新我的个人资料</target> | ||
973 | <context-group name="null"> | ||
974 | <context context-type="linenumber">27</context> | ||
975 | </context-group> | ||
976 | </trans-unit> | ||
977 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | ||
978 | <source> | ||
979 | Sorry, but we couldn't find the page you were looking for. | ||
980 | </source> | ||
981 | <target> | ||
982 | 抱歉,我们没有找到您所寻找的页面。 | ||
983 | </target> | ||
385 | <context-group name="null"> | 984 | <context-group name="null"> |
386 | <context context-type="linenumber">1</context> | 985 | <context context-type="linenumber">1</context> |
387 | </context-group> | 986 | </context-group> |
388 | </trans-unit> | 987 | </trans-unit> |
988 | <trans-unit id="c65641c36859c328928e6b0f14c3f913886f8add"> | ||
989 | <source>Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/></source> | ||
990 | <target>由 <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> 创建</target> | ||
991 | <context-group name="null"> | ||
992 | <context context-type="linenumber">14</context> | ||
993 | </context-group> | ||
994 | </trans-unit> | ||
995 | <trans-unit id="e006ed166ce188cab168e1ca90435b33d042d913"> | ||
996 | <source>Go the owner account page</source> | ||
997 | <target>转到视频上传者的账户页面</target> | ||
998 | <context-group name="null"> | ||
999 | <context context-type="linenumber">13</context> | ||
1000 | </context-group> | ||
1001 | </trans-unit> | ||
1002 | <trans-unit id="1380539d91f77f565de6e21ce210da891e6644b8"> | ||
1003 | <source>Support this channel</source> | ||
1004 | <target>支持此频道</target> | ||
1005 | <context-group name="null"> | ||
1006 | <context context-type="linenumber">9</context> | ||
1007 | </context-group> | ||
1008 | </trans-unit> | ||
1009 | <trans-unit id="5523952d0300c96cfba2ec5a693c95f923e90c40"> | ||
1010 | <source>Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></source> | ||
1011 | <target>创建于 <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></target> | ||
1012 | <context-group name="null"> | ||
1013 | <context context-type="linenumber">17</context> | ||
1014 | </context-group> | ||
1015 | </trans-unit> | ||
1016 | <trans-unit id="3c78b53bca33467190c0b7a01320bc093a2b1427"> | ||
1017 | <source>Privacy</source> | ||
1018 | <target>隐私</target> | ||
1019 | <context-group name="null"> | ||
1020 | <context context-type="linenumber">139</context> | ||
1021 | </context-group> | ||
1022 | </trans-unit> | ||
1023 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | ||
1024 | <source>Publish will be available when upload is finished</source> | ||
1025 | <target>上传完成时将可以发布</target> | ||
1026 | <context-group name="null"> | ||
1027 | <context context-type="linenumber">54</context> | ||
1028 | </context-group> | ||
1029 | </trans-unit> | ||
1030 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | ||
1031 | <source>Publish</source> | ||
1032 | <target>发布</target> | ||
1033 | <context-group name="null"> | ||
1034 | <context context-type="linenumber">61</context> | ||
1035 | </context-group> | ||
1036 | </trans-unit> | ||
1037 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | ||
1038 | <source>Title</source> | ||
1039 | <target>标题</target> | ||
1040 | <context-group name="null"> | ||
1041 | <context context-type="linenumber">7</context> | ||
1042 | </context-group> | ||
1043 | </trans-unit> | ||
1044 | <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b"> | ||
1045 | <source>Tags</source> | ||
1046 | <target>标签</target> | ||
1047 | <context-group name="null"> | ||
1048 | <context context-type="linenumber">171</context> | ||
1049 | </context-group> | ||
1050 | </trans-unit> | ||
1051 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | ||
1052 | <source>(press Enter to add)</source> | ||
1053 | <target>(按回车(Enter)以新建)</target> | ||
1054 | <context-group name="null"> | ||
1055 | <context context-type="linenumber">15</context> | ||
1056 | </context-group> | ||
1057 | </trans-unit> | ||
1058 | <trans-unit id="50f53834157770b8205ada0e7a6e235211e4765e"> | ||
1059 | <source>Video descriptions are truncated by default and require manual action to expand them.</source> | ||
1060 | <target>视频描述默认会被截断,手动操作后才可以展开。</target> | ||
1061 | <context-group name="null"> | ||
1062 | <context context-type="linenumber">24</context> | ||
1063 | </context-group> | ||
1064 | </trans-unit> | ||
1065 | <trans-unit id="5ef7108218e096d09f4ee8525a05a8c90d7b95ee"> | ||
1066 | <source>This video contains mature or explicit content</source> | ||
1067 | <target>此视频包含成人内容。</target> | ||
1068 | <context-group name="null"> | ||
1069 | <context context-type="linenumber">115</context> | ||
1070 | </context-group> | ||
1071 | </trans-unit> | ||
1072 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | ||
1073 | <source>Enable video comments</source> | ||
1074 | <target>开启视频评论</target> | ||
1075 | <context-group name="null"> | ||
1076 | <context context-type="linenumber">121</context> | ||
1077 | </context-group> | ||
1078 | </trans-unit> | ||
1079 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | ||
1080 | <source>Basic info</source> | ||
1081 | <target>基本信息</target> | ||
1082 | <context-group name="null"> | ||
1083 | <context context-type="linenumber">4</context> | ||
1084 | </context-group> | ||
1085 | </trans-unit> | ||
1086 | <trans-unit id="1dd793abd1cb8d16a7a2cb71ca5549a7111ee513"> | ||
1087 | <source>Upload thumbnail</source> | ||
1088 | <target>上传缩略图</target> | ||
1089 | <context-group name="null"> | ||
1090 | <context context-type="linenumber">186</context> | ||
1091 | </context-group> | ||
1092 | </trans-unit> | ||
1093 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | ||
1094 | <source>Upload preview</source> | ||
1095 | <target>上传预览</target> | ||
1096 | <context-group name="null"> | ||
1097 | <context context-type="linenumber">193</context> | ||
1098 | </context-group> | ||
1099 | </trans-unit> | ||
1100 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | ||
1101 | <source>Support</source> | ||
1102 | <target>支持</target> | ||
1103 | <context-group name="null"> | ||
1104 | <context context-type="linenumber">67</context> | ||
1105 | </context-group> | ||
1106 | </trans-unit> | ||
1107 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | ||
1108 | <source>Advanced settings</source> | ||
1109 | <target>高级设置</target> | ||
1110 | <context-group name="null"> | ||
1111 | <context context-type="linenumber">182</context> | ||
1112 | </context-group> | ||
1113 | </trans-unit> | ||
1114 | <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb"> | ||
1115 | <source>Update</source> | ||
1116 | <target>更新</target> | ||
1117 | <context-group name="null"> | ||
1118 | <context context-type="linenumber">101</context> | ||
1119 | </context-group> | ||
1120 | </trans-unit> | ||
1121 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | ||
1122 | <source>Download video</source> | ||
1123 | <target>下载视频</target> | ||
1124 | <context-group name="null"> | ||
1125 | <context context-type="linenumber">7</context> | ||
1126 | </context-group> | ||
1127 | </trans-unit> | ||
1128 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | ||
1129 | <source>Direct download</source> | ||
1130 | <target>直接下载</target> | ||
1131 | <context-group name="null"> | ||
1132 | <context context-type="linenumber">20</context> | ||
1133 | </context-group> | ||
1134 | </trans-unit> | ||
1135 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | ||
1136 | <source>Download</source> | ||
1137 | <target>下载</target> | ||
1138 | <context-group name="null"> | ||
1139 | <context context-type="linenumber">83</context> | ||
1140 | </context-group> | ||
1141 | </trans-unit> | ||
1142 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | ||
1143 | <source>Report video</source> | ||
1144 | <target>举报视频</target> | ||
1145 | <context-group name="null"> | ||
1146 | <context context-type="linenumber">7</context> | ||
1147 | </context-group> | ||
1148 | </trans-unit> | ||
1149 | <trans-unit id="bb44873ad8d4c5dbad0ac2a6a50e0ceee9119125"> | ||
1150 | <source>Reason...</source> | ||
1151 | <target>原因...</target> | ||
1152 | <context-group name="null"> | ||
1153 | <context context-type="linenumber">14</context> | ||
1154 | </context-group> | ||
1155 | </trans-unit> | ||
1156 | <trans-unit id="0e6b8229bd65f93bc8040d0fb598967f220740c7"> | ||
1157 | <source> | ||
1158 | Cancel | ||
1159 | </source> | ||
1160 | <target> | ||
1161 | 取消 | ||
1162 | </target> | ||
1163 | <context-group name="null"> | ||
1164 | <context context-type="linenumber">22</context> | ||
1165 | </context-group> | ||
1166 | </trans-unit> | ||
1167 | <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd"> | ||
1168 | <source>Submit</source> | ||
1169 | <target>提交</target> | ||
1170 | <context-group name="null"> | ||
1171 | <context context-type="linenumber">27</context> | ||
1172 | </context-group> | ||
1173 | </trans-unit> | ||
1174 | <trans-unit id="0bd8b27f60a1f098a53e06328426d818e3508ff9"> | ||
1175 | <source>Share</source> | ||
1176 | <target>分享</target> | ||
1177 | <context-group name="null"> | ||
1178 | <context context-type="linenumber">72</context> | ||
1179 | </context-group> | ||
1180 | </trans-unit> | ||
1181 | <trans-unit id="d3b15c3bf4a7ea38d6002d2d2c4781642d30e79c"> | ||
1182 | <source>Embed</source> | ||
1183 | <target>嵌入版</target> | ||
1184 | <context-group name="null"> | ||
1185 | <context context-type="linenumber">24</context> | ||
1186 | </context-group> | ||
1187 | </trans-unit> | ||
1188 | <trans-unit id="9ed65ae88f6c982bc44d6fed2796e55f47dbf304"> | ||
1189 | <source> | ||
1190 | The video is being transcoded, it may not work properly. | ||
1191 | </source> | ||
1192 | <target> | ||
1193 | 视频正在转码,可能不会正常播放。 | ||
1194 | </target> | ||
1195 | <context-group name="null"> | ||
1196 | <context context-type="linenumber">11</context> | ||
1197 | </context-group> | ||
1198 | </trans-unit> | ||
1199 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | ||
1200 | <source> | ||
1201 | This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | ||
1202 | </source> | ||
1203 | <target> | ||
1204 | 此视频将于 <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> 发布 | ||
1205 | </target> | ||
1206 | <context-group name="null"> | ||
1207 | <context context-type="linenumber">15</context> | ||
1208 | </context-group> | ||
1209 | </trans-unit> | ||
1210 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | ||
1211 | <source>Go the channel page</source> | ||
1212 | <target>转到频道页面</target> | ||
1213 | <context-group name="null"> | ||
1214 | <context context-type="linenumber">31</context> | ||
1215 | </context-group> | ||
1216 | </trans-unit> | ||
1217 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1218 | <source>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>.</source> | ||
1219 | <target>你可以通过任何支持 ActivityPub 的实例来订阅此账号。对于 Mastodon 或 Pleroma 实例,可以在搜索栏键入 <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> 并订阅。在 PeerTube 上订阅账户的方案正在 <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a> 进行讨论。</target> | ||
1220 | <context-group name="null"> | ||
1221 | <context context-type="linenumber">45</context> | ||
1222 | </context-group> | ||
1223 | </trans-unit> | ||
389 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | 1224 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> |
390 | <source>Search</source> | 1225 | <source>Search</source> |
391 | <target>搜索</target> | 1226 | <target>搜索</target> |
@@ -393,5 +1228,19 @@ | |||
393 | <context context-type="linenumber">1</context> | 1228 | <context context-type="linenumber">1</context> |
394 | </context-group> | 1229 | </context-group> |
395 | </trans-unit> | 1230 | </trans-unit> |
1231 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | ||
1232 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | ||
1233 | <target>此视频包含成人内容,确定继续播放吗?</target> | ||
1234 | <context-group name="null"> | ||
1235 | <context context-type="linenumber">1</context> | ||
1236 | </context-group> | ||
1237 | </trans-unit> | ||
1238 | <trans-unit id="5ba3d522e4146eefcbd5c222247c1e2423d27cd8"> | ||
1239 | <source>Mature or explicit content</source> | ||
1240 | <target>成人内容</target> | ||
1241 | <context-group name="null"> | ||
1242 | <context context-type="linenumber">1</context> | ||
1243 | </context-group> | ||
1244 | </trans-unit> | ||
396 | </body> | 1245 | </body> |
397 | </file></xliff> \ No newline at end of file | 1246 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/angular_zh_Hant_TW.xml b/client/src/locale/target/angular_zh_Hant_TW.xml index 870c46855..78674011c 100644 --- a/client/src/locale/target/angular_zh_Hant_TW.xml +++ b/client/src/locale/target/angular_zh_Hant_TW.xml | |||
@@ -11,14 +11,14 @@ | |||
11 | 取消 | 11 | 取消 |
12 | </target> | 12 | </target> |
13 | <context-group name="null"> | 13 | <context-group name="null"> |
14 | <context context-type="linenumber">40</context> | 14 | <context context-type="linenumber">45</context> |
15 | </context-group> | 15 | </context-group> |
16 | </trans-unit> | 16 | </trans-unit> |
17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> | 17 | <trans-unit id="9d5f16f0233b39fa2cd843321407a7358c323ad8"> |
18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | 18 | <source><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> |
19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次檢視</target> | 19 | <target><x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次檢視</target> |
20 | <context-group name="null"> | 20 | <context-group name="null"> |
21 | <context context-type="linenumber">12</context> | 21 | <context context-type="linenumber">34</context> |
22 | </context-group> | 22 | </context-group> |
23 | </trans-unit> | 23 | </trans-unit> |
24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> | 24 | <trans-unit id="28f86ffd419b869711aa13f5e5ff54be6d70731c"> |
@@ -46,7 +46,7 @@ | |||
46 | <source>Get help</source> | 46 | <source>Get help</source> |
47 | <target>取得說明</target> | 47 | <target>取得說明</target> |
48 | <context-group name="null"> | 48 | <context-group name="null"> |
49 | <context context-type="linenumber">17</context> | 49 | <context context-type="linenumber">18</context> |
50 | </context-group> | 50 | </context-group> |
51 | </trans-unit> | 51 | </trans-unit> |
52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> | 52 | <trans-unit id="12910217fdcdbca64bee06f511639b653d5428ea"> |
@@ -105,7 +105,7 @@ | |||
105 | <source>Password</source> | 105 | <source>Password</source> |
106 | <target>密碼</target> | 106 | <target>密碼</target> |
107 | <context-group name="null"> | 107 | <context-group name="null"> |
108 | <context context-type="linenumber">28</context> | 108 | <context context-type="linenumber">12</context> |
109 | </context-group> | 109 | </context-group> |
110 | </trans-unit> | 110 | </trans-unit> |
111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> | 111 | <trans-unit id="b87e81682959464211443afc3e23c506865d2eda"> |
@@ -316,6 +316,27 @@ | |||
316 | <context context-type="linenumber">9</context> | 316 | <context context-type="linenumber">9</context> |
317 | </context-group> | 317 | </context-group> |
318 | </trans-unit> | 318 | </trans-unit> |
319 | <trans-unit id="607de17c2a755f65775881c19e276e7c933bcf94"> | ||
320 | <source>Category</source> | ||
321 | <target>分類</target> | ||
322 | <context-group name="null"> | ||
323 | <context context-type="linenumber">144</context> | ||
324 | </context-group> | ||
325 | </trans-unit> | ||
326 | <trans-unit id="78d6d3ea26777cd0dad8ddbf9b314151678da46c"> | ||
327 | <source>Licence</source> | ||
328 | <target>授權條款</target> | ||
329 | <context-group name="null"> | ||
330 | <context context-type="linenumber">153</context> | ||
331 | </context-group> | ||
332 | </trans-unit> | ||
333 | <trans-unit id="fe46ccaae902ce974e2441abe752399288298619"> | ||
334 | <source>Language</source> | ||
335 | <target>語言</target> | ||
336 | <context-group name="null"> | ||
337 | <context context-type="linenumber">162</context> | ||
338 | </context-group> | ||
339 | </trans-unit> | ||
319 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> | 340 | <trans-unit id="c31161d1661884f54fbc5635aad5ce8d4803897e"> |
320 | <source>No results.</source> | 341 | <source>No results.</source> |
321 | <target>沒有結果</target> | 342 | <target>沒有結果</target> |
@@ -513,19 +534,6 @@ | |||
513 | <context context-type="linenumber">51</context> | 534 | <context context-type="linenumber">51</context> |
514 | </context-group> | 535 | </context-group> |
515 | </trans-unit> | 536 | </trans-unit> |
516 | <trans-unit id="c5e62151cca9610f4248c9616909f7acaf5e5a32"> | ||
517 | <source> | ||
518 | Web peers are not directly sent by the tracker: because we use WebRTC inside the web browser, the protocol is different from classic BitTorrent. | ||
519 | When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. | ||
520 | See <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information | ||
521 | </source> | ||
522 | <target>網路 peers 不會直接被 tracker 傳送:因為我們在網路瀏覽器中使用 WebRTC,其協定不同於傳統的 BitTorrent。 | ||
523 | 當您在網路瀏覽器中,您會傳送包含您的 IP 位置的訊號給 tracker,這將會隨機選擇要傳送給哪個 peers。 | ||
524 | 請見<x id="START_LINK" ctype="x-a" equiv-text="<a>"/>這份文件<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>以取得更多資訊</target> | ||
525 | <context-group name="null"> | ||
526 | <context context-type="linenumber">55</context> | ||
527 | </context-group> | ||
528 | </trans-unit> | ||
529 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> | 537 | <trans-unit id="50d8e8388f5ceab292850ed828f306c9f2cab389"> |
530 | <source> | 538 | <source> |
531 | The worst-case scenario of an average person spying on their friends is quite unlikely. | 539 | The worst-case scenario of an average person spying on their friends is quite unlikely. |
@@ -537,13 +545,6 @@ | |||
537 | <context context-type="linenumber">62</context> | 545 | <context context-type="linenumber">62</context> |
538 | </context-group> | 546 | </context-group> |
539 | </trans-unit> | 547 | </trans-unit> |
540 | <trans-unit id="b7801222ec2b04de2f61d3ff01d18a04bfa17505"> | ||
541 | <source>How does PeerTube compares to YouTube?</source> | ||
542 | <target>PeerTube 與 YouTube 相比如何?</target> | ||
543 | <context-group name="null"> | ||
544 | <context context-type="linenumber">67</context> | ||
545 | </context-group> | ||
546 | </trans-unit> | ||
547 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> | 548 | <trans-unit id="2432705cbabcb92a8677338901dd5d655383ef4c"> |
548 | <source> | 549 | <source> |
549 | The threats to privacy in YouTube are different from PeerTube's. | 550 | The threats to privacy in YouTube are different from PeerTube's. |
@@ -621,5 +622,2752 @@ | |||
621 | <context context-type="linenumber">94</context> | 622 | <context context-type="linenumber">94</context> |
622 | </context-group> | 623 | </context-group> |
623 | </trans-unit> | 624 | </trans-unit> |
625 | <trans-unit id="efde279863678ed95a8949a3712c99748bdabfe6"> | ||
626 | <source>An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program</source> | ||
627 | <target>自動視訊冗餘程式:我們不會知道是 IP 故意下載視訊或是自動化程式</target> | ||
628 | <context-group name="null"> | ||
629 | <context context-type="linenumber">95</context> | ||
630 | </context-group> | ||
631 | </trans-unit> | ||
632 | <trans-unit id="a835d8a12e14eb96919245a0bbafd8069c146578"> | ||
633 | <source><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers</source> | ||
634 | <target><x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> 個訂閱者</target> | ||
635 | <context-group name="null"> | ||
636 | <context context-type="linenumber">12</context> | ||
637 | </context-group> | ||
638 | </trans-unit> | ||
639 | <trans-unit id="6f5a458f827503ac7b8697688ecf3e0490818ee8"> | ||
640 | <source>Video channels</source> | ||
641 | <target>影片頻道</target> | ||
642 | <context-group name="null"> | ||
643 | <context context-type="linenumber">19</context> | ||
644 | </context-group> | ||
645 | </trans-unit> | ||
646 | <trans-unit id="299f97b8ee9c62d45f2cc01961aa1e5101d6d05a"> | ||
647 | <source>Stats</source> | ||
648 | <target>統計</target> | ||
649 | <context-group name="null"> | ||
650 | <context context-type="linenumber">16</context> | ||
651 | </context-group> | ||
652 | </trans-unit> | ||
653 | <trans-unit id="8bc634cd9d8c9b684dbfaaf17a522f894bedbffc"> | ||
654 | <source>Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/></source> | ||
655 | <target><x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/> 加入</target> | ||
656 | <context-group name="null"> | ||
657 | <context context-type="linenumber">10</context> | ||
658 | </context-group> | ||
659 | </trans-unit> | ||
660 | <trans-unit id="8fef247fd0c5bf790151f7661cafc4b7fd0397f3"> | ||
661 | <source><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers</source> | ||
662 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> 個訂閱者</target> | ||
663 | <context-group name="null"> | ||
664 | <context context-type="linenumber">11</context> | ||
665 | </context-group> | ||
666 | </trans-unit> | ||
667 | <trans-unit id="f36bd6a1570cb9b0a5023870f35160957cad2a8f"> | ||
668 | <source>See this video channel</source> | ||
669 | <target>檢視這個影片頻道</target> | ||
670 | <context-group name="null"> | ||
671 | <context context-type="linenumber">4</context> | ||
672 | </context-group> | ||
673 | </trans-unit> | ||
674 | <trans-unit id="cff1428d10d59d14e45edec3c735a27b5482db59"> | ||
675 | <source>Name</source> | ||
676 | <target>名稱</target> | ||
677 | <context-group name="null"> | ||
678 | <context context-type="linenumber">9</context> | ||
679 | </context-group> | ||
680 | </trans-unit> | ||
681 | <trans-unit id="512b045163a7187b2fc5d554e5f59fb3e49e174b"> | ||
682 | <source>Short description</source> | ||
683 | <target>短描述</target> | ||
684 | <context-group name="null"> | ||
685 | <context context-type="linenumber">21</context> | ||
686 | </context-group> | ||
687 | </trans-unit> | ||
688 | <trans-unit id="554488d11165f38b27b8fe230aba8a2e30d57003"> | ||
689 | <source>Default client route</source> | ||
690 | <target>預設客戶端路由</target> | ||
691 | <context-group name="null"> | ||
692 | <context context-type="linenumber">54</context> | ||
693 | </context-group> | ||
694 | </trans-unit> | ||
695 | <trans-unit id="1cbeb1eb589bfbe5efce94184cacd3095ca26948"> | ||
696 | <source>Videos Trending</source> | ||
697 | <target>影片趨勢</target> | ||
698 | <context-group name="null"> | ||
699 | <context context-type="linenumber">57</context> | ||
700 | </context-group> | ||
701 | </trans-unit> | ||
702 | <trans-unit id="1861c96217213992e02dcb77e15ea69e718c9883"> | ||
703 | <source>Videos Recently Added</source> | ||
704 | <target>最近新增的影片</target> | ||
705 | <context-group name="null"> | ||
706 | <context context-type="linenumber">58</context> | ||
707 | </context-group> | ||
708 | </trans-unit> | ||
709 | <trans-unit id="b6307f83d9f43bff8d5129a7888e89964ddc3f7f"> | ||
710 | <source>Local videos</source> | ||
711 | <target>本地影片</target> | ||
712 | <context-group name="null"> | ||
713 | <context context-type="linenumber">59</context> | ||
714 | </context-group> | ||
715 | </trans-unit> | ||
716 | <trans-unit id="8551afadb69b3fef89e191f507e8ac84e624e8b9"> | ||
717 | <source>Policy on videos containing sensitive content</source> | ||
718 | <target>包含敏感內容的影片政策</target> | ||
719 | <context-group name="null"> | ||
720 | <context context-type="linenumber">68</context> | ||
721 | </context-group> | ||
722 | </trans-unit> | ||
723 | <trans-unit id="aa3ef567a1ea22c1e4d0acfdc8f80bc636bf12df"> | ||
724 | <source>With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video.</source> | ||
725 | <target>若有<strong>不要置於清單中</strong>或<strong>模糊縮圖</strong>,要觀看影片前將需要確認。</target> | ||
726 | <context-group name="null"> | ||
727 | <context context-type="linenumber">6</context> | ||
728 | </context-group> | ||
729 | </trans-unit> | ||
730 | <trans-unit id="5e155c34fb3ed8159bf0a486a366cfbc6874f9fe"> | ||
731 | <source>Do not list</source> | ||
732 | <target>不要置於清單中</target> | ||
733 | <context-group name="null"> | ||
734 | <context context-type="linenumber">11</context> | ||
735 | </context-group> | ||
736 | </trans-unit> | ||
737 | <trans-unit id="aaa900149c2ca1575ac1918d1ded33fb69830ab2"> | ||
738 | <source>Blur thumbnails</source> | ||
739 | <target>模糊縮圖</target> | ||
740 | <context-group name="null"> | ||
741 | <context context-type="linenumber">12</context> | ||
742 | </context-group> | ||
743 | </trans-unit> | ||
744 | <trans-unit id="010d24ef3c43b2d8f45a4d6cba7d73e12ee1557e"> | ||
745 | <source>Display</source> | ||
746 | <target>顯示</target> | ||
747 | <context-group name="null"> | ||
748 | <context context-type="linenumber">13</context> | ||
749 | </context-group> | ||
750 | </trans-unit> | ||
751 | <trans-unit id="ca53e66e68986546b7ef820c934145fd7c9c4247"> | ||
752 | <source>Signup enabled</source> | ||
753 | <target>已啟用註冊</target> | ||
754 | <context-group name="null"> | ||
755 | <context context-type="linenumber">90</context> | ||
756 | </context-group> | ||
757 | </trans-unit> | ||
758 | <trans-unit id="68bda70e0dd4f7f91549462e55f1b2a1602d8402"> | ||
759 | <source>Signup limit</source> | ||
760 | <target>限制註冊</target> | ||
761 | <context-group name="null"> | ||
762 | <context context-type="linenumber">94</context> | ||
763 | </context-group> | ||
764 | </trans-unit> | ||
765 | <trans-unit id="ca2283fc765b9f44b69f0175d685dc2443da6011"> | ||
766 | <source>Administrator</source> | ||
767 | <target>管理員</target> | ||
768 | <context-group name="null"> | ||
769 | <context context-type="linenumber">104</context> | ||
770 | </context-group> | ||
771 | </trans-unit> | ||
772 | <trans-unit id="55a0f51e38679d3141841e8333da5779d349c587"> | ||
773 | <source>Admin email</source> | ||
774 | <target>管理電子郵件</target> | ||
775 | <context-group name="null"> | ||
776 | <context context-type="linenumber">107</context> | ||
777 | </context-group> | ||
778 | </trans-unit> | ||
779 | <trans-unit id="4d13a9cd5ed3dcee0eab22cb25198d43886942be"> | ||
780 | <source>Users</source> | ||
781 | <target>使用者</target> | ||
782 | <context-group name="null"> | ||
783 | <context context-type="linenumber">117</context> | ||
784 | </context-group> | ||
785 | </trans-unit> | ||
786 | <trans-unit id="31b3275d999af45fe64c6824e6e017d2e2704f09"> | ||
787 | <source>User default video quota</source> | ||
788 | <target>使用者預設影片配額</target> | ||
789 | <context-group name="null"> | ||
790 | <context context-type="linenumber">120</context> | ||
791 | </context-group> | ||
792 | </trans-unit> | ||
793 | <trans-unit id="50247a2f9711ea9e9a85aacc46668131e9b424a5"> | ||
794 | <source>Basic configuration</source> | ||
795 | <target>基本設定</target> | ||
796 | <context-group name="null"> | ||
797 | <context context-type="linenumber">5</context> | ||
798 | </context-group> | ||
799 | </trans-unit> | ||
800 | <trans-unit id="99cb827741e93125476a0f5b676372d85d15b5fc"> | ||
801 | <source>Twitter</source> | ||
802 | <target>Twitter</target> | ||
803 | <context-group name="null"> | ||
804 | <context context-type="linenumber">136</context> | ||
805 | </context-group> | ||
806 | </trans-unit> | ||
807 | <trans-unit id="7fdb41bbf2ee042ec5f68725a1c16a1c97f3e524"> | ||
808 | <source>Your Twitter username</source> | ||
809 | <target>您的 Twitter 使用者名稱</target> | ||
810 | <context-group name="null"> | ||
811 | <context context-type="linenumber">139</context> | ||
812 | </context-group> | ||
813 | </trans-unit> | ||
814 | <trans-unit id="6e671e839ca889feef0d8ed525d1a44b4b10870c"> | ||
815 | <source>Indicates the Twitter account for the website or platform on which the content was published.</source> | ||
816 | <target>指示發佈影片的網頁或平臺的 Twitter 帳號</target> | ||
817 | <context-group name="null"> | ||
818 | <context context-type="linenumber">142</context> | ||
819 | </context-group> | ||
820 | </trans-unit> | ||
821 | <trans-unit id="c0716c28b9d4c9e0b2fd6031334394214e5f9605"> | ||
822 | <source>Instance whitelisted by Twitter</source> | ||
823 | <target>由 Twitter 列入白名單的實體</target> | ||
824 | <context-group name="null"> | ||
825 | <context context-type="linenumber">155</context> | ||
826 | </context-group> | ||
827 | </trans-unit> | ||
828 | <trans-unit id="3f008a1a07ca42c6ad258fde1bbd80ed74ada19b"> | ||
829 | <source>If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> | ||
830 | If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> | ||
831 | Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted.</source> | ||
832 | <target>若您的實體被 Twitter 列入白名單,在 PeerTube 影片分享上的 Twitter feed 將會嵌入一個影片播放器。<br /> | ||
833 | 若實體不在白名單中,我們使用圖片連結卡,如此將會重新導向至您的 PeerTube 實體。<br /><br /> | ||
834 | 打勾此勾選框,儲存設定並以您的實體中的影片 URL (https://example.com/videos/watch/blabla) 在 <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> 上測試以檢視您的實體是否在白名單中。</target> | ||
835 | <context-group name="null"> | ||
836 | <context context-type="linenumber">156</context> | ||
837 | </context-group> | ||
838 | </trans-unit> | ||
839 | <trans-unit id="419d940613972cc3fae9c8ea0a4306dbf80616e5"> | ||
840 | <source>Services</source> | ||
841 | <target>服務</target> | ||
842 | <context-group name="null"> | ||
843 | <context context-type="linenumber">134</context> | ||
844 | </context-group> | ||
845 | </trans-unit> | ||
846 | <trans-unit id="fe22d2c0020e913ee4b75ec22a3abc8814810490"> | ||
847 | <source>Transcoding</source> | ||
848 | <target>轉換編碼</target> | ||
849 | <context-group name="null"> | ||
850 | <context context-type="linenumber">164</context> | ||
851 | </context-group> | ||
852 | </trans-unit> | ||
853 | <trans-unit id="fca29003c4ea1226ff8cbee89481758aab0e2be9"> | ||
854 | <source>Transcoding enabled</source> | ||
855 | <target>轉換編碼已啟用</target> | ||
856 | <context-group name="null"> | ||
857 | <context context-type="linenumber">168</context> | ||
858 | </context-group> | ||
859 | </trans-unit> | ||
860 | <trans-unit id="6ef2ab819d4441fa8bddf6759b6936783d06616f"> | ||
861 | <source>If you disable transcoding, many videos from your users will not work!</source> | ||
862 | <target>若您停用轉換編碼,從您的使用者們而來的許多影片將會無法運作!</target> | ||
863 | <context-group name="null"> | ||
864 | <context context-type="linenumber">169</context> | ||
865 | </context-group> | ||
866 | </trans-unit> | ||
867 | <trans-unit id="a33feadefbb776217c2db96100736314f8b765c2"> | ||
868 | <source>Transcoding threads</source> | ||
869 | <target>轉換編碼執行緒</target> | ||
870 | <context-group name="null"> | ||
871 | <context context-type="linenumber">175</context> | ||
872 | </context-group> | ||
873 | </trans-unit> | ||
874 | <trans-unit id="d00f6c2dcb426440a0a8cd8eec12d094fbfaf6f7"> | ||
875 | <source>Previews cache size</source> | ||
876 | <target>預覽快取大小</target> | ||
877 | <context-group name="null"> | ||
878 | <context context-type="linenumber">207</context> | ||
879 | </context-group> | ||
880 | </trans-unit> | ||
881 | <trans-unit id="e3a65df2560e99864bbde695da3a7bdf743a184c"> | ||
882 | <source>Customizations</source> | ||
883 | <target>自訂</target> | ||
884 | <context-group name="null"> | ||
885 | <context context-type="linenumber">228</context> | ||
886 | </context-group> | ||
887 | </trans-unit> | ||
888 | <trans-unit id="0da9752916950ce6890d897b835c923a71ad9c5c"> | ||
889 | <source>JavaScript</source> | ||
890 | <target>JavaScript</target> | ||
891 | <context-group name="null"> | ||
892 | <context context-type="linenumber">231</context> | ||
893 | </context-group> | ||
894 | </trans-unit> | ||
895 | <trans-unit id="fda2339a6e6ba017ee43b560caf660ed4022333c"> | ||
896 | <source>Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre></source> | ||
897 | <target>直接編寫 JavaScript 程式碼。<br />範例:<pre>console.log('my instance is amazing');</pre></target> | ||
898 | <context-group name="null"> | ||
899 | <context context-type="linenumber">234</context> | ||
900 | </context-group> | ||
901 | </trans-unit> | ||
902 | <trans-unit id="f133b08d6519081bfb8ef51cff4bf2b3af23dde6"> | ||
903 | <source> | ||
904 | Write directly CSS code. Example:<br /> | ||
905 | <pre> | ||
906 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
907 | background-color: red; | ||
908 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
909 | </pre> | ||
910 | |||
911 | Prepend with <em>#custom-css</em> to override styles. Example: | ||
912 | <pre> | ||
913 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
914 | color: red; | ||
915 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
916 | </pre> | ||
917 | </source> | ||
918 | <target> | ||
919 | 直接編寫 CSS 程式碼。範例:<br /> | ||
920 | <pre> | ||
921 | body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
922 | background-color: red; | ||
923 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
924 | </pre> | ||
925 | |||
926 | 附加 <em>#custom-css</em> 以覆寫樣式。範例: | ||
927 | <pre> | ||
928 | #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> | ||
929 | color: red; | ||
930 | <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> | ||
931 | </pre> | ||
932 | </target> | ||
933 | <context-group name="null"> | ||
934 | <context context-type="linenumber">250</context> | ||
935 | </context-group> | ||
936 | </trans-unit> | ||
937 | <trans-unit id="6c44844ebdb7352c433b7734feaa65f01bb594ab"> | ||
938 | <source>Advanced configuration</source> | ||
939 | <target>進階設定</target> | ||
940 | <context-group name="null"> | ||
941 | <context context-type="linenumber">162</context> | ||
942 | </context-group> | ||
943 | </trans-unit> | ||
944 | <trans-unit id="dad5a5283e4c853c011a0f03d5a52310338bbff8"> | ||
945 | <source>Update configuration</source> | ||
946 | <target>更新設定</target> | ||
947 | <context-group name="null"> | ||
948 | <context context-type="linenumber">277</context> | ||
949 | </context-group> | ||
950 | </trans-unit> | ||
951 | <trans-unit id="3e459b5c3861d8c80084d21d233b7c8e2edd3cca"> | ||
952 | <source>It seems the configuration is invalid. Please search potential errors in the different tabs.</source> | ||
953 | <target>設定似乎無效。請在不同的分頁中搜尋潛在的錯誤。</target> | ||
954 | <context-group name="null"> | ||
955 | <context context-type="linenumber">278</context> | ||
956 | </context-group> | ||
957 | </trans-unit> | ||
958 | <trans-unit id="80dbb8ba42b97a9ec035c0ba09f45c07ea07096c"> | ||
959 | <source> | ||
960 | Users | ||
961 | </source> | ||
962 | <target>使用者</target> | ||
963 | <context-group name="null"> | ||
964 | <context context-type="linenumber">3</context> | ||
965 | </context-group> | ||
966 | </trans-unit> | ||
967 | <trans-unit id="0315abd64e35510ed0534f597130ef781aca175a"> | ||
968 | <source> | ||
969 | Manage follows | ||
970 | </source> | ||
971 | <target>管理追蹤</target> | ||
972 | <context-group name="null"> | ||
973 | <context context-type="linenumber">7</context> | ||
974 | </context-group> | ||
975 | </trans-unit> | ||
976 | <trans-unit id="1c9406213cf05033eda4d3df678217b5eb822315"> | ||
977 | <source> | ||
978 | Video abuses | ||
979 | </source> | ||
980 | <target>影片濫用</target> | ||
981 | <context-group name="null"> | ||
982 | <context context-type="linenumber">11</context> | ||
983 | </context-group> | ||
984 | </trans-unit> | ||
985 | <trans-unit id="96ccede058f0022f34230c3adc09e60076b6d037"> | ||
986 | <source> | ||
987 | Video blacklist | ||
988 | </source> | ||
989 | <target>影片黑名單</target> | ||
990 | <context-group name="null"> | ||
991 | <context context-type="linenumber">15</context> | ||
992 | </context-group> | ||
993 | </trans-unit> | ||
994 | <trans-unit id="7bea88c54fdccfdc9f687b0ffe9bf6a653d19368"> | ||
995 | <source> | ||
996 | Jobs | ||
997 | </source> | ||
998 | <target>任務</target> | ||
999 | <context-group name="null"> | ||
1000 | <context context-type="linenumber">19</context> | ||
1001 | </context-group> | ||
1002 | </trans-unit> | ||
1003 | <trans-unit id="9c6ce37623b626a102002901ca12c37e7a3a7f13"> | ||
1004 | <source> | ||
1005 | Configuration | ||
1006 | </source> | ||
1007 | <target>設定</target> | ||
1008 | <context-group name="null"> | ||
1009 | <context context-type="linenumber">23</context> | ||
1010 | </context-group> | ||
1011 | </trans-unit> | ||
1012 | <trans-unit id="4e8635c108375983b42229df44bda8c0af84f396"> | ||
1013 | <source>1 host (without "http://") per line</source> | ||
1014 | <target>每行一個主機(不需要 "http://")</target> | ||
1015 | <context-group name="null"> | ||
1016 | <context context-type="linenumber">5</context> | ||
1017 | </context-group> | ||
1018 | </trans-unit> | ||
1019 | <trans-unit id="f7a7a00999ccbd126cbb8e74f5dd1724942dd507"> | ||
1020 | <source> | ||
1021 | It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. | ||
1022 | </source> | ||
1023 | <target>您似乎不在 HTTPS 伺服器上。您的網路伺服器需要啟用 TLS 才能追蹤伺服器。</target> | ||
1024 | <context-group name="null"> | ||
1025 | <context context-type="linenumber">17</context> | ||
1026 | </context-group> | ||
1027 | </trans-unit> | ||
1028 | <trans-unit id="456c6383d8e7cd15aadbcdc196d4ae7a70092437"> | ||
1029 | <source>Add following</source> | ||
1030 | <target>新增追蹤</target> | ||
1031 | <context-group name="null"> | ||
1032 | <context context-type="linenumber">21</context> | ||
1033 | </context-group> | ||
1034 | </trans-unit> | ||
1035 | <trans-unit id="45cc8ca94b5a50842a9a8ef804a5ab089a38ae5c"> | ||
1036 | <source>ID</source> | ||
1037 | <target>ID</target> | ||
1038 | <context-group name="null"> | ||
1039 | <context context-type="linenumber">18</context> | ||
1040 | </context-group> | ||
1041 | </trans-unit> | ||
1042 | <trans-unit id="380e20a1e13d9489c69f6dbea7da19025ab6eb25"> | ||
1043 | <source>Score</source> | ||
1044 | <target>分數</target> | ||
1045 | <context-group name="null"> | ||
1046 | <context context-type="linenumber">8</context> | ||
1047 | </context-group> | ||
1048 | </trans-unit> | ||
1049 | <trans-unit id="fe22ca53e651df951dac25b67c17894b0980f767"> | ||
1050 | <source>Host</source> | ||
1051 | <target>主機</target> | ||
1052 | <context-group name="null"> | ||
1053 | <context context-type="linenumber">8</context> | ||
1054 | </context-group> | ||
1055 | </trans-unit> | ||
1056 | <trans-unit id="873b72903b1858a9cd6c8967521030b4d7d1435b"> | ||
1057 | <source>State</source> | ||
1058 | <target>狀態</target> | ||
1059 | <context-group name="null"> | ||
1060 | <context context-type="linenumber">20</context> | ||
1061 | </context-group> | ||
1062 | </trans-unit> | ||
1063 | <trans-unit id="ff3173170e5b03536dd3b3e1afbae1f55356eb1b"> | ||
1064 | <source>Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1065 | <target><x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> 建立</target> | ||
1066 | <context-group name="null"> | ||
1067 | <context context-type="linenumber">16</context> | ||
1068 | </context-group> | ||
1069 | </trans-unit> | ||
1070 | <trans-unit id="5fccee488a9ea908c16d2ab9dbdaf264f1aac479"> | ||
1071 | <source>Manage follows</source> | ||
1072 | <target>管理追蹤</target> | ||
1073 | <context-group name="null"> | ||
1074 | <context context-type="linenumber">2</context> | ||
1075 | </context-group> | ||
1076 | </trans-unit> | ||
1077 | <trans-unit id="a9f2501fcb2ff71f1376c2d2fbbbd49f200e6c8f"> | ||
1078 | <source>Jobs list</source> | ||
1079 | <target>任務清單</target> | ||
1080 | <context-group name="null"> | ||
1081 | <context context-type="linenumber">2</context> | ||
1082 | </context-group> | ||
1083 | </trans-unit> | ||
1084 | <trans-unit id="f61c6867295f3b53d23557021f2f4e0aa1d0b8fc"> | ||
1085 | <source>Type</source> | ||
1086 | <target>類型</target> | ||
1087 | <context-group name="null"> | ||
1088 | <context context-type="linenumber">19</context> | ||
1089 | </context-group> | ||
1090 | </trans-unit> | ||
1091 | <trans-unit id="31cf824034489eb42f6a388d5980b98b8e1de015"> | ||
1092 | <source>Create user</source> | ||
1093 | <target>建立使用者</target> | ||
1094 | <context-group name="null"> | ||
1095 | <context context-type="linenumber">6</context> | ||
1096 | </context-group> | ||
1097 | </trans-unit> | ||
1098 | <trans-unit id="2788d9a67ed2b6f35c85818e6af1871317c57a7e"> | ||
1099 | <source>Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/></source> | ||
1100 | <target>編輯使用者 <x id="INTERPOLATION" equiv-text="{{ username }}"/></target> | ||
1101 | <context-group name="null"> | ||
1102 | <context context-type="linenumber">2</context> | ||
1103 | </context-group> | ||
1104 | </trans-unit> | ||
1105 | <trans-unit id="1bd571d8f3981f6043b0df3402cc3d97e0d7ad2a"> | ||
1106 | <source>john</source> | ||
1107 | <target>john</target> | ||
1108 | <context-group name="null"> | ||
1109 | <context context-type="linenumber">10</context> | ||
1110 | </context-group> | ||
1111 | </trans-unit> | ||
1112 | <trans-unit id="bb3542ff8e5defa6d0c773799e5c8fe399605d05"> | ||
1113 | <source>mail@example.com</source> | ||
1114 | <target>mail@example.com</target> | ||
1115 | <context-group name="null"> | ||
1116 | <context context-type="linenumber">21</context> | ||
1117 | </context-group> | ||
1118 | </trans-unit> | ||
1119 | <trans-unit id="c36a66f2107e8da5371ebc9d15c2008dff567f46"> | ||
1120 | <source>Role</source> | ||
1121 | <target>角色</target> | ||
1122 | <context-group name="null"> | ||
1123 | <context context-type="linenumber">19</context> | ||
1124 | </context-group> | ||
1125 | </trans-unit> | ||
1126 | <trans-unit id="15f046007e4fca2e8477966745e2ec4e3e81bc3b"> | ||
1127 | <source>Video quota</source> | ||
1128 | <target>影片配額</target> | ||
1129 | <context-group name="null"> | ||
1130 | <context context-type="linenumber">18</context> | ||
1131 | </context-group> | ||
1132 | </trans-unit> | ||
1133 | <trans-unit id="42e3c0e89177ca135974221eaf0e4e836c32e345"> | ||
1134 | <source> | ||
1135 | Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> | ||
1136 | At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. | ||
1137 | </source> | ||
1138 | <target> | ||
1139 | 伺服器已啟用轉換編碼。影片配額僅考慮 <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> 影片。 <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> | ||
1140 | 這個使用者最多可以使用 ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>。 | ||
1141 | </target> | ||
1142 | <context-group name="null"> | ||
1143 | <context context-type="linenumber">65</context> | ||
1144 | </context-group> | ||
1145 | </trans-unit> | ||
1146 | <trans-unit id="5e8b4663c17c337a1f11160c0a683350936faa1f"> | ||
1147 | <source>Users list</source> | ||
1148 | <target>使用者清單</target> | ||
1149 | <context-group name="null"> | ||
1150 | <context context-type="linenumber">2</context> | ||
1151 | </context-group> | ||
1152 | </trans-unit> | ||
1153 | <trans-unit id="08ea8692dc2a7050026df26fc39b22960bde9de5"> | ||
1154 | <source>Username <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1155 | <target>使用者名稱 <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1156 | <context-group name="null"> | ||
1157 | <context context-type="linenumber">16</context> | ||
1158 | </context-group> | ||
1159 | </trans-unit> | ||
1160 | <trans-unit id="0c7e8870481f1287af6a142f538391d8c16c2408"> | ||
1161 | <source>Video abuses list</source> | ||
1162 | <target>影片濫用清單</target> | ||
1163 | <context-group name="null"> | ||
1164 | <context context-type="linenumber">2</context> | ||
1165 | </context-group> | ||
1166 | </trans-unit> | ||
1167 | <trans-unit id="4ba250869daa372b54d24fafc0ea934769ee4076"> | ||
1168 | <source>Reason</source> | ||
1169 | <target>理由</target> | ||
1170 | <context-group name="null"> | ||
1171 | <context context-type="linenumber">11</context> | ||
1172 | </context-group> | ||
1173 | </trans-unit> | ||
1174 | <trans-unit id="2bf5a31043ff476ca081a4080f3f3f17518dc6f2"> | ||
1175 | <source>Reporter</source> | ||
1176 | <target>回報者</target> | ||
1177 | <context-group name="null"> | ||
1178 | <context context-type="linenumber">12</context> | ||
1179 | </context-group> | ||
1180 | </trans-unit> | ||
1181 | <trans-unit id="2d1ea268a6a9f483dbc2cbfe19bf4256a57a6af4"> | ||
1182 | <source>Video</source> | ||
1183 | <target>影片</target> | ||
1184 | <context-group name="null"> | ||
1185 | <context context-type="linenumber">14</context> | ||
1186 | </context-group> | ||
1187 | </trans-unit> | ||
1188 | <trans-unit id="c6ab75e099e131d7a4f94e1732e7436d8fc386c7"> | ||
1189 | <source>Go to the account</source> | ||
1190 | <target>到帳號</target> | ||
1191 | <context-group name="null"> | ||
1192 | <context context-type="linenumber">22</context> | ||
1193 | </context-group> | ||
1194 | </trans-unit> | ||
1195 | <trans-unit id="1cb8348c199d03e297d165e262237194f25fe3f5"> | ||
1196 | <source>Go to the video</source> | ||
1197 | <target>到影片</target> | ||
1198 | <context-group name="null"> | ||
1199 | <context context-type="linenumber">28</context> | ||
1200 | </context-group> | ||
1201 | </trans-unit> | ||
1202 | <trans-unit id="00ecde6001106fe7406a34cc3459cc5b88e4aec1"> | ||
1203 | <source>Blacklisted videos</source> | ||
1204 | <target>已加入黑名單的影片</target> | ||
1205 | <context-group name="null"> | ||
1206 | <context context-type="linenumber">2</context> | ||
1207 | </context-group> | ||
1208 | </trans-unit> | ||
1209 | <trans-unit id="7c02d113e9b7884037834cddecf2a32a5538b35b"> | ||
1210 | <source>Name <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1211 | <target>名稱 <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1212 | <context-group name="null"> | ||
1213 | <context context-type="linenumber">11</context> | ||
1214 | </context-group> | ||
1215 | </trans-unit> | ||
1216 | <trans-unit id="cd5ca5da9e2fa21571e9f86a24a5c3b45a3ddc51"> | ||
1217 | <source>Views <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></source> | ||
1218 | <target>檢視 <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/></target> | ||
1219 | <context-group name="null"> | ||
1220 | <context context-type="linenumber">13</context> | ||
1221 | </context-group> | ||
1222 | </trans-unit> | ||
1223 | <trans-unit id="d4717113115ca7106a354a5aac54d1c0126261d9"> | ||
1224 | <source>NSFW</source> | ||
1225 | <target>NSFW</target> | ||
1226 | <context-group name="null"> | ||
1227 | <context context-type="linenumber">14</context> | ||
1228 | </context-group> | ||
1229 | </trans-unit> | ||
1230 | <trans-unit id="8c87d9527af7ff2ada84c911516a9e43a352e401"> | ||
1231 | <source>UUID</source> | ||
1232 | <target>UUID</target> | ||
1233 | <context-group name="null"> | ||
1234 | <context context-type="linenumber">15</context> | ||
1235 | </context-group> | ||
1236 | </trans-unit> | ||
1237 | <trans-unit id="86f26b106c67be3c2e98b82766656e5d9da86dff"> | ||
1238 | <source>Unblacklist</source> | ||
1239 | <target>取消黑名單</target> | ||
1240 | <context-group name="null"> | ||
1241 | <context context-type="linenumber">30</context> | ||
1242 | </context-group> | ||
1243 | </trans-unit> | ||
1244 | <trans-unit id="efad4be364b8fb5c73cbfcc7acccd542f9d84ad6"> | ||
1245 | <source>My settings</source> | ||
1246 | <target>我的設定</target> | ||
1247 | <context-group name="null"> | ||
1248 | <context context-type="linenumber">3</context> | ||
1249 | </context-group> | ||
1250 | </trans-unit> | ||
1251 | <trans-unit id="520d68b2c9f7dacaf2a5073716cad9bd328ea7e7"> | ||
1252 | <source>My video channels</source> | ||
1253 | <target>我的影片頻道</target> | ||
1254 | <context-group name="null"> | ||
1255 | <context context-type="linenumber">5</context> | ||
1256 | </context-group> | ||
1257 | </trans-unit> | ||
1258 | <trans-unit id="d02888c485d3aeab6de628508f4a00312a722894"> | ||
1259 | <source>My videos</source> | ||
1260 | <target>我的影片</target> | ||
1261 | <context-group name="null"> | ||
1262 | <context context-type="linenumber">7</context> | ||
1263 | </context-group> | ||
1264 | </trans-unit> | ||
1265 | <trans-unit id="9518d3fb042d551167c1701ddeb88a1374cf1e48"> | ||
1266 | <source>Video quota:</source> | ||
1267 | <target>影片配額:</target> | ||
1268 | <context-group name="null"> | ||
1269 | <context context-type="linenumber">4</context> | ||
1270 | </context-group> | ||
1271 | </trans-unit> | ||
1272 | <trans-unit id="994363f08f9fbfa3b3994ff7b35c6904fdff18d8"> | ||
1273 | <source>Profile</source> | ||
1274 | <target>簡介</target> | ||
1275 | <context-group name="null"> | ||
1276 | <context context-type="linenumber">8</context> | ||
1277 | </context-group> | ||
1278 | </trans-unit> | ||
1279 | <trans-unit id="b5398623f87ee72ed23f5023918db1707771e925"> | ||
1280 | <source>Video settings</source> | ||
1281 | <target>影片設定</target> | ||
1282 | <context-group name="null"> | ||
1283 | <context context-type="linenumber">15</context> | ||
1284 | </context-group> | ||
1285 | </trans-unit> | ||
1286 | <trans-unit id="8057bddbed23d6cd911df8cc3a4ec24d1f258b79"> | ||
1287 | <source><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views</source> | ||
1288 | <target><x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次檢視</target> | ||
1289 | <context-group name="null"> | ||
1290 | <context context-type="linenumber">19</context> | ||
1291 | </context-group> | ||
1292 | </trans-unit> | ||
1293 | <trans-unit id="826b25211922a1b46436589233cb6f1a163d89b7"> | ||
1294 | <source>Delete</source> | ||
1295 | <target>刪除</target> | ||
1296 | <context-group name="null"> | ||
1297 | <context context-type="linenumber">15</context> | ||
1298 | </context-group> | ||
1299 | </trans-unit> | ||
1300 | <trans-unit id="73c1cefc348a6f361497210dea1ed79499fd1260"> | ||
1301 | <source>Create another video channel</source> | ||
1302 | <target>建立其它影片頻道</target> | ||
1303 | <context-group name="null"> | ||
1304 | <context context-type="linenumber">4</context> | ||
1305 | </context-group> | ||
1306 | </trans-unit> | ||
1307 | <trans-unit id="30fcac6c20aac1f24e000efc4a889cbb93d4baf2"> | ||
1308 | <source>Go to the channel</source> | ||
1309 | <target>到頻道</target> | ||
1310 | <context-group name="null"> | ||
1311 | <context context-type="linenumber">15</context> | ||
1312 | </context-group> | ||
1313 | </trans-unit> | ||
1314 | <trans-unit id="9dbe4718a5611fbc611fc6b5e0b27df813372c68"> | ||
1315 | <source>Create a video channel</source> | ||
1316 | <target>建立影片頻道</target> | ||
1317 | <context-group name="null"> | ||
1318 | <context context-type="linenumber">6</context> | ||
1319 | </context-group> | ||
1320 | </trans-unit> | ||
1321 | <trans-unit id="bc155f9fc3be3f32083f19b2c77d4ad3b696d9b9"> | ||
1322 | <source>Display name</source> | ||
1323 | <target>顯示名稱</target> | ||
1324 | <context-group name="null"> | ||
1325 | <context context-type="linenumber">6</context> | ||
1326 | </context-group> | ||
1327 | </trans-unit> | ||
1328 | <trans-unit id="74728de5289ea2ff3f553bc2b48f1811680b931a"> | ||
1329 | <source>Short text to tell people how they can support your channel (membership platform...).<br /><br /> | ||
1330 | When you will upload a video in this channel, the video support field will be automatically filled by this text.</source> | ||
1331 | <target>簡短的文字告訴人們他們要如何支援您的頻道(會員平臺等等)。<br /><br />當您要上傳影片到此頻道時,影片支援欄位將會自動填入這些文字。</target> | ||
1332 | <context-group name="null"> | ||
1333 | <context context-type="linenumber">36</context> | ||
1334 | </context-group> | ||
1335 | </trans-unit> | ||
1336 | <trans-unit id="739516c2ca75843d5aec9cf0e6b3e4335c4227b9"> | ||
1337 | <source>Change password</source> | ||
1338 | <target>變更密碼</target> | ||
1339 | <context-group name="null"> | ||
1340 | <context context-type="linenumber">19</context> | ||
1341 | </context-group> | ||
1342 | </trans-unit> | ||
1343 | <trans-unit id="e70e209561583f360b1e9cefd2cbb1fe434b6229"> | ||
1344 | <source>New password</source> | ||
1345 | <target>新密碼</target> | ||
1346 | <context-group name="null"> | ||
1347 | <context context-type="linenumber">7</context> | ||
1348 | </context-group> | ||
1349 | </trans-unit> | ||
1350 | <trans-unit id="ede41f01c781b168a783cfcefc6fb67d48780d9b"> | ||
1351 | <source>Confirm new password</source> | ||
1352 | <target>確認新密碼</target> | ||
1353 | <context-group name="null"> | ||
1354 | <context context-type="linenumber">15</context> | ||
1355 | </context-group> | ||
1356 | </trans-unit> | ||
1357 | <trans-unit id="20f62f24170d57b1efeb2387a0949f482cd4d129"> | ||
1358 | <source>Default policy on videos containing sensitive content</source> | ||
1359 | <target>包含敏感內容的影片的預設政策</target> | ||
1360 | <context-group name="null"> | ||
1361 | <context context-type="linenumber">3</context> | ||
1362 | </context-group> | ||
1363 | </trans-unit> | ||
1364 | <trans-unit id="fb17c44abac2d1ed2a54cdd28bae289dc0b9a1c2"> | ||
1365 | <source>Automatically plays video</source> | ||
1366 | <target>自動播放影片</target> | ||
1367 | <context-group name="null"> | ||
1368 | <context context-type="linenumber">20</context> | ||
1369 | </context-group> | ||
1370 | </trans-unit> | ||
1371 | <trans-unit id="52c9a103b812f258bcddc3d90a6e3f46871d25fe"> | ||
1372 | <source>Save</source> | ||
1373 | <target>儲存</target> | ||
1374 | <context-group name="null"> | ||
1375 | <context context-type="linenumber">23</context> | ||
1376 | </context-group> | ||
1377 | </trans-unit> | ||
1378 | <trans-unit id="d2fa66a905b6b7f691c83be681d18188cbe4a8ba"> | ||
1379 | <source>Update my profile</source> | ||
1380 | <target>更新我們簡介</target> | ||
1381 | <context-group name="null"> | ||
1382 | <context context-type="linenumber">27</context> | ||
1383 | </context-group> | ||
1384 | </trans-unit> | ||
1385 | <trans-unit id="c860c88df9ad58b1187084251340b232cdf0a7f9"> | ||
1386 | <source>(extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</source> | ||
1387 | <target>(副檔名:<x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>,最大大小:<x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>)</target> | ||
1388 | <context-group name="null"> | ||
1389 | <context context-type="linenumber">18</context> | ||
1390 | </context-group> | ||
1391 | </trans-unit> | ||
1392 | <trans-unit id="e242e3e8608a3c4a944327eb3d5c221dc6e4e3cd"> | ||
1393 | <source> | ||
1394 | Sorry, but we couldn't find the page you were looking for. | ||
1395 | </source> | ||
1396 | <target>抱歉,但我們找不到您正在尋找的頁面。</target> | ||
1397 | <context-group name="null"> | ||
1398 | <context context-type="linenumber">1</context> | ||
1399 | </context-group> | ||
1400 | </trans-unit> | ||
1401 | <trans-unit id="c65641c36859c328928e6b0f14c3f913886f8add"> | ||
1402 | <source>Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/></source> | ||
1403 | <target>由 <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> 建立</target> | ||
1404 | <context-group name="null"> | ||
1405 | <context context-type="linenumber">14</context> | ||
1406 | </context-group> | ||
1407 | </trans-unit> | ||
1408 | <trans-unit id="e006ed166ce188cab168e1ca90435b33d042d913"> | ||
1409 | <source>Go the owner account page</source> | ||
1410 | <target>到擁有者帳號頁面</target> | ||
1411 | <context-group name="null"> | ||
1412 | <context context-type="linenumber">13</context> | ||
1413 | </context-group> | ||
1414 | </trans-unit> | ||
1415 | <trans-unit id="1380539d91f77f565de6e21ce210da891e6644b8"> | ||
1416 | <source>Support this channel</source> | ||
1417 | <target>支援此頻道</target> | ||
1418 | <context-group name="null"> | ||
1419 | <context context-type="linenumber">9</context> | ||
1420 | </context-group> | ||
1421 | </trans-unit> | ||
1422 | <trans-unit id="5523952d0300c96cfba2ec5a693c95f923e90c40"> | ||
1423 | <source>Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/></source> | ||
1424 | <target><x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/> 建立</target> | ||
1425 | <context-group name="null"> | ||
1426 | <context context-type="linenumber">17</context> | ||
1427 | </context-group> | ||
1428 | </trans-unit> | ||
1429 | <trans-unit id="d4dcf74163f127ca9afa84d55b5d95846958faa0"> | ||
1430 | <source>Upload your video</source> | ||
1431 | <target>上傳您的影片</target> | ||
1432 | <context-group name="null"> | ||
1433 | <context context-type="linenumber">3</context> | ||
1434 | </context-group> | ||
1435 | </trans-unit> | ||
1436 | <trans-unit id="1af3dcf5aad5b7f4b3251da88a89dc9a184445dd"> | ||
1437 | <source>Upload <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></source> | ||
1438 | <target>上傳 <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/></target> | ||
1439 | <context-group name="null"> | ||
1440 | <context context-type="linenumber">4</context> | ||
1441 | </context-group> | ||
1442 | </trans-unit> | ||
1443 | <trans-unit id="21add64f0f3ebbedf1150ca822c6e149494ab7a9"> | ||
1444 | <source>Select the file to upload</source> | ||
1445 | <target>選取要上傳的檔案</target> | ||
1446 | <context-group name="null"> | ||
1447 | <context context-type="linenumber">12</context> | ||
1448 | </context-group> | ||
1449 | </trans-unit> | ||
1450 | <trans-unit id="0cc554f4d7bb6a87515d2d95438e183b50702071"> | ||
1451 | <source>Channel</source> | ||
1452 | <target>頻道</target> | ||
1453 | <context-group name="null"> | ||
1454 | <context context-type="linenumber">35</context> | ||
1455 | </context-group> | ||
1456 | </trans-unit> | ||
1457 | <trans-unit id="3c78b53bca33467190c0b7a01320bc093a2b1427"> | ||
1458 | <source>Privacy</source> | ||
1459 | <target>隱私</target> | ||
1460 | <context-group name="null"> | ||
1461 | <context context-type="linenumber">139</context> | ||
1462 | </context-group> | ||
1463 | </trans-unit> | ||
1464 | <trans-unit id="f7ac2376749c7985f94f0fc89ba75ea624de1215"> | ||
1465 | <source>Publish will be available when upload is finished</source> | ||
1466 | <target>上傳完成時將可發佈</target> | ||
1467 | <context-group name="null"> | ||
1468 | <context context-type="linenumber">54</context> | ||
1469 | </context-group> | ||
1470 | </trans-unit> | ||
1471 | <trans-unit id="223aae0477f79f0bc4436c1c57619415f04cbbb3"> | ||
1472 | <source>Publish</source> | ||
1473 | <target>發佈</target> | ||
1474 | <context-group name="null"> | ||
1475 | <context context-type="linenumber">61</context> | ||
1476 | </context-group> | ||
1477 | </trans-unit> | ||
1478 | <trans-unit id="fdf7cbdc140d0aab0f0b6c06065a0fd448ed6a2e"> | ||
1479 | <source>Title</source> | ||
1480 | <target>標題</target> | ||
1481 | <context-group name="null"> | ||
1482 | <context context-type="linenumber">7</context> | ||
1483 | </context-group> | ||
1484 | </trans-unit> | ||
1485 | <trans-unit id="cafc87479686947e2590b9f588a88040aeaf660b"> | ||
1486 | <source>Tags</source> | ||
1487 | <target>標籤</target> | ||
1488 | <context-group name="null"> | ||
1489 | <context context-type="linenumber">171</context> | ||
1490 | </context-group> | ||
1491 | </trans-unit> | ||
1492 | <trans-unit id="935e7146fe6c12169abfda18536c5856935cfd82"> | ||
1493 | <source>(press Enter to add)</source> | ||
1494 | <target>(按下 Enter 以新增)</target> | ||
1495 | <context-group name="null"> | ||
1496 | <context context-type="linenumber">15</context> | ||
1497 | </context-group> | ||
1498 | </trans-unit> | ||
1499 | <trans-unit id="50f53834157770b8205ada0e7a6e235211e4765e"> | ||
1500 | <source>Video descriptions are truncated by default and require manual action to expand them.</source> | ||
1501 | <target>預設情況下,影片描述不會完整顯示,需要手動操作才能展開它們。</target> | ||
1502 | <context-group name="null"> | ||
1503 | <context context-type="linenumber">24</context> | ||
1504 | </context-group> | ||
1505 | </trans-unit> | ||
1506 | <trans-unit id="d69f4fafc780cc7dbafb063ca5f11e6f7c91b0c5"> | ||
1507 | <source>Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</source> | ||
1508 | <target>計劃發佈於 (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>)</target> | ||
1509 | <context-group name="null"> | ||
1510 | <context context-type="linenumber">101</context> | ||
1511 | </context-group> | ||
1512 | </trans-unit> | ||
1513 | <trans-unit id="5ef7108218e096d09f4ee8525a05a8c90d7b95ee"> | ||
1514 | <source>This video contains mature or explicit content</source> | ||
1515 | <target>這個影片包含了成人或裸露內容</target> | ||
1516 | <context-group name="null"> | ||
1517 | <context context-type="linenumber">115</context> | ||
1518 | </context-group> | ||
1519 | </trans-unit> | ||
1520 | <trans-unit id="9daabdcaa2bbd83597099b10db22d056cf491644"> | ||
1521 | <source>Some instances do not list videos containing mature or explicit content by default.</source> | ||
1522 | <target>某些實體預設不會列出包含成人或裸露內容的影片。</target> | ||
1523 | <context-group name="null"> | ||
1524 | <context context-type="linenumber">116</context> | ||
1525 | </context-group> | ||
1526 | </trans-unit> | ||
1527 | <trans-unit id="3549ee96125a43181f80712ed744ee223a0e645a"> | ||
1528 | <source>Enable video comments</source> | ||
1529 | <target>啟用影片評論</target> | ||
1530 | <context-group name="null"> | ||
1531 | <context context-type="linenumber">121</context> | ||
1532 | </context-group> | ||
1533 | </trans-unit> | ||
1534 | <trans-unit id="7e549f41b715552ffe69b85c14a690d9d81c85f0"> | ||
1535 | <source>Wait transcoding before publishing the video</source> | ||
1536 | <target>正等待發佈影片前的轉換編碼</target> | ||
1537 | <context-group name="null"> | ||
1538 | <context context-type="linenumber">126</context> | ||
1539 | </context-group> | ||
1540 | </trans-unit> | ||
1541 | <trans-unit id="c7742322b1d3dbc921362058d1747c7ec2adbec7"> | ||
1542 | <source>Basic info</source> | ||
1543 | <target>基礎資訊</target> | ||
1544 | <context-group name="null"> | ||
1545 | <context context-type="linenumber">4</context> | ||
1546 | </context-group> | ||
1547 | </trans-unit> | ||
1548 | <trans-unit id="1dd793abd1cb8d16a7a2cb71ca5549a7111ee513"> | ||
1549 | <source>Upload thumbnail</source> | ||
1550 | <target>上傳縮圖</target> | ||
1551 | <context-group name="null"> | ||
1552 | <context context-type="linenumber">186</context> | ||
1553 | </context-group> | ||
1554 | </trans-unit> | ||
1555 | <trans-unit id="9df3f57e251c077bef7e7da81677cb971c55b639"> | ||
1556 | <source>Upload preview</source> | ||
1557 | <target>上傳預覽</target> | ||
1558 | <context-group name="null"> | ||
1559 | <context context-type="linenumber">193</context> | ||
1560 | </context-group> | ||
1561 | </trans-unit> | ||
1562 | <trans-unit id="b5629d298ff1a69b8db19a4ba2995c76b52da604"> | ||
1563 | <source>Support</source> | ||
1564 | <target>支援</target> | ||
1565 | <context-group name="null"> | ||
1566 | <context context-type="linenumber">67</context> | ||
1567 | </context-group> | ||
1568 | </trans-unit> | ||
1569 | <trans-unit id="f61f989de6fc12f99369a90800e4b5462d3f10a0"> | ||
1570 | <source>Short text to tell people how they can support you (membership platform...).</source> | ||
1571 | <target>告訴人們他們可以如何支援您(成員平臺等)的短文</target> | ||
1572 | <context-group name="null"> | ||
1573 | <context context-type="linenumber">200</context> | ||
1574 | </context-group> | ||
1575 | </trans-unit> | ||
1576 | <trans-unit id="d91da0abc638c05e52adea253d0813f3584da4b1"> | ||
1577 | <source>Advanced settings</source> | ||
1578 | <target>進階設定</target> | ||
1579 | <context-group name="null"> | ||
1580 | <context context-type="linenumber">182</context> | ||
1581 | </context-group> | ||
1582 | </trans-unit> | ||
1583 | <trans-unit id="2335f0bd17c63d835b50cfbbcea6c459cb1314c0"> | ||
1584 | <source> | ||
1585 | Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1586 | </source> | ||
1587 | <target> | ||
1588 | 更新 <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> | ||
1589 | </target> | ||
1590 | <context-group name="null"> | ||
1591 | <context context-type="linenumber">2</context> | ||
1592 | </context-group> | ||
1593 | </trans-unit> | ||
1594 | <trans-unit id="047f50bc5b5d17b5bec0196355953e1a5c590ddb"> | ||
1595 | <source>Update</source> | ||
1596 | <target>更新</target> | ||
1597 | <context-group name="null"> | ||
1598 | <context context-type="linenumber">101</context> | ||
1599 | </context-group> | ||
1600 | </trans-unit> | ||
1601 | <trans-unit id="9aafb2a928664aa7a9375fd37c533f0375f8b611"> | ||
1602 | <source>Download video</source> | ||
1603 | <target>下載影片</target> | ||
1604 | <context-group name="null"> | ||
1605 | <context context-type="linenumber">7</context> | ||
1606 | </context-group> | ||
1607 | </trans-unit> | ||
1608 | <trans-unit id="8d6a41c2703bed3edfc76e1df0b1ca203404c17c"> | ||
1609 | <source>Direct download</source> | ||
1610 | <target>直接下載</target> | ||
1611 | <context-group name="null"> | ||
1612 | <context context-type="linenumber">20</context> | ||
1613 | </context-group> | ||
1614 | </trans-unit> | ||
1615 | <trans-unit id="dc75033a5238fdc4f462212c847a45ba8018a3fd"> | ||
1616 | <source>Download</source> | ||
1617 | <target>下載</target> | ||
1618 | <context-group name="null"> | ||
1619 | <context context-type="linenumber">83</context> | ||
1620 | </context-group> | ||
1621 | </trans-unit> | ||
1622 | <trans-unit id="11749f4fc0aa1b5e37f38575e4d4e3b1b7e0e96b"> | ||
1623 | <source>Report video</source> | ||
1624 | <target>回報影片</target> | ||
1625 | <context-group name="null"> | ||
1626 | <context context-type="linenumber">7</context> | ||
1627 | </context-group> | ||
1628 | </trans-unit> | ||
1629 | <trans-unit id="bb44873ad8d4c5dbad0ac2a6a50e0ceee9119125"> | ||
1630 | <source>Reason...</source> | ||
1631 | <target>理由……</target> | ||
1632 | <context-group name="null"> | ||
1633 | <context context-type="linenumber">14</context> | ||
1634 | </context-group> | ||
1635 | </trans-unit> | ||
1636 | <trans-unit id="0e6b8229bd65f93bc8040d0fb598967f220740c7"> | ||
1637 | <source> | ||
1638 | Cancel | ||
1639 | </source> | ||
1640 | <target> | ||
1641 | 取消 | ||
1642 | </target> | ||
1643 | <context-group name="null"> | ||
1644 | <context context-type="linenumber">22</context> | ||
1645 | </context-group> | ||
1646 | </trans-unit> | ||
1647 | <trans-unit id="71c77bb8cecdf11ec3eead24dd1ba506573fa9cd"> | ||
1648 | <source>Submit</source> | ||
1649 | <target>遞交</target> | ||
1650 | <context-group name="null"> | ||
1651 | <context context-type="linenumber">27</context> | ||
1652 | </context-group> | ||
1653 | </trans-unit> | ||
1654 | <trans-unit id="0bd8b27f60a1f098a53e06328426d818e3508ff9"> | ||
1655 | <source>Share</source> | ||
1656 | <target>分享</target> | ||
1657 | <context-group name="null"> | ||
1658 | <context context-type="linenumber">72</context> | ||
1659 | </context-group> | ||
1660 | </trans-unit> | ||
1661 | <trans-unit id="801b98c6f02fe3b32f6afa3ee854c99ed83474e6"> | ||
1662 | <source>URL</source> | ||
1663 | <target>URL</target> | ||
1664 | <context-group name="null"> | ||
1665 | <context context-type="linenumber">12</context> | ||
1666 | </context-group> | ||
1667 | </trans-unit> | ||
1668 | <trans-unit id="d3b15c3bf4a7ea38d6002d2d2c4781642d30e79c"> | ||
1669 | <source>Embed</source> | ||
1670 | <target>嵌入</target> | ||
1671 | <context-group name="null"> | ||
1672 | <context context-type="linenumber">24</context> | ||
1673 | </context-group> | ||
1674 | </trans-unit> | ||
1675 | <trans-unit id="239fe0316cfe91aa6e1e7bf1ef19e3b7772131f8"> | ||
1676 | <source> | ||
1677 | The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites). | ||
1678 | </source> | ||
1679 | <target> | ||
1680 | 這個 URL 不安全(不是 HTTPS),所以嵌入視訊將無法在 HTTPS 網頁上運作(網路瀏覽器會阻擋在 HTTPS 網頁上的不安全 HTTP 請求)。 | ||
1681 | </target> | ||
1682 | <context-group name="null"> | ||
1683 | <context context-type="linenumber">35</context> | ||
1684 | </context-group> | ||
1685 | </trans-unit> | ||
1686 | <trans-unit id="9ed65ae88f6c982bc44d6fed2796e55f47dbf304"> | ||
1687 | <source> | ||
1688 | The video is being transcoded, it may not work properly. | ||
1689 | </source> | ||
1690 | <target> | ||
1691 | 此影片正在轉換編碼,可能無法正確運作。 | ||
1692 | </target> | ||
1693 | <context-group name="null"> | ||
1694 | <context context-type="linenumber">11</context> | ||
1695 | </context-group> | ||
1696 | </trans-unit> | ||
1697 | <trans-unit id="fbc205ea3d06fa8f65973fa3b490ae172f71c087"> | ||
1698 | <source> | ||
1699 | This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> | ||
1700 | </source> | ||
1701 | <target> | ||
1702 | 此影片將會在 <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> 發佈 | ||
1703 | </target> | ||
1704 | <context-group name="null"> | ||
1705 | <context context-type="linenumber">15</context> | ||
1706 | </context-group> | ||
1707 | </trans-unit> | ||
1708 | <trans-unit id="643ab402461b1169eebbe2ed790e12a9a83551aa"> | ||
1709 | <source> | ||
1710 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views | ||
1711 | </source> | ||
1712 | <target> | ||
1713 | <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> 次檢視 | ||
1714 | </target> | ||
1715 | <context-group name="null"> | ||
1716 | <context context-type="linenumber">26</context> | ||
1717 | </context-group> | ||
1718 | </trans-unit> | ||
1719 | <trans-unit id="5cb397241041f7ad70997806227bafcdf7eb1b33"> | ||
1720 | <source>Go the channel page</source> | ||
1721 | <target>到頻道頁面</target> | ||
1722 | <context-group name="null"> | ||
1723 | <context context-type="linenumber">31</context> | ||
1724 | </context-group> | ||
1725 | </trans-unit> | ||
1726 | <trans-unit id="ccc07df383b7a32be3e2e105faa5488caf261c1c"> | ||
1727 | <source>By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></source> | ||
1728 | <target>由 <x id="INTERPOLATION" equiv-text="{{ video.by }}"/></target> | ||
1729 | <context-group name="null"> | ||
1730 | <context context-type="linenumber">41</context> | ||
1731 | </context-group> | ||
1732 | </trans-unit> | ||
1733 | <trans-unit id="be73b652c2707f42b5d780d0c7b8fc5ea0b1706c"> | ||
1734 | <source>Go to the account page</source> | ||
1735 | <target>到帳號頁面</target> | ||
1736 | <context-group name="null"> | ||
1737 | <context context-type="linenumber">40</context> | ||
1738 | </context-group> | ||
1739 | </trans-unit> | ||
1740 | <trans-unit id="57075c778cf28b81272df4eb17da944366c98e51"> | ||
1741 | <source>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>.</source> | ||
1742 | <target>您可以透過任何支援 ActivityPub 的互聯實體來訂閱此帳號。例如 Mastodon 或 Pleroma,您可以在搜尋框中輸入 <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> 並在那裡訂閱。以 PeerTube 使用者的身份訂閱正在 <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a> 中處理。</target> | ||
1743 | <context-group name="null"> | ||
1744 | <context context-type="linenumber">45</context> | ||
1745 | </context-group> | ||
1746 | </trans-unit> | ||
1747 | <trans-unit id="82b59049f3f89d900c98da9319e156dd513e3ced"> | ||
1748 | <source>Like this video</source> | ||
1749 | <target>喜歡此影片</target> | ||
1750 | <context-group name="null"> | ||
1751 | <context context-type="linenumber">55</context> | ||
1752 | </context-group> | ||
1753 | </trans-unit> | ||
1754 | <trans-unit id="623698f075025b2b2fc2e0c59fd95f4f4662a509"> | ||
1755 | <source>Dislike this video</source> | ||
1756 | <target>不喜歡此影片</target> | ||
1757 | <context-group name="null"> | ||
1758 | <context context-type="linenumber">62</context> | ||
1759 | </context-group> | ||
1760 | </trans-unit> | ||
1761 | <trans-unit id="144fff5c40b85414d59e644d8dee7cfefba925a2"> | ||
1762 | <source>Download the video</source> | ||
1763 | <target>下載影片</target> | ||
1764 | <context-group name="null"> | ||
1765 | <context context-type="linenumber">82</context> | ||
1766 | </context-group> | ||
1767 | </trans-unit> | ||
1768 | <trans-unit id="f72992030f134408b675152c397f9d0ec00f3b2a"> | ||
1769 | <source>Report</source> | ||
1770 | <target>回報</target> | ||
1771 | <context-group name="null"> | ||
1772 | <context context-type="linenumber">89</context> | ||
1773 | </context-group> | ||
1774 | </trans-unit> | ||
1775 | <trans-unit id="2f4894617d9c44010f87473e583bd4604b7d6ecf"> | ||
1776 | <source>Report this video</source> | ||
1777 | <target>回報此影片</target> | ||
1778 | <context-group name="null"> | ||
1779 | <context context-type="linenumber">88</context> | ||
1780 | </context-group> | ||
1781 | </trans-unit> | ||
1782 | <trans-unit id="007ab5fa2aae8a7372307d3fc45a2dbcb11ffd61"> | ||
1783 | <source>Blacklist</source> | ||
1784 | <target>黑名單</target> | ||
1785 | <context-group name="null"> | ||
1786 | <context context-type="linenumber">95</context> | ||
1787 | </context-group> | ||
1788 | </trans-unit> | ||
1789 | <trans-unit id="803c6317abd2dbafcc93226c4e273c62932e3037"> | ||
1790 | <source>Blacklist this video</source> | ||
1791 | <target>將此影片加入黑名單</target> | ||
1792 | <context-group name="null"> | ||
1793 | <context context-type="linenumber">94</context> | ||
1794 | </context-group> | ||
1795 | </trans-unit> | ||
1796 | <trans-unit id="cd27f761b923a5bdb16ba9844da632edd878f1b1"> | ||
1797 | <source>Update this video</source> | ||
1798 | <target>更新此影片</target> | ||
1799 | <context-group name="null"> | ||
1800 | <context context-type="linenumber">100</context> | ||
1801 | </context-group> | ||
1802 | </trans-unit> | ||
1803 | <trans-unit id="3dbfdc68f83d91cb360172eb65578cae94e7cbe5"> | ||
1804 | <source>Delete this video</source> | ||
1805 | <target>刪除此影片</target> | ||
1806 | <context-group name="null"> | ||
1807 | <context context-type="linenumber">106</context> | ||
1808 | </context-group> | ||
1809 | </trans-unit> | ||
1810 | <trans-unit id="f0c5f6f270e70cbe063b5368fcf48f9afc1abd9b"> | ||
1811 | <source>Show more</source> | ||
1812 | <target>顯示更多</target> | ||
1813 | <context-group name="null"> | ||
1814 | <context context-type="linenumber">126</context> | ||
1815 | </context-group> | ||
1816 | </trans-unit> | ||
1817 | <trans-unit id="5403a767248e304199592271bba3366d2ca3f903"> | ||
1818 | <source>Show less</source> | ||
1819 | <target>顯示較少</target> | ||
1820 | <context-group name="null"> | ||
1821 | <context context-type="linenumber">132</context> | ||
1822 | </context-group> | ||
1823 | </trans-unit> | ||
1824 | <trans-unit id="7ce8b0d7cc34d4c1ef4a21e990b0a001337bedd1"> | ||
1825 | <source> | ||
1826 | Other videos | ||
1827 | </source> | ||
1828 | <target> | ||
1829 | 其他影片 | ||
1830 | </target> | ||
1831 | <context-group name="null"> | ||
1832 | <context context-type="linenumber">183</context> | ||
1833 | </context-group> | ||
1834 | </trans-unit> | ||
1835 | <trans-unit id="fb779d2b25c4d0ffa7d52c823a240717e8c1fe6c"> | ||
1836 | <source>Friendly Reminder:</source> | ||
1837 | <target>友善提醒:</target> | ||
1838 | <context-group name="null"> | ||
1839 | <context context-type="linenumber">195</context> | ||
1840 | </context-group> | ||
1841 | </trans-unit> | ||
1842 | <trans-unit id="e60c11e1b1dfbbeda577364b8de39ded2d796c5e"> | ||
1843 | <source>More information</source> | ||
1844 | <target>更多資訊</target> | ||
1845 | <context-group name="null"> | ||
1846 | <context context-type="linenumber">200</context> | ||
1847 | </context-group> | ||
1848 | </trans-unit> | ||
1849 | <trans-unit id="bd499ca7913bb5408fd139a4cb4f863852d5f318"> | ||
1850 | <source>Get more information</source> | ||
1851 | <target>取得更多資訊</target> | ||
1852 | <context-group name="null"> | ||
1853 | <context context-type="linenumber">200</context> | ||
1854 | </context-group> | ||
1855 | </trans-unit> | ||
1856 | <trans-unit id="20fc98888baf65b5ba9fe9622dc036fa8dec6a5f"> | ||
1857 | <source> | ||
1858 | OK | ||
1859 | </source> | ||
1860 | <target> | ||
1861 | 確定 | ||
1862 | </target> | ||
1863 | <context-group name="null"> | ||
1864 | <context context-type="linenumber">203</context> | ||
1865 | </context-group> | ||
1866 | </trans-unit> | ||
1867 | <trans-unit id="b5f5df598f2d75640849b2a7744f91e5dbd390e7"> | ||
1868 | <source> | ||
1869 | Comments | ||
1870 | </source> | ||
1871 | <target> | ||
1872 | 評論 | ||
1873 | </target> | ||
1874 | <context-group name="null"> | ||
1875 | <context context-type="linenumber">3</context> | ||
1876 | </context-group> | ||
1877 | </trans-unit> | ||
1878 | <trans-unit id="da8a38f72f92714cf8680560c99982dc651480d5"> | ||
1879 | <source>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>.</source> | ||
1880 | <target>您可以對此影片使用有與您的 PeerTube 帳號在互聯的實體上評論,或是透過任何支援 ActivityPub 的互聯實體來進行。例如 Mastodon 或 Pleroma,您可以在搜尋欄輸入 <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> 並搜尋影片。直接評論的功能還在 <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a> 上繼續努力實現。</target> | ||
1881 | <context-group name="null"> | ||
1882 | <context context-type="linenumber">8</context> | ||
1883 | </context-group> | ||
1884 | </trans-unit> | ||
1885 | <trans-unit id="17810e68b0ba21e62e61eecfaf0a93b2c91033b4"> | ||
1886 | <source>No comments.</source> | ||
1887 | <target>沒有評論。</target> | ||
1888 | <context-group name="null"> | ||
1889 | <context context-type="linenumber">19</context> | ||
1890 | </context-group> | ||
1891 | </trans-unit> | ||
1892 | <trans-unit id="69c081796209e45e26af91152ec9bd0a65ec261e"> | ||
1893 | <source>View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies</source> | ||
1894 | <target>檢視全部 <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> 個回覆</target> | ||
1895 | <context-group name="null"> | ||
1896 | <context context-type="linenumber">56</context> | ||
1897 | </context-group> | ||
1898 | </trans-unit> | ||
1899 | <trans-unit id="b7fccd922d6473725247ed85a9fdf96fe6794828"> | ||
1900 | <source> | ||
1901 | Comments are disabled. | ||
1902 | </source> | ||
1903 | <target> | ||
1904 | 評論已停用。 | ||
1905 | </target> | ||
1906 | <context-group name="null"> | ||
1907 | <context context-type="linenumber">65</context> | ||
1908 | </context-group> | ||
1909 | </trans-unit> | ||
1910 | <trans-unit id="db79255cb8757e9e945ba5f901a2b67e4189016e"> | ||
1911 | <source>Add comment...</source> | ||
1912 | <target>新增評論……</target> | ||
1913 | <context-group name="null"> | ||
1914 | <context context-type="linenumber">6</context> | ||
1915 | </context-group> | ||
1916 | </trans-unit> | ||
1917 | <trans-unit id="26fa50ba8e69b53162b348d98e25f8b76c81343e"> | ||
1918 | <source> | ||
1919 | Post comment | ||
1920 | </source> | ||
1921 | <target> | ||
1922 | 張貼評論 | ||
1923 | </target> | ||
1924 | <context-group name="null"> | ||
1925 | <context context-type="linenumber">17</context> | ||
1926 | </context-group> | ||
1927 | </trans-unit> | ||
1928 | <trans-unit id="a607fab03e11b0e07c1640e11a1b02d7af06b285"> | ||
1929 | <source>Highlighted comment</source> | ||
1930 | <target>已突顯的評論</target> | ||
1931 | <context-group name="null"> | ||
1932 | <context context-type="linenumber">5</context> | ||
1933 | </context-group> | ||
1934 | </trans-unit> | ||
1935 | <trans-unit id="cb23d4d98007aa4d7123837f4c17a671848377d6"> | ||
1936 | <source>Reply</source> | ||
1937 | <target>回覆</target> | ||
1938 | <context-group name="null"> | ||
1939 | <context context-type="linenumber">14</context> | ||
1940 | </context-group> | ||
1941 | </trans-unit> | ||
1942 | <trans-unit id="814d28bf9dcbd3122254e664b446ac8e0442bc08"> | ||
1943 | <source>Error getting about from server</source> | ||
1944 | <target>取得關於伺服器的錯誤</target> | ||
1945 | <context-group name="null"> | ||
1946 | <context context-type="linenumber">1</context> | ||
1947 | </context-group> | ||
1948 | </trans-unit> | ||
1949 | <trans-unit id="37b56526e384f843a15323dc730b484a97b4c968"> | ||
1950 | <source>No description</source> | ||
1951 | <target>沒有描述</target> | ||
1952 | <context-group name="null"> | ||
1953 | <context context-type="linenumber">1</context> | ||
1954 | </context-group> | ||
1955 | </trans-unit> | ||
1956 | <trans-unit id="2f03e577e8f81a9f8be0095f93e1f9376c6eedc9"> | ||
1957 | <source>Published videos</source> | ||
1958 | <target>已發佈的影片</target> | ||
1959 | <context-group name="null"> | ||
1960 | <context context-type="linenumber">1</context> | ||
1961 | </context-group> | ||
1962 | </trans-unit> | ||
1963 | <trans-unit id="369ef5e9c0dd1251abdbf699a5db408bca10777f"> | ||
1964 | <source>Published <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> videos</source> | ||
1965 | <target>已發佈的 <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> 個影片</target> | ||
1966 | <context-group name="null"> | ||
1967 | <context context-type="linenumber">1</context> | ||
1968 | </context-group> | ||
1969 | </trans-unit> | ||
1970 | <trans-unit id="6080b77234e92ad41bb52653b239c4c4f851317d"> | ||
1971 | <source>Error</source> | ||
1972 | <target>錯誤</target> | ||
1973 | <context-group name="null"> | ||
1974 | <context context-type="linenumber">1</context> | ||
1975 | </context-group> | ||
1976 | </trans-unit> | ||
1977 | <trans-unit id="27a71a0aee65258179e90ecf0841c0a68f95beed"> | ||
1978 | <source>You set custom <x id="INTERPOLATION" equiv-text="{{customizationsText}}"/>. </source> | ||
1979 | <target>您可以設定自訂 <x id="INTERPOLATION" equiv-text="{{customizationsText}}"/>。</target> | ||
1980 | <context-group name="null"> | ||
1981 | <context context-type="linenumber">1</context> | ||
1982 | </context-group> | ||
1983 | </trans-unit> | ||
1984 | <trans-unit id="865bc18d22e223101ede0916967ead0abd515d0e"> | ||
1985 | <source>This could lead to security issues or bugs if you do not understand it. </source> | ||
1986 | <target>這可能會導致安全性問題或臭蟲。若您不了解它。</target> | ||
1987 | <context-group name="null"> | ||
1988 | <context context-type="linenumber">1</context> | ||
1989 | </context-group> | ||
1990 | </trans-unit> | ||
1991 | <trans-unit id="262e18b2efb5912651684a522fc08d77c99972d0"> | ||
1992 | <source>Are you sure you want to update the configuration?</source> | ||
1993 | <target>您確定您想要更新設定嗎?</target> | ||
1994 | <context-group name="null"> | ||
1995 | <context context-type="linenumber">1</context> | ||
1996 | </context-group> | ||
1997 | </trans-unit> | ||
1998 | <trans-unit id="1ae0ab69f5c19d179282c8d882fd2f3c00e29119"> | ||
1999 | <source>Please type</source> | ||
2000 | <target>請輸入</target> | ||
2001 | <context-group name="null"> | ||
2002 | <context context-type="linenumber">1</context> | ||
2003 | </context-group> | ||
2004 | </trans-unit> | ||
2005 | <trans-unit id="75f4bb68ee4c6b282abfd9d8d32be22c6202794d"> | ||
2006 | <source>to confirm.</source> | ||
2007 | <target>以確認。</target> | ||
2008 | <context-group name="null"> | ||
2009 | <context context-type="linenumber">1</context> | ||
2010 | </context-group> | ||
2011 | </trans-unit> | ||
2012 | <trans-unit id="1e035e6ccfab771cad4226b2ad230cb0d4a88cba"> | ||
2013 | <source>Success</source> | ||
2014 | <target>成功</target> | ||
2015 | <context-group name="null"> | ||
2016 | <context context-type="linenumber">1</context> | ||
2017 | </context-group> | ||
2018 | </trans-unit> | ||
2019 | <trans-unit id="b9e64712e3e5c342ce9cd32eec6cd7d6c00f4048"> | ||
2020 | <source>Configuration updated.</source> | ||
2021 | <target>設定已更新。</target> | ||
2022 | <context-group name="null"> | ||
2023 | <context context-type="linenumber">1</context> | ||
2024 | </context-group> | ||
2025 | </trans-unit> | ||
2026 | <trans-unit id="fc5731a28a99b25c62d43333ceebb250d60aff84"> | ||
2027 | <source><x id="INTERPOLATION" equiv-text="{{host}}"/> is not valid</source> | ||
2028 | <target><x id="INTERPOLATION" equiv-text="{{host}}"/> 無效</target> | ||
2029 | <context-group name="null"> | ||
2030 | <context context-type="linenumber">1</context> | ||
2031 | </context-group> | ||
2032 | </trans-unit> | ||
2033 | <trans-unit id="e02f50674f1d96966384dc096beb42d4973997df"> | ||
2034 | <source>You need to specify hosts to follow.</source> | ||
2035 | <target>您必須指定要追蹤的主機。</target> | ||
2036 | <context-group name="null"> | ||
2037 | <context context-type="linenumber">1</context> | ||
2038 | </context-group> | ||
2039 | </trans-unit> | ||
2040 | <trans-unit id="c2a114eb000e7c38e8ad4b1768821bdf6e946d71"> | ||
2041 | <source>Hosts need to be unique.</source> | ||
2042 | <target>主機必須唯一。</target> | ||
2043 | <context-group name="null"> | ||
2044 | <context context-type="linenumber">1</context> | ||
2045 | </context-group> | ||
2046 | </trans-unit> | ||
2047 | <trans-unit id="a6718d6aaf5bcd1692eed48daa61d2bed62c1f50"> | ||
2048 | <source>If you confirm, you will send a follow request to:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - </source> | ||
2049 | <target>若您確認,您將會傳送追蹤請求給:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - </target> | ||
2050 | <context-group name="null"> | ||
2051 | <context context-type="linenumber">1</context> | ||
2052 | </context-group> | ||
2053 | </trans-unit> | ||
2054 | <trans-unit id="1266acb081ef0324c4a38ae2d514dd75d8b38409"> | ||
2055 | <source>Follow new server(s)</source> | ||
2056 | <target>追蹤新伺服器</target> | ||
2057 | <context-group name="null"> | ||
2058 | <context context-type="linenumber">1</context> | ||
2059 | </context-group> | ||
2060 | </trans-unit> | ||
2061 | <trans-unit id="950f5111d567e5c0e971f07c26e8c2be1d919a8e"> | ||
2062 | <source>Follow request(s) sent!</source> | ||
2063 | <target>追蹤請求已傳送!</target> | ||
2064 | <context-group name="null"> | ||
2065 | <context context-type="linenumber">1</context> | ||
2066 | </context-group> | ||
2067 | </trans-unit> | ||
2068 | <trans-unit id="5729c34a858c78daa1aa606f62a3665527cf97e6"> | ||
2069 | <source>Do you really want to unfollow <x id="INTERPOLATION" equiv-text="{{host}}"/>?</source> | ||
2070 | <target>您想要取消追蹤 <x id="INTERPOLATION" equiv-text="{{host}}"/> 嗎?</target> | ||
2071 | <context-group name="null"> | ||
2072 | <context context-type="linenumber">1</context> | ||
2073 | </context-group> | ||
2074 | </trans-unit> | ||
2075 | <trans-unit id="a89875525c82ab81ffe32e481a5475b43d0c2902"> | ||
2076 | <source>Unfollow</source> | ||
2077 | <target>取消追蹤</target> | ||
2078 | <context-group name="null"> | ||
2079 | <context context-type="linenumber">1</context> | ||
2080 | </context-group> | ||
2081 | </trans-unit> | ||
2082 | <trans-unit id="fb4e35e2b0ea2abc1f71295a4b34830e57c07bd0"> | ||
2083 | <source>You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore.</source> | ||
2084 | <target>您無法再追蹤 <x id="INTERPOLATION" equiv-text="{{host}}"/>。</target> | ||
2085 | <context-group name="null"> | ||
2086 | <context context-type="linenumber">1</context> | ||
2087 | </context-group> | ||
2088 | </trans-unit> | ||
2089 | <trans-unit id="f995df052a1dfc675c2a21926420a707d9601936"> | ||
2090 | <source>Following</source> | ||
2091 | <target>正在追蹤</target> | ||
2092 | <context-group name="null"> | ||
2093 | <context context-type="linenumber">1</context> | ||
2094 | </context-group> | ||
2095 | </trans-unit> | ||
2096 | <trans-unit id="d29764bcbaad3ef69b6be92be35bdf25972ce246"> | ||
2097 | <source>Follow</source> | ||
2098 | <target>追蹤</target> | ||
2099 | <context-group name="null"> | ||
2100 | <context context-type="linenumber">1</context> | ||
2101 | </context-group> | ||
2102 | </trans-unit> | ||
2103 | <trans-unit id="9bee670725966ed477b4c33a545c8b5436b0065e"> | ||
2104 | <source>Followers</source> | ||
2105 | <target>追蹤者</target> | ||
2106 | <context-group name="null"> | ||
2107 | <context context-type="linenumber">1</context> | ||
2108 | </context-group> | ||
2109 | </trans-unit> | ||
2110 | <trans-unit id="aa6fb95c355f172bda303de1ce2f38c251a149cf"> | ||
2111 | <source>Unlimited</source> | ||
2112 | <target>無限制</target> | ||
2113 | <context-group name="null"> | ||
2114 | <context context-type="linenumber">1</context> | ||
2115 | </context-group> | ||
2116 | </trans-unit> | ||
2117 | <trans-unit id="364463fab6c5714118d6449561a0f8de1cc10bfa"> | ||
2118 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> created.</source> | ||
2119 | <target>使用者 <x id="INTERPOLATION" equiv-text="{{username}}"/> 已建立。</target> | ||
2120 | <context-group name="null"> | ||
2121 | <context context-type="linenumber">1</context> | ||
2122 | </context-group> | ||
2123 | </trans-unit> | ||
2124 | <trans-unit id="964865a3cd90b4af99902f071644a4b2aede4c32"> | ||
2125 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> updated.</source> | ||
2126 | <target>使用者 <x id="INTERPOLATION" equiv-text="{{username}}"/> 已更新。</target> | ||
2127 | <context-group name="null"> | ||
2128 | <context context-type="linenumber">1</context> | ||
2129 | </context-group> | ||
2130 | </trans-unit> | ||
2131 | <trans-unit id="9910122dfedd2eaa544a990f1430e5b82a76d99f"> | ||
2132 | <source>Update user</source> | ||
2133 | <target>更新使用者</target> | ||
2134 | <context-group name="null"> | ||
2135 | <context context-type="linenumber">1</context> | ||
2136 | </context-group> | ||
2137 | </trans-unit> | ||
2138 | <trans-unit id="911fc197949e47aa5f0541627bc319f59edd9d11"> | ||
2139 | <source>You cannot delete root.</source> | ||
2140 | <target>您無法刪除 root。</target> | ||
2141 | <context-group name="null"> | ||
2142 | <context context-type="linenumber">1</context> | ||
2143 | </context-group> | ||
2144 | </trans-unit> | ||
2145 | <trans-unit id="9ef88654aab4b2df4fa2083f33caa0c5419c1a60"> | ||
2146 | <source>Do you really want to delete this user?</source> | ||
2147 | <target>您真的想要刪除此使用者嗎?</target> | ||
2148 | <context-group name="null"> | ||
2149 | <context context-type="linenumber">1</context> | ||
2150 | </context-group> | ||
2151 | </trans-unit> | ||
2152 | <trans-unit id="28220fae6799ab98ef6b41af449aa9680082357a"> | ||
2153 | <source>User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted.</source> | ||
2154 | <target>使用者 <x id="INTERPOLATION" equiv-text="{{username}}"/> 已刪除。</target> | ||
2155 | <context-group name="null"> | ||
2156 | <context context-type="linenumber">1</context> | ||
2157 | </context-group> | ||
2158 | </trans-unit> | ||
2159 | <trans-unit id="4733ad1d7e63960438c0203b9a64f165b5fc84f2"> | ||
2160 | <source>Do you really want to remove this video from the blacklist ? It will be available again in the videos list.</source> | ||
2161 | <target>您真的想要將這部影片從黑名單中移除嗎?其將會再次可在影片清單中看到。</target> | ||
2162 | <context-group name="null"> | ||
2163 | <context context-type="linenumber">1</context> | ||
2164 | </context-group> | ||
2165 | </trans-unit> | ||
2166 | <trans-unit id="1585babc36806e20e225ac27dbba0e7c7cd09e0f"> | ||
2167 | <source>Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from the blacklist.</source> | ||
2168 | <target>影片 <x id="INTERPOLATION" equiv-text="{{name}}"/> 已從黑名單中移除。</target> | ||
2169 | <context-group name="null"> | ||
2170 | <context context-type="linenumber">1</context> | ||
2171 | </context-group> | ||
2172 | </trans-unit> | ||
2173 | <trans-unit id="2db8f1f93a5485c32267762a3bf4da499832e732"> | ||
2174 | <source>The new password and the confirmed password do not correspond.</source> | ||
2175 | <target>新密碼與密碼確認不相符。</target> | ||
2176 | <context-group name="null"> | ||
2177 | <context context-type="linenumber">1</context> | ||
2178 | </context-group> | ||
2179 | </trans-unit> | ||
2180 | <trans-unit id="19508af0dfbc685cbf10cf02061bb5a0f423b6fc"> | ||
2181 | <source>Password updated.</source> | ||
2182 | <target>密碼已更新。</target> | ||
2183 | <context-group name="null"> | ||
2184 | <context context-type="linenumber">1</context> | ||
2185 | </context-group> | ||
2186 | </trans-unit> | ||
2187 | <trans-unit id="db4ff52375f6a25ad0472e92754c8c265ae47c6b"> | ||
2188 | <source>Profile updated.</source> | ||
2189 | <target>設定檔已更新。</target> | ||
2190 | <context-group name="null"> | ||
2191 | <context context-type="linenumber">1</context> | ||
2192 | </context-group> | ||
2193 | </trans-unit> | ||
2194 | <trans-unit id="1e003ad599ef836949b9f4dad3037a58ef3ff8d1"> | ||
2195 | <source>Avatar changed.</source> | ||
2196 | <target>大頭貼已變更。</target> | ||
2197 | <context-group name="null"> | ||
2198 | <context context-type="linenumber">1</context> | ||
2199 | </context-group> | ||
2200 | </trans-unit> | ||
2201 | <trans-unit id="214b802dfd6f544003147a7a68938ec1055c8f32"> | ||
2202 | <source>Information updated.</source> | ||
2203 | <target>資訊已更新。</target> | ||
2204 | <context-group name="null"> | ||
2205 | <context context-type="linenumber">1</context> | ||
2206 | </context-group> | ||
2207 | </trans-unit> | ||
2208 | <trans-unit id="3ef8bf973a9a481a08c6f0aaa875f0259b3ea645"> | ||
2209 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> created.</source> | ||
2210 | <target>影片頻道 <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> 已更新。</target> | ||
2211 | <context-group name="null"> | ||
2212 | <context context-type="linenumber">1</context> | ||
2213 | </context-group> | ||
2214 | </trans-unit> | ||
2215 | <trans-unit id="70a67e04629f6d412db0a12d51820b480788d795"> | ||
2216 | <source>Create</source> | ||
2217 | <target>建立</target> | ||
2218 | <context-group name="null"> | ||
2219 | <context context-type="linenumber">1</context> | ||
2220 | </context-group> | ||
2221 | </trans-unit> | ||
2222 | <trans-unit id="98ab64f0af924a60a48b40835c1b655bd17c6559"> | ||
2223 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated.</source> | ||
2224 | <target>影片頻道 <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> 已更新。</target> | ||
2225 | <context-group name="null"> | ||
2226 | <context context-type="linenumber">1</context> | ||
2227 | </context-group> | ||
2228 | </trans-unit> | ||
2229 | <trans-unit id="d5adc9efad0469fc3e1503d68c4ec2ff4453a814"> | ||
2230 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/>? It will delete all videos uploaded in this channel too.</source> | ||
2231 | <target>您真的想要刪除 <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> 嗎?這也會刪除所有上傳到這個頻道的影片。</target> | ||
2232 | <context-group name="null"> | ||
2233 | <context context-type="linenumber">1</context> | ||
2234 | </context-group> | ||
2235 | </trans-unit> | ||
2236 | <trans-unit id="703dee7f3e693f9c77ef17c46f9fa71999609f8e"> | ||
2237 | <source>Please type the name of the video channel to confirm</source> | ||
2238 | <target>請輸入影片頻道的名稱以確認</target> | ||
2239 | <context-group name="null"> | ||
2240 | <context context-type="linenumber">1</context> | ||
2241 | </context-group> | ||
2242 | </trans-unit> | ||
2243 | <trans-unit id="a81a33275b683729ad938b6102e7e34a057537a2"> | ||
2244 | <source>Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> deleted.</source> | ||
2245 | <target>影片頻道 <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> 已刪除。</target> | ||
2246 | <context-group name="null"> | ||
2247 | <context context-type="linenumber">1</context> | ||
2248 | </context-group> | ||
2249 | </trans-unit> | ||
2250 | <trans-unit id="00e16d1f1c5cc936ec0881cd02cbf66aa1b4cddd"> | ||
2251 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos?</source> | ||
2252 | <target>您真的想要刪除 <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> 影片嗎?</target> | ||
2253 | <context-group name="null"> | ||
2254 | <context context-type="linenumber">1</context> | ||
2255 | </context-group> | ||
2256 | </trans-unit> | ||
2257 | <trans-unit id="dff7d4574cfaa785cbd4c0a5ffb5befec19a5d83"> | ||
2258 | <source><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted.</source> | ||
2259 | <target><x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> 影片已刪除。</target> | ||
2260 | <context-group name="null"> | ||
2261 | <context context-type="linenumber">1</context> | ||
2262 | </context-group> | ||
2263 | </trans-unit> | ||
2264 | <trans-unit id="4ec5852c869b2fb4ae0e564b51278d7be8013fc7"> | ||
2265 | <source>Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>?</source> | ||
2266 | <target>您真的想要刪除 <x id="INTERPOLATION" equiv-text="{{videoName}}"/> 嗎?</target> | ||
2267 | <context-group name="null"> | ||
2268 | <context context-type="linenumber">1</context> | ||
2269 | </context-group> | ||
2270 | </trans-unit> | ||
2271 | <trans-unit id="d39a0bfa616a9a8473b2e379eefe17d8ed1af118"> | ||
2272 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted.</source> | ||
2273 | <target>影片 <x id="INTERPOLATION" equiv-text="{{videoName}}"/> 已刪除。</target> | ||
2274 | <context-group name="null"> | ||
2275 | <context context-type="linenumber">1</context> | ||
2276 | </context-group> | ||
2277 | </trans-unit> | ||
2278 | <trans-unit id="dd9f3264feed4935008861c15d81c947124e4ac3"> | ||
2279 | <source>Published</source> | ||
2280 | <target>已發佈</target> | ||
2281 | <context-group name="null"> | ||
2282 | <context context-type="linenumber">1</context> | ||
2283 | </context-group> | ||
2284 | </trans-unit> | ||
2285 | <trans-unit id="8e6d54c4f760d9e90518eef5334211c48c0b71e2"> | ||
2286 | <source>Publication scheduled on </source> | ||
2287 | <target>計畫發佈於 </target> | ||
2288 | <context-group name="null"> | ||
2289 | <context context-type="linenumber">1</context> | ||
2290 | </context-group> | ||
2291 | </trans-unit> | ||
2292 | <trans-unit id="4a7e91ebe1cf184db5f2bfecf9c16ff81c9e2c02"> | ||
2293 | <source>Waiting transcoding</source> | ||
2294 | <target>正在等待轉換編碼</target> | ||
2295 | <context-group name="null"> | ||
2296 | <context context-type="linenumber">1</context> | ||
2297 | </context-group> | ||
2298 | </trans-unit> | ||
2299 | <trans-unit id="21f1c9d5c67346c830aced4f670045fcf0aeb83a"> | ||
2300 | <source>To transcode</source> | ||
2301 | <target>轉換編碼</target> | ||
2302 | <context-group name="null"> | ||
2303 | <context context-type="linenumber">1</context> | ||
2304 | </context-group> | ||
2305 | </trans-unit> | ||
2306 | <trans-unit id="edeaa933b09690523e46977e11064e9c655d77d7"> | ||
2307 | <source>Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. | ||
2308 | </source> | ||
2309 | <target>無法擷取 OAuth 客戶端憑證:<x id="INTERPOLATION" equiv-text="{{errorText}}"/>。 | ||
2310 | </target> | ||
2311 | <context-group name="null"> | ||
2312 | <context context-type="linenumber">1</context> | ||
2313 | </context-group> | ||
2314 | </trans-unit> | ||
2315 | <trans-unit id="8d9b4f4b69108c3c9aa0f3b0dbde87786ba9b319"> | ||
2316 | <source>Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section.</source> | ||
2317 | <target>確保您已正在設定 PeerTube(設定/目錄),在對應的 "webserver" 小節。</target> | ||
2318 | <context-group name="null"> | ||
2319 | <context context-type="linenumber">1</context> | ||
2320 | </context-group> | ||
2321 | </trans-unit> | ||
2322 | <trans-unit id="e31bbf15d6ba5c7c0f17f89a98029cff0bd40b87"> | ||
2323 | <source>You need to reconnect.</source> | ||
2324 | <target>您需要重新連線。</target> | ||
2325 | <context-group name="null"> | ||
2326 | <context context-type="linenumber">1</context> | ||
2327 | </context-group> | ||
2328 | </trans-unit> | ||
2329 | <trans-unit id="68e710782ccb5398b3acb8844caf0b199da2c3da"> | ||
2330 | <source>Confirm</source> | ||
2331 | <target>確認</target> | ||
2332 | <context-group name="null"> | ||
2333 | <context context-type="linenumber">1</context> | ||
2334 | </context-group> | ||
2335 | </trans-unit> | ||
2336 | <trans-unit id="ccbf0490fb6b60d21e03bb2c9003df0ce1a58752"> | ||
2337 | <source>Unable to find user id or verification string.</source> | ||
2338 | <target>找不到使用者 id 或驗證字串。</target> | ||
2339 | <context-group name="null"> | ||
2340 | <context context-type="linenumber">1</context> | ||
2341 | </context-group> | ||
2342 | </trans-unit> | ||
2343 | <trans-unit id="b0f24b7136e551a0deba831f1525711245b31a26"> | ||
2344 | <source>Your password has been successfully reset!</source> | ||
2345 | <target>您的密碼已成功重設!</target> | ||
2346 | <context-group name="null"> | ||
2347 | <context context-type="linenumber">1</context> | ||
2348 | </context-group> | ||
2349 | </trans-unit> | ||
2350 | <trans-unit id="7fb1099e29660162f9154d5b2feee7743a423df6"> | ||
2351 | <source>Today</source> | ||
2352 | <target>今天</target> | ||
2353 | <context-group name="null"> | ||
2354 | <context context-type="linenumber">1</context> | ||
2355 | </context-group> | ||
2356 | </trans-unit> | ||
2357 | <trans-unit id="7e892ba15f2c6c17e83510e273b3e10fc32ea016"> | ||
2358 | <source>Search</source> | ||
2359 | <target>搜尋</target> | ||
2360 | <context-group name="null"> | ||
2361 | <context context-type="linenumber">1</context> | ||
2362 | </context-group> | ||
2363 | </trans-unit> | ||
2364 | <trans-unit id="b67c8e57904c67c4566610363b7f82c748d04323"> | ||
2365 | <source>Instance name is required.</source> | ||
2366 | <target>實體名稱必填。</target> | ||
2367 | <context-group name="null"> | ||
2368 | <context context-type="linenumber">1</context> | ||
2369 | </context-group> | ||
2370 | </trans-unit> | ||
2371 | <trans-unit id="10a248adb1ee12830355a04ac3cde2bad2d41d7d"> | ||
2372 | <source>Short description should not be longer than 250 characters.</source> | ||
2373 | <target>不長於 250 個字元的簡短描述。</target> | ||
2374 | <context-group name="null"> | ||
2375 | <context context-type="linenumber">1</context> | ||
2376 | </context-group> | ||
2377 | </trans-unit> | ||
2378 | <trans-unit id="356e63270712273da168072ec0fc78a969919bf1"> | ||
2379 | <source>Twitter username is required.</source> | ||
2380 | <target>Twitter 使用者名稱必填。</target> | ||
2381 | <context-group name="null"> | ||
2382 | <context context-type="linenumber">1</context> | ||
2383 | </context-group> | ||
2384 | </trans-unit> | ||
2385 | <trans-unit id="dbb2ef02020afc05e146855f2e1dd7c9522d49b6"> | ||
2386 | <source>Previews cache size is required.</source> | ||
2387 | <target>預覽快取大小必填。</target> | ||
2388 | <context-group name="null"> | ||
2389 | <context context-type="linenumber">1</context> | ||
2390 | </context-group> | ||
2391 | </trans-unit> | ||
2392 | <trans-unit id="97836c6e698185b4ce357de9d4b2ab3e838f2459"> | ||
2393 | <source>Previews cache size must be greater than 1.</source> | ||
2394 | <target>預覽快取大小必須大於 1。</target> | ||
2395 | <context-group name="null"> | ||
2396 | <context context-type="linenumber">1</context> | ||
2397 | </context-group> | ||
2398 | </trans-unit> | ||
2399 | <trans-unit id="e7393dc4a4aa12d005582eb9e1ddc7e5ca5bebd3"> | ||
2400 | <source>Previews cache size must be a number.</source> | ||
2401 | <target>預覽快取大小必須為數字。</target> | ||
2402 | <context-group name="null"> | ||
2403 | <context context-type="linenumber">1</context> | ||
2404 | </context-group> | ||
2405 | </trans-unit> | ||
2406 | <trans-unit id="2cdd5a8c604ef16c2f9a17ed81d73f4f9509e828"> | ||
2407 | <source>Signup limit is required.</source> | ||
2408 | <target>註冊限制必填。</target> | ||
2409 | <context-group name="null"> | ||
2410 | <context context-type="linenumber">1</context> | ||
2411 | </context-group> | ||
2412 | </trans-unit> | ||
2413 | <trans-unit id="0ca9f7ec55c9896add6e82d2b52e9217e1140cf7"> | ||
2414 | <source>Signup limit must be greater than 1.</source> | ||
2415 | <target>註冊限制必須大於 1。</target> | ||
2416 | <context-group name="null"> | ||
2417 | <context context-type="linenumber">1</context> | ||
2418 | </context-group> | ||
2419 | </trans-unit> | ||
2420 | <trans-unit id="58c2f66ba74f1400914031ef4ed635938e9e8ced"> | ||
2421 | <source>Signup limit must be a number.</source> | ||
2422 | <target>註冊限制必須為數字。</target> | ||
2423 | <context-group name="null"> | ||
2424 | <context context-type="linenumber">1</context> | ||
2425 | </context-group> | ||
2426 | </trans-unit> | ||
2427 | <trans-unit id="1245841647f9b42d3e7554903c1c50bdd80ab021"> | ||
2428 | <source>Admin email is required.</source> | ||
2429 | <target>管理員電子郵件必填。</target> | ||
2430 | <context-group name="null"> | ||
2431 | <context context-type="linenumber">1</context> | ||
2432 | </context-group> | ||
2433 | </trans-unit> | ||
2434 | <trans-unit id="3fd2feb77dfe57fe82573e3cdf996105e2fafc66"> | ||
2435 | <source>Admin email must be valid.</source> | ||
2436 | <target>管理員電子郵件必須有效。</target> | ||
2437 | <context-group name="null"> | ||
2438 | <context context-type="linenumber">1</context> | ||
2439 | </context-group> | ||
2440 | </trans-unit> | ||
2441 | <trans-unit id="f15f2e02b1f6a96553e98ea4a969045d17ec1400"> | ||
2442 | <source>Transcoding threads is required.</source> | ||
2443 | <target>轉換編碼執行緒必填。</target> | ||
2444 | <context-group name="null"> | ||
2445 | <context context-type="linenumber">1</context> | ||
2446 | </context-group> | ||
2447 | </trans-unit> | ||
2448 | <trans-unit id="ba88636d27c1a6a7e1f75ff57ec182b30b851c2e"> | ||
2449 | <source>Transcoding threads must be greater than 1.</source> | ||
2450 | <target>轉換編碼執行緒必須大於 1。</target> | ||
2451 | <context-group name="null"> | ||
2452 | <context context-type="linenumber">1</context> | ||
2453 | </context-group> | ||
2454 | </trans-unit> | ||
2455 | <trans-unit id="5db300f6fba918a35597160183205ede13e8e149"> | ||
2456 | <source>Username is required.</source> | ||
2457 | <target>使用者名稱必填。</target> | ||
2458 | <context-group name="null"> | ||
2459 | <context context-type="linenumber">1</context> | ||
2460 | </context-group> | ||
2461 | </trans-unit> | ||
2462 | <trans-unit id="4eb39d69b74d7a56652ec84fa6826994ee26c0e5"> | ||
2463 | <source>Password is required.</source> | ||
2464 | <target>密碼必填。</target> | ||
2465 | <context-group name="null"> | ||
2466 | <context context-type="linenumber">1</context> | ||
2467 | </context-group> | ||
2468 | </trans-unit> | ||
2469 | <trans-unit id="c90872a06666a51c2957c4b29724e68df5c67154"> | ||
2470 | <source>Confirmation of the password is required.</source> | ||
2471 | <target>確認密碼必填。</target> | ||
2472 | <context-group name="null"> | ||
2473 | <context context-type="linenumber">1</context> | ||
2474 | </context-group> | ||
2475 | </trans-unit> | ||
2476 | <trans-unit id="05ad6b99d9bf7b51968aa0b0b939e8627a329bea"> | ||
2477 | <source>Username must be at least 3 characters long.</source> | ||
2478 | <target>使用者名稱必須至少 3 個字元長。</target> | ||
2479 | <context-group name="null"> | ||
2480 | <context context-type="linenumber">1</context> | ||
2481 | </context-group> | ||
2482 | </trans-unit> | ||
2483 | <trans-unit id="d4b11fd0ddeea39b33f911d3aac1e82799cdaaef"> | ||
2484 | <source>Username cannot be more than 20 characters long.</source> | ||
2485 | <target>使用者名稱不能多於 20 個字元。</target> | ||
2486 | <context-group name="null"> | ||
2487 | <context context-type="linenumber">1</context> | ||
2488 | </context-group> | ||
2489 | </trans-unit> | ||
2490 | <trans-unit id="5acbe0aa7a7157b1f09057a98ba01ab578a303a9"> | ||
2491 | <source>Username should be only lowercase alphanumeric characters.</source> | ||
2492 | <target>使用者名稱應該僅有小寫英數字元。</target> | ||
2493 | <context-group name="null"> | ||
2494 | <context context-type="linenumber">1</context> | ||
2495 | </context-group> | ||
2496 | </trans-unit> | ||
2497 | <trans-unit id="b6f52e19f074f77866fa03fabe1ddd5cdae346f0"> | ||
2498 | <source>Email is required.</source> | ||
2499 | <target>電子郵件必填。</target> | ||
2500 | <context-group name="null"> | ||
2501 | <context context-type="linenumber">1</context> | ||
2502 | </context-group> | ||
2503 | </trans-unit> | ||
2504 | <trans-unit id="bef8a36c3dffff15fb5faf3d20bdbbbc1af824c1"> | ||
2505 | <source>Email must be valid.</source> | ||
2506 | <target>電子郵件必須為有效電子郵件。</target> | ||
2507 | <context-group name="null"> | ||
2508 | <context context-type="linenumber">1</context> | ||
2509 | </context-group> | ||
2510 | </trans-unit> | ||
2511 | <trans-unit id="1fe26e49476ac701885abc59127e96a3760847f0"> | ||
2512 | <source>Password must be at least 6 characters long.</source> | ||
2513 | <target>密碼必須至少 6 個字元長。</target> | ||
2514 | <context-group name="null"> | ||
2515 | <context context-type="linenumber">1</context> | ||
2516 | </context-group> | ||
2517 | </trans-unit> | ||
2518 | <trans-unit id="0a154031f3e66985af96d5f903441cf84f0dc75e"> | ||
2519 | <source>Password cannot be more than 255 characters long.</source> | ||
2520 | <target>密碼不能多於 255 個字元。</target> | ||
2521 | <context-group name="null"> | ||
2522 | <context context-type="linenumber">1</context> | ||
2523 | </context-group> | ||
2524 | </trans-unit> | ||
2525 | <trans-unit id="abede840116d58f04a55d99a6cbd68da8a3e1bbf"> | ||
2526 | <source>Video quota is required.</source> | ||
2527 | <target>影片配額必填。</target> | ||
2528 | <context-group name="null"> | ||
2529 | <context context-type="linenumber">1</context> | ||
2530 | </context-group> | ||
2531 | </trans-unit> | ||
2532 | <trans-unit id="93a6dc1d3aa0d3201c86ef1ec8adf5cf0ada3c80"> | ||
2533 | <source>Quota must be greater than -1.</source> | ||
2534 | <target>配額必須大於 -1。</target> | ||
2535 | <context-group name="null"> | ||
2536 | <context context-type="linenumber">1</context> | ||
2537 | </context-group> | ||
2538 | </trans-unit> | ||
2539 | <trans-unit id="545e77fd5d9526228a2133109447c23225ed9c85"> | ||
2540 | <source>User role is required.</source> | ||
2541 | <target>使用者角色必填。</target> | ||
2542 | <context-group name="null"> | ||
2543 | <context context-type="linenumber">1</context> | ||
2544 | </context-group> | ||
2545 | </trans-unit> | ||
2546 | <trans-unit id="1c417b7aef730d6ef5d62fa8a0a7e25e3a2393e4"> | ||
2547 | <source>Display name is required.</source> | ||
2548 | <target>顯示名稱必填。</target> | ||
2549 | <context-group name="null"> | ||
2550 | <context context-type="linenumber">1</context> | ||
2551 | </context-group> | ||
2552 | </trans-unit> | ||
2553 | <trans-unit id="bdeb1a8e69e137572df795d64120ea85069b7674"> | ||
2554 | <source>Display name must be at least 3 characters long.</source> | ||
2555 | <target>顯示名稱必須至少 3 個字元長。</target> | ||
2556 | <context-group name="null"> | ||
2557 | <context context-type="linenumber">1</context> | ||
2558 | </context-group> | ||
2559 | </trans-unit> | ||
2560 | <trans-unit id="e81bda510399d52f26a44a15c3dbf4d6205d90a9"> | ||
2561 | <source>Display name cannot be more than 120 characters long.</source> | ||
2562 | <target>顯示名稱不能多於 120 個字元。</target> | ||
2563 | <context-group name="null"> | ||
2564 | <context context-type="linenumber">1</context> | ||
2565 | </context-group> | ||
2566 | </trans-unit> | ||
2567 | <trans-unit id="d531c2261dc0c2739bd7cbb2bb175946b7eeb3ae"> | ||
2568 | <source>Description must be at least 3 characters long.</source> | ||
2569 | <target>描述必須至少 3 個字元長。</target> | ||
2570 | <context-group name="null"> | ||
2571 | <context context-type="linenumber">1</context> | ||
2572 | </context-group> | ||
2573 | </trans-unit> | ||
2574 | <trans-unit id="916a6e4fd83ece1dc54c6135eb3b8cd064b4bac3"> | ||
2575 | <source>Description cannot be more than 250 characters long.</source> | ||
2576 | <target>描述不能多於 250 個字元。</target> | ||
2577 | <context-group name="null"> | ||
2578 | <context context-type="linenumber">1</context> | ||
2579 | </context-group> | ||
2580 | </trans-unit> | ||
2581 | <trans-unit id="b3cf1889d2fdd6b15e697c270c9b80772fe2cae6"> | ||
2582 | <source>Report reason is required.</source> | ||
2583 | <target>回報理由必填。</target> | ||
2584 | <context-group name="null"> | ||
2585 | <context context-type="linenumber">1</context> | ||
2586 | </context-group> | ||
2587 | </trans-unit> | ||
2588 | <trans-unit id="993f9f5703d449a1d467243db75253d288a2947e"> | ||
2589 | <source>Report reason must be at least 2 characters long.</source> | ||
2590 | <target>回報理由必須至少 2 個字元長。</target> | ||
2591 | <context-group name="null"> | ||
2592 | <context context-type="linenumber">1</context> | ||
2593 | </context-group> | ||
2594 | </trans-unit> | ||
2595 | <trans-unit id="7de2178ed1036844fb1c3ad8b7899a039fcdcdb9"> | ||
2596 | <source>Report reason cannot be more than 300 characters long.</source> | ||
2597 | <target>回報理由不能多於 300 個字元。</target> | ||
2598 | <context-group name="null"> | ||
2599 | <context context-type="linenumber">1</context> | ||
2600 | </context-group> | ||
2601 | </trans-unit> | ||
2602 | <trans-unit id="fac936be125163a8494f3d7e7f21d65c7e4f1ff6"> | ||
2603 | <source>Description cannot be more than 500 characters long.</source> | ||
2604 | <target>描述不能多於 500 個字元。</target> | ||
2605 | <context-group name="null"> | ||
2606 | <context context-type="linenumber">1</context> | ||
2607 | </context-group> | ||
2608 | </trans-unit> | ||
2609 | <trans-unit id="e7182e21e9566cc81c83f92727461322f71fd69b"> | ||
2610 | <source>Support text must be at least 3 characters long.</source> | ||
2611 | <target>支援文字必須至少 3 個字元長。</target> | ||
2612 | <context-group name="null"> | ||
2613 | <context context-type="linenumber">1</context> | ||
2614 | </context-group> | ||
2615 | </trans-unit> | ||
2616 | <trans-unit id="3fe80c71378e127dda2dda9dbcd66b059d362813"> | ||
2617 | <source>Support text cannot be more than 500 characters long.</source> | ||
2618 | <target>支援文字不能多於 500 個字元。</target> | ||
2619 | <context-group name="null"> | ||
2620 | <context context-type="linenumber">1</context> | ||
2621 | </context-group> | ||
2622 | </trans-unit> | ||
2623 | <trans-unit id="6ca60e0f6dfbc0073b0514bce7d273150b0b9e79"> | ||
2624 | <source>Comment is required.</source> | ||
2625 | <target>評論為必填。</target> | ||
2626 | <context-group name="null"> | ||
2627 | <context context-type="linenumber">1</context> | ||
2628 | </context-group> | ||
2629 | </trans-unit> | ||
2630 | <trans-unit id="f5a94cae76685e72f33541b977efdd7845cb0ed6"> | ||
2631 | <source>Comment must be at least 2 characters long.</source> | ||
2632 | <target>評論必須至少 2 個字元長。</target> | ||
2633 | <context-group name="null"> | ||
2634 | <context context-type="linenumber">1</context> | ||
2635 | </context-group> | ||
2636 | </trans-unit> | ||
2637 | <trans-unit id="7c194080446ee6901fd17a8b8648534ffe98b123"> | ||
2638 | <source>Comment cannot be more than 3000 characters long.</source> | ||
2639 | <target>評論不能多於 3000 個字元。</target> | ||
2640 | <context-group name="null"> | ||
2641 | <context context-type="linenumber">1</context> | ||
2642 | </context-group> | ||
2643 | </trans-unit> | ||
2644 | <trans-unit id="cdc51eaeab88683610a28af8645cf91d136b39e1"> | ||
2645 | <source>Video name is required.</source> | ||
2646 | <target>影片名稱為必填。</target> | ||
2647 | <context-group name="null"> | ||
2648 | <context context-type="linenumber">1</context> | ||
2649 | </context-group> | ||
2650 | </trans-unit> | ||
2651 | <trans-unit id="c27cc734f76efd221663921dd0898ea7c8bcbb5c"> | ||
2652 | <source>Video name must be at least 3 characters long.</source> | ||
2653 | <target>影片名稱必須至少 3 個字元長。</target> | ||
2654 | <context-group name="null"> | ||
2655 | <context context-type="linenumber">1</context> | ||
2656 | </context-group> | ||
2657 | </trans-unit> | ||
2658 | <trans-unit id="0320d0f7f8eec2341e27ca53d7875217a3d99695"> | ||
2659 | <source>Video name cannot be more than 120 characters long.</source> | ||
2660 | <target>影片名稱不能多於 120 個字元長。</target> | ||
2661 | <context-group name="null"> | ||
2662 | <context context-type="linenumber">1</context> | ||
2663 | </context-group> | ||
2664 | </trans-unit> | ||
2665 | <trans-unit id="a627c58cf1849d7d838696e7f36c1bae1a8b31a4"> | ||
2666 | <source>Video privacy is required.</source> | ||
2667 | <target>影片隱私為必填。</target> | ||
2668 | <context-group name="null"> | ||
2669 | <context context-type="linenumber">1</context> | ||
2670 | </context-group> | ||
2671 | </trans-unit> | ||
2672 | <trans-unit id="97afb789c1ab09074495d49aaadb92a1c3e71a16"> | ||
2673 | <source>Video channel is required.</source> | ||
2674 | <target>影片頻道為必填。</target> | ||
2675 | <context-group name="null"> | ||
2676 | <context context-type="linenumber">1</context> | ||
2677 | </context-group> | ||
2678 | </trans-unit> | ||
2679 | <trans-unit id="af5e2d5f3ac817c735fb7ff9ca16322789f66fef"> | ||
2680 | <source>Video description must be at least 3 characters long.</source> | ||
2681 | <target>影片描述必須至少 3 個字元長。</target> | ||
2682 | <context-group name="null"> | ||
2683 | <context context-type="linenumber">1</context> | ||
2684 | </context-group> | ||
2685 | </trans-unit> | ||
2686 | <trans-unit id="ce28a9403c2d7e5da2e59af27118f8b6d109e906"> | ||
2687 | <source>Video description cannot be more than 10000 characters long.</source> | ||
2688 | <target>影片描述不能多於 10000 個字元。</target> | ||
2689 | <context-group name="null"> | ||
2690 | <context context-type="linenumber">1</context> | ||
2691 | </context-group> | ||
2692 | </trans-unit> | ||
2693 | <trans-unit id="f1cffdc2e156716cd9880201d65ba457d11464f8"> | ||
2694 | <source>A tag should be more than 2 characters long.</source> | ||
2695 | <target>標籤應該至少 2 個字元長。</target> | ||
2696 | <context-group name="null"> | ||
2697 | <context context-type="linenumber">1</context> | ||
2698 | </context-group> | ||
2699 | </trans-unit> | ||
2700 | <trans-unit id="34a0811f9a2a7366cc9efcdad52ea59b105326ea"> | ||
2701 | <source>A tag should be less than 30 characters long.</source> | ||
2702 | <target>標籤應該少於 30 個字元。</target> | ||
2703 | <context-group name="null"> | ||
2704 | <context context-type="linenumber">1</context> | ||
2705 | </context-group> | ||
2706 | </trans-unit> | ||
2707 | <trans-unit id="665092574f9af9fec262f8349b67b14192391ae6"> | ||
2708 | <source>Video support must be at least 3 characters long.</source> | ||
2709 | <target>影片支援必須至少 3 個字元長。</target> | ||
2710 | <context-group name="null"> | ||
2711 | <context context-type="linenumber">1</context> | ||
2712 | </context-group> | ||
2713 | </trans-unit> | ||
2714 | <trans-unit id="e61f1c05121fa5effa6ccddf5be6dcf1c822ff4b"> | ||
2715 | <source>Video support cannot be more than 500 characters long.</source> | ||
2716 | <target>影片支援不能多於 500 個字元長。</target> | ||
2717 | <context-group name="null"> | ||
2718 | <context context-type="linenumber">1</context> | ||
2719 | </context-group> | ||
2720 | </trans-unit> | ||
2721 | <trans-unit id="453413bf387dea681958871319bab489dd5e6ec0"> | ||
2722 | <source>A date is required to schedule video update.</source> | ||
2723 | <target>日期為排定影片更新必填。</target> | ||
2724 | <context-group name="null"> | ||
2725 | <context context-type="linenumber">1</context> | ||
2726 | </context-group> | ||
2727 | </trans-unit> | ||
2728 | <trans-unit id="0bf41abaa85526711f7952b4600e4044bc7f04a4"> | ||
2729 | <source>All unsaved data will be lost, are you sure you want to leave this page?</source> | ||
2730 | <target>所有未儲存的資料都將會遺失,您確定您想要離開此頁面嗎?</target> | ||
2731 | <context-group name="null"> | ||
2732 | <context context-type="linenumber">1</context> | ||
2733 | </context-group> | ||
2734 | </trans-unit> | ||
2735 | <trans-unit id="a8059e31694578c1b0344a76a345357dd60e8f01"> | ||
2736 | <source>Warning</source> | ||
2737 | <target>警告</target> | ||
2738 | <context-group name="null"> | ||
2739 | <context context-type="linenumber">1</context> | ||
2740 | </context-group> | ||
2741 | </trans-unit> | ||
2742 | <trans-unit id="8339364b054610983b7f2334bb807fff7613bddf"> | ||
2743 | <source>Sunday</source> | ||
2744 | <target>星期天</target> | ||
2745 | <context-group name="null"> | ||
2746 | <context context-type="linenumber">1</context> | ||
2747 | </context-group> | ||
2748 | </trans-unit> | ||
2749 | <trans-unit id="a43c57a7cbebf57eb33a2eae5e994c91d9887596"> | ||
2750 | <source>Monday</source> | ||
2751 | <target>星期一</target> | ||
2752 | <context-group name="null"> | ||
2753 | <context context-type="linenumber">1</context> | ||
2754 | </context-group> | ||
2755 | </trans-unit> | ||
2756 | <trans-unit id="48a2a35957ce394eb2c59ae35c99642360af70ee"> | ||
2757 | <source>Tuesday</source> | ||
2758 | <target>星期二</target> | ||
2759 | <context-group name="null"> | ||
2760 | <context context-type="linenumber">1</context> | ||
2761 | </context-group> | ||
2762 | </trans-unit> | ||
2763 | <trans-unit id="b0af441f9ba8b82952b9ec10fb8c62e8fec67df9"> | ||
2764 | <source>Wednesday</source> | ||
2765 | <target>星期三</target> | ||
2766 | <context-group name="null"> | ||
2767 | <context context-type="linenumber">1</context> | ||
2768 | </context-group> | ||
2769 | </trans-unit> | ||
2770 | <trans-unit id="55c583b99c809818ec27df065ccf05357a6ac10b"> | ||
2771 | <source>Thursday</source> | ||
2772 | <target>星期四</target> | ||
2773 | <context-group name="null"> | ||
2774 | <context context-type="linenumber">1</context> | ||
2775 | </context-group> | ||
2776 | </trans-unit> | ||
2777 | <trans-unit id="e91b54925dc5f490753f60f53ef6f8b4609e6215"> | ||
2778 | <source>Friday</source> | ||
2779 | <target>星期五</target> | ||
2780 | <context-group name="null"> | ||
2781 | <context context-type="linenumber">1</context> | ||
2782 | </context-group> | ||
2783 | </trans-unit> | ||
2784 | <trans-unit id="c0d2dd391a3eca8e841a5d0e035cd268280eb68e"> | ||
2785 | <source>Saturday</source> | ||
2786 | <target>星期六</target> | ||
2787 | <context-group name="null"> | ||
2788 | <context context-type="linenumber">1</context> | ||
2789 | </context-group> | ||
2790 | </trans-unit> | ||
2791 | <trans-unit id="6549890cd0d6b59fb0e1aa383b00483a68a55eef"> | ||
2792 | <source>Sun</source> | ||
2793 | <target>Sun</target> | ||
2794 | <context-group name="null"> | ||
2795 | <context context-type="linenumber">1</context> | ||
2796 | </context-group> | ||
2797 | </trans-unit> | ||
2798 | <trans-unit id="3382aa5d7f520e197fb59a4995fe1beffca2d0ff"> | ||
2799 | <source>Mon</source> | ||
2800 | <target>Mon</target> | ||
2801 | <context-group name="null"> | ||
2802 | <context context-type="linenumber">1</context> | ||
2803 | </context-group> | ||
2804 | </trans-unit> | ||
2805 | <trans-unit id="f883ec926274974df0fc46c037cbffd6a863ebc9"> | ||
2806 | <source>Tue</source> | ||
2807 | <target>Tue</target> | ||
2808 | <context-group name="null"> | ||
2809 | <context context-type="linenumber">1</context> | ||
2810 | </context-group> | ||
2811 | </trans-unit> | ||
2812 | <trans-unit id="242b4f4b5651e24f9a9007ef153a57981e4b989d"> | ||
2813 | <source>Wed</source> | ||
2814 | <target>Wed</target> | ||
2815 | <context-group name="null"> | ||
2816 | <context context-type="linenumber">1</context> | ||
2817 | </context-group> | ||
2818 | </trans-unit> | ||
2819 | <trans-unit id="5a2c39d56b8f00a6a4670a63b53caacbda953be6"> | ||
2820 | <source>Thu</source> | ||
2821 | <target>Thu</target> | ||
2822 | <context-group name="null"> | ||
2823 | <context context-type="linenumber">1</context> | ||
2824 | </context-group> | ||
2825 | </trans-unit> | ||
2826 | <trans-unit id="4cdf23d523a0e52e0dec9cd650ffd9bd6952792c"> | ||
2827 | <source>Fri</source> | ||
2828 | <target>Fri</target> | ||
2829 | <context-group name="null"> | ||
2830 | <context context-type="linenumber">1</context> | ||
2831 | </context-group> | ||
2832 | </trans-unit> | ||
2833 | <trans-unit id="1283d165a942d7f4c469ba34f99dbb9e927d0261"> | ||
2834 | <source>Sat</source> | ||
2835 | <target>Sat</target> | ||
2836 | <context-group name="null"> | ||
2837 | <context context-type="linenumber">1</context> | ||
2838 | </context-group> | ||
2839 | </trans-unit> | ||
2840 | <trans-unit id="2fba8448ff13105c57665a9a6ffcfe9615d855dd"> | ||
2841 | <source>Su</source> | ||
2842 | <target>Su</target> | ||
2843 | <context-group name="null"> | ||
2844 | <context context-type="linenumber">1</context> | ||
2845 | </context-group> | ||
2846 | </trans-unit> | ||
2847 | <trans-unit id="388144af7ac7651d2615b9be0e84f43ae71d9fb3"> | ||
2848 | <source>Mo</source> | ||
2849 | <target>Mo</target> | ||
2850 | <context-group name="null"> | ||
2851 | <context context-type="linenumber">1</context> | ||
2852 | </context-group> | ||
2853 | </trans-unit> | ||
2854 | <trans-unit id="d96313e42b5f0751ce2676a31d309b4d322ab462"> | ||
2855 | <source>Tu</source> | ||
2856 | <target>Tu</target> | ||
2857 | <context-group name="null"> | ||
2858 | <context context-type="linenumber">1</context> | ||
2859 | </context-group> | ||
2860 | </trans-unit> | ||
2861 | <trans-unit id="06cc3d39f78c0615b707cef39cd4875599611fef"> | ||
2862 | <source>We</source> | ||
2863 | <target>We</target> | ||
2864 | <context-group name="null"> | ||
2865 | <context context-type="linenumber">1</context> | ||
2866 | </context-group> | ||
2867 | </trans-unit> | ||
2868 | <trans-unit id="790894436cca9d675d59be9a8aafd58acccde2cd"> | ||
2869 | <source>Th</source> | ||
2870 | <target>Th</target> | ||
2871 | <context-group name="null"> | ||
2872 | <context context-type="linenumber">1</context> | ||
2873 | </context-group> | ||
2874 | </trans-unit> | ||
2875 | <trans-unit id="42dfe37169f8471367c31489155229bbe1747ea5"> | ||
2876 | <source>Fr</source> | ||
2877 | <target>Fr</target> | ||
2878 | <context-group name="null"> | ||
2879 | <context context-type="linenumber">1</context> | ||
2880 | </context-group> | ||
2881 | </trans-unit> | ||
2882 | <trans-unit id="1b64ea3e04ceeb512e8974eb0019dee4f211c7a0"> | ||
2883 | <source>Sa</source> | ||
2884 | <target>Sa</target> | ||
2885 | <context-group name="null"> | ||
2886 | <context context-type="linenumber">1</context> | ||
2887 | </context-group> | ||
2888 | </trans-unit> | ||
2889 | <trans-unit id="e7815f1c4a6d3cc157a16407a48865023cc35ec0"> | ||
2890 | <source>January</source> | ||
2891 | <target>一月</target> | ||
2892 | <context-group name="null"> | ||
2893 | <context context-type="linenumber">1</context> | ||
2894 | </context-group> | ||
2895 | </trans-unit> | ||
2896 | <trans-unit id="0393a96b58df82af39a2ec83deec624749e42036"> | ||
2897 | <source>February</source> | ||
2898 | <target>二月</target> | ||
2899 | <context-group name="null"> | ||
2900 | <context context-type="linenumber">1</context> | ||
2901 | </context-group> | ||
2902 | </trans-unit> | ||
2903 | <trans-unit id="ea41ee3743ec5bdbbf863ab793bbdd6e6d9af96e"> | ||
2904 | <source>March</source> | ||
2905 | <target>三月</target> | ||
2906 | <context-group name="null"> | ||
2907 | <context context-type="linenumber">1</context> | ||
2908 | </context-group> | ||
2909 | </trans-unit> | ||
2910 | <trans-unit id="b87ee784d9e93b5557aca9bdc9464dbd4328920a"> | ||
2911 | <source>April</source> | ||
2912 | <target>四月</target> | ||
2913 | <context-group name="null"> | ||
2914 | <context context-type="linenumber">1</context> | ||
2915 | </context-group> | ||
2916 | </trans-unit> | ||
2917 | <trans-unit id="862da1034ac2707cc44123ed963b2f42109b6b3e"> | ||
2918 | <source>May</source> | ||
2919 | <target>五月</target> | ||
2920 | <context-group name="null"> | ||
2921 | <context context-type="linenumber">1</context> | ||
2922 | </context-group> | ||
2923 | </trans-unit> | ||
2924 | <trans-unit id="2f234249d4c3c39e27c0f05d4a6b73a7959caeb2"> | ||
2925 | <source>June</source> | ||
2926 | <target>六月</target> | ||
2927 | <context-group name="null"> | ||
2928 | <context context-type="linenumber">1</context> | ||
2929 | </context-group> | ||
2930 | </trans-unit> | ||
2931 | <trans-unit id="11447f95e83c8de675ab6c492150f88e4d9bd15e"> | ||
2932 | <source>July</source> | ||
2933 | <target>七月</target> | ||
2934 | <context-group name="null"> | ||
2935 | <context context-type="linenumber">1</context> | ||
2936 | </context-group> | ||
2937 | </trans-unit> | ||
2938 | <trans-unit id="ddd9a3d59a8db4e822e54e9473c05b571aca9829"> | ||
2939 | <source>August</source> | ||
2940 | <target>八月</target> | ||
2941 | <context-group name="null"> | ||
2942 | <context context-type="linenumber">1</context> | ||
2943 | </context-group> | ||
2944 | </trans-unit> | ||
2945 | <trans-unit id="e21dc41f9b3fdaf35ab6b2d9e2e5e8a926fb1938"> | ||
2946 | <source>September</source> | ||
2947 | <target>九月</target> | ||
2948 | <context-group name="null"> | ||
2949 | <context context-type="linenumber">1</context> | ||
2950 | </context-group> | ||
2951 | </trans-unit> | ||
2952 | <trans-unit id="71f49c502d13e22079a958a5532afa28dbe98b3b"> | ||
2953 | <source>October</source> | ||
2954 | <target>十月</target> | ||
2955 | <context-group name="null"> | ||
2956 | <context context-type="linenumber">1</context> | ||
2957 | </context-group> | ||
2958 | </trans-unit> | ||
2959 | <trans-unit id="64b5ce921faa5e3d277d6d528ddcfc8c2bfe9f52"> | ||
2960 | <source>November</source> | ||
2961 | <target>十一月</target> | ||
2962 | <context-group name="null"> | ||
2963 | <context context-type="linenumber">1</context> | ||
2964 | </context-group> | ||
2965 | </trans-unit> | ||
2966 | <trans-unit id="2006e2aabb31714ebc684dc382539649f690ed5c"> | ||
2967 | <source>December</source> | ||
2968 | <target>十二月</target> | ||
2969 | <context-group name="null"> | ||
2970 | <context context-type="linenumber">1</context> | ||
2971 | </context-group> | ||
2972 | </trans-unit> | ||
2973 | <trans-unit id="8270e687cfb5624b3f6fbb7991a2e916c96464b7"> | ||
2974 | <source>Jan</source> | ||
2975 | <target>Jan</target> | ||
2976 | <context-group name="null"> | ||
2977 | <context context-type="linenumber">1</context> | ||
2978 | </context-group> | ||
2979 | </trans-unit> | ||
2980 | <trans-unit id="23544170afbb981dd52750b641576841cf5dcf60"> | ||
2981 | <source>Feb</source> | ||
2982 | <target>Feb</target> | ||
2983 | <context-group name="null"> | ||
2984 | <context context-type="linenumber">1</context> | ||
2985 | </context-group> | ||
2986 | </trans-unit> | ||
2987 | <trans-unit id="1f14355742459b7d6a0126a1564e1c18f39f86e7"> | ||
2988 | <source>Mar</source> | ||
2989 | <target>Mar</target> | ||
2990 | <context-group name="null"> | ||
2991 | <context context-type="linenumber">1</context> | ||
2992 | </context-group> | ||
2993 | </trans-unit> | ||
2994 | <trans-unit id="964a5f032bc846d32806a4838580a4f81cf14463"> | ||
2995 | <source>Apr</source> | ||
2996 | <target>Apr</target> | ||
2997 | <context-group name="null"> | ||
2998 | <context context-type="linenumber">1</context> | ||
2999 | </context-group> | ||
3000 | </trans-unit> | ||
3001 | <trans-unit id="8f7274f606f71d9290ed01c5683092d701632d7f"> | ||
3002 | <source>Jun</source> | ||
3003 | <target>Jun</target> | ||
3004 | <context-group name="null"> | ||
3005 | <context context-type="linenumber">1</context> | ||
3006 | </context-group> | ||
3007 | </trans-unit> | ||
3008 | <trans-unit id="7c3d8318d6d8d9920ae0a80350616732c33a3211"> | ||
3009 | <source>Jul</source> | ||
3010 | <target>Jul</target> | ||
3011 | <context-group name="null"> | ||
3012 | <context context-type="linenumber">1</context> | ||
3013 | </context-group> | ||
3014 | </trans-unit> | ||
3015 | <trans-unit id="be1335ffd1c606321e2c020b638dd3c84b434212"> | ||
3016 | <source>Aug</source> | ||
3017 | <target>Aug</target> | ||
3018 | <context-group name="null"> | ||
3019 | <context context-type="linenumber">1</context> | ||
3020 | </context-group> | ||
3021 | </trans-unit> | ||
3022 | <trans-unit id="4f739d03be1c936c58978739c317d91566348204"> | ||
3023 | <source>Sep</source> | ||
3024 | <target>Sep</target> | ||
3025 | <context-group name="null"> | ||
3026 | <context context-type="linenumber">1</context> | ||
3027 | </context-group> | ||
3028 | </trans-unit> | ||
3029 | <trans-unit id="6607cacb987a588530a13de7018d959240d19153"> | ||
3030 | <source>Oct</source> | ||
3031 | <target>Oct</target> | ||
3032 | <context-group name="null"> | ||
3033 | <context context-type="linenumber">1</context> | ||
3034 | </context-group> | ||
3035 | </trans-unit> | ||
3036 | <trans-unit id="e597400ded12a366855615e18fcc8f9ac05b72e0"> | ||
3037 | <source>Nov</source> | ||
3038 | <target>Nov</target> | ||
3039 | <context-group name="null"> | ||
3040 | <context context-type="linenumber">1</context> | ||
3041 | </context-group> | ||
3042 | </trans-unit> | ||
3043 | <trans-unit id="adf2dfa2a9cb490d6a4a74510b7b0846b62d429e"> | ||
3044 | <source>Dec</source> | ||
3045 | <target>Dec</target> | ||
3046 | <context-group name="null"> | ||
3047 | <context context-type="linenumber">1</context> | ||
3048 | </context-group> | ||
3049 | </trans-unit> | ||
3050 | <trans-unit id="99ee4faa69cd2ea8e3678c1f557c0ff1f05aae46"> | ||
3051 | <source>Clear</source> | ||
3052 | <target>清除</target> | ||
3053 | <context-group name="null"> | ||
3054 | <context context-type="linenumber">1</context> | ||
3055 | </context-group> | ||
3056 | </trans-unit> | ||
3057 | <trans-unit id="8fb519ba47ea7806beeacdcd44829d85a2aa0cc5"> | ||
3058 | <source>yy-mm-dd </source> | ||
3059 | <target>yy-mm-dd </target> | ||
3060 | <context-group name="null"> | ||
3061 | <context context-type="linenumber">1</context> | ||
3062 | </context-group> | ||
3063 | </trans-unit> | ||
3064 | <trans-unit id="0b2054a863319d2cf59867addd125b6717cae41d"> | ||
3065 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago</source> | ||
3066 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 年前</target> | ||
3067 | <context-group name="null"> | ||
3068 | <context context-type="linenumber">1</context> | ||
3069 | </context-group> | ||
3070 | </trans-unit> | ||
3071 | <trans-unit id="e622d3813449fe36371ea258281059306819199d"> | ||
3072 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago</source> | ||
3073 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 個月前</target> | ||
3074 | <context-group name="null"> | ||
3075 | <context context-type="linenumber">1</context> | ||
3076 | </context-group> | ||
3077 | </trans-unit> | ||
3078 | <trans-unit id="2f8a5a5f7efb521d7d89dc659ff65dd13cb7b17b"> | ||
3079 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago</source> | ||
3080 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 個月前</target> | ||
3081 | <context-group name="null"> | ||
3082 | <context context-type="linenumber">1</context> | ||
3083 | </context-group> | ||
3084 | </trans-unit> | ||
3085 | <trans-unit id="1d1a46543a29096d3c6676be2d561380a0bc94e1"> | ||
3086 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago</source> | ||
3087 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 週前</target> | ||
3088 | <context-group name="null"> | ||
3089 | <context context-type="linenumber">1</context> | ||
3090 | </context-group> | ||
3091 | </trans-unit> | ||
3092 | <trans-unit id="e1db0b98b6cdf817508195f3649c48475c32ae7e"> | ||
3093 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago</source> | ||
3094 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 週前</target> | ||
3095 | <context-group name="null"> | ||
3096 | <context context-type="linenumber">1</context> | ||
3097 | </context-group> | ||
3098 | </trans-unit> | ||
3099 | <trans-unit id="a7654c3ece96e777527606f1c2870d6ee0b180f7"> | ||
3100 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago</source> | ||
3101 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 天前</target> | ||
3102 | <context-group name="null"> | ||
3103 | <context context-type="linenumber">1</context> | ||
3104 | </context-group> | ||
3105 | </trans-unit> | ||
3106 | <trans-unit id="5b465235ae55091d32535e23dd180c407f1352d1"> | ||
3107 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago</source> | ||
3108 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 天前</target> | ||
3109 | <context-group name="null"> | ||
3110 | <context context-type="linenumber">1</context> | ||
3111 | </context-group> | ||
3112 | </trans-unit> | ||
3113 | <trans-unit id="dc7addf53bd6405a9c746db6dfca665c33679a84"> | ||
3114 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago</source> | ||
3115 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 小時前</target> | ||
3116 | <context-group name="null"> | ||
3117 | <context context-type="linenumber">1</context> | ||
3118 | </context-group> | ||
3119 | </trans-unit> | ||
3120 | <trans-unit id="d54a610250ed38efccf0e3afdd0004f6ad83ea8d"> | ||
3121 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago</source> | ||
3122 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 小時前</target> | ||
3123 | <context-group name="null"> | ||
3124 | <context context-type="linenumber">1</context> | ||
3125 | </context-group> | ||
3126 | </trans-unit> | ||
3127 | <trans-unit id="9704e5e3adce178c127ead05f7057d3fb827308a"> | ||
3128 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago</source> | ||
3129 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 分鐘前</target> | ||
3130 | <context-group name="null"> | ||
3131 | <context context-type="linenumber">1</context> | ||
3132 | </context-group> | ||
3133 | </trans-unit> | ||
3134 | <trans-unit id="7a158a7555a44ea7eff9fa4988df9aa24d262ceb"> | ||
3135 | <source><x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago</source> | ||
3136 | <target><x id="INTERPOLATION" equiv-text="{{interval}}"/> 秒前</target> | ||
3137 | <context-group name="null"> | ||
3138 | <context context-type="linenumber">1</context> | ||
3139 | </context-group> | ||
3140 | </trans-unit> | ||
3141 | <trans-unit id="457f161d3ca706b8de263b0cd58e493d54e7d4c5"> | ||
3142 | <source><x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> compatible that supports:</source> | ||
3143 | <target><x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> 相容支援:</target> | ||
3144 | <context-group name="null"> | ||
3145 | <context context-type="linenumber">1</context> | ||
3146 | </context-group> | ||
3147 | </trans-unit> | ||
3148 | <trans-unit id="ab4426b60f13c00b61d6b714d390dc629f314980"> | ||
3149 | <source>Emphasis</source> | ||
3150 | <target>強調</target> | ||
3151 | <context-group name="null"> | ||
3152 | <context context-type="linenumber">1</context> | ||
3153 | </context-group> | ||
3154 | </trans-unit> | ||
3155 | <trans-unit id="dc60677d5a906e69f38a5cf9da7f2eb03931bea0"> | ||
3156 | <source>Links</source> | ||
3157 | <target>連結</target> | ||
3158 | <context-group name="null"> | ||
3159 | <context context-type="linenumber">1</context> | ||
3160 | </context-group> | ||
3161 | </trans-unit> | ||
3162 | <trans-unit id="80220239e07f36ea8d5f10118dc52ce4b13bc15a"> | ||
3163 | <source>New lines</source> | ||
3164 | <target>新行</target> | ||
3165 | <context-group name="null"> | ||
3166 | <context context-type="linenumber">1</context> | ||
3167 | </context-group> | ||
3168 | </trans-unit> | ||
3169 | <trans-unit id="b15e7bec5c7833d2d9634946ccbed68967b1bee1"> | ||
3170 | <source>Lists</source> | ||
3171 | <target>清單</target> | ||
3172 | <context-group name="null"> | ||
3173 | <context context-type="linenumber">1</context> | ||
3174 | </context-group> | ||
3175 | </trans-unit> | ||
3176 | <trans-unit id="b73f7f5060fb22a1e9ec462b1bb02493fa3ab866"> | ||
3177 | <source>Images</source> | ||
3178 | <target>圖片</target> | ||
3179 | <context-group name="null"> | ||
3180 | <context context-type="linenumber">1</context> | ||
3181 | </context-group> | ||
3182 | </trans-unit> | ||
3183 | <trans-unit id="0c0f5bbcd2386018ec057877f9d3c5c2c9880cac"> | ||
3184 | <source>Request is too large for the server. Please contact you administrator if you want to increase the limit size.</source> | ||
3185 | <target>請求對伺服器來說太大。若您想要增加限制大小,請聯絡您的管理員。</target> | ||
3186 | <context-group name="null"> | ||
3187 | <context context-type="linenumber">1</context> | ||
3188 | </context-group> | ||
3189 | </trans-unit> | ||
3190 | <trans-unit id="58546fd4d14b2d9635ce3d28c216ac68587bb25b"> | ||
3191 | <source>Too many attempts, please try again after <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutes.</source> | ||
3192 | <target>太多次嘗試,請在 <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> 分鐘後再試。</target> | ||
3193 | <context-group name="null"> | ||
3194 | <context context-type="linenumber">1</context> | ||
3195 | </context-group> | ||
3196 | </trans-unit> | ||
3197 | <trans-unit id="ab783a52f2df9ff7a20139cab0da6d0764f3cc5d"> | ||
3198 | <source>Too many attempts, please try again later.</source> | ||
3199 | <target>太多次嘗試,請稍後再試。</target> | ||
3200 | <context-group name="null"> | ||
3201 | <context context-type="linenumber">1</context> | ||
3202 | </context-group> | ||
3203 | </trans-unit> | ||
3204 | <trans-unit id="0f286a597f0053c3578a52e044769c204ee516fc"> | ||
3205 | <source>Server error. Please retry later.</source> | ||
3206 | <target>伺服器錯誤。請稍後重試。</target> | ||
3207 | <context-group name="null"> | ||
3208 | <context context-type="linenumber">1</context> | ||
3209 | </context-group> | ||
3210 | </trans-unit> | ||
3211 | <trans-unit id="20deec13d8d4ff199aa04318818ca44dab0585be"> | ||
3212 | <source>Registration for <x id="INTERPOLATION" equiv-text="{{username}}"/> complete.</source> | ||
3213 | <target>註冊 <x id="INTERPOLATION" equiv-text="{{username}}"/> 完成。</target> | ||
3214 | <context-group name="null"> | ||
3215 | <context context-type="linenumber">1</context> | ||
3216 | </context-group> | ||
3217 | </trans-unit> | ||
3218 | <trans-unit id="7296e9f7cc4956b6d57c541728b0826e76d108ba"> | ||
3219 | <source>~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/></source> | ||
3220 | <target>~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/></target> | ||
3221 | <context-group name="null"> | ||
3222 | <context context-type="linenumber">1</context> | ||
3223 | </context-group> | ||
3224 | </trans-unit> | ||
3225 | <trans-unit id="cf9ddbb55b25178660e09346209aedc10108aa24"> | ||
3226 | <source>{VAR_PLURAL, plural, =1 {minute} other {minutes} }</source> | ||
3227 | <target>{VAR_PLURAL, plural, =1 {minute} other {minutes} }</target> | ||
3228 | <context-group name="null"> | ||
3229 | <context context-type="linenumber">1</context> | ||
3230 | </context-group> | ||
3231 | </trans-unit> | ||
3232 | <trans-unit id="10ffa5c3dbcee491d66f80d8d4dce3e119a6ec86"> | ||
3233 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos</source> | ||
3234 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> 的 Full HD 影片</target> | ||
3235 | <context-group name="null"> | ||
3236 | <context context-type="linenumber">1</context> | ||
3237 | </context-group> | ||
3238 | </trans-unit> | ||
3239 | <trans-unit id="344ddae9f45b344e98e7b28cd5e33243982700f8"> | ||
3240 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos</source> | ||
3241 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> 的 HD 影片</target> | ||
3242 | <context-group name="null"> | ||
3243 | <context context-type="linenumber">1</context> | ||
3244 | </context-group> | ||
3245 | </trans-unit> | ||
3246 | <trans-unit id="435c012df6dd990a1ccb7ee73dd79c488bde28b5"> | ||
3247 | <source><x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos</source> | ||
3248 | <target><x id="INTERPOLATION" equiv-text="{{seconds}}"/> 的平均畫質影片</target> | ||
3249 | <context-group name="null"> | ||
3250 | <context context-type="linenumber">1</context> | ||
3251 | </context-group> | ||
3252 | </trans-unit> | ||
3253 | <trans-unit id="1e876f14d96cdf3b334c080fe795a2e0ab53aa3a"> | ||
3254 | <source>Your video was uploaded in your account and is private.</source> | ||
3255 | <target>您的影片已上傳到您的帳號,且為個人影片。</target> | ||
3256 | <context-group name="null"> | ||
3257 | <context context-type="linenumber">1</context> | ||
3258 | </context-group> | ||
3259 | </trans-unit> | ||
3260 | <trans-unit id="24840228f2826b66252cfcaab9820b1c7e0da264"> | ||
3261 | <source>But associated data (tags, description...) will be lost, are you sure you want to leave this page?</source> | ||
3262 | <target>但相關資料(標籤、描述等)將會遺失,您確定您想要離開此頁面嗎?</target> | ||
3263 | <context-group name="null"> | ||
3264 | <context context-type="linenumber">1</context> | ||
3265 | </context-group> | ||
3266 | </trans-unit> | ||
3267 | <trans-unit id="5af84926d631326e548573ebf0f6dff07845aeb4"> | ||
3268 | <source>Your video is not uploaded yet, are you sure you want to leave this page?</source> | ||
3269 | <target>您的影片尚未上傳,您確定您想要離開此頁面嗎?</target> | ||
3270 | <context-group name="null"> | ||
3271 | <context context-type="linenumber">1</context> | ||
3272 | </context-group> | ||
3273 | </trans-unit> | ||
3274 | <trans-unit id="321e4419a943044e674beb55b8039f42a9761ca5"> | ||
3275 | <source>Info</source> | ||
3276 | <target>資訊</target> | ||
3277 | <context-group name="null"> | ||
3278 | <context context-type="linenumber">1</context> | ||
3279 | </context-group> | ||
3280 | </trans-unit> | ||
3281 | <trans-unit id="c5cb19aeb6447deda40cc1227ceca1359ab955e9"> | ||
3282 | <source>Upload cancelled</source> | ||
3283 | <target>已取消上傳</target> | ||
3284 | <context-group name="null"> | ||
3285 | <context context-type="linenumber">1</context> | ||
3286 | </context-group> | ||
3287 | </trans-unit> | ||
3288 | <trans-unit id="d31d39e8ee9b2f20bffb3468ee062eaa5409c59f"> | ||
3289 | <source>Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</source> | ||
3290 | <target>此影片大小超過了您的影片配額(影片大小:<x id="INTERPOLATION" equiv-text="{{ videoSize }}"/>,已用:<x id="INTERPOLATION_1" equiv-text="{{ videoQuotaUsed }}"/>,配額:<x id="INTERPOLATION_2" equiv-text="{{ videoQuota }}"/>)</target> | ||
3291 | <context-group name="null"> | ||
3292 | <context context-type="linenumber">1</context> | ||
3293 | </context-group> | ||
3294 | </trans-unit> | ||
3295 | <trans-unit id="972fc644f847cf84e4732ec012915c4cdaf865ce"> | ||
3296 | <source>Video published.</source> | ||
3297 | <target>影片已發佈。</target> | ||
3298 | <context-group name="null"> | ||
3299 | <context context-type="linenumber">1</context> | ||
3300 | </context-group> | ||
3301 | </trans-unit> | ||
3302 | <trans-unit id="757e9c083c8f3d578bd74f055cc337c72417e187"> | ||
3303 | <source>Video updated.</source> | ||
3304 | <target>影片已更新。</target> | ||
3305 | <context-group name="null"> | ||
3306 | <context context-type="linenumber">1</context> | ||
3307 | </context-group> | ||
3308 | </trans-unit> | ||
3309 | <trans-unit id="aeb61b334cac080733c3e03766165a346bbf42fd"> | ||
3310 | <source> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> replies will be deleted too.</source> | ||
3311 | <target> <x id="INTERPOLATION" equiv-text="{{totalReplies}}"/> 個回覆也將會被刪除。</target> | ||
3312 | <context-group name="null"> | ||
3313 | <context context-type="linenumber">1</context> | ||
3314 | </context-group> | ||
3315 | </trans-unit> | ||
3316 | <trans-unit id="fa2601e52cbf5725a13d33fe14458823b882ea50"> | ||
3317 | <source>Video reported.</source> | ||
3318 | <target>影片已回報。</target> | ||
3319 | <context-group name="null"> | ||
3320 | <context context-type="linenumber">1</context> | ||
3321 | </context-group> | ||
3322 | </trans-unit> | ||
3323 | <trans-unit id="ef90545bc832876c0d7f9a10363c75137472bbb5"> | ||
3324 | <source>Copied</source> | ||
3325 | <target>已複製</target> | ||
3326 | <context-group name="null"> | ||
3327 | <context context-type="linenumber">1</context> | ||
3328 | </context-group> | ||
3329 | </trans-unit> | ||
3330 | <trans-unit id="23b2c2f4dd69e29c3bff00469e259dcb01de5633"> | ||
3331 | <source>Do you really want to blacklist this video?</source> | ||
3332 | <target>您真的想要將此影片加入黑名單嗎?</target> | ||
3333 | <context-group name="null"> | ||
3334 | <context context-type="linenumber">1</context> | ||
3335 | </context-group> | ||
3336 | </trans-unit> | ||
3337 | <trans-unit id="cafd8ec6020e69f241a107b1cb7081bd9e773d4e"> | ||
3338 | <source>Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> had been blacklisted.</source> | ||
3339 | <target>影片 <x id="INTERPOLATION" equiv-text="{{videoName}}"/> 已被加入黑名單。</target> | ||
3340 | <context-group name="null"> | ||
3341 | <context context-type="linenumber">1</context> | ||
3342 | </context-group> | ||
3343 | </trans-unit> | ||
3344 | <trans-unit id="f1abd89c9280323209e939fa9c30f6e5cda20c95"> | ||
3345 | <source>Do you really want to delete this video?</source> | ||
3346 | <target>您真的想要刪除此影片嗎?</target> | ||
3347 | <context-group name="null"> | ||
3348 | <context context-type="linenumber">1</context> | ||
3349 | </context-group> | ||
3350 | </trans-unit> | ||
3351 | <trans-unit id="d5a4811e15319ad9354e1b62e9ca0131192b489e"> | ||
3352 | <source><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes</source> | ||
3353 | <target><x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> 個不喜歡</target> | ||
3354 | <context-group name="null"> | ||
3355 | <context context-type="linenumber">1</context> | ||
3356 | </context-group> | ||
3357 | </trans-unit> | ||
3358 | <trans-unit id="ed013c2c29216501c688e9cb5f3a1c9fd9147b71"> | ||
3359 | <source>This video contains mature or explicit content. Are you sure you want to watch it?</source> | ||
3360 | <target>這部影片包含成人或裸露內容。您確定您想要觀看嗎?</target> | ||
3361 | <context-group name="null"> | ||
3362 | <context context-type="linenumber">1</context> | ||
3363 | </context-group> | ||
3364 | </trans-unit> | ||
3365 | <trans-unit id="5ba3d522e4146eefcbd5c222247c1e2423d27cd8"> | ||
3366 | <source>Mature or explicit content</source> | ||
3367 | <target>成人或裸露內容</target> | ||
3368 | <context-group name="null"> | ||
3369 | <context context-type="linenumber">1</context> | ||
3370 | </context-group> | ||
3371 | </trans-unit> | ||
624 | </body> | 3372 | </body> |
625 | </file></xliff> \ No newline at end of file | 3373 | </file></xliff> \ No newline at end of file |
diff --git a/client/src/locale/target/iso639_de_DE.xml b/client/src/locale/target/iso639_de_DE.xml deleted file mode 100644 index 42add6b6c..000000000 --- a/client/src/locale/target/iso639_de_DE.xml +++ /dev/null | |||
@@ -1,759 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="de-DE"> | ||
5 | <body> | ||
6 | <trans-unit id="Afar"> | ||
7 | <source>Afar</source> | ||
8 | <target>Afar</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Abkhazian"> | ||
11 | <source>Abkhazian</source> | ||
12 | <target>Abchasisch</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Afrikaans"> | ||
15 | <source>Afrikaans</source> | ||
16 | <target>Afrikaans</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="Akan"> | ||
19 | <source>Akan</source> | ||
20 | <target>Akan</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Amharic"> | ||
23 | <source>Amharic</source> | ||
24 | <target>Amharisch</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Arabic"> | ||
27 | <source>Arabic</source> | ||
28 | <target>Arabisch</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Aragonese"> | ||
31 | <source>Aragonese</source> | ||
32 | <target>Aragonesisch</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="American Sign Language"> | ||
35 | <source>American Sign Language</source> | ||
36 | <target>Amerikanische Gebärdensprache</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Assamese"> | ||
39 | <source>Assamese</source> | ||
40 | <target>Assamesisch</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="Avaric"> | ||
43 | <source>Avaric</source> | ||
44 | <target>Awarisch</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="Aymara"> | ||
47 | <source>Aymara</source> | ||
48 | <target>Aymara</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="Azerbaijani"> | ||
51 | <source>Azerbaijani</source> | ||
52 | <target>Aserbeidschanisch</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Bashkir"> | ||
55 | <source>Bashkir</source> | ||
56 | <target>Baschkirisch</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="Bambara"> | ||
59 | <source>Bambara</source> | ||
60 | <target>Bambara</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Belarusian"> | ||
63 | <source>Belarusian</source> | ||
64 | <target>Weißrussisch</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Bengali"> | ||
67 | <source>Bengali</source> | ||
68 | <target>Bengali</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="British Sign Language"> | ||
71 | <source>British Sign Language</source> | ||
72 | <target>Britische Gebärdensprache</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Bislama"> | ||
75 | <source>Bislama</source> | ||
76 | <target>Beach-la-mar</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="Tibetan"> | ||
79 | <source>Tibetan</source> | ||
80 | <target>Tibetisch</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Bosnian"> | ||
83 | <source>Bosnian</source> | ||
84 | <target>Bosnisch</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="Breton"> | ||
87 | <source>Breton</source> | ||
88 | <target>Bretonisch</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Bulgarian"> | ||
91 | <source>Bulgarian</source> | ||
92 | <target>Bulgarisch</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="Brazilian Sign Language"> | ||
95 | <source>Brazilian Sign Language</source> | ||
96 | <target>Brasilianische Gebärdensprache</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="Catalan"> | ||
99 | <source>Catalan</source> | ||
100 | <target>Katalanisch</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Czech"> | ||
103 | <source>Czech</source> | ||
104 | <target>Tschechisch</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="Chamorro"> | ||
107 | <source>Chamorro</source> | ||
108 | <target>Chamorro</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Chechen"> | ||
111 | <source>Chechen</source> | ||
112 | <target>Tschetschenisch</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Chuvash"> | ||
115 | <source>Chuvash</source> | ||
116 | <target>Tschuwaschisch</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="Cornish"> | ||
119 | <source>Cornish</source> | ||
120 | <target>Kornisch</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="Corsican"> | ||
123 | <source>Corsican</source> | ||
124 | <target>Korsisch</target> | ||
125 | </trans-unit> | ||
126 | <trans-unit id="Cree"> | ||
127 | <source>Cree</source> | ||
128 | <target>Cree</target> | ||
129 | </trans-unit> | ||
130 | <trans-unit id="Czech Sign Language"> | ||
131 | <source>Czech Sign Language</source> | ||
132 | <target>Tschechische Gebärdensprache</target> | ||
133 | </trans-unit> | ||
134 | <trans-unit id="Chinese Sign Language"> | ||
135 | <source>Chinese Sign Language</source> | ||
136 | <target>Chinesiche Gebärdensprache</target> | ||
137 | </trans-unit> | ||
138 | <trans-unit id="Welsh"> | ||
139 | <source>Welsh</source> | ||
140 | <target>Kymrisch</target> | ||
141 | </trans-unit> | ||
142 | <trans-unit id="Danish"> | ||
143 | <source>Danish</source> | ||
144 | <target>Dänisch</target> | ||
145 | </trans-unit> | ||
146 | <trans-unit id="German"> | ||
147 | <source>German</source> | ||
148 | <target>Deutsch</target> | ||
149 | </trans-unit> | ||
150 | <trans-unit id="Dhivehi"> | ||
151 | <source>Dhivehi</source> | ||
152 | <target>Maledivisch</target> | ||
153 | </trans-unit> | ||
154 | <trans-unit id="Danish Sign Language"> | ||
155 | <source>Danish Sign Language</source> | ||
156 | <target>Dänische Gebärdensprache</target> | ||
157 | </trans-unit> | ||
158 | <trans-unit id="Dzongkha"> | ||
159 | <source>Dzongkha</source> | ||
160 | <target>Dzongkha</target> | ||
161 | </trans-unit> | ||
162 | <trans-unit id="Modern Greek (1453-)"> | ||
163 | <source>Modern Greek (1453-)</source> | ||
164 | <target>Neugriechisch</target> | ||
165 | </trans-unit> | ||
166 | <trans-unit id="English"> | ||
167 | <source>English</source> | ||
168 | <target>Englisch</target> | ||
169 | </trans-unit> | ||
170 | <trans-unit id="Estonian"> | ||
171 | <source>Estonian</source> | ||
172 | <target>Estnisch</target> | ||
173 | </trans-unit> | ||
174 | <trans-unit id="Basque"> | ||
175 | <source>Basque</source> | ||
176 | <target>Baskisch</target> | ||
177 | </trans-unit> | ||
178 | <trans-unit id="Ewe"> | ||
179 | <source>Ewe</source> | ||
180 | <target>Ewe</target> | ||
181 | </trans-unit> | ||
182 | <trans-unit id="Faroese"> | ||
183 | <source>Faroese</source> | ||
184 | <target>Färöisch</target> | ||
185 | </trans-unit> | ||
186 | <trans-unit id="Persian"> | ||
187 | <source>Persian</source> | ||
188 | <target>Persisch</target> | ||
189 | </trans-unit> | ||
190 | <trans-unit id="Fijian"> | ||
191 | <source>Fijian</source> | ||
192 | <target>Fidschi</target> | ||
193 | </trans-unit> | ||
194 | <trans-unit id="Finnish"> | ||
195 | <source>Finnish</source> | ||
196 | <target>Finnisch</target> | ||
197 | </trans-unit> | ||
198 | <trans-unit id="French"> | ||
199 | <source>French</source> | ||
200 | <target>Französisch</target> | ||
201 | </trans-unit> | ||
202 | <trans-unit id="Western Frisian"> | ||
203 | <source>Western Frisian</source> | ||
204 | <target>Friesisch</target> | ||
205 | </trans-unit> | ||
206 | <trans-unit id="French Sign Language"> | ||
207 | <source>French Sign Language</source> | ||
208 | <target>Französiche Gebärdensprache</target> | ||
209 | </trans-unit> | ||
210 | <trans-unit id="Fulah"> | ||
211 | <source>Fulah</source> | ||
212 | <target>Ful</target> | ||
213 | </trans-unit> | ||
214 | <trans-unit id="Scottish Gaelic"> | ||
215 | <source>Scottish Gaelic</source> | ||
216 | <target>Gälisch-Schottisch</target> | ||
217 | </trans-unit> | ||
218 | <trans-unit id="Irish"> | ||
219 | <source>Irish</source> | ||
220 | <target>Irisch</target> | ||
221 | </trans-unit> | ||
222 | <trans-unit id="Galician"> | ||
223 | <source>Galician</source> | ||
224 | <target>Galicisch</target> | ||
225 | </trans-unit> | ||
226 | <trans-unit id="Manx"> | ||
227 | <source>Manx</source> | ||
228 | <target>Manx</target> | ||
229 | </trans-unit> | ||
230 | <trans-unit id="Guarani"> | ||
231 | <source>Guarani</source> | ||
232 | <target>Guaraní</target> | ||
233 | </trans-unit> | ||
234 | <trans-unit id="German Sign Language"> | ||
235 | <source>German Sign Language</source> | ||
236 | <target>Deutsche Gebärdensprache</target> | ||
237 | </trans-unit> | ||
238 | <trans-unit id="Gujarati"> | ||
239 | <source>Gujarati</source> | ||
240 | <target>Gujarati</target> | ||
241 | </trans-unit> | ||
242 | <trans-unit id="Haitian"> | ||
243 | <source>Haitian</source> | ||
244 | <target>Haïtien (Haiti-Kreolisch)</target> | ||
245 | </trans-unit> | ||
246 | <trans-unit id="Hausa"> | ||
247 | <source>Hausa</source> | ||
248 | <target>Hausa</target> | ||
249 | </trans-unit> | ||
250 | <trans-unit id="Serbo-Croatian"> | ||
251 | <source>Serbo-Croatian</source> | ||
252 | <target>Serbokroatisch</target> | ||
253 | </trans-unit> | ||
254 | <trans-unit id="Hebrew"> | ||
255 | <source>Hebrew</source> | ||
256 | <target>Hebräisch</target> | ||
257 | </trans-unit> | ||
258 | <trans-unit id="Herero"> | ||
259 | <source>Herero</source> | ||
260 | <target>Otjiherero</target> | ||
261 | </trans-unit> | ||
262 | <trans-unit id="Hindi"> | ||
263 | <source>Hindi</source> | ||
264 | <target>Hindi</target> | ||
265 | </trans-unit> | ||
266 | <trans-unit id="Hiri Motu"> | ||
267 | <source>Hiri Motu</source> | ||
268 | <target>Hiri-Motu</target> | ||
269 | </trans-unit> | ||
270 | <trans-unit id="Croatian"> | ||
271 | <source>Croatian</source> | ||
272 | <target>Kroatisch</target> | ||
273 | </trans-unit> | ||
274 | <trans-unit id="Hungarian"> | ||
275 | <source>Hungarian</source> | ||
276 | <target>Ungarisch</target> | ||
277 | </trans-unit> | ||
278 | <trans-unit id="Armenian"> | ||
279 | <source>Armenian</source> | ||
280 | <target>Armenisch</target> | ||
281 | </trans-unit> | ||
282 | <trans-unit id="Igbo"> | ||
283 | <source>Igbo</source> | ||
284 | <target>Igbo</target> | ||
285 | </trans-unit> | ||
286 | <trans-unit id="Sichuan Yi"> | ||
287 | <source>Sichuan Yi</source> | ||
288 | <target>Yi</target> | ||
289 | </trans-unit> | ||
290 | <trans-unit id="Inuktitut"> | ||
291 | <source>Inuktitut</source> | ||
292 | <target>Inuktitut</target> | ||
293 | </trans-unit> | ||
294 | <trans-unit id="Indonesian"> | ||
295 | <source>Indonesian</source> | ||
296 | <target>Bahasa Indonesia</target> | ||
297 | </trans-unit> | ||
298 | <trans-unit id="Inupiaq"> | ||
299 | <source>Inupiaq</source> | ||
300 | <target>Inupik</target> | ||
301 | </trans-unit> | ||
302 | <trans-unit id="Icelandic"> | ||
303 | <source>Icelandic</source> | ||
304 | <target>Isländisch</target> | ||
305 | </trans-unit> | ||
306 | <trans-unit id="Italian"> | ||
307 | <source>Italian</source> | ||
308 | <target>Italienisch</target> | ||
309 | </trans-unit> | ||
310 | <trans-unit id="Javanese"> | ||
311 | <source>Javanese</source> | ||
312 | <target>Javanisch</target> | ||
313 | </trans-unit> | ||
314 | <trans-unit id="Japanese"> | ||
315 | <source>Japanese</source> | ||
316 | <target>Japanisch</target> | ||
317 | </trans-unit> | ||
318 | <trans-unit id="Japanese Sign Language"> | ||
319 | <source>Japanese Sign Language</source> | ||
320 | <target>Japanische Gebärdensprache</target> | ||
321 | </trans-unit> | ||
322 | <trans-unit id="Kalaallisut"> | ||
323 | <source>Kalaallisut</source> | ||
324 | <target>Grönländisch</target> | ||
325 | </trans-unit> | ||
326 | <trans-unit id="Kannada"> | ||
327 | <source>Kannada</source> | ||
328 | <target>Kannada</target> | ||
329 | </trans-unit> | ||
330 | <trans-unit id="Kashmiri"> | ||
331 | <source>Kashmiri</source> | ||
332 | <target>Kaschmiri</target> | ||
333 | </trans-unit> | ||
334 | <trans-unit id="Georgian"> | ||
335 | <source>Georgian</source> | ||
336 | <target>Georgisch</target> | ||
337 | </trans-unit> | ||
338 | <trans-unit id="Kanuri"> | ||
339 | <source>Kanuri</source> | ||
340 | <target>Kanuri</target> | ||
341 | </trans-unit> | ||
342 | <trans-unit id="Kazakh"> | ||
343 | <source>Kazakh</source> | ||
344 | <target>Kasachisch</target> | ||
345 | </trans-unit> | ||
346 | <trans-unit id="Khmer"> | ||
347 | <source>Khmer</source> | ||
348 | <target>Kambodschanisch</target> | ||
349 | </trans-unit> | ||
350 | <trans-unit id="Kikuyu"> | ||
351 | <source>Kikuyu</source> | ||
352 | <target>Kikuyu</target> | ||
353 | </trans-unit> | ||
354 | <trans-unit id="Kinyarwanda"> | ||
355 | <source>Kinyarwanda</source> | ||
356 | <target>Kinyarwanda</target> | ||
357 | </trans-unit> | ||
358 | <trans-unit id="Kirghiz"> | ||
359 | <source>Kirghiz</source> | ||
360 | <target>Kirgisisch</target> | ||
361 | </trans-unit> | ||
362 | <trans-unit id="Komi"> | ||
363 | <source>Komi</source> | ||
364 | <target>Komi</target> | ||
365 | </trans-unit> | ||
366 | <trans-unit id="Kongo"> | ||
367 | <source>Kongo</source> | ||
368 | <target>Kikongo</target> | ||
369 | </trans-unit> | ||
370 | <trans-unit id="Korean"> | ||
371 | <source>Korean</source> | ||
372 | <target>Koreanisch</target> | ||
373 | </trans-unit> | ||
374 | <trans-unit id="Kuanyama"> | ||
375 | <source>Kuanyama</source> | ||
376 | <target>Kuanyama</target> | ||
377 | </trans-unit> | ||
378 | <trans-unit id="Kurdish"> | ||
379 | <source>Kurdish</source> | ||
380 | <target>Kurdisch</target> | ||
381 | </trans-unit> | ||
382 | <trans-unit id="Lao"> | ||
383 | <source>Lao</source> | ||
384 | <target>Laotisch</target> | ||
385 | </trans-unit> | ||
386 | <trans-unit id="Latvian"> | ||
387 | <source>Latvian</source> | ||
388 | <target>Lettisch</target> | ||
389 | </trans-unit> | ||
390 | <trans-unit id="Limburgan"> | ||
391 | <source>Limburgan</source> | ||
392 | <target>Limburgisch</target> | ||
393 | </trans-unit> | ||
394 | <trans-unit id="Lingala"> | ||
395 | <source>Lingala</source> | ||
396 | <target>Lingala</target> | ||
397 | </trans-unit> | ||
398 | <trans-unit id="Lithuanian"> | ||
399 | <source>Lithuanian</source> | ||
400 | <target>Litauisch</target> | ||
401 | </trans-unit> | ||
402 | <trans-unit id="Luxembourgish"> | ||
403 | <source>Luxembourgish</source> | ||
404 | <target>Luxemburgisch</target> | ||
405 | </trans-unit> | ||
406 | <trans-unit id="Luba-Katanga"> | ||
407 | <source>Luba-Katanga</source> | ||
408 | <target>Kiluba</target> | ||
409 | </trans-unit> | ||
410 | <trans-unit id="Ganda"> | ||
411 | <source>Ganda</source> | ||
412 | <target>Luganda</target> | ||
413 | </trans-unit> | ||
414 | <trans-unit id="Marshallese"> | ||
415 | <source>Marshallese</source> | ||
416 | <target>Marschallesisch</target> | ||
417 | </trans-unit> | ||
418 | <trans-unit id="Malayalam"> | ||
419 | <source>Malayalam</source> | ||
420 | <target>Malayalam</target> | ||
421 | </trans-unit> | ||
422 | <trans-unit id="Marathi"> | ||
423 | <source>Marathi</source> | ||
424 | <target>Marathi</target> | ||
425 | </trans-unit> | ||
426 | <trans-unit id="Macedonian"> | ||
427 | <source>Macedonian</source> | ||
428 | <target>Makedonisch</target> | ||
429 | </trans-unit> | ||
430 | <trans-unit id="Malagasy"> | ||
431 | <source>Malagasy</source> | ||
432 | <target>Malagassi</target> | ||
433 | </trans-unit> | ||
434 | <trans-unit id="Maltese"> | ||
435 | <source>Maltese</source> | ||
436 | <target>Maltesisch</target> | ||
437 | </trans-unit> | ||
438 | <trans-unit id="Mongolian"> | ||
439 | <source>Mongolian</source> | ||
440 | <target>Mongolisch</target> | ||
441 | </trans-unit> | ||
442 | <trans-unit id="Maori"> | ||
443 | <source>Maori</source> | ||
444 | <target>Māori</target> | ||
445 | </trans-unit> | ||
446 | <trans-unit id="Malay (macrolanguage)"> | ||
447 | <source>Malay (macrolanguage)</source> | ||
448 | <target>Malaiisch</target> | ||
449 | </trans-unit> | ||
450 | <trans-unit id="Burmese"> | ||
451 | <source>Burmese</source> | ||
452 | <target>Birmanisch</target> | ||
453 | </trans-unit> | ||
454 | <trans-unit id="Nauru"> | ||
455 | <source>Nauru</source> | ||
456 | <target>Nauruanisch</target> | ||
457 | </trans-unit> | ||
458 | <trans-unit id="Navajo"> | ||
459 | <source>Navajo</source> | ||
460 | <target>Navajo</target> | ||
461 | </trans-unit> | ||
462 | <trans-unit id="South Ndebele"> | ||
463 | <source>South Ndebele</source> | ||
464 | <target>Süd-Ndebele</target> | ||
465 | </trans-unit> | ||
466 | <trans-unit id="North Ndebele"> | ||
467 | <source>North Ndebele</source> | ||
468 | <target>Nord-Ndebele</target> | ||
469 | </trans-unit> | ||
470 | <trans-unit id="Ndonga"> | ||
471 | <source>Ndonga</source> | ||
472 | <target>Ndonga</target> | ||
473 | </trans-unit> | ||
474 | <trans-unit id="Nepali (macrolanguage)"> | ||
475 | <source>Nepali (macrolanguage)</source> | ||
476 | <target>Nepali</target> | ||
477 | </trans-unit> | ||
478 | <trans-unit id="Dutch"> | ||
479 | <source>Dutch</source> | ||
480 | <target>Niederländisch</target> | ||
481 | </trans-unit> | ||
482 | <trans-unit id="Norwegian Nynorsk"> | ||
483 | <source>Norwegian Nynorsk</source> | ||
484 | <target>Nynorsk</target> | ||
485 | </trans-unit> | ||
486 | <trans-unit id="Norwegian Bokmål"> | ||
487 | <source>Norwegian Bokmål</source> | ||
488 | <target>Bokmål</target> | ||
489 | </trans-unit> | ||
490 | <trans-unit id="Norwegian"> | ||
491 | <source>Norwegian</source> | ||
492 | <target>Norwegisch</target> | ||
493 | </trans-unit> | ||
494 | <trans-unit id="Nyanja"> | ||
495 | <source>Nyanja</source> | ||
496 | <target>Nyanja-Sprache</target> | ||
497 | </trans-unit> | ||
498 | <trans-unit id="Occitan (post 1500)"> | ||
499 | <source>Occitan (post 1500)</source> | ||
500 | <target>Okzitanisch</target> | ||
501 | </trans-unit> | ||
502 | <trans-unit id="Ojibwa"> | ||
503 | <source>Ojibwa</source> | ||
504 | <target>Ojibwa-Sprache</target> | ||
505 | </trans-unit> | ||
506 | <trans-unit id="Oriya (macrolanguage)"> | ||
507 | <source>Oriya (macrolanguage)</source> | ||
508 | <target>Oriya-Sprache</target> | ||
509 | </trans-unit> | ||
510 | <trans-unit id="Oromo"> | ||
511 | <source>Oromo</source> | ||
512 | <target>Galla-Sprache</target> | ||
513 | </trans-unit> | ||
514 | <trans-unit id="Ossetian"> | ||
515 | <source>Ossetian</source> | ||
516 | <target>Ossetisch</target> | ||
517 | </trans-unit> | ||
518 | <trans-unit id="Panjabi"> | ||
519 | <source>Panjabi</source> | ||
520 | <target>Pandschabi-Sprache</target> | ||
521 | </trans-unit> | ||
522 | <trans-unit id="Pakistan Sign Language"> | ||
523 | <source>Pakistan Sign Language</source> | ||
524 | <target>Pakistanische Gebärdensprache</target> | ||
525 | </trans-unit> | ||
526 | <trans-unit id="Polish"> | ||
527 | <source>Polish</source> | ||
528 | <target>Polnisch</target> | ||
529 | </trans-unit> | ||
530 | <trans-unit id="Portuguese"> | ||
531 | <source>Portuguese</source> | ||
532 | <target>Portugiesisch</target> | ||
533 | </trans-unit> | ||
534 | <trans-unit id="Pushto"> | ||
535 | <source>Pushto</source> | ||
536 | <target>Paschtu</target> | ||
537 | </trans-unit> | ||
538 | <trans-unit id="Quechua"> | ||
539 | <source>Quechua</source> | ||
540 | <target>Quechua-Sprache</target> | ||
541 | </trans-unit> | ||
542 | <trans-unit id="Romansh"> | ||
543 | <source>Romansh</source> | ||
544 | <target>Rätoromanisch</target> | ||
545 | </trans-unit> | ||
546 | <trans-unit id="Romanian"> | ||
547 | <source>Romanian</source> | ||
548 | <target>Rumänisch</target> | ||
549 | </trans-unit> | ||
550 | <trans-unit id="Russian Sign Language"> | ||
551 | <source>Russian Sign Language</source> | ||
552 | <target>Russische Gebärdensprache</target> | ||
553 | </trans-unit> | ||
554 | <trans-unit id="Rundi"> | ||
555 | <source>Rundi</source> | ||
556 | <target>Rundi-Sprache</target> | ||
557 | </trans-unit> | ||
558 | <trans-unit id="Russian"> | ||
559 | <source>Russian</source> | ||
560 | <target>Russisch</target> | ||
561 | </trans-unit> | ||
562 | <trans-unit id="Sango"> | ||
563 | <source>Sango</source> | ||
564 | <target>Sango-Sprache</target> | ||
565 | </trans-unit> | ||
566 | <trans-unit id="Saudi Arabian Sign Language"> | ||
567 | <source>Saudi Arabian Sign Language</source> | ||
568 | <target>Saudi-arabische Gebärdensprache</target> | ||
569 | </trans-unit> | ||
570 | <trans-unit id="South African Sign Language"> | ||
571 | <source>South African Sign Language</source> | ||
572 | <target>Südafrikanische Gebärdensprache</target> | ||
573 | </trans-unit> | ||
574 | <trans-unit id="Sinhala"> | ||
575 | <source>Sinhala</source> | ||
576 | <target>Singhalesisch</target> | ||
577 | </trans-unit> | ||
578 | <trans-unit id="Slovak"> | ||
579 | <source>Slovak</source> | ||
580 | <target>Slowakisch</target> | ||
581 | </trans-unit> | ||
582 | <trans-unit id="Slovenian"> | ||
583 | <source>Slovenian</source> | ||
584 | <target>Slowenisch</target> | ||
585 | </trans-unit> | ||
586 | <trans-unit id="Northern Sami"> | ||
587 | <source>Northern Sami</source> | ||
588 | <target>Nordsaamisch</target> | ||
589 | </trans-unit> | ||
590 | <trans-unit id="Samoan"> | ||
591 | <source>Samoan</source> | ||
592 | <target>Samoanisch</target> | ||
593 | </trans-unit> | ||
594 | <trans-unit id="Shona"> | ||
595 | <source>Shona</source> | ||
596 | <target>Schona-Sprache</target> | ||
597 | </trans-unit> | ||
598 | <trans-unit id="Sindhi"> | ||
599 | <source>Sindhi</source> | ||
600 | <target>Sindhi-Sprache</target> | ||
601 | </trans-unit> | ||
602 | <trans-unit id="Somali"> | ||
603 | <source>Somali</source> | ||
604 | <target>Somali</target> | ||
605 | </trans-unit> | ||
606 | <trans-unit id="Southern Sotho"> | ||
607 | <source>Southern Sotho</source> | ||
608 | <target>Süd-Sotho-Sprache</target> | ||
609 | </trans-unit> | ||
610 | <trans-unit id="Spanish"> | ||
611 | <source>Spanish</source> | ||
612 | <target>Spanisch</target> | ||
613 | </trans-unit> | ||
614 | <trans-unit id="Albanian"> | ||
615 | <source>Albanian</source> | ||
616 | <target>Albanisch</target> | ||
617 | </trans-unit> | ||
618 | <trans-unit id="Sardinian"> | ||
619 | <source>Sardinian</source> | ||
620 | <target>Sardisch</target> | ||
621 | </trans-unit> | ||
622 | <trans-unit id="Serbian"> | ||
623 | <source>Serbian</source> | ||
624 | <target>Serbisch</target> | ||
625 | </trans-unit> | ||
626 | <trans-unit id="Swati"> | ||
627 | <source>Swati</source> | ||
628 | <target>Swasi-Sprache</target> | ||
629 | </trans-unit> | ||
630 | <trans-unit id="Sundanese"> | ||
631 | <source>Sundanese</source> | ||
632 | <target>Sundanesisch</target> | ||
633 | </trans-unit> | ||
634 | <trans-unit id="Swahili (macrolanguage)"> | ||
635 | <source>Swahili (macrolanguage)</source> | ||
636 | <target>Swahili</target> | ||
637 | </trans-unit> | ||
638 | <trans-unit id="Swedish"> | ||
639 | <source>Swedish</source> | ||
640 | <target>Schwedisch</target> | ||
641 | </trans-unit> | ||
642 | <trans-unit id="Swedish Sign Language"> | ||
643 | <source>Swedish Sign Language</source> | ||
644 | <target>Schwedische Gebärdensprache</target> | ||
645 | </trans-unit> | ||
646 | <trans-unit id="Tahitian"> | ||
647 | <source>Tahitian</source> | ||
648 | <target>Tahitisch</target> | ||
649 | </trans-unit> | ||
650 | <trans-unit id="Tamil"> | ||
651 | <source>Tamil</source> | ||
652 | <target>Tamil</target> | ||
653 | </trans-unit> | ||
654 | <trans-unit id="Tatar"> | ||
655 | <source>Tatar</source> | ||
656 | <target>Tatarisch</target> | ||
657 | </trans-unit> | ||
658 | <trans-unit id="Telugu"> | ||
659 | <source>Telugu</source> | ||
660 | <target>Telugu-Sprache</target> | ||
661 | </trans-unit> | ||
662 | <trans-unit id="Tajik"> | ||
663 | <source>Tajik</source> | ||
664 | <target>Tadschikisch</target> | ||
665 | </trans-unit> | ||
666 | <trans-unit id="Tagalog"> | ||
667 | <source>Tagalog</source> | ||
668 | <target>Tagalog</target> | ||
669 | </trans-unit> | ||
670 | <trans-unit id="Thai"> | ||
671 | <source>Thai</source> | ||
672 | <target>Thailändisch</target> | ||
673 | </trans-unit> | ||
674 | <trans-unit id="Tigrinya"> | ||
675 | <source>Tigrinya</source> | ||
676 | <target>Tigrinja-Sprache</target> | ||
677 | </trans-unit> | ||
678 | <trans-unit id="Tonga (Tonga Islands)"> | ||
679 | <source>Tonga (Tonga Islands)</source> | ||
680 | <target>Tongaisch</target> | ||
681 | </trans-unit> | ||
682 | <trans-unit id="Tswana"> | ||
683 | <source>Tswana</source> | ||
684 | <target>Tswana-Sprache</target> | ||
685 | </trans-unit> | ||
686 | <trans-unit id="Tsonga"> | ||
687 | <source>Tsonga</source> | ||
688 | <target>Tsonga-Sprache</target> | ||
689 | </trans-unit> | ||
690 | <trans-unit id="Turkmen"> | ||
691 | <source>Turkmen</source> | ||
692 | <target>Turkmenisch</target> | ||
693 | </trans-unit> | ||
694 | <trans-unit id="Turkish"> | ||
695 | <source>Turkish</source> | ||
696 | <target>Türkisch</target> | ||
697 | </trans-unit> | ||
698 | <trans-unit id="Twi"> | ||
699 | <source>Twi</source> | ||
700 | <target>Twi-Sprache</target> | ||
701 | </trans-unit> | ||
702 | <trans-unit id="Uighur"> | ||
703 | <source>Uighur</source> | ||
704 | <target>Uigurisch</target> | ||
705 | </trans-unit> | ||
706 | <trans-unit id="Ukrainian"> | ||
707 | <source>Ukrainian</source> | ||
708 | <target>Ukrainisch</target> | ||
709 | </trans-unit> | ||
710 | <trans-unit id="Urdu"> | ||
711 | <source>Urdu</source> | ||
712 | <target>Urdu</target> | ||
713 | </trans-unit> | ||
714 | <trans-unit id="Uzbek"> | ||
715 | <source>Uzbek</source> | ||
716 | <target>Usbekisch</target> | ||
717 | </trans-unit> | ||
718 | <trans-unit id="Venda"> | ||
719 | <source>Venda</source> | ||
720 | <target>Venda-Sprache</target> | ||
721 | </trans-unit> | ||
722 | <trans-unit id="Vietnamese"> | ||
723 | <source>Vietnamese</source> | ||
724 | <target>Vietnamesisch</target> | ||
725 | </trans-unit> | ||
726 | <trans-unit id="Walloon"> | ||
727 | <source>Walloon</source> | ||
728 | <target>Wallonisch</target> | ||
729 | </trans-unit> | ||
730 | <trans-unit id="Wolof"> | ||
731 | <source>Wolof</source> | ||
732 | <target>Wolof-Sprache</target> | ||
733 | </trans-unit> | ||
734 | <trans-unit id="Xhosa"> | ||
735 | <source>Xhosa</source> | ||
736 | <target>Xhosa-Sprache</target> | ||
737 | </trans-unit> | ||
738 | <trans-unit id="Yiddish"> | ||
739 | <source>Yiddish</source> | ||
740 | <target>Jiddisch</target> | ||
741 | </trans-unit> | ||
742 | <trans-unit id="Yoruba"> | ||
743 | <source>Yoruba</source> | ||
744 | <target>Yoruba-Sprache</target> | ||
745 | </trans-unit> | ||
746 | <trans-unit id="Zhuang"> | ||
747 | <source>Zhuang</source> | ||
748 | <target>Zhuang</target> | ||
749 | </trans-unit> | ||
750 | <trans-unit id="Chinese"> | ||
751 | <source>Chinese</source> | ||
752 | <target>Chinesisch</target> | ||
753 | </trans-unit> | ||
754 | <trans-unit id="Zulu"> | ||
755 | <source>Zulu</source> | ||
756 | <target>Zulu-Sprache</target> | ||
757 | </trans-unit> | ||
758 | </body> | ||
759 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/iso639_es_ES.xml b/client/src/locale/target/iso639_es_ES.xml deleted file mode 100644 index 0f7592584..000000000 --- a/client/src/locale/target/iso639_es_ES.xml +++ /dev/null | |||
@@ -1,295 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="es-ES"> | ||
5 | <body> | ||
6 | <trans-unit id="Afrikaans"> | ||
7 | <source>Afrikaans</source> | ||
8 | <target>Afrikáans</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Arabic"> | ||
11 | <source>Arabic</source> | ||
12 | <target>Árabe</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Aragonese"> | ||
15 | <source>Aragonese</source> | ||
16 | <target>Aragonés</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="American Sign Language"> | ||
19 | <source>American Sign Language</source> | ||
20 | <target>Lengua de signos americana</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Azerbaijani"> | ||
23 | <source>Azerbaijani</source> | ||
24 | <target>Azerí</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Belarusian"> | ||
27 | <source>Belarusian</source> | ||
28 | <target>Bielorruso</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Bengali"> | ||
31 | <source>Bengali</source> | ||
32 | <target>Bengalí</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="British Sign Language"> | ||
35 | <source>British Sign Language</source> | ||
36 | <target>Lenga de signos británica</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Tibetan"> | ||
39 | <source>Tibetan</source> | ||
40 | <target>Tibetano</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="Bosnian"> | ||
43 | <source>Bosnian</source> | ||
44 | <target>Bosnio</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="Breton"> | ||
47 | <source>Breton</source> | ||
48 | <target>Bretón</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="Bulgarian"> | ||
51 | <source>Bulgarian</source> | ||
52 | <target>Búlgaro</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Brazilian Sign Language"> | ||
55 | <source>Brazilian Sign Language</source> | ||
56 | <target>Lengua de signos brasileña</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="Catalan"> | ||
59 | <source>Catalan</source> | ||
60 | <target>Catalán</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Czech"> | ||
63 | <source>Czech</source> | ||
64 | <target>Checo</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Chechen"> | ||
67 | <source>Chechen</source> | ||
68 | <target>Checheno</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="Corsican"> | ||
71 | <source>Corsican</source> | ||
72 | <target>Corso</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Czech Sign Language"> | ||
75 | <source>Czech Sign Language</source> | ||
76 | <target>Lengua de signos checa</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="Chinese Sign Language"> | ||
79 | <source>Chinese Sign Language</source> | ||
80 | <target>Lengua de signos china</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Welsh"> | ||
83 | <source>Welsh</source> | ||
84 | <target>Gaélico</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="German"> | ||
87 | <source>German</source> | ||
88 | <target>Alemán</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Danish Sign Language"> | ||
91 | <source>Danish Sign Language</source> | ||
92 | <target>Lengua de signos danesa</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="Modern Greek (1453-)"> | ||
95 | <source>Modern Greek (1453-)</source> | ||
96 | <target>Griego moderno</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="English"> | ||
99 | <source>English</source> | ||
100 | <target>Inglés</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Estonian"> | ||
103 | <source>Estonian</source> | ||
104 | <target>Estonio</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="Basque"> | ||
107 | <source>Basque</source> | ||
108 | <target>Euskera</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Persian"> | ||
111 | <source>Persian</source> | ||
112 | <target>Persa</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Finnish"> | ||
115 | <source>Finnish</source> | ||
116 | <target>Finés</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="French"> | ||
119 | <source>French</source> | ||
120 | <target>Francés</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="French Sign Language"> | ||
123 | <source>French Sign Language</source> | ||
124 | <target>Lengua de signos francesa</target> | ||
125 | </trans-unit> | ||
126 | <trans-unit id="Scottish Gaelic"> | ||
127 | <source>Scottish Gaelic</source> | ||
128 | <target>Gaélico escocés</target> | ||
129 | </trans-unit> | ||
130 | <trans-unit id="Irish"> | ||
131 | <source>Irish</source> | ||
132 | <target>Irlandés</target> | ||
133 | </trans-unit> | ||
134 | <trans-unit id="Galician"> | ||
135 | <source>Galician</source> | ||
136 | <target>Gallego</target> | ||
137 | </trans-unit> | ||
138 | <trans-unit id="German Sign Language"> | ||
139 | <source>German Sign Language</source> | ||
140 | <target>Lengua de signos alemana</target> | ||
141 | </trans-unit> | ||
142 | <trans-unit id="Haitian"> | ||
143 | <source>Haitian</source> | ||
144 | <target>Haitiano</target> | ||
145 | </trans-unit> | ||
146 | <trans-unit id="Serbo-Croatian"> | ||
147 | <source>Serbo-Croatian</source> | ||
148 | <target>Serbocroata</target> | ||
149 | </trans-unit> | ||
150 | <trans-unit id="Hebrew"> | ||
151 | <source>Hebrew</source> | ||
152 | <target>Hebreo</target> | ||
153 | </trans-unit> | ||
154 | <trans-unit id="Hindi"> | ||
155 | <source>Hindi</source> | ||
156 | <target>Hindi</target> | ||
157 | </trans-unit> | ||
158 | <trans-unit id="Croatian"> | ||
159 | <source>Croatian</source> | ||
160 | <target>Croata</target> | ||
161 | </trans-unit> | ||
162 | <trans-unit id="Hungarian"> | ||
163 | <source>Hungarian</source> | ||
164 | <target>Húngaro</target> | ||
165 | </trans-unit> | ||
166 | <trans-unit id="Georgian"> | ||
167 | <source>Georgian</source> | ||
168 | <target>Georgiano</target> | ||
169 | </trans-unit> | ||
170 | <trans-unit id="Korean"> | ||
171 | <source>Korean</source> | ||
172 | <target>Coreano</target> | ||
173 | </trans-unit> | ||
174 | <trans-unit id="Kurdish"> | ||
175 | <source>Kurdish</source> | ||
176 | <target>Kurdo</target> | ||
177 | </trans-unit> | ||
178 | <trans-unit id="Latvian"> | ||
179 | <source>Latvian</source> | ||
180 | <target>Letón</target> | ||
181 | </trans-unit> | ||
182 | <trans-unit id="Lithuanian"> | ||
183 | <source>Lithuanian</source> | ||
184 | <target>Lituano</target> | ||
185 | </trans-unit> | ||
186 | <trans-unit id="Luxembourgish"> | ||
187 | <source>Luxembourgish</source> | ||
188 | <target>Luxemburgués</target> | ||
189 | </trans-unit> | ||
190 | <trans-unit id="Macedonian"> | ||
191 | <source>Macedonian</source> | ||
192 | <target>Macedonio</target> | ||
193 | </trans-unit> | ||
194 | <trans-unit id="Nepali (macrolanguage)"> | ||
195 | <source>Nepali (macrolanguage)</source> | ||
196 | <target>Nepalí</target> | ||
197 | </trans-unit> | ||
198 | <trans-unit id="Dutch"> | ||
199 | <source>Dutch</source> | ||
200 | <target>Neerlandés</target> | ||
201 | </trans-unit> | ||
202 | <trans-unit id="Norwegian"> | ||
203 | <source>Norwegian</source> | ||
204 | <target>Noruego</target> | ||
205 | </trans-unit> | ||
206 | <trans-unit id="Occitan (post 1500)"> | ||
207 | <source>Occitan (post 1500)</source> | ||
208 | <target>Occitano</target> | ||
209 | </trans-unit> | ||
210 | <trans-unit id="Ossetian"> | ||
211 | <source>Ossetian</source> | ||
212 | <target>Osetio</target> | ||
213 | </trans-unit> | ||
214 | <trans-unit id="Pakistan Sign Language"> | ||
215 | <source>Pakistan Sign Language</source> | ||
216 | <target>Lengua de signos pakistaní</target> | ||
217 | </trans-unit> | ||
218 | <trans-unit id="Polish"> | ||
219 | <source>Polish</source> | ||
220 | <target>Polaco</target> | ||
221 | </trans-unit> | ||
222 | <trans-unit id="Portuguese"> | ||
223 | <source>Portuguese</source> | ||
224 | <target>Portugués</target> | ||
225 | </trans-unit> | ||
226 | <trans-unit id="Romansh"> | ||
227 | <source>Romansh</source> | ||
228 | <target>Romanche</target> | ||
229 | </trans-unit> | ||
230 | <trans-unit id="Romanian"> | ||
231 | <source>Romanian</source> | ||
232 | <target>Rumano</target> | ||
233 | </trans-unit> | ||
234 | <trans-unit id="Russian Sign Language"> | ||
235 | <source>Russian Sign Language</source> | ||
236 | <target>Lengua de signos rusa</target> | ||
237 | </trans-unit> | ||
238 | <trans-unit id="Russian"> | ||
239 | <source>Russian</source> | ||
240 | <target>Ruso</target> | ||
241 | </trans-unit> | ||
242 | <trans-unit id="Somali"> | ||
243 | <source>Somali</source> | ||
244 | <target>Somalí</target> | ||
245 | </trans-unit> | ||
246 | <trans-unit id="Spanish"> | ||
247 | <source>Spanish</source> | ||
248 | <target>Español</target> | ||
249 | </trans-unit> | ||
250 | <trans-unit id="Albanian"> | ||
251 | <source>Albanian</source> | ||
252 | <target>Albano</target> | ||
253 | </trans-unit> | ||
254 | <trans-unit id="Serbian"> | ||
255 | <source>Serbian</source> | ||
256 | <target>Serbio</target> | ||
257 | </trans-unit> | ||
258 | <trans-unit id="Sundanese"> | ||
259 | <source>Sundanese</source> | ||
260 | <target>Sudanés</target> | ||
261 | </trans-unit> | ||
262 | <trans-unit id="Swahili (macrolanguage)"> | ||
263 | <source>Swahili (macrolanguage)</source> | ||
264 | <target>Suajili</target> | ||
265 | </trans-unit> | ||
266 | <trans-unit id="Swedish"> | ||
267 | <source>Swedish</source> | ||
268 | <target>Sueco</target> | ||
269 | </trans-unit> | ||
270 | <trans-unit id="Swedish Sign Language"> | ||
271 | <source>Swedish Sign Language</source> | ||
272 | <target>Lengua de signos sueca</target> | ||
273 | </trans-unit> | ||
274 | <trans-unit id="Tahitian"> | ||
275 | <source>Tahitian</source> | ||
276 | <target>Tahitiano</target> | ||
277 | </trans-unit> | ||
278 | <trans-unit id="Thai"> | ||
279 | <source>Thai</source> | ||
280 | <target>Tailandés</target> | ||
281 | </trans-unit> | ||
282 | <trans-unit id="Turkish"> | ||
283 | <source>Turkish</source> | ||
284 | <target>Turco</target> | ||
285 | </trans-unit> | ||
286 | <trans-unit id="Chinese"> | ||
287 | <source>Chinese</source> | ||
288 | <target>Chino</target> | ||
289 | </trans-unit> | ||
290 | <trans-unit id="Zulu"> | ||
291 | <source>Zulu</source> | ||
292 | <target>Zulú</target> | ||
293 | </trans-unit> | ||
294 | </body> | ||
295 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/player_de_DE.json b/client/src/locale/target/player_de_DE.json new file mode 100644 index 000000000..fb1a76ac9 --- /dev/null +++ b/client/src/locale/target/player_de_DE.json | |||
@@ -0,0 +1 @@ | |||
{"Audio Player":"Audio-Player","Video Player":"Video-Player","Play":"Wiedergabe","Pause":"Pause","Replay":"Nochmal","Current Time":"Aktuelle Zeit","Duration":"Länge","Remaining Time":"Verbleibende Zeit","Stream Type":"Streamtyp","LIVE":"Live","Loaded":"Geladen","Progress":"Fortschritt","Progress Bar":"Fortschrittsanzeige","progress bar timing: currentTime={1} duration={2}":"{1} von {2}","Fullscreen":"Vollbildschirm","Non-Fullscreen":"Kein Vollbildschirm","Mute":"Ton aus","Unmute":"Ton ein","Playback Rate":"Wiedergabegeschwindigkeit","Subtitles":"Untertitel","subtitles off":"Untertitel aus","Captions":"Untertitel für Gehörlose und Schwerhörige","captions off":"Untertitel für Gehörlose und Schwerhörige aus","Chapters":"Kapitel","Descriptions":"Beschreibungen","descriptions off":"Beschreibungen aus","Audio Track":"Tonspur","Volume Level":"Lautstärke","You aborted the media playback":"Du hast die Medienwiedergabe abgebrochen.","A network error caused the media download to fail part-way.":"Ein Netzwerkfehler hat das Herunterladen des Videos teilweise verhindert.","The media could not be loaded, either because the server or network failed or because the format is not supported.":"Es ist ein Fehler beim Laden aufgetreten. Das kann an einer fehlenden Netzwerk-Verbindung liegen oder daran, dass das Format nicht unterstützt wird.","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"Die Medienwiedergabe wurde abgebrochen, weil die erhaltenen Daten entweder fehlerhaft sind vom aktuellen Browser nicht unterstützt werden.","No compatible source was found for this media.":"Es konnte keine kompatible Quelle gefunden werden.","The media is encrypted and we do not have the keys to decrypt it.":"Die Daten sind verschlüsselt und es liegen keine Schlüssel dafür vor.","Play Video":"Video abspielen","Close":"Schließen","Close Modal Dialog":"Dialogfenster schließen","Modal Window":"Dialogfenster","This is a modal window":"Dies ist ein Dialogfenster.","This modal can be closed by pressing the Escape key or activating the close button.":"Dieses Dialogfenster kann geschlossen werden, indem man die Escape-Taste drückt oder auf die Schaltfläche zum Schließen des Fenster klickt.",", opens captions settings dialog":", öffnet die Einstellungen für Untertitel für Gehörlose und Schwerhörige",", opens subtitles settings dialog":", öffnet die Einstellungen für Untertitel",", opens descriptions settings dialog":", öffnet die Einstellungen für Beschreibungen",", selected":", ausgewählt","captions settings":"Einstellungen für Untertitel für Gehörlose und Schwerhörige","subtitles settings":"Einstellungen für Untertitel","descriptions settings":"Einstellungen für Beschreibungen","Text":"Text","White":"Weiß","Black":"Schwarz","Red":"Rot","Green":"Grün","Blue":"Blau","Yellow":"Gelb","Magenta":"Magenta","Cyan":"Cyan","Background":"Hintergrund","Window":"Fenster","Transparent":"durchsichtig","Semi-Transparent":"halbdurchsichtig","Opaque":"undurchsichtig","Font Size":"Schriftgröße","Text Edge Style":"Textkantenstil","None":"Nichts","Raised":"Erhöht","Depressed":"Erniedrigt","Uniform":"Gleichmäßig","Dropshadow":"Schlagschatten","Font Family":"Schriftart","Proportional Sans-Serif":"Proportionale Grotesk","Monospace Sans-Serif":"Nichtproportionale Grotesk","Proportional Serif":"Proportionale Serifen-Schrit","Monospace Serif":"Nichtproportionale Serifen-Schrift","Casual":"Gewöhnlich","Script":"Schreibschrift","Small Caps":"Kapitälchen","Reset":"Zurücksetzen","restore all settings to the default values":"Alle Einstellungen auf ihre Standardwerte zurücksetzen","Done":"Fertig","Caption Settings Dialog":"Dialogfenster für Einstellungen für Untertitel für Gehörlose und Schwerhörige","Beginning of dialog window. Escape will cancel and close the window.":"Anfang des Dialogfensters. Mit der Escape-Taste wird das Fenster ohne Speichern geschlossen.","End of dialog window.":"Ende des Dialogfensters.","{1} is loading.":"{1} lädt.","Quality":"Qualität","Auto":"Automatische Wiedergabe","Speed":"Geschwindigkeit","peers":"Peers","Go to the video page":"Zur Video-Seite gehen","Settings":"Einstellungen","Uses P2P, others may know you are watching this video.":"Nutzt Peer-to-Peer-Technologie, daher könnten andere wissen, dass du dieses Video ansiehst.","Copy the video URL":"Video-URL kopieren","Copy the video URL at the current time":"Video-URL an dieser Stelle kopieren","Copy embed code":"Einbettungscode kopieren"} \ No newline at end of file | |||
diff --git a/client/src/locale/target/player_de_DE.xml b/client/src/locale/target/player_de_DE.xml deleted file mode 100644 index 3c3e48ffb..000000000 --- a/client/src/locale/target/player_de_DE.xml +++ /dev/null | |||
@@ -1,379 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="de-DE"> | ||
5 | <body> | ||
6 | <trans-unit id="Audio Player"> | ||
7 | <source>Audio Player</source> | ||
8 | <target>Audio-Player</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Video Player"> | ||
11 | <source>Video Player</source> | ||
12 | <target>Video-Player</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Play"> | ||
15 | <source>Play</source> | ||
16 | <target>Wiedergabe</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="Pause"> | ||
19 | <source>Pause</source> | ||
20 | <target>Pause</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Replay"> | ||
23 | <source>Replay</source> | ||
24 | <target>Nochmal</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Current Time"> | ||
27 | <source>Current Time</source> | ||
28 | <target>Aktuelle Zeit</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Duration"> | ||
31 | <source>Duration</source> | ||
32 | <target>Länge</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="Remaining Time"> | ||
35 | <source>Remaining Time</source> | ||
36 | <target>Verbleibende Zeit</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Stream Type"> | ||
39 | <source>Stream Type</source> | ||
40 | <target>Streamtyp</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="LIVE"> | ||
43 | <source>LIVE</source> | ||
44 | <target>Live</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="Loaded"> | ||
47 | <source>Loaded</source> | ||
48 | <target>Geladen</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="Progress"> | ||
51 | <source>Progress</source> | ||
52 | <target>Fortschritt</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Progress Bar"> | ||
55 | <source>Progress Bar</source> | ||
56 | <target>Fortschrittsanzeige</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="progress bar timing: currentTime={1} duration={2}"> | ||
59 | <source>{1} of {2}</source> | ||
60 | <target>{1} von {2}</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Fullscreen"> | ||
63 | <source>Fullscreen</source> | ||
64 | <target>Vollbildschirm</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Non-Fullscreen"> | ||
67 | <source>Non-Fullscreen</source> | ||
68 | <target>Kein Vollbildschirm</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="Mute"> | ||
71 | <source>Mute</source> | ||
72 | <target>Ton aus</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Unmute"> | ||
75 | <source>Unmute</source> | ||
76 | <target>Ton ein</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="Playback Rate"> | ||
79 | <source>Playback Rate</source> | ||
80 | <target>Wiedergabegeschwindigkeit</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Subtitles"> | ||
83 | <source>Subtitles</source> | ||
84 | <target>Untertitel</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="subtitles off"> | ||
87 | <source>subtitles off</source> | ||
88 | <target>Untertitel aus</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Captions"> | ||
91 | <source>Captions</source> | ||
92 | <target>Untertitel für Gehörlose und Schwerhörige</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="captions off"> | ||
95 | <source>captions off</source> | ||
96 | <target>Untertitel für Gehörlose und Schwerhörige aus</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="Chapters"> | ||
99 | <source>Chapters</source> | ||
100 | <target>Kapitel</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Descriptions"> | ||
103 | <source>Descriptions</source> | ||
104 | <target>Beschreibungen</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="descriptions off"> | ||
107 | <source>descriptions off</source> | ||
108 | <target>Beschreibungen aus</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Audio Track"> | ||
111 | <source>Audio Track</source> | ||
112 | <target>Tonspur</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Volume Level"> | ||
115 | <source>Volume Level</source> | ||
116 | <target>Lautstärke</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="You aborted the media playback"> | ||
119 | <source>You aborted the media playback</source> | ||
120 | <target>Du hast die Medienwiedergabe abgebrochen.</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="A network error caused the media download to fail part-way."> | ||
123 | <source>A network error caused the media download to fail part-way.</source> | ||
124 | <target>Ein Netzwerkfehler hat das Herunterladen des Videos teilweise verhindert.</target> | ||
125 | </trans-unit> | ||
126 | <trans-unit id="The media could not be loaded, either because the server or network failed or because the format is not supported."> | ||
127 | <source>The media could not be loaded, either because the server or network failed or because the format is not supported.</source> | ||
128 | <target>Es ist ein Fehler beim Laden aufgetreten. Das kann an einer fehlenden Netzwerk-Verbindung liegen oder daran, dass das Format nicht unterstützt wird.</target> | ||
129 | </trans-unit> | ||
130 | <trans-unit id="The media playback was aborted due to a corruption problem or because the media used features your browser did not support."> | ||
131 | <source>The media playback was aborted due to a corruption problem or because the media used features your browser did not support.</source> | ||
132 | <target>Die Medienwiedergabe wurde abgebrochen, weil die erhaltenen Daten entweder fehlerhaft sind vom aktuellen Browser nicht unterstützt werden.</target> | ||
133 | </trans-unit> | ||
134 | <trans-unit id="No compatible source was found for this media."> | ||
135 | <source>No compatible source was found for this media.</source> | ||
136 | <target>Es konnte keine kompatible Quelle gefunden werden.</target> | ||
137 | </trans-unit> | ||
138 | <trans-unit id="The media is encrypted and we do not have the keys to decrypt it."> | ||
139 | <source>The media is encrypted and we do not have the keys to decrypt it.</source> | ||
140 | <target>Die Daten sind verschlüsselt und es liegen keine Schlüssel dafür vor.</target> | ||
141 | </trans-unit> | ||
142 | <trans-unit id="Play Video"> | ||
143 | <source>Play Video</source> | ||
144 | <target>Video abspielen</target> | ||
145 | </trans-unit> | ||
146 | <trans-unit id="Close"> | ||
147 | <source>Close</source> | ||
148 | <target>Schließen</target> | ||
149 | </trans-unit> | ||
150 | <trans-unit id="Close Modal Dialog"> | ||
151 | <source>Close Modal Dialog</source> | ||
152 | <target>Dialogfenster schließen</target> | ||
153 | </trans-unit> | ||
154 | <trans-unit id="Modal Window"> | ||
155 | <source>Modal Window</source> | ||
156 | <target>Dialogfenster</target> | ||
157 | </trans-unit> | ||
158 | <trans-unit id="This is a modal window"> | ||
159 | <source>This is a modal window</source> | ||
160 | <target>Dies ist ein Dialogfenster.</target> | ||
161 | </trans-unit> | ||
162 | <trans-unit id="This modal can be closed by pressing the Escape key or activating the close button."> | ||
163 | <source>This modal can be closed by pressing the Escape key or activating the close button.</source> | ||
164 | <target>Dieses Dialogfenster kann geschlossen werden, indem man die Escape-Taste drückt oder auf die Schaltfläche zum Schließen des Fenster klickt.</target> | ||
165 | </trans-unit> | ||
166 | <trans-unit id=", opens captions settings dialog"> | ||
167 | <source>, opens captions settings dialog</source> | ||
168 | <target>, öffnet die Einstellungen für Untertitel für Gehörlose und Schwerhörige</target> | ||
169 | </trans-unit> | ||
170 | <trans-unit id=", opens subtitles settings dialog"> | ||
171 | <source>, opens subtitles settings dialog</source> | ||
172 | <target>, öffnet die Einstellungen für Untertitel</target> | ||
173 | </trans-unit> | ||
174 | <trans-unit id=", opens descriptions settings dialog"> | ||
175 | <source>, opens descriptions settings dialog</source> | ||
176 | <target>, öffnet die Einstellungen für Beschreibungen</target> | ||
177 | </trans-unit> | ||
178 | <trans-unit id=", selected"> | ||
179 | <source>, selected</source> | ||
180 | <target>, ausgewählt</target> | ||
181 | </trans-unit> | ||
182 | <trans-unit id="captions settings"> | ||
183 | <source>captions settings</source> | ||
184 | <target>Einstellungen für Untertitel für Gehörlose und Schwerhörige</target> | ||
185 | </trans-unit> | ||
186 | <trans-unit id="subtitles settings"> | ||
187 | <source>subititles settings</source> | ||
188 | <target>Einstellungen für Untertitel</target> | ||
189 | </trans-unit> | ||
190 | <trans-unit id="descriptions settings"> | ||
191 | <source>descriptions settings</source> | ||
192 | <target>Einstellungen für Beschreibungen</target> | ||
193 | </trans-unit> | ||
194 | <trans-unit id="Text"> | ||
195 | <source>Text</source> | ||
196 | <target>Text</target> | ||
197 | </trans-unit> | ||
198 | <trans-unit id="White"> | ||
199 | <source>White</source> | ||
200 | <target>Weiß</target> | ||
201 | </trans-unit> | ||
202 | <trans-unit id="Black"> | ||
203 | <source>Black</source> | ||
204 | <target>Schwarz</target> | ||
205 | </trans-unit> | ||
206 | <trans-unit id="Red"> | ||
207 | <source>Red</source> | ||
208 | <target>Rot</target> | ||
209 | </trans-unit> | ||
210 | <trans-unit id="Green"> | ||
211 | <source>Green</source> | ||
212 | <target>Grün</target> | ||
213 | </trans-unit> | ||
214 | <trans-unit id="Blue"> | ||
215 | <source>Blue</source> | ||
216 | <target>Blau</target> | ||
217 | </trans-unit> | ||
218 | <trans-unit id="Yellow"> | ||
219 | <source>Yellow</source> | ||
220 | <target>Gelb</target> | ||
221 | </trans-unit> | ||
222 | <trans-unit id="Magenta"> | ||
223 | <source>Magenta</source> | ||
224 | <target>Magenta</target> | ||
225 | </trans-unit> | ||
226 | <trans-unit id="Cyan"> | ||
227 | <source>Cyan</source> | ||
228 | <target>Cyan</target> | ||
229 | </trans-unit> | ||
230 | <trans-unit id="Background"> | ||
231 | <source>Background</source> | ||
232 | <target>Hintergrund</target> | ||
233 | </trans-unit> | ||
234 | <trans-unit id="Window"> | ||
235 | <source>Window</source> | ||
236 | <target>Fenster</target> | ||
237 | </trans-unit> | ||
238 | <trans-unit id="Transparent"> | ||
239 | <source>Transparent</source> | ||
240 | <target>durchsichtig</target> | ||
241 | </trans-unit> | ||
242 | <trans-unit id="Semi-Transparent"> | ||
243 | <source>Semi-Transparent</source> | ||
244 | <target>halbdurchsichtig</target> | ||
245 | </trans-unit> | ||
246 | <trans-unit id="Opaque"> | ||
247 | <source>Opaque</source> | ||
248 | <target>undurchsichtig</target> | ||
249 | </trans-unit> | ||
250 | <trans-unit id="Font Size"> | ||
251 | <source>Font Size</source> | ||
252 | <target>Schriftgröße</target> | ||
253 | </trans-unit> | ||
254 | <trans-unit id="Text Edge Style"> | ||
255 | <source>Text Edge Style</source> | ||
256 | <target>Textkantenstil</target> | ||
257 | </trans-unit> | ||
258 | <trans-unit id="None"> | ||
259 | <source>None</source> | ||
260 | <target>Nichts</target> | ||
261 | </trans-unit> | ||
262 | <trans-unit id="Raised"> | ||
263 | <source>Raised</source> | ||
264 | <target>Erhöht</target> | ||
265 | </trans-unit> | ||
266 | <trans-unit id="Depressed"> | ||
267 | <source>Depressed</source> | ||
268 | <target>Erniedrigt</target> | ||
269 | </trans-unit> | ||
270 | <trans-unit id="Uniform"> | ||
271 | <source>Uniform</source> | ||
272 | <target>Gleichmäßig</target> | ||
273 | </trans-unit> | ||
274 | <trans-unit id="Dropshadow"> | ||
275 | <source>Dropshadow</source> | ||
276 | <target>Schlagschatten</target> | ||
277 | </trans-unit> | ||
278 | <trans-unit id="Font Family"> | ||
279 | <source>Font Family</source> | ||
280 | <target>Schriftart</target> | ||
281 | </trans-unit> | ||
282 | <trans-unit id="Proportional Sans-Serif"> | ||
283 | <source>Proportional Sans-Serif</source> | ||
284 | <target>Proportionale Grotesk</target> | ||
285 | </trans-unit> | ||
286 | <trans-unit id="Monospace Sans-Serif"> | ||
287 | <source>Monospace Sans-Serif</source> | ||
288 | <target>Nichtproportionale Grotesk</target> | ||
289 | </trans-unit> | ||
290 | <trans-unit id="Proportional Serif"> | ||
291 | <source>Proportional Serif</source> | ||
292 | <target>Proportionale Serifen-Schrit</target> | ||
293 | </trans-unit> | ||
294 | <trans-unit id="Monospace Serif"> | ||
295 | <source>Monospace Serif</source> | ||
296 | <target>Nichtproportionale Serifen-Schrift</target> | ||
297 | </trans-unit> | ||
298 | <trans-unit id="Casual"> | ||
299 | <source>Casual</source> | ||
300 | <target>Gewöhnlich</target> | ||
301 | </trans-unit> | ||
302 | <trans-unit id="Script"> | ||
303 | <source>Script</source> | ||
304 | <target>Schreibschrift</target> | ||
305 | </trans-unit> | ||
306 | <trans-unit id="Small Caps"> | ||
307 | <source>Small Caps</source> | ||
308 | <target>Kapitälchen</target> | ||
309 | </trans-unit> | ||
310 | <trans-unit id="Reset"> | ||
311 | <source>Reset</source> | ||
312 | <target>Zurücksetzen</target> | ||
313 | </trans-unit> | ||
314 | <trans-unit id="restore all settings to the default values"> | ||
315 | <source>restore all settings to the default values</source> | ||
316 | <target>Alle Einstellungen auf ihre Standardwerte zurücksetzen</target> | ||
317 | </trans-unit> | ||
318 | <trans-unit id="Done"> | ||
319 | <source>Done</source> | ||
320 | <target>Fertig</target> | ||
321 | </trans-unit> | ||
322 | <trans-unit id="Caption Settings Dialog"> | ||
323 | <source>Caption Settings Dialog</source> | ||
324 | <target>Dialogfenster für Einstellungen für Untertitel für Gehörlose und Schwerhörige</target> | ||
325 | </trans-unit> | ||
326 | <trans-unit id="Beginning of dialog window. Escape will cancel and close the window."> | ||
327 | <source>Beginning of dialog window. Escape will cancel and close the window.</source> | ||
328 | <target>Anfang des Dialogfensters. Mit der Escape-Taste wird das Fenster ohne Speichern geschlossen.</target> | ||
329 | </trans-unit> | ||
330 | <trans-unit id="End of dialog window."> | ||
331 | <source>End of dialog window.</source> | ||
332 | <target>Ende des Dialogfensters.</target> | ||
333 | </trans-unit> | ||
334 | <trans-unit id="{1} is loading."> | ||
335 | <source>{1} is loading.</source> | ||
336 | <target>{1} lädt.</target> | ||
337 | </trans-unit> | ||
338 | <trans-unit id="Quality"> | ||
339 | <source>Quality</source> | ||
340 | <target>Qualität</target> | ||
341 | </trans-unit> | ||
342 | <trans-unit id="Auto"> | ||
343 | <source>Auto</source> | ||
344 | <target>Automatische Wiedergabe</target> | ||
345 | </trans-unit> | ||
346 | <trans-unit id="Speed"> | ||
347 | <source>Speed</source> | ||
348 | <target>Geschwindigkeit</target> | ||
349 | </trans-unit> | ||
350 | <trans-unit id="peers"> | ||
351 | <source>peers</source> | ||
352 | <target>Peers</target> | ||
353 | </trans-unit> | ||
354 | <trans-unit id="Go to the video page"> | ||
355 | <source>Go to the video page</source> | ||
356 | <target>Zur Video-Seite gehen</target> | ||
357 | </trans-unit> | ||
358 | <trans-unit id="Settings"> | ||
359 | <source>Settings</source> | ||
360 | <target>Einstellungen</target> | ||
361 | </trans-unit> | ||
362 | <trans-unit id="Uses P2P, others may know you are watching this video."> | ||
363 | <source>Uses P2P, others may know you are watching this video.</source> | ||
364 | <target>Nutzt Peer-to-Peer-Technologie, daher könnten andere wissen, dass du dieses Video ansiehst.</target> | ||
365 | </trans-unit> | ||
366 | <trans-unit id="Copy the video URL"> | ||
367 | <source>Copy the video URL</source> | ||
368 | <target>Video-URL kopieren</target> | ||
369 | </trans-unit> | ||
370 | <trans-unit id="Copy the video URL at the current time"> | ||
371 | <source>Copy the video URL at the current time</source> | ||
372 | <target>Video-URL an dieser Stelle kopieren</target> | ||
373 | </trans-unit> | ||
374 | <trans-unit id="Copy embed code"> | ||
375 | <source>Copy embed code</source> | ||
376 | <target>Einbettungscode kopieren</target> | ||
377 | </trans-unit> | ||
378 | </body> | ||
379 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/player_es_ES.json b/client/src/locale/target/player_es_ES.json new file mode 100644 index 000000000..eb5934a2c --- /dev/null +++ b/client/src/locale/target/player_es_ES.json | |||
@@ -0,0 +1 @@ | |||
{"Audio Player":"Reproductor de audio","Video Player":"Reproductor de video","Play":"Reproducir","Pause":"Pausar","Replay":"Ver de nuevo","Current Time":"Tiempo actual","Duration":"Duración","Remaining Time":"Tiempo restante","Stream Type":"Tipo de emisión","LIVE":"EN DIRECTO","Loaded":"Cargado","Progress":"Progreso","Progress Bar":"Barra de progreso","progress bar timing: currentTime={1} duration={2}":"{1} de {2}","Fullscreen":"Pantalla completa","Non-Fullscreen":"Salir de pantalla completa","Mute":"Silenciar","Unmute":"Activar sonido","Playback Rate":"Velocidad de reproducción","Subtitles":"Subtitulos","subtitles off":"Subtitulos desactivados","Captions":"Subtítulos","captions off":"Subtítulos desactivados","Chapters":"Capítulos","Descriptions":"Descripción","descriptions off":"Descripciónes desactivadas","Audio Track":"Pista de audio","Volume Level":"Nivel de volumen","You aborted the media playback":"Has cancelado la reproducción del vídeo","A network error caused the media download to fail part-way.":"Un error de red ha causado un fallo parcial en la descarga del vídeo","The media could not be loaded, either because the server or network failed or because the format is not supported.":"El vídeo no pudo ser cargado, bien porque el servidor o la red fallaron, bien porque el formato no está soportado.","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"La reproducción del vídeo fue cancelada debido a un problema de corrupción o porque el vídeo requería funcionalidades que tu navegador no soporta.","No compatible source was found for this media.":"No se encontró una fuente compatible para este vídeo","The media is encrypted and we do not have the keys to decrypt it.":"El vídeo está encriptado y no tenemos las claves para desencriptarlo.","Play Video":"Reproducir el video","Close":"Cerrar","Close Modal Dialog":"Cerrar diálogo modal","Modal Window":"Ventana modal","This is a modal window":"Esta es una ventana modal","This modal can be closed by pressing the Escape key or activating the close button.":"Esta ventana modal puede cerrarse pulsando la tecla de Escape o activando el botón de cerrar.",", opens captions settings dialog":", abre el diálogo de configuración de subtítulos",", opens subtitles settings dialog":", abre el diálogo de configuración de subtítulos",", opens descriptions settings dialog":", abre el diálogo de configuración de descripciones",", selected":", seleccionado","captions settings":"configuración de subtítulos","subtitles settings":"configuración de subtítulos","descriptions settings":"configuración de descripciones","Text":"Texto","White":"Blanco","Black":"Negro","Red":"Rojo","Green":"Verde","Blue":"Azul","Yellow":"Amarillo","Magenta":"Magenta","Cyan":"Cian","Background":"Fondo","Window":"Ventana","Transparent":"Transparente","Semi-Transparent":"Semi-transparente","Opaque":"Opaco","Font Size":"Tamaño de letra","Text Edge Style":"Estilo de borde del texto","None":"Ninguno","Raised":"Elevado","Depressed":"Descendido","Uniform":"Uniforme","Dropshadow":"Sombra","Font Family":"Familia tipográfica","Proportional Sans-Serif":"Sans-Serif proporcional","Monospace Sans-Serif":"Sans-Serif monoespacio","Proportional Serif":"Serif proporcional","Monospace Serif":"Serif monoespacio","Casual":"Casual","Script":"Script","Small Caps":"Versales","Reset":"Restablecer","restore all settings to the default values":"restaurar todas las configuraciones a sus valores por defecto","Done":"Hecho","Caption Settings Dialog":"Diálogo de configuración de subtítulos","Beginning of dialog window. Escape will cancel and close the window.":"Comienzo de la ventana de diálogo. Escape cancelará y cerrará la ventana.","End of dialog window.":"Fin de la ventana de diálogo.","{1} is loading.":"{1} está cargando.","Quality":"Calidad","Auto":"Auto","Speed":"Velocidad","peers":"pares","Go to the video page":"Ir a la página del vídeo","Settings":"Configuración","Uses P2P, others may know you are watching this video.":"Utiliza P2P, otros pueden saber que estás viendo este vídeo","Copy the video URL":"Copiar la URL del vídeo","Copy the video URL at the current time":"Copiar la URL del vídeo en el tiempo actual","Copy embed code":"Copiar código de inserción"} \ No newline at end of file | |||
diff --git a/client/src/locale/target/player_es_ES.xml b/client/src/locale/target/player_es_ES.xml deleted file mode 100644 index 35ab14c49..000000000 --- a/client/src/locale/target/player_es_ES.xml +++ /dev/null | |||
@@ -1,155 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="es-ES"> | ||
5 | <body> | ||
6 | <trans-unit id="Audio Player"> | ||
7 | <source>Audio Player</source> | ||
8 | <target>Reproductor de audio</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Video Player"> | ||
11 | <source>Video Player</source> | ||
12 | <target>Reproductor de video</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Play"> | ||
15 | <source>Play</source> | ||
16 | <target>Reproducir</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="Pause"> | ||
19 | <source>Pause</source> | ||
20 | <target>Pausar</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Replay"> | ||
23 | <source>Replay</source> | ||
24 | <target>Ver de nuevo</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Duration"> | ||
27 | <source>Duration</source> | ||
28 | <target>Duración</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Remaining Time"> | ||
31 | <source>Remaining Time</source> | ||
32 | <target>Tiempo restante</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="LIVE"> | ||
35 | <source>LIVE</source> | ||
36 | <target>EN DIRECTO</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Loaded"> | ||
39 | <source>Loaded</source> | ||
40 | <target>Cargado</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="Progress"> | ||
43 | <source>Progress</source> | ||
44 | <target>Progreso</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="Progress Bar"> | ||
47 | <source>Progress Bar</source> | ||
48 | <target>Barra de progreso</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="progress bar timing: currentTime={1} duration={2}"> | ||
51 | <source>{1} of {2}</source> | ||
52 | <target>{1} de {2}</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Fullscreen"> | ||
55 | <source>Fullscreen</source> | ||
56 | <target>Pantalla completa</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="Non-Fullscreen"> | ||
59 | <source>Non-Fullscreen</source> | ||
60 | <target>Salir de pantalla completa</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Mute"> | ||
63 | <source>Mute</source> | ||
64 | <target>Silenciar</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Unmute"> | ||
67 | <source>Unmute</source> | ||
68 | <target>Activar sonido</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="Playback Rate"> | ||
71 | <source>Playback Rate</source> | ||
72 | <target>Velocidad de reproducción</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Subtitles"> | ||
75 | <source>Subtitles</source> | ||
76 | <target>Subtitulos</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="subtitles off"> | ||
79 | <source>subtitles off</source> | ||
80 | <target>Subtitulos desactivados</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Descriptions"> | ||
83 | <source>Descriptions</source> | ||
84 | <target>Descripción</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="descriptions off"> | ||
87 | <source>descriptions off</source> | ||
88 | <target>Descripciónes desactivadas</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Audio Track"> | ||
91 | <source>Audio Track</source> | ||
92 | <target>Pista de audio</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="Play Video"> | ||
95 | <source>Play Video</source> | ||
96 | <target>Reproducir el video</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="White"> | ||
99 | <source>White</source> | ||
100 | <target>Blanco</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Black"> | ||
103 | <source>Black</source> | ||
104 | <target>Negro</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="Red"> | ||
107 | <source>Red</source> | ||
108 | <target>Rojo</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Green"> | ||
111 | <source>Green</source> | ||
112 | <target>Verde</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Blue"> | ||
115 | <source>Blue</source> | ||
116 | <target>Azul</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="Yellow"> | ||
119 | <source>Yellow</source> | ||
120 | <target>Amarillo</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="Magenta"> | ||
123 | <source>Magenta</source> | ||
124 | <target>Magenta</target> | ||
125 | </trans-unit> | ||
126 | <trans-unit id="Cyan"> | ||
127 | <source>Cyan</source> | ||
128 | <target>Cian</target> | ||
129 | </trans-unit> | ||
130 | <trans-unit id="Transparent"> | ||
131 | <source>Transparent</source> | ||
132 | <target>Transparente</target> | ||
133 | </trans-unit> | ||
134 | <trans-unit id="Opaque"> | ||
135 | <source>Opaque</source> | ||
136 | <target>Opaco</target> | ||
137 | </trans-unit> | ||
138 | <trans-unit id="None"> | ||
139 | <source>None</source> | ||
140 | <target>Ninguno</target> | ||
141 | </trans-unit> | ||
142 | <trans-unit id="Reset"> | ||
143 | <source>Reset</source> | ||
144 | <target>Restablecer</target> | ||
145 | </trans-unit> | ||
146 | <trans-unit id="Quality"> | ||
147 | <source>Quality</source> | ||
148 | <target>Calidad</target> | ||
149 | </trans-unit> | ||
150 | <trans-unit id="Speed"> | ||
151 | <source>Speed</source> | ||
152 | <target>Velocidad</target> | ||
153 | </trans-unit> | ||
154 | </body> | ||
155 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/player_zh_Hans_CN.xml b/client/src/locale/target/player_zh_Hans_CN.xml index 6e0febd5c..c546a4883 100644 --- a/client/src/locale/target/player_zh_Hans_CN.xml +++ b/client/src/locale/target/player_zh_Hans_CN.xml | |||
@@ -107,10 +107,18 @@ | |||
107 | <source>descriptions off</source> | 107 | <source>descriptions off</source> |
108 | <target>关闭描述</target> | 108 | <target>关闭描述</target> |
109 | </trans-unit> | 109 | </trans-unit> |
110 | <trans-unit id="Audio Track"> | ||
111 | <source>Audio Track</source> | ||
112 | <target>音频轨道</target> | ||
113 | </trans-unit> | ||
110 | <trans-unit id="Volume Level"> | 114 | <trans-unit id="Volume Level"> |
111 | <source>Volume Level</source> | 115 | <source>Volume Level</source> |
112 | <target>音量</target> | 116 | <target>音量</target> |
113 | </trans-unit> | 117 | </trans-unit> |
118 | <trans-unit id="A network error caused the media download to fail part-way."> | ||
119 | <source>A network error caused the media download to fail part-way.</source> | ||
120 | <target>网络错误导致媒体下载未能完成。</target> | ||
121 | </trans-unit> | ||
114 | <trans-unit id="The media could not be loaded, either because the server or network failed or because the format is not supported."> | 122 | <trans-unit id="The media could not be loaded, either because the server or network failed or because the format is not supported."> |
115 | <source>The media could not be loaded, either because the server or network failed or because the format is not supported.</source> | 123 | <source>The media could not be loaded, either because the server or network failed or because the format is not supported.</source> |
116 | <target>该视频没有被加载网络失败或格式不支持</target> | 124 | <target>该视频没有被加载网络失败或格式不支持</target> |
@@ -143,14 +151,34 @@ | |||
143 | <source>Modal Window</source> | 151 | <source>Modal Window</source> |
144 | <target>模式</target> | 152 | <target>模式</target> |
145 | </trans-unit> | 153 | </trans-unit> |
154 | <trans-unit id="This is a modal window"> | ||
155 | <source>This is a modal window</source> | ||
156 | <target>这是一个模态窗口</target> | ||
157 | </trans-unit> | ||
158 | <trans-unit id="This modal can be closed by pressing the Escape key or activating the close button."> | ||
159 | <source>This modal can be closed by pressing the Escape key or activating the close button.</source> | ||
160 | <target>可通过按下退出(Esc)键或点击关闭按钮来关闭此模态窗口。</target> | ||
161 | </trans-unit> | ||
146 | <trans-unit id=", opens captions settings dialog"> | 162 | <trans-unit id=", opens captions settings dialog"> |
147 | <source>, opens captions settings dialog</source> | 163 | <source>, opens captions settings dialog</source> |
148 | <target>打开字幕</target> | 164 | <target>打开字幕</target> |
149 | </trans-unit> | 165 | </trans-unit> |
166 | <trans-unit id=", opens subtitles settings dialog"> | ||
167 | <source>, opens subtitles settings dialog</source> | ||
168 | <target>打开字幕设置对话框</target> | ||
169 | </trans-unit> | ||
170 | <trans-unit id=", opens descriptions settings dialog"> | ||
171 | <source>, opens descriptions settings dialog</source> | ||
172 | <target>打开描述设置对话框</target> | ||
173 | </trans-unit> | ||
150 | <trans-unit id=", selected"> | 174 | <trans-unit id=", selected"> |
151 | <source>, selected</source> | 175 | <source>, selected</source> |
152 | <target>选中</target> | 176 | <target>选中</target> |
153 | </trans-unit> | 177 | </trans-unit> |
178 | <trans-unit id="captions settings"> | ||
179 | <source>captions settings</source> | ||
180 | <target>标题设置</target> | ||
181 | </trans-unit> | ||
154 | <trans-unit id="subtitles settings"> | 182 | <trans-unit id="subtitles settings"> |
155 | <source>subititles settings</source> | 183 | <source>subititles settings</source> |
156 | <target>字幕设置</target> | 184 | <target>字幕设置</target> |
@@ -247,6 +275,18 @@ | |||
247 | <source>Font Family</source> | 275 | <source>Font Family</source> |
248 | <target>字体系列</target> | 276 | <target>字体系列</target> |
249 | </trans-unit> | 277 | </trans-unit> |
278 | <trans-unit id="Monospace Sans-Serif"> | ||
279 | <source>Monospace Sans-Serif</source> | ||
280 | <target>等宽无衬线体</target> | ||
281 | </trans-unit> | ||
282 | <trans-unit id="Proportional Serif"> | ||
283 | <source>Proportional Serif</source> | ||
284 | <target>非等宽有衬线体</target> | ||
285 | </trans-unit> | ||
286 | <trans-unit id="Monospace Serif"> | ||
287 | <source>Monospace Serif</source> | ||
288 | <target>等宽有衬线体</target> | ||
289 | </trans-unit> | ||
250 | <trans-unit id="Casual"> | 290 | <trans-unit id="Casual"> |
251 | <source>Casual</source> | 291 | <source>Casual</source> |
252 | <target>临时</target> | 292 | <target>临时</target> |
diff --git a/client/src/locale/target/player_zh_Hant_TW.json b/client/src/locale/target/player_zh_Hant_TW.json new file mode 100644 index 000000000..f564d80bc --- /dev/null +++ b/client/src/locale/target/player_zh_Hant_TW.json | |||
@@ -0,0 +1 @@ | |||
{"Audio Player":"音訊播放器","Video Player":"視訊播放器","Play":"播放","Pause":"暫停","Replay":"重播","Current Time":"目前時間","Duration":"長度","Remaining Time":"剩餘時間","Stream Type":"串流類型","LIVE":"直播","Loaded":"已載入","Progress":"進度","Progress Bar":"進度條","progress bar timing: currentTime={1} duration={2}":"{1} 之 {2}","Fullscreen":"全螢幕","Non-Fullscreen":"非全螢幕","Mute":"靜音","Unmute":"取消靜音","Playback Rate":"播放速率","Subtitles":"字幕","subtitles off":"字幕關閉","Captions":"標題","captions off":"標題關閉","Chapters":"章節","Descriptions":"描述","descriptions off":"描述關閉","Audio Track":"音訊軌","Volume Level":"音訊等級","You aborted the media playback":"您中止了媒體播放","A network error caused the media download to fail part-way.":"網路錯誤造成媒體下載部份失敗。","The media could not be loaded, either because the server or network failed or because the format is not supported.":"媒體無法載入,可能是因為伺服器或網路故障,或為不支援的格式。","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"媒體播放因損毀或該媒體使用了您的瀏覽器不支援的功能而中止。","No compatible source was found for this media.":"找不到此媒體的相容來源。","The media is encrypted and we do not have the keys to decrypt it.":"媒體已加密,我們沒有金鑰可以將其解密。","Play Video":"播放影片","Close":"關閉","Close Modal Dialog":"關閉程式對話框","Modal Window":"程式視窗","This is a modal window":"這是一個程式視窗","This modal can be closed by pressing the Escape key or activating the close button.":"這個程式可以夠過按下 Esc 鍵或啟動關閉按鈕來關閉。",", opens captions settings dialog":",開啟標題設定對話框",", opens subtitles settings dialog":",開啟字幕設定對話框",", opens descriptions settings dialog":",開啟描述設定對話框",", selected":",已選取","captions settings":"標題設定","subtitles settings":"字幕設定","descriptions settings":"描述設定","Text":"文字","White":"白色","Black":"黑色","Red":"紅色","Green":"綠色","Blue":"藍色","Yellow":"黃色","Magenta":"洋紅色","Cyan":"深藍色","Background":"背景","Window":"視窗","Transparent":"透明","Semi-Transparent":"半透明","Opaque":"不透明","Font Size":"字型大小","Text Edge Style":"文字邊緣樣式","None":"無","Raised":"凸起","Depressed":"扁平","Uniform":"均勻","Dropshadow":"陰影效果","Font Family":"字型家族","Proportional Sans-Serif":"比例無襯線","Monospace Sans-Serif":"等寬無襯線","Proportional Serif":"比例襯線","Monospace Serif":"等寬襯線","Casual":"華麗","Script":"手寫","Small Caps":"小型大寫字母","Reset":"重設","restore all settings to the default values":"將所有設定復原為預設值","Done":"完成","Caption Settings Dialog":"標題設定對話框","Beginning of dialog window. Escape will cancel and close the window.":"對話框視窗開始。Esc 將會取消並關閉視窗。","End of dialog window.":"對話框視窗結束。","{1} is loading.":"{1} 正在載入。","Quality":"品質","Auto":"自動","Speed":"速度","peers":"peer","Go to the video page":"到影片頁面","Settings":"設定","Uses P2P, others may know you are watching this video.":"使用 P2P,其他人可能會知道您正在觀看這部影片。","Copy the video URL":"複製影片 URL","Copy the video URL at the current time":"複製目前影片時間的 URL","Copy embed code":"複製嵌入程式碼"} \ No newline at end of file | |||
diff --git a/client/src/locale/target/server_de_DE.json b/client/src/locale/target/server_de_DE.json new file mode 100644 index 000000000..9cc56967c --- /dev/null +++ b/client/src/locale/target/server_de_DE.json | |||
@@ -0,0 +1 @@ | |||
{"Music":"Musik","Films":"Filme","Vehicles":"Fahrzeuge","Art":"Kunst","Sports":"Sport","Travels":"Reisen","Gaming":"Spiele","People":"Leute","Comedy":"Komödie","Entertainment":"Unterhaltung","News":"Nachrichten","How To":"How-to","Education":"Bildung","Activism":"Aktivismus","Science & Technology":"Wissenschaft und Technologie","Animals":"Tiere","Kids":"Kinder","Food":"Essen","Attribution":"Namensnennung","Attribution - Share Alike":"Namensnennung - Weitergabe unter gleichen Bedingungen","Attribution - No Derivatives":"Namensnennung - Keine Bearbeitung","Attribution - Non Commercial":"Namensnennung - nicht kommerziell","Attribution - Non Commercial - Share Alike":"Namensnennung - nicht kommerziell, Weitergabe unter gleichen Bedingungen","Attribution - Non Commercial - No Derivatives":"Namensnennung - nicht kommerziell, keine Bearbeitung","Public Domain Dedication":"In Gemeinfreiheit entlassen","Public":"Öffentlich","Unlisted":"Ungelistet","Private":"Privat","Misc":"Verschiedenes","Unknown":"Unbekannt","Afar":"Afar","Abkhazian":"Abchasisch","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amharisch","Arabic":"Arabisch","Aragonese":"Aragonesisch","American Sign Language":"Amerikanische Gebärdensprache","Assamese":"Assamesisch","Avaric":"Awarisch","Aymara":"Aymara","Azerbaijani":"Aserbeidschanisch","Bashkir":"Baschkirisch","Bambara":"Bambara","Belarusian":"Weißrussisch","Bengali":"Bengali","British Sign Language":"Britische Gebärdensprache","Bislama":"Beach-la-mar","Tibetan":"Tibetisch","Bosnian":"Bosnisch","Breton":"Bretonisch","Bulgarian":"Bulgarisch","Brazilian Sign Language":"Brasilianische Gebärdensprache","Catalan":"Katalanisch","Czech":"Tschechisch","Chamorro":"Chamorro","Chechen":"Tschetschenisch","Chuvash":"Tschuwaschisch","Cornish":"Kornisch","Corsican":"Korsisch","Cree":"Cree","Czech Sign Language":"Tschechische Gebärdensprache","Chinese Sign Language":"Chinesiche Gebärdensprache","Welsh":"Kymrisch","Danish":"Dänisch","German":"Deutsch","Dhivehi":"Maledivisch","Danish Sign Language":"Dänische Gebärdensprache","Dzongkha":"Dzongkha","Modern Greek (1453-)":"Neugriechisch","English":"Englisch","Estonian":"Estnisch","Basque":"Baskisch","Ewe":"Ewe","Faroese":"Färöisch","Persian":"Persisch","Fijian":"Fidschi","Finnish":"Finnisch","French":"Französisch","Western Frisian":"Friesisch","French Sign Language":"Französiche Gebärdensprache","Fulah":"Ful","Scottish Gaelic":"Gälisch-Schottisch","Irish":"Irisch","Galician":"Galicisch","Manx":"Manx","Guarani":"Guaraní","German Sign Language":"Deutsche Gebärdensprache","Gujarati":"Gujarati","Haitian":"Haïtien (Haiti-Kreolisch)","Hausa":"Hausa","Serbo-Croatian":"Serbokroatisch","Hebrew":"Hebräisch","Herero":"Otjiherero","Hindi":"Hindi","Hiri Motu":"Hiri-Motu","Croatian":"Kroatisch","Hungarian":"Ungarisch","Armenian":"Armenisch","Igbo":"Igbo","Sichuan Yi":"Yi","Inuktitut":"Inuktitut","Indonesian":"Bahasa Indonesia","Inupiaq":"Inupik","Icelandic":"Isländisch","Italian":"Italienisch","Javanese":"Javanisch","Japanese":"Japanisch","Japanese Sign Language":"Japanische Gebärdensprache","Kalaallisut":"Grönländisch","Kannada":"Kannada","Kashmiri":"Kaschmiri","Georgian":"Georgisch","Kanuri":"Kanuri","Kazakh":"Kasachisch","Khmer":"Kambodschanisch","Kikuyu":"Kikuyu","Kinyarwanda":"Kinyarwanda","Kirghiz":"Kirgisisch","Komi":"Komi","Kongo":"Kikongo","Korean":"Koreanisch","Kuanyama":"Kuanyama","Kurdish":"Kurdisch","Lao":"Laotisch","Latvian":"Lettisch","Limburgan":"Limburgisch","Lingala":"Lingala","Lithuanian":"Litauisch","Luxembourgish":"Luxemburgisch","Luba-Katanga":"Kiluba","Ganda":"Luganda","Marshallese":"Marschallesisch","Malayalam":"Malayalam","Marathi":"Marathi","Macedonian":"Makedonisch","Malagasy":"Malagassi","Maltese":"Maltesisch","Mongolian":"Mongolisch","Maori":"Māori","Malay (macrolanguage)":"Malaiisch","Burmese":"Birmanisch","Nauru":"Nauruanisch","Navajo":"Navajo","South Ndebele":"Süd-Ndebele","North Ndebele":"Nord-Ndebele","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepali","Dutch":"Niederländisch","Norwegian Nynorsk":"Nynorsk","Norwegian Bokmål":"Bokmål","Norwegian":"Norwegisch","Nyanja":"Nyanja-Sprache","Occitan (post 1500)":"Okzitanisch","Ojibwa":"Ojibwa-Sprache","Oriya (macrolanguage)":"Oriya-Sprache","Oromo":"Galla-Sprache","Ossetian":"Ossetisch","Panjabi":"Pandschabi-Sprache","Pakistan Sign Language":"Pakistanische Gebärdensprache","Polish":"Polnisch","Portuguese":"Portugiesisch","Pushto":"Paschtu","Quechua":"Quechua-Sprache","Romansh":"Rätoromanisch","Romanian":"Rumänisch","Russian Sign Language":"Russische Gebärdensprache","Rundi":"Rundi-Sprache","Russian":"Russisch","Sango":"Sango-Sprache","Saudi Arabian Sign Language":"Saudi-arabische Gebärdensprache","South African Sign Language":"Südafrikanische Gebärdensprache","Sinhala":"Singhalesisch","Slovak":"Slowakisch","Slovenian":"Slowenisch","Northern Sami":"Nordsaamisch","Samoan":"Samoanisch","Shona":"Schona-Sprache","Sindhi":"Sindhi-Sprache","Somali":"Somali","Southern Sotho":"Süd-Sotho-Sprache","Spanish":"Spanisch","Albanian":"Albanisch","Sardinian":"Sardisch","Serbian":"Serbisch","Swati":"Swasi-Sprache","Sundanese":"Sundanesisch","Swahili (macrolanguage)":"Swahili","Swedish":"Schwedisch","Swedish Sign Language":"Schwedische Gebärdensprache","Tahitian":"Tahitisch","Tamil":"Tamil","Tatar":"Tatarisch","Telugu":"Telugu-Sprache","Tajik":"Tadschikisch","Tagalog":"Tagalog","Thai":"Thailändisch","Tigrinya":"Tigrinja-Sprache","Tonga (Tonga Islands)":"Tongaisch","Tswana":"Tswana-Sprache","Tsonga":"Tsonga-Sprache","Turkmen":"Turkmenisch","Turkish":"Türkisch","Twi":"Twi-Sprache","Uighur":"Uigurisch","Ukrainian":"Ukrainisch","Urdu":"Urdu","Uzbek":"Usbekisch","Venda":"Venda-Sprache","Vietnamese":"Vietnamesisch","Walloon":"Wallonisch","Wolof":"Wolof-Sprache","Xhosa":"Xhosa-Sprache","Yiddish":"Jiddisch","Yoruba":"Yoruba-Sprache","Zhuang":"Zhuang","Chinese":"Chinesisch","Zulu":"Zulu-Sprache"} \ No newline at end of file | |||
diff --git a/client/src/locale/target/server_de_DE.xml b/client/src/locale/target/server_de_DE.xml deleted file mode 100644 index 049a3c505..000000000 --- a/client/src/locale/target/server_de_DE.xml +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="de-DE"> | ||
5 | <body> | ||
6 | <trans-unit id="Music"> | ||
7 | <source>Music</source> | ||
8 | <target>Musik</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Films"> | ||
11 | <source>Films</source> | ||
12 | <target>Filme</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Vehicles"> | ||
15 | <source>Vehicles</source> | ||
16 | <target>Fahrzeuge</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="Art"> | ||
19 | <source>Art</source> | ||
20 | <target>Kunst</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Sports"> | ||
23 | <source>Sports</source> | ||
24 | <target>Sport</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Travels"> | ||
27 | <source>Travels</source> | ||
28 | <target>Reisen</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Gaming"> | ||
31 | <source>Gaming</source> | ||
32 | <target>Spiele</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="People"> | ||
35 | <source>People</source> | ||
36 | <target>Leute</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Comedy"> | ||
39 | <source>Comedy</source> | ||
40 | <target>Komödie</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="Entertainment"> | ||
43 | <source>Entertainment</source> | ||
44 | <target>Unterhaltung</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="News"> | ||
47 | <source>News</source> | ||
48 | <target>Nachrichten</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="How To"> | ||
51 | <source>How To</source> | ||
52 | <target>How-to</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Education"> | ||
55 | <source>Education</source> | ||
56 | <target>Bildung</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="Activism"> | ||
59 | <source>Activism</source> | ||
60 | <target>Aktivismus</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Science & Technology"> | ||
63 | <source>Science & Technology</source> | ||
64 | <target>Wissenschaft und Technologie</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Animals"> | ||
67 | <source>Animals</source> | ||
68 | <target>Tiere</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="Kids"> | ||
71 | <source>Kids</source> | ||
72 | <target>Kinder</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Food"> | ||
75 | <source>Food</source> | ||
76 | <target>Essen</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="Attribution"> | ||
79 | <source>Attribution</source> | ||
80 | <target>Namensnennung</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Attribution - Share Alike"> | ||
83 | <source>Attribution - Share Alike</source> | ||
84 | <target>Namensnennung - Weitergabe unter gleichen Bedingungen</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="Attribution - No Derivatives"> | ||
87 | <source>Attribution - No Derivatives</source> | ||
88 | <target>Namensnennung - Keine Bearbeitung</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Attribution - Non Commercial"> | ||
91 | <source>Attribution - Non Commercial</source> | ||
92 | <target>Namensnennung - nicht kommerziell</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="Attribution - Non Commercial - Share Alike"> | ||
95 | <source>Attribution - Non Commercial - Share Alike</source> | ||
96 | <target>Namensnennung - nicht kommerziell, Weitergabe unter gleichen Bedingungen</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="Attribution - Non Commercial - No Derivatives"> | ||
99 | <source>Attribution - Non Commercial - No Derivatives</source> | ||
100 | <target>Namensnennung - nicht kommerziell, keine Bearbeitung</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Public Domain Dedication"> | ||
103 | <source>Public Domain Dedication</source> | ||
104 | <target>In Gemeinfreiheit entlassen</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="Public"> | ||
107 | <source>Public</source> | ||
108 | <target>Öffentlich</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Unlisted"> | ||
111 | <source>Unlisted</source> | ||
112 | <target>Ungelistet</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Private"> | ||
115 | <source>Private</source> | ||
116 | <target>Privat</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="Misc"> | ||
119 | <source>Misc</source> | ||
120 | <target>Verschiedenes</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="Unknown"> | ||
123 | <source>Unknown</source> | ||
124 | <target>Unbekannt</target> | ||
125 | </trans-unit> | ||
126 | </body> | ||
127 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/server_es_ES.json b/client/src/locale/target/server_es_ES.json new file mode 100644 index 000000000..716307533 --- /dev/null +++ b/client/src/locale/target/server_es_ES.json | |||
@@ -0,0 +1 @@ | |||
{"Music":"Música","Films":"Películas","Vehicles":"Transporte","Art":"Arte","Sports":"Deportes","Travels":"Viajes","Gaming":"Juegos","People":"Personalidades","Comedy":"Comedia","Entertainment":"Entretenimiento","News":"Noticias","How To":"Tutorial","Education":"Educación","Activism":"Activismo","Science & Technology":"Cienca & Tecnología","Animals":"Animales","Kids":"Niños","Food":"Cocina","Attribution":"Atribución","Attribution - Share Alike":"Atribución - Compartir Igual","Attribution - No Derivatives":"Atribución - No Derivadas","Attribution - Non Commercial":"Atribución - No Comercial","Attribution - Non Commercial - Share Alike":"Atribución - No Comercial - Compartir Igual","Attribution - Non Commercial - No Derivatives":"Atribución - No Comercial - No Derivadas","Public Domain Dedication":"Dominio Público","Public":"Público","Unlisted":"Sin listar","Private":"Privado","Misc":"Miscelánea","Unknown":"Desconocido","Afar":"Afar","Abkhazian":"Abjasio","Afrikaans":"Afrikáans","Akan":"Acano","Amharic":"Amhárico","Arabic":"Árabe","Aragonese":"Aragonés","American Sign Language":"Lengua de signos americana","Assamese":"Asamés","Avaric":"Avar","Aymara":"Aimara","Azerbaijani":"Azerí","Bashkir":"Baskir","Bambara":"Bambara","Belarusian":"Bielorruso","Bengali":"Bengalí","British Sign Language":"Lenga de signos británica","Bislama":"Bislama","Tibetan":"Tibetano","Bosnian":"Bosnio","Breton":"Bretón","Bulgarian":"Búlgaro","Brazilian Sign Language":"Lengua de signos brasileña","Catalan":"Catalán","Czech":"Checo","Chamorro":"Chamorro","Chechen":"Checheno","Chuvash":"Chuvasio","Cornish":"Córnico","Corsican":"Corso","Cree":"Cree","Czech Sign Language":"Lengua de signos checa","Chinese Sign Language":"Lengua de signos china","Welsh":"Gaélico","Danish":"Danés","German":"Alemán","Dhivehi":"Maldivo","Danish Sign Language":"Lengua de signos danesa","Dzongkha":"Dzongkha","Modern Greek (1453-)":"Griego moderno","English":"Inglés","Estonian":"Estonio","Basque":"Euskera","Ewe":"Ewé","Faroese":"Feroés","Persian":"Persa","Fijian":"Fiyiano","Finnish":"Finés","French":"Francés","Western Frisian":"Frisón occidental","French Sign Language":"Lengua de signos francesa","Fulah":"Fula","Scottish Gaelic":"Gaélico escocés","Irish":"Irlandés","Galician":"Gallego","Manx":"Manés","Guarani":"Guaraní","German Sign Language":"Lengua de signos alemana","Gujarati":"Gujaratí","Haitian":"Haitiano","Hausa":"Hausa","Serbo-Croatian":"Serbocroata","Hebrew":"Hebreo","Herero":"Herero","Hindi":"Hindi","Hiri Motu":"Hiri motu","Croatian":"Croata","Hungarian":"Húngaro","Armenian":"Armenio","Igbo":"Igbo","Sichuan Yi":"Nuosu","Inuktitut":"Inuit","Indonesian":"Indonesio","Inupiaq":"Iñupiaq","Icelandic":"Islandés","Italian":"Italiano","Javanese":"Javanés","Japanese":"Japonés","Japanese Sign Language":"Lengua de signos japonesa","Kalaallisut":"Kalaallisut","Kannada":"Canarés","Kashmiri":"Cachemir","Georgian":"Georgiano","Kanuri":"Kanurí","Kazakh":"Kazajo","Khmer":"Camboyano","Kikuyu":"Kikuyú","Kinyarwanda":"Kiñaruanda","Kirghiz":"Kirguís","Komi":"Komi","Kongo":"Kongo","Korean":"Coreano","Kuanyama":"Kuanyama","Kurdish":"Kurdo","Lao":"Lao","Latvian":"Letón","Limburgan":"Limburgués","Lingala":"Lingala","Lithuanian":"Lituano","Luxembourgish":"Luxemburgués","Luba-Katanga":"Luba oriental","Ganda":"Luganda","Marshallese":"Mashalés","Malayalam":"Malabar","Marathi":"Maratí","Macedonian":"Macedonio","Malagasy":"Malgache","Maltese":"Maltés","Mongolian":"Mongol","Maori":"Maorí","Malay (macrolanguage)":"Malayo","Burmese":"Birmano","Nauru":"Nauruano","Navajo":"Navajo","South Ndebele":"Ndebele del sur","North Ndebele":"Ndebele del norte","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepalí","Dutch":"Neerlandés","Norwegian Nynorsk":"Nynorsk","Norwegian Bokmål":"Bokmål","Norwegian":"Noruego","Nyanja":"Chichewa","Occitan (post 1500)":"Occitano","Ojibwa":"Ojibwa","Oriya (macrolanguage)":"Oriya","Oromo":"Oromo","Ossetian":"Osetio","Panjabi":"Panyabí","Pakistan Sign Language":"Lengua de signos pakistaní","Polish":"Polaco","Portuguese":"Portugués","Pushto":"Pastún","Quechua":"Quechua","Romansh":"Romanche","Romanian":"Rumano","Russian Sign Language":"Lengua de signos rusa","Rundi":"Kirundí","Russian":"Ruso","Sango":"Sango","Saudi Arabian Sign Language":"Lengua de signos saudí","South African Sign Language":"Lengua de signos sudafricana","Sinhala":"Cingalés","Slovak":"Eslovaco","Slovenian":"Esloveno","Northern Sami":"Sami septentrional","Samoan":"Samoano","Shona":"Shona","Sindhi":"Sindi","Somali":"Somalí","Southern Sotho":"Soto meridional","Spanish":"Español","Albanian":"Albano","Sardinian":"Sardo","Serbian":"Serbio","Swati":"Suazi","Sundanese":"Sudanés","Swahili (macrolanguage)":"Suajili","Swedish":"Sueco","Swedish Sign Language":"Lengua de signos sueca","Tahitian":"Tahitiano","Tamil":"Támil","Tatar":"Tártaro","Telugu":"Télugu","Tajik":"Tayiko","Tagalog":"Tagalo","Thai":"Tailandés","Tigrinya":"Tigriña","Tonga (Tonga Islands)":"Tongano","Tswana":"Setsuana","Tsonga":"Tsonga","Turkmen":"Turcomano","Turkish":"Turco","Twi":"Twi","Uighur":"Uigur","Ukrainian":"Ucraniano","Urdu":"Urdu","Uzbek":"Uzbeko","Venda":"Venda","Vietnamese":"Vietnamita","Walloon":"Valón","Wolof":"Wólof","Xhosa":"Xhosa","Yiddish":"Yidis","Yoruba":"Yoruba","Zhuang":"Chuang","Chinese":"Chino","Zulu":"Zulú"} \ No newline at end of file | |||
diff --git a/client/src/locale/target/server_es_ES.xml b/client/src/locale/target/server_es_ES.xml deleted file mode 100644 index 8dea57abc..000000000 --- a/client/src/locale/target/server_es_ES.xml +++ /dev/null | |||
@@ -1,127 +0,0 @@ | |||
1 | <?xml version="1.0" encoding="utf-8"?> | ||
2 | <!--XLIFF document generated by Zanata. Visit http://zanata.org for more infomation.--> | ||
3 | <xliff xmlns="urn:oasis:names:tc:xliff:document:1.1" xmlns:xyz="urn:appInfo:Items" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:tc:xliff:document:1.1 http://www.oasis-open.org/committees/xliff/documents/xliff-core-1.1.xsd" version="1.1"> | ||
4 | <file source-language="en-US" datatype="plaintext" original="" target-language="es-ES"> | ||
5 | <body> | ||
6 | <trans-unit id="Music"> | ||
7 | <source>Music</source> | ||
8 | <target>Música</target> | ||
9 | </trans-unit> | ||
10 | <trans-unit id="Films"> | ||
11 | <source>Films</source> | ||
12 | <target>Películas</target> | ||
13 | </trans-unit> | ||
14 | <trans-unit id="Vehicles"> | ||
15 | <source>Vehicles</source> | ||
16 | <target>Transporte</target> | ||
17 | </trans-unit> | ||
18 | <trans-unit id="Art"> | ||
19 | <source>Art</source> | ||
20 | <target>Arte</target> | ||
21 | </trans-unit> | ||
22 | <trans-unit id="Sports"> | ||
23 | <source>Sports</source> | ||
24 | <target>Deportes</target> | ||
25 | </trans-unit> | ||
26 | <trans-unit id="Travels"> | ||
27 | <source>Travels</source> | ||
28 | <target>Viajes</target> | ||
29 | </trans-unit> | ||
30 | <trans-unit id="Gaming"> | ||
31 | <source>Gaming</source> | ||
32 | <target>Juegos</target> | ||
33 | </trans-unit> | ||
34 | <trans-unit id="People"> | ||
35 | <source>People</source> | ||
36 | <target>Personalidades</target> | ||
37 | </trans-unit> | ||
38 | <trans-unit id="Comedy"> | ||
39 | <source>Comedy</source> | ||
40 | <target>Comedia</target> | ||
41 | </trans-unit> | ||
42 | <trans-unit id="Entertainment"> | ||
43 | <source>Entertainment</source> | ||
44 | <target>Entretenimiento</target> | ||
45 | </trans-unit> | ||
46 | <trans-unit id="News"> | ||
47 | <source>News</source> | ||
48 | <target>Noticias</target> | ||
49 | </trans-unit> | ||
50 | <trans-unit id="How To"> | ||
51 | <source>How To</source> | ||
52 | <target>Tutorial</target> | ||
53 | </trans-unit> | ||
54 | <trans-unit id="Education"> | ||
55 | <source>Education</source> | ||
56 | <target>Educación</target> | ||
57 | </trans-unit> | ||
58 | <trans-unit id="Activism"> | ||
59 | <source>Activism</source> | ||
60 | <target>Activismo</target> | ||
61 | </trans-unit> | ||
62 | <trans-unit id="Science & Technology"> | ||
63 | <source>Science & Technology</source> | ||
64 | <target>Cienca & Tecnología</target> | ||
65 | </trans-unit> | ||
66 | <trans-unit id="Animals"> | ||
67 | <source>Animals</source> | ||
68 | <target>Animales</target> | ||
69 | </trans-unit> | ||
70 | <trans-unit id="Kids"> | ||
71 | <source>Kids</source> | ||
72 | <target>Niños</target> | ||
73 | </trans-unit> | ||
74 | <trans-unit id="Food"> | ||
75 | <source>Food</source> | ||
76 | <target>Cocina</target> | ||
77 | </trans-unit> | ||
78 | <trans-unit id="Attribution"> | ||
79 | <source>Attribution</source> | ||
80 | <target>Atribución</target> | ||
81 | </trans-unit> | ||
82 | <trans-unit id="Attribution - Share Alike"> | ||
83 | <source>Attribution - Share Alike</source> | ||
84 | <target>Atribución - Compartir Igual</target> | ||
85 | </trans-unit> | ||
86 | <trans-unit id="Attribution - No Derivatives"> | ||
87 | <source>Attribution - No Derivatives</source> | ||
88 | <target>Atribución - No Derivadas</target> | ||
89 | </trans-unit> | ||
90 | <trans-unit id="Attribution - Non Commercial"> | ||
91 | <source>Attribution - Non Commercial</source> | ||
92 | <target>Atribución - No Comercial</target> | ||
93 | </trans-unit> | ||
94 | <trans-unit id="Attribution - Non Commercial - Share Alike"> | ||
95 | <source>Attribution - Non Commercial - Share Alike</source> | ||
96 | <target>Atribución - No Comercial - Compartir Igual</target> | ||
97 | </trans-unit> | ||
98 | <trans-unit id="Attribution - Non Commercial - No Derivatives"> | ||
99 | <source>Attribution - Non Commercial - No Derivatives</source> | ||
100 | <target>Atribución - No Comercial - No Derivadas</target> | ||
101 | </trans-unit> | ||
102 | <trans-unit id="Public Domain Dedication"> | ||
103 | <source>Public Domain Dedication</source> | ||
104 | <target>Dominio Público</target> | ||
105 | </trans-unit> | ||
106 | <trans-unit id="Public"> | ||
107 | <source>Public</source> | ||
108 | <target>Público</target> | ||
109 | </trans-unit> | ||
110 | <trans-unit id="Unlisted"> | ||
111 | <source>Unlisted</source> | ||
112 | <target>Sin listar</target> | ||
113 | </trans-unit> | ||
114 | <trans-unit id="Private"> | ||
115 | <source>Private</source> | ||
116 | <target>Privado</target> | ||
117 | </trans-unit> | ||
118 | <trans-unit id="Misc"> | ||
119 | <source>Misc</source> | ||
120 | <target>Miscelánea</target> | ||
121 | </trans-unit> | ||
122 | <trans-unit id="Unknown"> | ||
123 | <source>Unknown</source> | ||
124 | <target>Desconocido</target> | ||
125 | </trans-unit> | ||
126 | </body> | ||
127 | </file></xliff> \ No newline at end of file | ||
diff --git a/client/src/locale/target/server_zh_Hant_TW.json b/client/src/locale/target/server_zh_Hant_TW.json new file mode 100644 index 000000000..bb52ed51c --- /dev/null +++ b/client/src/locale/target/server_zh_Hant_TW.json | |||
@@ -0,0 +1 @@ | |||
{"Music":"音樂","Films":"電影","Vehicles":"汽車","Art":"藝術","Sports":"運動","Travels":"旅遊","Gaming":"遊戲","People":"大眾","Comedy":"喜劇","Entertainment":"娛樂","News":"新聞","How To":"How To","Education":"教育","Activism":"行動","Science & Technology":"科學與科技","Animals":"動物","Kids":"兒童","Food":"食物","Attribution":"姓名標示","Attribution - Share Alike":"姓名標示 - 相同方式分享","Attribution - No Derivatives":"姓名標示 - 禁止改作","Attribution - Non Commercial":"姓名標示 - 非商業性","Attribution - Non Commercial - Share Alike":"姓名標示 - 非商業性 - 相同方式分享","Attribution - Non Commercial - No Derivatives":"姓名標示 - 非商業性 - 禁止改作","Public Domain Dedication":"公有領域","Public":"公開","Unlisted":"不列出","Private":"私人","Misc":"雜項","Unknown":"未知","Afar":"阿法爾語","Abkhazian":"阿布哈茲語","Afrikaans":"南非語","Akan":"阿寒語","Amharic":"阿姆哈拉語","Arabic":"阿拉伯語","Aragonese":"亞拉岡語","American Sign Language":"美國手語","Assamese":"阿薩姆語","Avaric":"阿瓦爾語","Aymara":"艾馬拉語","Azerbaijani":"亞塞拜然語","Bashkir":"巴什基爾語","Bambara":"班巴拉語","Belarusian":"白俄羅斯語","Bengali":"孟加拉語","British Sign Language":"英國手語","Bislama":"比斯拉馬語","Tibetan":"藏語","Bosnian":"波士尼亞語","Breton":"布列塔尼語","Bulgarian":"保加利亞語","Brazilian Sign Language":"巴西手語","Catalan":"加泰隆尼亞語","Czech":"捷克語","Chamorro":"查莫羅語","Chechen":"車臣語","Chuvash":"楚瓦什語","Cornish":"康瓦爾語","Corsican":"科西嘉語","Cree":"克里語","Czech Sign Language":"捷克手語","Chinese Sign Language":"中國手語","Welsh":"威爾斯語","Danish":"丹麥語","German":"德語","Dhivehi":"迪維西語","Danish Sign Language":"丹麥手語","Dzongkha":"不丹語","Modern Greek (1453-)":"現代希臘語(1453年後)","English":"英語","Estonian":"愛沙尼亞語","Basque":"巴斯克語","Ewe":"埃維語","Faroese":"法羅語","Persian":"波斯語","Fijian":"斐濟語","Finnish":"芬蘭語","French":"法語","Western Frisian":"西菲士蘭語","French Sign Language":"法國手語","Fulah":"富拉語","Scottish Gaelic":"蘇格蘭蓋爾語","Irish":"愛爾蘭語","Galician":"加利西亞語","Manx":"曼島語","Guarani":"瓜拉尼語","German Sign Language":"德國手語","Gujarati":"古吉拉特語","Haitian":"海地語","Hausa":"豪薩語","Serbo-Croatian":"塞爾維亞-克羅埃西亞語","Hebrew":"希伯來語","Herero":"赫雷羅語","Hindi":"印地語","Hiri Motu":"希里摩圖語","Croatian":"克羅埃西亞語","Hungarian":"匈牙利語","Armenian":"亞美尼亞語","Igbo":"伊博語","Sichuan Yi":"彝語北部方言","Inuktitut":"因紐特語","Indonesian":"印尼語","Inupiaq":"因紐皮雅特語","Icelandic":"冰島語","Italian":"義大利語","Javanese":"爪哇語","Japanese":"日語","Japanese Sign Language":"日本手語","Kalaallisut":"格陵蘭語","Kannada":"康納達語","Kashmiri":"喀什米爾語","Georgian":"喬治亞語","Kanuri":"卡努里語","Kazakh":"哈薩克語","Khmer":"高棉語","Kikuyu":"基庫尤語","Kinyarwanda":"盧安達語","Kirghiz":"吉爾吉斯語","Komi":"科米語","Kongo":"剛果語","Korean":"韓語","Kuanyama":"Kuanyama 語","Kurdish":"庫德語","Lao":"寮語","Latvian":"拉脫維亞語","Limburgan":"林堡語","Lingala":"林格拉語","Lithuanian":"立陶宛語","Luxembourgish":"盧森堡語","Luba-Katanga":"盧巴卡丹加語","Ganda":"盧干達語","Marshallese":"馬紹爾語","Malayalam":"馬拉雅拉姆語","Marathi":"馬拉提語","Macedonian":"馬其頓語","Malagasy":"馬拉加斯語","Maltese":"馬爾他語","Mongolian":"蒙古語","Maori":"毛利語","Malay (macrolanguage)":"馬來語","Burmese":"緬甸語","Nauru":"諾魯語","Navajo":"納瓦荷語","South Ndebele":"南恩德貝勒語","North Ndebele":"北恩德貝勒語","Ndonga":"恩敦加語","Nepali (macrolanguage)":"尼泊爾語","Dutch":"荷蘭語","Norwegian Nynorsk":"新挪威語","Norwegian Bokmål":"書面挪威語","Norwegian":"挪威語","Nyanja":"尼揚賈語","Occitan (post 1500)":"奧克語","Ojibwa":"歐及布威語","Oriya (macrolanguage)":"歐利亞語","Oromo":"奧羅莫語","Ossetian":"奧塞提亞語","Panjabi":"旁遮普語","Pakistan Sign Language":"巴基斯坦手語","Polish":"波蘭語","Portuguese":"葡萄牙語","Pushto":"普什圖語","Quechua":"奇楚瓦語","Romansh":"羅曼什語","Romanian":"羅馬尼亞語","Russian Sign Language":"俄羅斯手語","Rundi":"克倫地語","Russian":"俄語","Sango":"桑戈語","Saudi Arabian Sign Language":"沙烏地阿拉伯手語","South African Sign Language":"南非手語","Sinhala":"僧伽羅語","Slovak":"斯洛伐克語","Slovenian":"斯洛維尼亞語","Northern Sami":"北方薩米語","Samoan":"薩摩亞語","Shona":"修納語","Sindhi":"信德語","Somali":"索馬利亞語","Southern Sotho":"塞索托語","Spanish":"西班牙語","Albanian":"阿爾巴尼亞語","Sardinian":"薩丁尼亞語","Serbian":"塞爾維亞語","Swati":"史瓦濟語","Sundanese":"巽他語","Swahili (macrolanguage)":"斯瓦希里語","Swedish":"瑞典語","Swedish Sign Language":"瑞典手語","Tahitian":"大溪地語","Tamil":"坦米爾語","Tatar":"韃靼語","Telugu":"泰盧固語","Tajik":"塔吉克語","Tagalog":"他加祿語","Thai":"泰語","Tigrinya":"提格利尼亞語","Tonga (Tonga Islands)":"東加語","Tswana":"札那語","Tsonga":"宋加語","Turkmen":"土庫曼語","Turkish":"土耳其語","Twi":"契維語","Uighur":"維吾爾語","Ukrainian":"烏克蘭語","Urdu":"烏爾都語","Uzbek":"烏茲別克語","Venda":"文達語","Vietnamese":"越南語","Walloon":"瓦隆語","Wolof":"沃洛夫語","Xhosa":"科薩語","Yiddish":"意第緒語","Yoruba":"約魯巴語","Zhuang":"壯語","Chinese":"漢語","Zulu":"祖魯語"} \ No newline at end of file | |||
diff --git a/client/yarn.lock b/client/yarn.lock index 5a95f342e..f75d7787c 100644 --- a/client/yarn.lock +++ b/client/yarn.lock | |||
@@ -2,28 +2,27 @@ | |||
2 | # yarn lockfile v1 | 2 | # yarn lockfile v1 |
3 | 3 | ||
4 | 4 | ||
5 | "@angular-devkit/architect@0.6.8": | 5 | "@angular-devkit/architect@0.7.1": |
6 | version "0.6.8" | 6 | version "0.7.1" |
7 | resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.6.8.tgz#977acc605aba45d21b95ca704cc99492e14299dd" | 7 | resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.7.1.tgz#c1e999f6565e4596d0912ea30c190981f79a9481" |
8 | dependencies: | 8 | dependencies: |
9 | "@angular-devkit/core" "0.6.8" | 9 | "@angular-devkit/core" "0.7.1" |
10 | rxjs "^6.0.0" | 10 | rxjs "^6.0.0" |
11 | 11 | ||
12 | "@angular-devkit/build-angular@~0.6.1": | 12 | "@angular-devkit/build-angular@^0.7.1": |
13 | version "0.6.8" | 13 | version "0.7.1" |
14 | resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.6.8.tgz#ea108509f970efc9cd9087a47894c0164dd2d0c0" | 14 | resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.7.1.tgz#797d78a5eb7d275cbe2b2bc90ca82285888c5a96" |
15 | dependencies: | 15 | dependencies: |
16 | "@angular-devkit/architect" "0.6.8" | 16 | "@angular-devkit/architect" "0.7.1" |
17 | "@angular-devkit/build-optimizer" "0.6.8" | 17 | "@angular-devkit/build-optimizer" "0.7.1" |
18 | "@angular-devkit/core" "0.6.8" | 18 | "@angular-devkit/build-webpack" "0.7.1" |
19 | "@ngtools/webpack" "6.0.8" | 19 | "@angular-devkit/core" "0.7.1" |
20 | "@ngtools/webpack" "6.1.1" | ||
20 | ajv "~6.4.0" | 21 | ajv "~6.4.0" |
21 | autoprefixer "^8.4.1" | 22 | autoprefixer "^8.4.1" |
22 | cache-loader "^1.2.2" | ||
23 | chalk "~2.2.2" | ||
24 | circular-dependency-plugin "^5.0.2" | 23 | circular-dependency-plugin "^5.0.2" |
25 | clean-css "^4.1.11" | 24 | clean-css "^4.1.11" |
26 | copy-webpack-plugin "^4.5.1" | 25 | copy-webpack-plugin "^4.5.2" |
27 | file-loader "^1.1.11" | 26 | file-loader "^1.1.11" |
28 | glob "^7.0.3" | 27 | glob "^7.0.3" |
29 | html-webpack-plugin "^3.0.6" | 28 | html-webpack-plugin "^3.0.6" |
@@ -33,8 +32,6 @@ | |||
33 | less "^3.0.4" | 32 | less "^3.0.4" |
34 | less-loader "^4.1.0" | 33 | less-loader "^4.1.0" |
35 | license-webpack-plugin "^1.3.1" | 34 | license-webpack-plugin "^1.3.1" |
36 | lodash "^4.17.4" | ||
37 | memory-fs "^0.4.1" | ||
38 | mini-css-extract-plugin "~0.4.0" | 35 | mini-css-extract-plugin "~0.4.0" |
39 | minimatch "^3.0.4" | 36 | minimatch "^3.0.4" |
40 | opn "^5.1.0" | 37 | opn "^5.1.0" |
@@ -45,10 +42,9 @@ | |||
45 | postcss-loader "^2.1.5" | 42 | postcss-loader "^2.1.5" |
46 | postcss-url "^7.3.2" | 43 | postcss-url "^7.3.2" |
47 | raw-loader "^0.5.1" | 44 | raw-loader "^0.5.1" |
48 | resolve "^1.5.0" | ||
49 | rxjs "^6.0.0" | 45 | rxjs "^6.0.0" |
50 | sass-loader "^7.0.1" | 46 | sass-loader "~6.0.7" |
51 | silent-error "^1.1.0" | 47 | source-map-loader "^0.2.3" |
52 | source-map-support "^0.5.0" | 48 | source-map-support "^0.5.0" |
53 | stats-webpack-plugin "^0.6.2" | 49 | stats-webpack-plugin "^0.6.2" |
54 | style-loader "^0.21.0" | 50 | style-loader "^0.21.0" |
@@ -57,127 +53,133 @@ | |||
57 | tree-kill "^1.2.0" | 53 | tree-kill "^1.2.0" |
58 | uglifyjs-webpack-plugin "^1.2.5" | 54 | uglifyjs-webpack-plugin "^1.2.5" |
59 | url-loader "^1.0.1" | 55 | url-loader "^1.0.1" |
60 | webpack "~4.8.1" | 56 | webpack "~4.9.2" |
61 | webpack-dev-middleware "^3.1.3" | 57 | webpack-dev-middleware "^3.1.3" |
62 | webpack-dev-server "^3.1.4" | 58 | webpack-dev-server "^3.1.4" |
63 | webpack-merge "^4.1.2" | 59 | webpack-merge "^4.1.2" |
64 | webpack-sources "^1.1.0" | 60 | webpack-sources "^1.1.0" |
65 | webpack-subresource-integrity "^1.1.0-rc.4" | 61 | webpack-subresource-integrity "^1.1.0-rc.4" |
66 | optionalDependencies: | 62 | optionalDependencies: |
67 | node-sass "^4.9.0" | 63 | node-sass "^4.9.1" |
68 | 64 | ||
69 | "@angular-devkit/build-optimizer@0.6.8": | 65 | "@angular-devkit/build-optimizer@0.7.1": |
70 | version "0.6.8" | 66 | version "0.7.1" |
71 | resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.6.8.tgz#9e18a4f447290d3a8e32df1110aac8b98b80dec2" | 67 | resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.7.1.tgz#05bb646ab7cc714172fd554bd3e0e1beb7d8becc" |
72 | dependencies: | 68 | dependencies: |
73 | loader-utils "^1.1.0" | 69 | loader-utils "^1.1.0" |
74 | source-map "^0.5.6" | 70 | source-map "^0.5.6" |
75 | typescript "~2.9.1" | 71 | typescript "~2.9.1" |
76 | webpack-sources "^1.1.0" | 72 | webpack-sources "^1.1.0" |
77 | 73 | ||
78 | "@angular-devkit/core@0.6.8": | 74 | "@angular-devkit/build-webpack@0.7.1": |
79 | version "0.6.8" | 75 | version "0.7.1" |
80 | resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.6.8.tgz#3b09d97bd2588f0091df11921f7ed772431806aa" | 76 | resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.7.1.tgz#8ad519f598f89214a132207f7f5369cc4b51d18c" |
77 | dependencies: | ||
78 | "@angular-devkit/architect" "0.7.1" | ||
79 | "@angular-devkit/core" "0.7.1" | ||
80 | rxjs "^6.0.0" | ||
81 | |||
82 | "@angular-devkit/core@0.7.1": | ||
83 | version "0.7.1" | ||
84 | resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-0.7.1.tgz#a8c2ef8cca34d6918ebe618317fee5b0ec84a1e9" | ||
81 | dependencies: | 85 | dependencies: |
82 | ajv "~6.4.0" | 86 | ajv "~6.4.0" |
83 | chokidar "^2.0.3" | 87 | chokidar "^2.0.3" |
84 | rxjs "^6.0.0" | 88 | rxjs "^6.0.0" |
85 | source-map "^0.5.6" | 89 | source-map "^0.5.6" |
86 | 90 | ||
87 | "@angular-devkit/schematics@0.6.8": | 91 | "@angular-devkit/schematics@0.7.1": |
88 | version "0.6.8" | 92 | version "0.7.1" |
89 | resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.6.8.tgz#6360a0271f1f422862bf932a03b3741e76ac5ff0" | 93 | resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-0.7.1.tgz#4b805c66e38f09553ee953e4c81f993432a582fe" |
90 | dependencies: | 94 | dependencies: |
91 | "@angular-devkit/core" "0.6.8" | 95 | "@angular-devkit/core" "0.7.1" |
92 | rxjs "^6.0.0" | 96 | rxjs "^6.0.0" |
93 | 97 | ||
94 | "@angular/animations@~6.0.2": | 98 | "@angular/animations@~6.1.0": |
95 | version "6.0.9" | 99 | version "6.1.0" |
96 | resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-6.0.9.tgz#c077b8d7542117e42365e14f0f030ea9f9a7db78" | 100 | resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-6.1.0.tgz#498d3a5bbfe4c89b044c1073007913199b9b98b9" |
97 | dependencies: | 101 | dependencies: |
98 | tslib "^1.9.0" | 102 | tslib "^1.9.0" |
99 | 103 | ||
100 | "@angular/cli@6.0.8": | 104 | "@angular/cli@~6.1.0": |
101 | version "6.0.8" | 105 | version "6.1.1" |
102 | resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.0.8.tgz#65070958b944be30053232c51f8449b7ddd4d92a" | 106 | resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-6.1.1.tgz#a5d56ad2fbff71bead6b62d0000b1dda4099613d" |
103 | dependencies: | 107 | dependencies: |
104 | "@angular-devkit/architect" "0.6.8" | 108 | "@angular-devkit/architect" "0.7.1" |
105 | "@angular-devkit/core" "0.6.8" | 109 | "@angular-devkit/core" "0.7.1" |
106 | "@angular-devkit/schematics" "0.6.8" | 110 | "@angular-devkit/schematics" "0.7.1" |
107 | "@schematics/angular" "0.6.8" | 111 | "@schematics/angular" "0.7.1" |
108 | "@schematics/update" "0.6.8" | 112 | "@schematics/update" "0.7.1" |
109 | opn "~5.3.0" | 113 | opn "^5.3.0" |
110 | resolve "^1.1.7" | ||
111 | rxjs "^6.0.0" | 114 | rxjs "^6.0.0" |
112 | semver "^5.1.0" | 115 | semver "^5.1.0" |
113 | silent-error "^1.0.0" | ||
114 | symbol-observable "^1.2.0" | 116 | symbol-observable "^1.2.0" |
115 | yargs-parser "^10.0.0" | 117 | yargs-parser "^10.0.0" |
116 | 118 | ||
117 | "@angular/common@~6.0.2": | 119 | "@angular/common@~6.1.0": |
118 | version "6.0.9" | 120 | version "6.1.0" |
119 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-6.0.9.tgz#e12fc4ea74cdb9f007af1098d3573c8d5441680a" | 121 | resolved "https://registry.yarnpkg.com/@angular/common/-/common-6.1.0.tgz#7666c385409cd8d313cc66eade2f8a7410a12256" |
120 | dependencies: | 122 | dependencies: |
121 | tslib "^1.9.0" | 123 | tslib "^1.9.0" |
122 | 124 | ||
123 | "@angular/compiler-cli@~6.0.2": | 125 | "@angular/compiler-cli@~6.1.0": |
124 | version "6.0.9" | 126 | version "6.1.0" |
125 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-6.0.9.tgz#a4b48b37d8b3dd8d702e034d4f062596d048a8a2" | 127 | resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-6.1.0.tgz#8015222a3aa47d8d71a594a6fdbaf08335d1f44c" |
126 | dependencies: | 128 | dependencies: |
127 | chokidar "^1.4.2" | 129 | chokidar "^1.4.2" |
128 | minimist "^1.2.0" | 130 | minimist "^1.2.0" |
129 | reflect-metadata "^0.1.2" | 131 | reflect-metadata "^0.1.2" |
130 | tsickle "^0.29.0" | 132 | tsickle "^0.30.0" |
131 | 133 | ||
132 | "@angular/compiler@~6.0.2": | 134 | "@angular/compiler@~6.1.0": |
133 | version "6.0.9" | 135 | version "6.1.0" |
134 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-6.0.9.tgz#7d4fbb08f88cbef7cff78e11a9474e8df5516bee" | 136 | resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-6.1.0.tgz#b945439fb3cf6a33d297fcb9a08e487f196de901" |
135 | dependencies: | 137 | dependencies: |
136 | tslib "^1.9.0" | 138 | tslib "^1.9.0" |
137 | 139 | ||
138 | "@angular/core@~6.0.2": | 140 | "@angular/core@~6.1.0": |
139 | version "6.0.9" | 141 | version "6.1.0" |
140 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-6.0.9.tgz#a68cc0f5ddffa535df65f3e798ba2fcd6f6eec1b" | 142 | resolved "https://registry.yarnpkg.com/@angular/core/-/core-6.1.0.tgz#d591a97c42cb5efd1ece0f1542cb30c7894d3661" |
141 | dependencies: | 143 | dependencies: |
142 | tslib "^1.9.0" | 144 | tslib "^1.9.0" |
143 | 145 | ||
144 | "@angular/forms@~6.0.2": | 146 | "@angular/forms@~6.1.0": |
145 | version "6.0.9" | 147 | version "6.1.0" |
146 | resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-6.0.9.tgz#4252626875319f09e03d6b5eb61ea8d274061b8f" | 148 | resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-6.1.0.tgz#7e62913b07b67d002ebddf735725d2839a6c3a63" |
147 | dependencies: | 149 | dependencies: |
148 | tslib "^1.9.0" | 150 | tslib "^1.9.0" |
149 | 151 | ||
150 | "@angular/http@~6.0.2": | 152 | "@angular/http@~6.1.0": |
151 | version "6.0.9" | 153 | version "6.1.0" |
152 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-6.0.9.tgz#199c04cc0085bbeba44b9832ba029848c376d5a9" | 154 | resolved "https://registry.yarnpkg.com/@angular/http/-/http-6.1.0.tgz#8712f418d5b9f9047c306da95e31465178e1beef" |
153 | dependencies: | 155 | dependencies: |
154 | tslib "^1.9.0" | 156 | tslib "^1.9.0" |
155 | 157 | ||
156 | "@angular/language-service@^6.0.1": | 158 | "@angular/language-service@~6.1.0": |
157 | version "6.0.9" | 159 | version "6.1.0" |
158 | resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-6.0.9.tgz#46663338185d321dc5cabeed72bec695775a104d" | 160 | resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-6.1.0.tgz#3c73ee95acb5d1b74319d81b01e02701bbd1f539" |
159 | 161 | ||
160 | "@angular/platform-browser-dynamic@~6.0.2": | 162 | "@angular/platform-browser-dynamic@~6.1.0": |
161 | version "6.0.9" | 163 | version "6.1.0" |
162 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.9.tgz#237fff728a518cc8fb89094638ff32c40d310374" | 164 | resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.1.0.tgz#b9341c774aacfe7180ceb1bc82c2acb3ab093018" |
163 | dependencies: | 165 | dependencies: |
164 | tslib "^1.9.0" | 166 | tslib "^1.9.0" |
165 | 167 | ||
166 | "@angular/platform-browser@~6.0.2": | 168 | "@angular/platform-browser@~6.1.0": |
167 | version "6.0.9" | 169 | version "6.1.0" |
168 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-6.0.9.tgz#3f6738046eca03fffdd4558ab3ca75673b6f11d1" | 170 | resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-6.1.0.tgz#8beb2feb4f072e925b6fbeb8259887335f4a98be" |
169 | dependencies: | 171 | dependencies: |
170 | tslib "^1.9.0" | 172 | tslib "^1.9.0" |
171 | 173 | ||
172 | "@angular/router@~6.0.2": | 174 | "@angular/router@~6.1.0": |
173 | version "6.0.9" | 175 | version "6.1.0" |
174 | resolved "https://registry.yarnpkg.com/@angular/router/-/router-6.0.9.tgz#c40572031c7ff2e1dfb5279a8cb508b962a85262" | 176 | resolved "https://registry.yarnpkg.com/@angular/router/-/router-6.1.0.tgz#84cd28211faa31c53f49a571217603ac32a3cce8" |
175 | dependencies: | 177 | dependencies: |
176 | tslib "^1.9.0" | 178 | tslib "^1.9.0" |
177 | 179 | ||
178 | "@angular/service-worker@^6.0.1": | 180 | "@angular/service-worker@~6.1.0": |
179 | version "6.0.9" | 181 | version "6.1.0" |
180 | resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-6.0.9.tgz#ea4e0ab65218269c24e0e4de026a7293d764560f" | 182 | resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-6.1.0.tgz#1072cb8829a1b3285291490f503074ce7170d670" |
181 | dependencies: | 183 | dependencies: |
182 | tslib "^1.9.0" | 184 | tslib "^1.9.0" |
183 | 185 | ||
@@ -185,37 +187,38 @@ | |||
185 | version "2.1.3" | 187 | version "2.1.3" |
186 | resolved "https://registry.yarnpkg.com/@angularclass/hmr/-/hmr-2.1.3.tgz#34e658ed3da37f23b0a200e2da5a89be92bb209f" | 188 | resolved "https://registry.yarnpkg.com/@angularclass/hmr/-/hmr-2.1.3.tgz#34e658ed3da37f23b0a200e2da5a89be92bb209f" |
187 | 189 | ||
188 | "@ngtools/webpack@6.0.8": | 190 | "@ngtools/webpack@6.1.1": |
189 | version "6.0.8" | 191 | version "6.1.1" |
190 | resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.0.8.tgz#a05bce526aee9da62bb230a95fba83fee99d0bca" | 192 | resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-6.1.1.tgz#dcfea287c0c1358f3e123621c65b0e3ccaab5b70" |
191 | dependencies: | 193 | dependencies: |
192 | "@angular-devkit/core" "0.6.8" | 194 | "@angular-devkit/core" "0.7.1" |
195 | rxjs "^6.0.0" | ||
193 | tree-kill "^1.0.0" | 196 | tree-kill "^1.0.0" |
194 | webpack-sources "^1.1.0" | 197 | webpack-sources "^1.1.0" |
195 | 198 | ||
196 | "@ngx-loading-bar/core@2.1.1", "@ngx-loading-bar/core@^2.0.0": | 199 | "@ngx-loading-bar/core@2.1.2", "@ngx-loading-bar/core@^2.0.0": |
197 | version "2.1.1" | 200 | version "2.1.2" |
198 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-2.1.1.tgz#e08f6766b5a04d5b1f69f19b9aef9c0e412ecedc" | 201 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/core/-/core-2.1.2.tgz#13656d27ece2bc384469899a0624a490f18bedd7" |
199 | dependencies: | 202 | dependencies: |
200 | tslib "^1.7.1" | 203 | tslib "^1.7.1" |
201 | 204 | ||
202 | "@ngx-loading-bar/http-client@^2.0.0": | 205 | "@ngx-loading-bar/http-client@^2.0.0": |
203 | version "2.1.1" | 206 | version "2.1.2" |
204 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-2.1.1.tgz#fc2831af3c20e8b3a5ab5f776812b24e8f837bfa" | 207 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/http-client/-/http-client-2.1.2.tgz#49903c93986e874aa7b82f8350e6187595840487" |
205 | dependencies: | 208 | dependencies: |
206 | "@ngx-loading-bar/core" "2.1.1" | 209 | "@ngx-loading-bar/core" "2.1.2" |
207 | tslib "^1.7.1" | 210 | tslib "^1.7.1" |
208 | 211 | ||
209 | "@ngx-loading-bar/router@^2.0.0": | 212 | "@ngx-loading-bar/router@^2.0.0": |
210 | version "2.1.1" | 213 | version "2.1.2" |
211 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/router/-/router-2.1.1.tgz#5ae2d070b847dd9ddee143aaaaa95713e408c6f1" | 214 | resolved "https://registry.yarnpkg.com/@ngx-loading-bar/router/-/router-2.1.2.tgz#b1c77c64a2edee41805957bd36f4eccc459d8e3f" |
212 | dependencies: | 215 | dependencies: |
213 | "@ngx-loading-bar/core" "2.1.1" | 216 | "@ngx-loading-bar/core" "2.1.2" |
214 | tslib "^1.7.1" | 217 | tslib "^1.7.1" |
215 | 218 | ||
216 | "@ngx-meta/core@^6.0.0-rc.1": | 219 | "@ngx-meta/core@^6.0.0-rc.1": |
217 | version "6.0.0-rc.1" | 220 | version "6.0.0" |
218 | resolved "https://registry.yarnpkg.com/@ngx-meta/core/-/core-6.0.0-rc.1.tgz#654daa08e4ac66856a7bad95d9be6250c31d18d8" | 221 | resolved "https://registry.yarnpkg.com/@ngx-meta/core/-/core-6.0.0.tgz#3cdc176e810fbe7b9b2d0d09abc5c8606ec61023" |
219 | dependencies: | 222 | dependencies: |
220 | tslib "~1.9.0" | 223 | tslib "~1.9.0" |
221 | 224 | ||
@@ -227,21 +230,22 @@ | |||
227 | tslib "^1.9.0" | 230 | tslib "^1.9.0" |
228 | yargs "10.0.3" | 231 | yargs "10.0.3" |
229 | 232 | ||
230 | "@schematics/angular@0.6.8": | 233 | "@schematics/angular@0.7.1": |
231 | version "0.6.8" | 234 | version "0.7.1" |
232 | resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.6.8.tgz#a8d1afc33e77160296b0a8b3d02f0ee4dfe9d1d2" | 235 | resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-0.7.1.tgz#29db78d148d3260e9bb545c86a4c6bfbaed9e933" |
233 | dependencies: | 236 | dependencies: |
234 | "@angular-devkit/core" "0.6.8" | 237 | "@angular-devkit/core" "0.7.1" |
235 | "@angular-devkit/schematics" "0.6.8" | 238 | "@angular-devkit/schematics" "0.7.1" |
236 | typescript ">=2.6.2 <2.8" | 239 | typescript ">=2.6.2 <2.8" |
237 | 240 | ||
238 | "@schematics/update@0.6.8": | 241 | "@schematics/update@0.7.1": |
239 | version "0.6.8" | 242 | version "0.7.1" |
240 | resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.6.8.tgz#3b4f897dd3b28335acc53a49d9f0dc10ebd934a7" | 243 | resolved "https://registry.yarnpkg.com/@schematics/update/-/update-0.7.1.tgz#56cf82df0bf8f5a0ef75aef94b7a9bc9598d7f51" |
241 | dependencies: | 244 | dependencies: |
242 | "@angular-devkit/core" "0.6.8" | 245 | "@angular-devkit/core" "0.7.1" |
243 | "@angular-devkit/schematics" "0.6.8" | 246 | "@angular-devkit/schematics" "0.7.1" |
244 | npm-registry-client "^8.5.1" | 247 | npm-registry-client "^8.5.1" |
248 | rc "^1.2.8" | ||
245 | rxjs "^6.0.0" | 249 | rxjs "^6.0.0" |
246 | semver "^5.3.0" | 250 | semver "^5.3.0" |
247 | semver-intersect "^1.1.2" | 251 | semver-intersect "^1.1.2" |
@@ -271,14 +275,14 @@ | |||
271 | resolved "https://registry.yarnpkg.com/@types/jschannel/-/jschannel-1.0.0.tgz#2e25447f661de85e221647076e9d257d9fb76d0c" | 275 | resolved "https://registry.yarnpkg.com/@types/jschannel/-/jschannel-1.0.0.tgz#2e25447f661de85e221647076e9d257d9fb76d0c" |
272 | 276 | ||
273 | "@types/lodash-es@^4.17.0": | 277 | "@types/lodash-es@^4.17.0": |
274 | version "4.17.0" | 278 | version "4.17.1" |
275 | resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.0.tgz#ed9044d62ee36a93e0650b112701986b1c74c766" | 279 | resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.1.tgz#56745e5411558362aeca31def918f88f725dd29d" |
276 | dependencies: | 280 | dependencies: |
277 | "@types/lodash" "*" | 281 | "@types/lodash" "*" |
278 | 282 | ||
279 | "@types/lodash@*": | 283 | "@types/lodash@*": |
280 | version "4.14.112" | 284 | version "4.14.115" |
281 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.112.tgz#4a8d8e5716b97a1ac01fe1931ad1e4cba719de5a" | 285 | resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.115.tgz#54d171b2ce12c058742443b5f6754760f701b8f9" |
282 | 286 | ||
283 | "@types/magnet-uri@*": | 287 | "@types/magnet-uri@*": |
284 | version "5.1.1" | 288 | version "5.1.1" |
@@ -291,8 +295,8 @@ | |||
291 | resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.4.tgz#c5f67365916044b342dae8d702724788ba0b5b74" | 295 | resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.4.tgz#c5f67365916044b342dae8d702724788ba0b5b74" |
292 | 296 | ||
293 | "@types/node@*", "@types/node@^10.5.2": | 297 | "@types/node@*", "@types/node@^10.5.2": |
294 | version "10.5.2" | 298 | version "10.5.4" |
295 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.2.tgz#f19f05314d5421fe37e74153254201a7bf00a707" | 299 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.4.tgz#6eccc158504357d1da91434d75e86acde94bb10b" |
296 | 300 | ||
297 | "@types/node@^6.0.46": | 301 | "@types/node@^6.0.46": |
298 | version "6.0.114" | 302 | version "6.0.114" |
@@ -317,16 +321,16 @@ | |||
317 | resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" | 321 | resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5" |
318 | 322 | ||
319 | "@types/sanitize-html@^1.14.0": | 323 | "@types/sanitize-html@^1.14.0": |
320 | version "1.14.0" | 324 | version "1.18.0" |
321 | resolved "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-1.14.0.tgz#9a03ec58306e24feaa3fbdb8ab593934d53ecb05" | 325 | resolved "https://registry.yarnpkg.com/@types/sanitize-html/-/sanitize-html-1.18.0.tgz#de5cb560a41308ea8474e93b9d10bbb4050692f5" |
322 | 326 | ||
323 | "@types/selenium-webdriver@^2.53.35", "@types/selenium-webdriver@~2.53.39": | 327 | "@types/selenium-webdriver@^3.0.0": |
324 | version "2.53.43" | 328 | version "3.0.10" |
325 | resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-2.53.43.tgz#2de3d718819bc20165754c4a59afb7e9833f6707" | 329 | resolved "https://registry.yarnpkg.com/@types/selenium-webdriver/-/selenium-webdriver-3.0.10.tgz#e98cc6f05b4b436277671c784ee2f9d05a634f9b" |
326 | 330 | ||
327 | "@types/simple-peer@*": | 331 | "@types/simple-peer@*": |
328 | version "6.1.4" | 332 | version "6.1.5" |
329 | resolved "https://registry.yarnpkg.com/@types/simple-peer/-/simple-peer-6.1.4.tgz#1d1384e1d8dc17b9e7d1673d704febe91ca48191" | 333 | resolved "https://registry.yarnpkg.com/@types/simple-peer/-/simple-peer-6.1.5.tgz#9353f84cefd052a9684b9a5662c983fc2bcfab41" |
330 | dependencies: | 334 | dependencies: |
331 | "@types/node" "*" | 335 | "@types/node" "*" |
332 | 336 | ||
@@ -343,7 +347,19 @@ | |||
343 | "@types/parse-torrent" "*" | 347 | "@types/parse-torrent" "*" |
344 | "@types/simple-peer" "*" | 348 | "@types/simple-peer" "*" |
345 | 349 | ||
346 | "@videojs/http-streaming@1.2.1", "@videojs/http-streaming@^1.0.2": | 350 | "@videojs/http-streaming@1.1.0": |
351 | version "1.1.0" | ||
352 | resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-1.1.0.tgz#ae51919491090eacaab525da30bc0c1beede2515" | ||
353 | dependencies: | ||
354 | aes-decrypter "3.0.0" | ||
355 | global "^4.3.0" | ||
356 | m3u8-parser "4.2.0" | ||
357 | mpd-parser "0.6.1" | ||
358 | mux.js "4.4.1" | ||
359 | url-toolkit "^2.1.3" | ||
360 | video.js "^6.8.0 || ^7.0.0" | ||
361 | |||
362 | "@videojs/http-streaming@1.2.1": | ||
347 | version "1.2.1" | 363 | version "1.2.1" |
348 | resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-1.2.1.tgz#4a221359952c28b2ded2c612e677369a647cf57d" | 364 | resolved "https://registry.yarnpkg.com/@videojs/http-streaming/-/http-streaming-1.2.1.tgz#4a221359952c28b2ded2c612e677369a647cf57d" |
349 | dependencies: | 365 | dependencies: |
@@ -644,8 +660,8 @@ acorn@^5.0.0, acorn@^5.3.0, acorn@^5.6.2: | |||
644 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" | 660 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" |
645 | 661 | ||
646 | addr-to-ip-port@^1.0.1, addr-to-ip-port@^1.4.2: | 662 | addr-to-ip-port@^1.0.1, addr-to-ip-port@^1.4.2: |
647 | version "1.4.3" | 663 | version "1.5.1" |
648 | resolved "https://registry.yarnpkg.com/addr-to-ip-port/-/addr-to-ip-port-1.4.3.tgz#5a78cc30b8d328e213ca6d6f99c0380be4a51246" | 664 | resolved "https://registry.yarnpkg.com/addr-to-ip-port/-/addr-to-ip-port-1.5.1.tgz#bfada13fd6aeeeac19f1e9f7d84b4bbab45e5208" |
649 | 665 | ||
650 | addressparser@1.0.1: | 666 | addressparser@1.0.1: |
651 | version "1.0.1" | 667 | version "1.0.1" |
@@ -663,10 +679,6 @@ adjust-sourcemap-loader@^1.1.0: | |||
663 | object-path "^0.9.2" | 679 | object-path "^0.9.2" |
664 | regex-parser "^2.2.9" | 680 | regex-parser "^2.2.9" |
665 | 681 | ||
666 | adm-zip@0.4.4: | ||
667 | version "0.4.4" | ||
668 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.4.tgz#a61ed5ae6905c3aea58b3a657d25033091052736" | ||
669 | |||
670 | adm-zip@^0.4.9: | 682 | adm-zip@^0.4.9: |
671 | version "0.4.11" | 683 | version "0.4.11" |
672 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a" | 684 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.11.tgz#2aa54c84c4b01a9d0fb89bb11982a51f13e3d62a" |
@@ -773,7 +785,7 @@ ansi-styles@^2.2.1: | |||
773 | version "2.2.1" | 785 | version "2.2.1" |
774 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" | 786 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" |
775 | 787 | ||
776 | ansi-styles@^3.1.0, ansi-styles@^3.2.1: | 788 | ansi-styles@^3.2.1: |
777 | version "3.2.1" | 789 | version "3.2.1" |
778 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" | 790 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" |
779 | dependencies: | 791 | dependencies: |
@@ -945,7 +957,7 @@ async@1.x, async@^1.4.0, async@^1.5.2: | |||
945 | version "1.5.2" | 957 | version "1.5.2" |
946 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" | 958 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" |
947 | 959 | ||
948 | async@^2.1.4, async@^2.4.1, async@~2.6.0: | 960 | async@^2.1.4, async@^2.4.1, async@^2.5.0, async@~2.6.0: |
949 | version "2.6.1" | 961 | version "2.6.1" |
950 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" | 962 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" |
951 | dependencies: | 963 | dependencies: |
@@ -1142,14 +1154,10 @@ binary-extensions@^1.0.0: | |||
1142 | version "1.11.0" | 1154 | version "1.11.0" |
1143 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" | 1155 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" |
1144 | 1156 | ||
1145 | binary-search@^1.2.0: | 1157 | binary-search@^1.3.4: |
1146 | version "1.3.4" | 1158 | version "1.3.4" |
1147 | resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.4.tgz#d15f44ff9226ef309d85247fa0dbfbf659955f56" | 1159 | resolved "https://registry.yarnpkg.com/binary-search/-/binary-search-1.3.4.tgz#d15f44ff9226ef309d85247fa0dbfbf659955f56" |
1148 | 1160 | ||
1149 | bindings@~1.3.0: | ||
1150 | version "1.3.0" | ||
1151 | resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" | ||
1152 | |||
1153 | bitfield@^2.0.0: | 1161 | bitfield@^2.0.0: |
1154 | version "2.0.0" | 1162 | version "2.0.0" |
1155 | resolved "https://registry.yarnpkg.com/bitfield/-/bitfield-2.0.0.tgz#fbe6767592fe5b4c87ecf1d04126294cc1bfa837" | 1163 | resolved "https://registry.yarnpkg.com/bitfield/-/bitfield-2.0.0.tgz#fbe6767592fe5b4c87ecf1d04126294cc1bfa837" |
@@ -1178,8 +1186,8 @@ bittorrent-dht@^8.0.0, bittorrent-dht@^8.0.1: | |||
1178 | simple-sha1 "^2.1.0" | 1186 | simple-sha1 "^2.1.0" |
1179 | 1187 | ||
1180 | bittorrent-peerid@^1.0.2: | 1188 | bittorrent-peerid@^1.0.2: |
1181 | version "1.2.0" | 1189 | version "1.3.0" |
1182 | resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.2.0.tgz#9f675612f0e6afc6ef3450dfba51ff7238abf371" | 1190 | resolved "https://registry.yarnpkg.com/bittorrent-peerid/-/bittorrent-peerid-1.3.0.tgz#a435d3b267c887c586c528b53359845905d7c158" |
1183 | 1191 | ||
1184 | bittorrent-protocol@^2.1.5: | 1192 | bittorrent-protocol@^2.1.5: |
1185 | version "2.4.2" | 1193 | version "2.4.2" |
@@ -1197,8 +1205,8 @@ bittorrent-protocol@^2.1.5: | |||
1197 | xtend "^4.0.0" | 1205 | xtend "^4.0.0" |
1198 | 1206 | ||
1199 | bittorrent-tracker@^9.0.0: | 1207 | bittorrent-tracker@^9.0.0: |
1200 | version "9.9.1" | 1208 | version "9.10.0" |
1201 | resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.9.1.tgz#a592f9383f027927a87a2704f69583278538e99a" | 1209 | resolved "https://registry.yarnpkg.com/bittorrent-tracker/-/bittorrent-tracker-9.10.0.tgz#8d9aea670c885411dd0bb9239b1e4944111bf49f" |
1202 | dependencies: | 1210 | dependencies: |
1203 | bencode "^2.0.0" | 1211 | bencode "^2.0.0" |
1204 | bittorrent-peerid "^1.0.2" | 1212 | bittorrent-peerid "^1.0.2" |
@@ -1221,17 +1229,11 @@ bittorrent-tracker@^9.0.0: | |||
1221 | string2compact "^1.1.1" | 1229 | string2compact "^1.1.1" |
1222 | uniq "^1.0.1" | 1230 | uniq "^1.0.1" |
1223 | unordered-array-remove "^1.0.2" | 1231 | unordered-array-remove "^1.0.2" |
1224 | ws "^5.0.0" | 1232 | ws "^6.0.0" |
1225 | xtend "^4.0.0" | 1233 | xtend "^4.0.0" |
1226 | optionalDependencies: | 1234 | optionalDependencies: |
1227 | bufferutil "^3.0.0" | 1235 | bufferutil "^4.0.0" |
1228 | 1236 | utf-8-validate "^5.0.1" | |
1229 | bl@^1.0.0: | ||
1230 | version "1.2.2" | ||
1231 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" | ||
1232 | dependencies: | ||
1233 | readable-stream "^2.3.5" | ||
1234 | safe-buffer "^5.1.1" | ||
1235 | 1237 | ||
1236 | bl@~1.1.2: | 1238 | bl@~1.1.2: |
1237 | version "1.1.2" | 1239 | version "1.1.2" |
@@ -1434,11 +1436,17 @@ browserslist@^3.2.8: | |||
1434 | caniuse-lite "^1.0.30000844" | 1436 | caniuse-lite "^1.0.30000844" |
1435 | electron-to-chromium "^1.3.47" | 1437 | electron-to-chromium "^1.3.47" |
1436 | 1438 | ||
1439 | browserstack@^1.5.1: | ||
1440 | version "1.5.1" | ||
1441 | resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.5.1.tgz#e2dfa66ffee940ebad0a07f7e00fd4687c455d66" | ||
1442 | dependencies: | ||
1443 | https-proxy-agent "^2.2.1" | ||
1444 | |||
1437 | buffer-alloc-unsafe@^1.1.0: | 1445 | buffer-alloc-unsafe@^1.1.0: |
1438 | version "1.1.0" | 1446 | version "1.1.0" |
1439 | resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" | 1447 | resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" |
1440 | 1448 | ||
1441 | buffer-alloc@^1.1.0: | 1449 | buffer-alloc@^1.1.0, buffer-alloc@^1.2.0: |
1442 | version "1.2.0" | 1450 | version "1.2.0" |
1443 | resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" | 1451 | resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" |
1444 | dependencies: | 1452 | dependencies: |
@@ -1453,9 +1461,9 @@ buffer-fill@^1.0.0: | |||
1453 | version "1.0.0" | 1461 | version "1.0.0" |
1454 | resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" | 1462 | resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" |
1455 | 1463 | ||
1456 | buffer-from@^1.0.0: | 1464 | buffer-from@^1.0.0, buffer-from@^1.1.0: |
1457 | version "1.1.0" | 1465 | version "1.1.1" |
1458 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" | 1466 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" |
1459 | 1467 | ||
1460 | buffer-indexof@^1.0.0: | 1468 | buffer-indexof@^1.0.0: |
1461 | version "1.1.1" | 1469 | version "1.1.1" |
@@ -1478,19 +1486,17 @@ buffer@^4.3.0: | |||
1478 | isarray "^1.0.0" | 1486 | isarray "^1.0.0" |
1479 | 1487 | ||
1480 | buffer@^5.1.0: | 1488 | buffer@^5.1.0: |
1481 | version "5.1.0" | 1489 | version "5.2.0" |
1482 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.1.0.tgz#c913e43678c7cb7c8bd16afbcddb6c5505e8f9fe" | 1490 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.2.0.tgz#53cf98241100099e9eeae20ee6d51d21b16e541e" |
1483 | dependencies: | 1491 | dependencies: |
1484 | base64-js "^1.0.2" | 1492 | base64-js "^1.0.2" |
1485 | ieee754 "^1.1.4" | 1493 | ieee754 "^1.1.4" |
1486 | 1494 | ||
1487 | bufferutil@^3.0.0: | 1495 | bufferutil@^4.0.0: |
1488 | version "3.0.5" | 1496 | version "4.0.0" |
1489 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-3.0.5.tgz#8abfc3b6da7aca6a13268b3f2482f0c7aa05fffb" | 1497 | resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.0.tgz#a5078160e443751a4e83b6f4d6d7e26c058326a0" |
1490 | dependencies: | 1498 | dependencies: |
1491 | bindings "~1.3.0" | 1499 | node-gyp-build "~3.4.0" |
1492 | nan "~2.10.0" | ||
1493 | prebuild-install "~4.0.0" | ||
1494 | 1500 | ||
1495 | buildmail@4.0.1: | 1501 | buildmail@4.0.1: |
1496 | version "4.0.1" | 1502 | version "4.0.1" |
@@ -1558,15 +1564,6 @@ cache-chunk-store@^2.0.0: | |||
1558 | dependencies: | 1564 | dependencies: |
1559 | lru "^3.1.0" | 1565 | lru "^3.1.0" |
1560 | 1566 | ||
1561 | cache-loader@^1.2.2: | ||
1562 | version "1.2.2" | ||
1563 | resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-1.2.2.tgz#6d5c38ded959a09cc5d58190ab5af6f73bd353f5" | ||
1564 | dependencies: | ||
1565 | loader-utils "^1.1.0" | ||
1566 | mkdirp "^0.5.1" | ||
1567 | neo-async "^2.5.0" | ||
1568 | schema-utils "^0.4.2" | ||
1569 | |||
1570 | callsite@1.0.0: | 1567 | callsite@1.0.0: |
1571 | version "1.0.0" | 1568 | version "1.0.0" |
1572 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" | 1569 | resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" |
@@ -1638,14 +1635,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4 | |||
1638 | escape-string-regexp "^1.0.5" | 1635 | escape-string-regexp "^1.0.5" |
1639 | supports-color "^5.3.0" | 1636 | supports-color "^5.3.0" |
1640 | 1637 | ||
1641 | chalk@~2.2.2: | ||
1642 | version "2.2.2" | ||
1643 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.2.2.tgz#4403f5cf18f35c05f51fbdf152bf588f956cf7cb" | ||
1644 | dependencies: | ||
1645 | ansi-styles "^3.1.0" | ||
1646 | escape-string-regexp "^1.0.5" | ||
1647 | supports-color "^4.0.0" | ||
1648 | |||
1649 | chardet@^0.5.0: | 1638 | chardet@^0.5.0: |
1650 | version "0.5.0" | 1639 | version "0.5.0" |
1651 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" | 1640 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.5.0.tgz#fe3ac73c00c3d865ffcc02a0682e2c20b6a06029" |
@@ -1828,8 +1817,8 @@ color-name@1.1.1: | |||
1828 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" | 1817 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" |
1829 | 1818 | ||
1830 | colors@*, colors@^1.1.0: | 1819 | colors@*, colors@^1.1.0: |
1831 | version "1.3.0" | 1820 | version "1.3.1" |
1832 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.0.tgz#5f20c9fef6945cb1134260aab33bfbdc8295e04e" | 1821 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.1.tgz#4accdb89cf2cabc7f982771925e9468784f32f3d" |
1833 | 1822 | ||
1834 | colors@1.1.2: | 1823 | colors@1.1.2: |
1835 | version "1.1.2" | 1824 | version "1.1.2" |
@@ -1978,7 +1967,7 @@ copy-descriptor@^0.1.0: | |||
1978 | version "0.1.1" | 1967 | version "0.1.1" |
1979 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" | 1968 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" |
1980 | 1969 | ||
1981 | copy-webpack-plugin@^4.5.1: | 1970 | copy-webpack-plugin@^4.5.2: |
1982 | version "4.5.2" | 1971 | version "4.5.2" |
1983 | resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz#d53444a8fea2912d806e78937390ddd7e632ee5c" | 1972 | resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz#d53444a8fea2912d806e78937390ddd7e632ee5c" |
1984 | dependencies: | 1973 | dependencies: |
@@ -2045,8 +2034,8 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: | |||
2045 | sha.js "^2.4.8" | 2034 | sha.js "^2.4.8" |
2046 | 2035 | ||
2047 | create-torrent@^3.24.5: | 2036 | create-torrent@^3.24.5: |
2048 | version "3.32.0" | 2037 | version "3.32.1" |
2049 | resolved "https://registry.yarnpkg.com/create-torrent/-/create-torrent-3.32.0.tgz#f2fb1289cd9eaba5830d596b1d93e97b223457ad" | 2038 | resolved "https://registry.yarnpkg.com/create-torrent/-/create-torrent-3.32.1.tgz#e5a6c423ddc3ccb68e52d51dc6a3aefbab4d6d45" |
2050 | dependencies: | 2039 | dependencies: |
2051 | bencode "^2.0.0" | 2040 | bencode "^2.0.0" |
2052 | block-stream2 "^1.0.0" | 2041 | block-stream2 "^1.0.0" |
@@ -2229,6 +2218,12 @@ decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: | |||
2229 | version "1.2.0" | 2218 | version "1.2.0" |
2230 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" | 2219 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" |
2231 | 2220 | ||
2221 | decamelize@^2.0.0: | ||
2222 | version "2.0.0" | ||
2223 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" | ||
2224 | dependencies: | ||
2225 | xregexp "4.0.0" | ||
2226 | |||
2232 | decode-uri-component@^0.2.0: | 2227 | decode-uri-component@^0.2.0: |
2233 | version "0.2.0" | 2228 | version "0.2.0" |
2234 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" | 2229 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" |
@@ -2351,7 +2346,7 @@ detect-indent@^4.0.0: | |||
2351 | dependencies: | 2346 | dependencies: |
2352 | repeating "^2.0.0" | 2347 | repeating "^2.0.0" |
2353 | 2348 | ||
2354 | detect-libc@^1.0.2, detect-libc@^1.0.3: | 2349 | detect-libc@^1.0.2: |
2355 | version "1.0.3" | 2350 | version "1.0.3" |
2356 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" | 2351 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" |
2357 | 2352 | ||
@@ -2502,10 +2497,11 @@ duplexify@^3.4.2, duplexify@^3.6.0: | |||
2502 | stream-shift "^1.0.0" | 2497 | stream-shift "^1.0.0" |
2503 | 2498 | ||
2504 | ecc-jsbn@~0.1.1: | 2499 | ecc-jsbn@~0.1.1: |
2505 | version "0.1.1" | 2500 | version "0.1.2" |
2506 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" | 2501 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" |
2507 | dependencies: | 2502 | dependencies: |
2508 | jsbn "~0.1.0" | 2503 | jsbn "~0.1.0" |
2504 | safer-buffer "^2.1.0" | ||
2509 | 2505 | ||
2510 | ee-first@1.1.1: | 2506 | ee-first@1.1.1: |
2511 | version "1.1.1" | 2507 | version "1.1.1" |
@@ -2838,10 +2834,6 @@ expand-range@^1.8.1: | |||
2838 | dependencies: | 2834 | dependencies: |
2839 | fill-range "^2.1.0" | 2835 | fill-range "^2.1.0" |
2840 | 2836 | ||
2841 | expand-template@^1.0.2: | ||
2842 | version "1.1.1" | ||
2843 | resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-1.1.1.tgz#981f188c0c3a87d2e28f559bc541426ff94f21dd" | ||
2844 | |||
2845 | express@^4.16.2: | 2837 | express@^4.16.2: |
2846 | version "4.16.3" | 2838 | version "4.16.3" |
2847 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" | 2839 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" |
@@ -2891,8 +2883,8 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: | |||
2891 | is-extendable "^1.0.1" | 2883 | is-extendable "^1.0.1" |
2892 | 2884 | ||
2893 | extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: | 2885 | extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: |
2894 | version "3.0.1" | 2886 | version "3.0.2" |
2895 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" | 2887 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" |
2896 | 2888 | ||
2897 | external-editor@^3.0.0: | 2889 | external-editor@^3.0.0: |
2898 | version "3.0.0" | 2890 | version "3.0.0" |
@@ -3087,6 +3079,12 @@ find-up@^2.0.0, find-up@^2.1.0: | |||
3087 | dependencies: | 3079 | dependencies: |
3088 | locate-path "^2.0.0" | 3080 | locate-path "^2.0.0" |
3089 | 3081 | ||
3082 | find-up@^3.0.0: | ||
3083 | version "3.0.0" | ||
3084 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" | ||
3085 | dependencies: | ||
3086 | locate-path "^3.0.0" | ||
3087 | |||
3090 | flatten@^1.0.2: | 3088 | flatten@^1.0.2: |
3091 | version "1.0.2" | 3089 | version "1.0.2" |
3092 | resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" | 3090 | resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" |
@@ -3206,10 +3204,6 @@ fs-chunk-store@^1.6.2: | |||
3206 | run-parallel "^1.1.2" | 3204 | run-parallel "^1.1.2" |
3207 | thunky "^1.0.1" | 3205 | thunky "^1.0.1" |
3208 | 3206 | ||
3209 | fs-constants@^1.0.0: | ||
3210 | version "1.0.0" | ||
3211 | resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" | ||
3212 | |||
3213 | fs-minipass@^1.2.5: | 3207 | fs-minipass@^1.2.5: |
3214 | version "1.2.5" | 3208 | version "1.2.5" |
3215 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" | 3209 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" |
@@ -3326,10 +3320,6 @@ getpass@^0.1.1: | |||
3326 | dependencies: | 3320 | dependencies: |
3327 | assert-plus "^1.0.0" | 3321 | assert-plus "^1.0.0" |
3328 | 3322 | ||
3329 | github-from-package@0.0.0: | ||
3330 | version "0.0.0" | ||
3331 | resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" | ||
3332 | |||
3333 | glob-base@^0.3.0: | 3323 | glob-base@^0.3.0: |
3334 | version "0.3.0" | 3324 | version "0.3.0" |
3335 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" | 3325 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" |
@@ -3393,8 +3383,8 @@ glob@^6.0.4: | |||
3393 | path-is-absolute "^1.0.0" | 3383 | path-is-absolute "^1.0.0" |
3394 | 3384 | ||
3395 | global-modules-path@^2.1.0: | 3385 | global-modules-path@^2.1.0: |
3396 | version "2.1.0" | 3386 | version "2.3.0" |
3397 | resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.1.0.tgz#923ec524e8726bb0c1a4ed4b8e21e1ff80c88bbb" | 3387 | resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.0.tgz#b0e2bac6beac39745f7db5c59d26a36a0b94f7dc" |
3398 | 3388 | ||
3399 | global@4.3.2, global@^4.3.0, global@^4.3.1, global@^4.3.2, global@~4.3.0: | 3389 | global@4.3.2, global@^4.3.0, global@^4.3.1, global@^4.3.2, global@~4.3.0: |
3400 | version "4.3.2" | 3390 | version "4.3.2" |
@@ -3523,10 +3513,6 @@ has-flag@^1.0.0: | |||
3523 | version "1.0.0" | 3513 | version "1.0.0" |
3524 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" | 3514 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" |
3525 | 3515 | ||
3526 | has-flag@^2.0.0: | ||
3527 | version "2.0.0" | ||
3528 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" | ||
3529 | |||
3530 | has-flag@^3.0.0: | 3516 | has-flag@^3.0.0: |
3531 | version "3.0.0" | 3517 | version "3.0.0" |
3532 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" | 3518 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" |
@@ -3947,14 +3933,14 @@ ip@^1.0.1, ip@^1.1.0, ip@^1.1.2, ip@^1.1.3, ip@^1.1.4, ip@^1.1.5: | |||
3947 | version "1.1.5" | 3933 | version "1.1.5" |
3948 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" | 3934 | resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" |
3949 | 3935 | ||
3950 | ipaddr.js@1.6.0: | 3936 | ipaddr.js@1.8.0: |
3951 | version "1.6.0" | ||
3952 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" | ||
3953 | |||
3954 | "ipaddr.js@>= 0.1.5", ipaddr.js@^1.0.1: | ||
3955 | version "1.8.0" | 3937 | version "1.8.0" |
3956 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" | 3938 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" |
3957 | 3939 | ||
3940 | "ipaddr.js@>= 0.1.5", ipaddr.js@^1.0.1: | ||
3941 | version "1.8.1" | ||
3942 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" | ||
3943 | |||
3958 | is-accessor-descriptor@^0.1.6: | 3944 | is-accessor-descriptor@^0.1.6: |
3959 | version "0.1.6" | 3945 | version "0.1.6" |
3960 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" | 3946 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" |
@@ -4348,6 +4334,12 @@ jasmine-core@~2.8.0: | |||
4348 | version "2.8.0" | 4334 | version "2.8.0" |
4349 | resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" | 4335 | resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e" |
4350 | 4336 | ||
4337 | jasmine-diff@^0.1.3: | ||
4338 | version "0.1.3" | ||
4339 | resolved "https://registry.yarnpkg.com/jasmine-diff/-/jasmine-diff-0.1.3.tgz#93ccc2dcc41028c5ddd4606558074839f2deeaa8" | ||
4340 | dependencies: | ||
4341 | diff "^3.2.0" | ||
4342 | |||
4351 | jasmine-spec-reporter@^4.2.1: | 4343 | jasmine-spec-reporter@^4.2.1: |
4352 | version "4.2.1" | 4344 | version "4.2.1" |
4353 | resolved "https://registry.yarnpkg.com/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz#1d632aec0341670ad324f92ba84b4b32b35e9e22" | 4345 | resolved "https://registry.yarnpkg.com/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz#1d632aec0341670ad324f92ba84b4b32b35e9e22" |
@@ -4524,8 +4516,8 @@ karma-source-map-support@^1.2.0: | |||
4524 | source-map-support "^0.5.5" | 4516 | source-map-support "^0.5.5" |
4525 | 4517 | ||
4526 | karma@^2.0.2: | 4518 | karma@^2.0.2: |
4527 | version "2.0.4" | 4519 | version "2.0.5" |
4528 | resolved "https://registry.yarnpkg.com/karma/-/karma-2.0.4.tgz#b399785f57e9bab1d3c4384db33fef4dec8ae349" | 4520 | resolved "https://registry.yarnpkg.com/karma/-/karma-2.0.5.tgz#3710c7a2e71b1c439313f283846d88e04e4f918c" |
4529 | dependencies: | 4521 | dependencies: |
4530 | bluebird "^3.3.0" | 4522 | bluebird "^3.3.0" |
4531 | body-parser "^1.16.1" | 4523 | body-parser "^1.16.1" |
@@ -4606,8 +4598,8 @@ less-loader@^4.1.0: | |||
4606 | pify "^3.0.0" | 4598 | pify "^3.0.0" |
4607 | 4599 | ||
4608 | less@^3.0.4: | 4600 | less@^3.0.4: |
4609 | version "3.7.1" | 4601 | version "3.8.0" |
4610 | resolved "https://registry.yarnpkg.com/less/-/less-3.7.1.tgz#192e9dcef456ba3181a4e8d78a200f72a75e5c30" | 4602 | resolved "https://registry.yarnpkg.com/less/-/less-3.8.0.tgz#44785e40c23841c15ba3be741d36bd2775dd0596" |
4611 | optionalDependencies: | 4603 | optionalDependencies: |
4612 | errno "^0.1.1" | 4604 | errno "^0.1.1" |
4613 | graceful-fs "^4.1.2" | 4605 | graceful-fs "^4.1.2" |
@@ -4700,7 +4692,7 @@ loader-runner@^2.3.0: | |||
4700 | version "2.3.0" | 4692 | version "2.3.0" |
4701 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" | 4693 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" |
4702 | 4694 | ||
4703 | loader-utils@^0.2.16: | 4695 | loader-utils@^0.2.16, loader-utils@~0.2.2: |
4704 | version "0.2.17" | 4696 | version "0.2.17" |
4705 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" | 4697 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" |
4706 | dependencies: | 4698 | dependencies: |
@@ -4724,6 +4716,13 @@ locate-path@^2.0.0: | |||
4724 | p-locate "^2.0.0" | 4716 | p-locate "^2.0.0" |
4725 | path-exists "^3.0.0" | 4717 | path-exists "^3.0.0" |
4726 | 4718 | ||
4719 | locate-path@^3.0.0: | ||
4720 | version "3.0.0" | ||
4721 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" | ||
4722 | dependencies: | ||
4723 | p-locate "^3.0.0" | ||
4724 | path-exists "^3.0.0" | ||
4725 | |||
4727 | lodash-es@^4.17.4: | 4726 | lodash-es@^4.17.4: |
4728 | version "4.17.10" | 4727 | version "4.17.10" |
4729 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" | 4728 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05" |
@@ -4933,10 +4932,9 @@ m3u8-parser@4.2.0: | |||
4933 | resolved "https://registry.yarnpkg.com/m3u8-parser/-/m3u8-parser-4.2.0.tgz#c8e0785fd17f741f4408b49466889274a9e36447" | 4932 | resolved "https://registry.yarnpkg.com/m3u8-parser/-/m3u8-parser-4.2.0.tgz#c8e0785fd17f741f4408b49466889274a9e36447" |
4934 | 4933 | ||
4935 | magnet-uri@^5.1.3: | 4934 | magnet-uri@^5.1.3: |
4936 | version "5.1.8" | 4935 | version "5.2.3" |
4937 | resolved "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-5.1.8.tgz#4df33a3e97629352781fc6d0774c1cf3e9603abc" | 4936 | resolved "https://registry.yarnpkg.com/magnet-uri/-/magnet-uri-5.2.3.tgz#4b056679e6f83620b3bf69cdb709d6dce9a9d2f9" |
4938 | dependencies: | 4937 | dependencies: |
4939 | safe-buffer "^5.0.1" | ||
4940 | thirty-two "^1.0.1" | 4938 | thirty-two "^1.0.1" |
4941 | uniq "^1.0.1" | 4939 | uniq "^1.0.1" |
4942 | xtend "^4.0.0" | 4940 | xtend "^4.0.0" |
@@ -5033,7 +5031,7 @@ memory-chunk-store@^1.2.0: | |||
5033 | version "1.3.0" | 5031 | version "1.3.0" |
5034 | resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz#ae99e7e3b58b52db43d49d94722930d39459d0c4" | 5032 | resolved "https://registry.yarnpkg.com/memory-chunk-store/-/memory-chunk-store-1.3.0.tgz#ae99e7e3b58b52db43d49d94722930d39459d0c4" |
5035 | 5033 | ||
5036 | memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: | 5034 | memory-fs@^0.4.0, memory-fs@~0.4.1: |
5037 | version "0.4.1" | 5035 | version "0.4.1" |
5038 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" | 5036 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" |
5039 | dependencies: | 5037 | dependencies: |
@@ -5235,13 +5233,13 @@ move-concurrently@^1.0.1: | |||
5235 | rimraf "^2.5.4" | 5233 | rimraf "^2.5.4" |
5236 | run-queue "^1.0.3" | 5234 | run-queue "^1.0.3" |
5237 | 5235 | ||
5238 | mp4-box-encoding@^1.1.0, mp4-box-encoding@^1.1.1: | 5236 | mp4-box-encoding@^1.1.0, mp4-box-encoding@^1.3.0: |
5239 | version "1.2.0" | 5237 | version "1.3.0" |
5240 | resolved "https://registry.yarnpkg.com/mp4-box-encoding/-/mp4-box-encoding-1.2.0.tgz#1af31abb131fe5e711b4b421cf5b20b13473e4a9" | 5238 | resolved "https://registry.yarnpkg.com/mp4-box-encoding/-/mp4-box-encoding-1.3.0.tgz#2a6f750947ff68c3a498fd76cd6424c53d995d48" |
5241 | dependencies: | 5239 | dependencies: |
5242 | buffer-alloc "^1.1.0" | 5240 | buffer-alloc "^1.2.0" |
5243 | buffer-from "^1.0.0" | 5241 | buffer-from "^1.1.0" |
5244 | uint64be "^1.0.1" | 5242 | uint64be "^2.0.2" |
5245 | 5243 | ||
5246 | mp4-stream@^2.0.0: | 5244 | mp4-stream@^2.0.0: |
5247 | version "2.0.3" | 5245 | version "2.0.3" |
@@ -5286,11 +5284,15 @@ mute-stream@0.0.7: | |||
5286 | version "0.0.7" | 5284 | version "0.0.7" |
5287 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" | 5285 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" |
5288 | 5286 | ||
5287 | mux.js@4.4.1: | ||
5288 | version "4.4.1" | ||
5289 | resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-4.4.1.tgz#c9c9a5e7e9f69f1d5670f2cc71c4cefa45aa7aec" | ||
5290 | |||
5289 | mux.js@4.5.0: | 5291 | mux.js@4.5.0: |
5290 | version "4.5.0" | 5292 | version "4.5.0" |
5291 | resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-4.5.0.tgz#25bcb86c3f024cebbad8e82002f3aae433e23d18" | 5293 | resolved "https://registry.yarnpkg.com/mux.js/-/mux.js-4.5.0.tgz#25bcb86c3f024cebbad8e82002f3aae433e23d18" |
5292 | 5294 | ||
5293 | nan@^2.10.0, nan@^2.9.2, nan@~2.10.0: | 5295 | nan@^2.10.0, nan@^2.9.2: |
5294 | version "2.10.0" | 5296 | version "2.10.0" |
5295 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" | 5297 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" |
5296 | 5298 | ||
@@ -5338,9 +5340,9 @@ next-tick@1: | |||
5338 | version "1.0.0" | 5340 | version "1.0.0" |
5339 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" | 5341 | resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" |
5340 | 5342 | ||
5341 | ng2-material-dropdown@0.10.0: | 5343 | ng2-material-dropdown@0.10.1: |
5342 | version "0.10.0" | 5344 | version "0.10.1" |
5343 | resolved "https://registry.yarnpkg.com/ng2-material-dropdown/-/ng2-material-dropdown-0.10.0.tgz#c524937ac0e9ad833f5dcecd9c98f64aca0519cc" | 5345 | resolved "https://registry.yarnpkg.com/ng2-material-dropdown/-/ng2-material-dropdown-0.10.1.tgz#0120ce1bbabfb065c62610fe3b572cd09f61b1e1" |
5344 | dependencies: | 5346 | dependencies: |
5345 | tslib "^1.9.0" | 5347 | tslib "^1.9.0" |
5346 | 5348 | ||
@@ -5348,11 +5350,11 @@ ngx-bootstrap@3.0.1: | |||
5348 | version "3.0.1" | 5350 | version "3.0.1" |
5349 | resolved "https://registry.yarnpkg.com/ngx-bootstrap/-/ngx-bootstrap-3.0.1.tgz#e98d2fc6340f32a9d358cd08e8fda7dcb23bdab3" | 5351 | resolved "https://registry.yarnpkg.com/ngx-bootstrap/-/ngx-bootstrap-3.0.1.tgz#e98d2fc6340f32a9d358cd08e8fda7dcb23bdab3" |
5350 | 5352 | ||
5351 | ngx-chips@1.9.2: | 5353 | ngx-chips@1.9.3: |
5352 | version "1.9.2" | 5354 | version "1.9.3" |
5353 | resolved "https://registry.yarnpkg.com/ngx-chips/-/ngx-chips-1.9.2.tgz#5082147d8db6f0b97f09e813590b80b7def0ab6a" | 5355 | resolved "https://registry.yarnpkg.com/ngx-chips/-/ngx-chips-1.9.3.tgz#0ebc13b4868d9cd480478ed93fd56bcc3b68ea66" |
5354 | dependencies: | 5356 | dependencies: |
5355 | ng2-material-dropdown "0.10.0" | 5357 | ng2-material-dropdown "0.10.1" |
5356 | tslib "^1.9.0" | 5358 | tslib "^1.9.0" |
5357 | 5359 | ||
5358 | ngx-clipboard@11.1.1: | 5360 | ngx-clipboard@11.1.1: |
@@ -5363,8 +5365,8 @@ ngx-clipboard@11.1.1: | |||
5363 | tslib "^1.9.0" | 5365 | tslib "^1.9.0" |
5364 | 5366 | ||
5365 | ngx-pipes@^2.1.7: | 5367 | ngx-pipes@^2.1.7: |
5366 | version "2.3.2" | 5368 | version "2.3.5" |
5367 | resolved "https://registry.yarnpkg.com/ngx-pipes/-/ngx-pipes-2.3.2.tgz#00081e10a20b01afd4ab418b41a493b570348d70" | 5369 | resolved "https://registry.yarnpkg.com/ngx-pipes/-/ngx-pipes-2.3.5.tgz#3a5663dcd540d04f1a7997db50b33bf4c2b1f03e" |
5368 | dependencies: | 5370 | dependencies: |
5369 | tslib "^1.9.0" | 5371 | tslib "^1.9.0" |
5370 | 5372 | ||
@@ -5390,12 +5392,6 @@ no-case@^2.2.0: | |||
5390 | dependencies: | 5392 | dependencies: |
5391 | lower-case "^1.1.1" | 5393 | lower-case "^1.1.1" |
5392 | 5394 | ||
5393 | node-abi@^2.2.0: | ||
5394 | version "2.4.3" | ||
5395 | resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.4.3.tgz#43666b7b17e57863e572409edbb82115ac7af28b" | ||
5396 | dependencies: | ||
5397 | semver "^5.4.1" | ||
5398 | |||
5399 | node-fetch@^1.0.1: | 5395 | node-fetch@^1.0.1: |
5400 | version "1.7.3" | 5396 | version "1.7.3" |
5401 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" | 5397 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" |
@@ -5407,6 +5403,10 @@ node-forge@0.7.5: | |||
5407 | version "0.7.5" | 5403 | version "0.7.5" |
5408 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" | 5404 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" |
5409 | 5405 | ||
5406 | node-gyp-build@~3.4.0: | ||
5407 | version "3.4.0" | ||
5408 | resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-3.4.0.tgz#f8f62507e65f152488b28aac25d04b9d79748cf7" | ||
5409 | |||
5410 | node-gyp@^3.3.1: | 5410 | node-gyp@^3.3.1: |
5411 | version "3.7.0" | 5411 | version "3.7.0" |
5412 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" | 5412 | resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" |
@@ -5467,7 +5467,7 @@ node-pre-gyp@^0.10.0: | |||
5467 | semver "^5.3.0" | 5467 | semver "^5.3.0" |
5468 | tar "^4" | 5468 | tar "^4" |
5469 | 5469 | ||
5470 | node-sass@^4.1.1, node-sass@^4.9.0: | 5470 | node-sass@^4.1.1, node-sass@^4.9.1: |
5471 | version "4.9.2" | 5471 | version "4.9.2" |
5472 | resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437" | 5472 | resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437" |
5473 | dependencies: | 5473 | dependencies: |
@@ -5544,10 +5544,6 @@ nodemailer@^2.5.0: | |||
5544 | nodemailer-smtp-transport "2.7.2" | 5544 | nodemailer-smtp-transport "2.7.2" |
5545 | socks "1.1.9" | 5545 | socks "1.1.9" |
5546 | 5546 | ||
5547 | noop-logger@^0.1.1: | ||
5548 | version "0.1.1" | ||
5549 | resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" | ||
5550 | |||
5551 | "nopt@2 || 3", nopt@3.x: | 5547 | "nopt@2 || 3", nopt@3.x: |
5552 | version "3.0.6" | 5548 | version "3.0.6" |
5553 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" | 5549 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" |
@@ -5598,8 +5594,8 @@ npm-font-source-sans-pro@^1.0.2: | |||
5598 | validate-npm-package-name "^3.0.0" | 5594 | validate-npm-package-name "^3.0.0" |
5599 | 5595 | ||
5600 | npm-packlist@^1.1.6: | 5596 | npm-packlist@^1.1.6: |
5601 | version "1.1.10" | 5597 | version "1.1.11" |
5602 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a" | 5598 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" |
5603 | dependencies: | 5599 | dependencies: |
5604 | ignore-walk "^3.0.1" | 5600 | ignore-walk "^3.0.1" |
5605 | npm-bundled "^1.0.1" | 5601 | npm-bundled "^1.0.1" |
@@ -5628,7 +5624,7 @@ npm-run-path@^2.0.0: | |||
5628 | dependencies: | 5624 | dependencies: |
5629 | path-key "^2.0.0" | 5625 | path-key "^2.0.0" |
5630 | 5626 | ||
5631 | "npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.0, npmlog@^4.0.1, npmlog@^4.0.2: | 5627 | "npmlog@0 || 1 || 2 || 3 || 4", "npmlog@2 || ^3.1.0 || ^4.0.0", npmlog@^4.0.0, npmlog@^4.0.2: |
5632 | version "4.1.2" | 5628 | version "4.1.2" |
5633 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" | 5629 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" |
5634 | dependencies: | 5630 | dependencies: |
@@ -5748,7 +5744,7 @@ opener@^1.4.3: | |||
5748 | version "1.4.3" | 5744 | version "1.4.3" |
5749 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" | 5745 | resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" |
5750 | 5746 | ||
5751 | opn@^5.1.0, opn@~5.3.0: | 5747 | opn@^5.1.0, opn@^5.3.0: |
5752 | version "5.3.0" | 5748 | version "5.3.0" |
5753 | resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" | 5749 | resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" |
5754 | dependencies: | 5750 | dependencies: |
@@ -5772,10 +5768,6 @@ optionator@^0.8.1: | |||
5772 | type-check "~0.3.2" | 5768 | type-check "~0.3.2" |
5773 | wordwrap "~1.0.0" | 5769 | wordwrap "~1.0.0" |
5774 | 5770 | ||
5775 | options@>=0.0.5: | ||
5776 | version "0.0.6" | ||
5777 | resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" | ||
5778 | |||
5779 | original@>=0.0.5: | 5771 | original@>=0.0.5: |
5780 | version "1.0.1" | 5772 | version "1.0.1" |
5781 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" | 5773 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" |
@@ -5786,7 +5778,7 @@ os-browserify@^0.3.0: | |||
5786 | version "0.3.0" | 5778 | version "0.3.0" |
5787 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" | 5779 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" |
5788 | 5780 | ||
5789 | os-homedir@^1.0.0, os-homedir@^1.0.1: | 5781 | os-homedir@^1.0.0: |
5790 | version "1.0.2" | 5782 | version "1.0.2" |
5791 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" | 5783 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" |
5792 | 5784 | ||
@@ -5825,12 +5817,24 @@ p-limit@^1.0.0, p-limit@^1.1.0: | |||
5825 | dependencies: | 5817 | dependencies: |
5826 | p-try "^1.0.0" | 5818 | p-try "^1.0.0" |
5827 | 5819 | ||
5820 | p-limit@^2.0.0: | ||
5821 | version "2.0.0" | ||
5822 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.0.0.tgz#e624ed54ee8c460a778b3c9f3670496ff8a57aec" | ||
5823 | dependencies: | ||
5824 | p-try "^2.0.0" | ||
5825 | |||
5828 | p-locate@^2.0.0: | 5826 | p-locate@^2.0.0: |
5829 | version "2.0.0" | 5827 | version "2.0.0" |
5830 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" | 5828 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" |
5831 | dependencies: | 5829 | dependencies: |
5832 | p-limit "^1.1.0" | 5830 | p-limit "^1.1.0" |
5833 | 5831 | ||
5832 | p-locate@^3.0.0: | ||
5833 | version "3.0.0" | ||
5834 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" | ||
5835 | dependencies: | ||
5836 | p-limit "^2.0.0" | ||
5837 | |||
5834 | p-map@^1.1.1: | 5838 | p-map@^1.1.1: |
5835 | version "1.2.0" | 5839 | version "1.2.0" |
5836 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" | 5840 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" |
@@ -5839,6 +5843,10 @@ p-try@^1.0.0: | |||
5839 | version "1.0.0" | 5843 | version "1.0.0" |
5840 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" | 5844 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" |
5841 | 5845 | ||
5846 | p-try@^2.0.0: | ||
5847 | version "2.0.0" | ||
5848 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" | ||
5849 | |||
5842 | pac-proxy-agent@^2.0.1: | 5850 | pac-proxy-agent@^2.0.1: |
5843 | version "2.0.2" | 5851 | version "2.0.2" |
5844 | resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896" | 5852 | resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-2.0.2.tgz#90d9f6730ab0f4d2607dcdcd4d3d641aa26c3896" |
@@ -5930,8 +5938,8 @@ parse-numeric-range@^0.0.2: | |||
5930 | resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz#b4f09d413c7adbcd987f6e9233c7b4b210c938e4" | 5938 | resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-0.0.2.tgz#b4f09d413c7adbcd987f6e9233c7b4b210c938e4" |
5931 | 5939 | ||
5932 | parse-torrent@^6.0.0: | 5940 | parse-torrent@^6.0.0: |
5933 | version "6.0.1" | 5941 | version "6.1.1" |
5934 | resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-6.0.1.tgz#d88ad5692aba71b526c1356db18f638e93a635e5" | 5942 | resolved "https://registry.yarnpkg.com/parse-torrent/-/parse-torrent-6.1.1.tgz#7ebb2709c51b485453478e78cdc0f4b646fefdd9" |
5935 | dependencies: | 5943 | dependencies: |
5936 | bencode "^2.0.0" | 5944 | bencode "^2.0.0" |
5937 | blob-to-buffer "^1.2.6" | 5945 | blob-to-buffer "^1.2.6" |
@@ -6175,26 +6183,6 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.14, postcss@^6.0.22, postcss@^6.0.2 | |||
6175 | source-map "^0.6.1" | 6183 | source-map "^0.6.1" |
6176 | supports-color "^5.4.0" | 6184 | supports-color "^5.4.0" |
6177 | 6185 | ||
6178 | prebuild-install@~4.0.0: | ||
6179 | version "4.0.0" | ||
6180 | resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-4.0.0.tgz#206ce8106ce5efa4b6cf062fc8a0a7d93c17f3a8" | ||
6181 | dependencies: | ||
6182 | detect-libc "^1.0.3" | ||
6183 | expand-template "^1.0.2" | ||
6184 | github-from-package "0.0.0" | ||
6185 | minimist "^1.2.0" | ||
6186 | mkdirp "^0.5.1" | ||
6187 | node-abi "^2.2.0" | ||
6188 | noop-logger "^0.1.1" | ||
6189 | npmlog "^4.0.1" | ||
6190 | os-homedir "^1.0.1" | ||
6191 | pump "^2.0.1" | ||
6192 | rc "^1.1.6" | ||
6193 | simple-get "^2.7.0" | ||
6194 | tar-fs "^1.13.0" | ||
6195 | tunnel-agent "^0.6.0" | ||
6196 | which-pm-runs "^1.0.0" | ||
6197 | |||
6198 | prelude-ls@~1.1.2: | 6186 | prelude-ls@~1.1.2: |
6199 | version "1.1.2" | 6187 | version "1.1.2" |
6200 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" | 6188 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" |
@@ -6211,8 +6199,8 @@ pretty-error@^2.0.2: | |||
6211 | utila "~0.4" | 6199 | utila "~0.4" |
6212 | 6200 | ||
6213 | primeng@^6.0.0-rc.1: | 6201 | primeng@^6.0.0-rc.1: |
6214 | version "6.0.1" | 6202 | version "6.0.2" |
6215 | resolved "https://registry.yarnpkg.com/primeng/-/primeng-6.0.1.tgz#51e79189713b4497d6facbcd4e00a49768dbbdce" | 6203 | resolved "https://registry.yarnpkg.com/primeng/-/primeng-6.0.2.tgz#c26820bf5135be7361b89c46079adb9cd7346270" |
6216 | 6204 | ||
6217 | private@~0.1.5: | 6205 | private@~0.1.5: |
6218 | version "0.1.8" | 6206 | version "0.1.8" |
@@ -6258,13 +6246,14 @@ prop-types@^15.6.0: | |||
6258 | object-assign "^4.1.1" | 6246 | object-assign "^4.1.1" |
6259 | 6247 | ||
6260 | protractor@^5.3.2: | 6248 | protractor@^5.3.2: |
6261 | version "5.3.2" | 6249 | version "5.4.0" |
6262 | resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.3.2.tgz#b8278f3131d9d52fa1172ed0f7fec03085fbe0ce" | 6250 | resolved "https://registry.yarnpkg.com/protractor/-/protractor-5.4.0.tgz#e71c9c1f5cf6c5e9bdbcdb71e7f31b17ffd2878f" |
6263 | dependencies: | 6251 | dependencies: |
6264 | "@types/node" "^6.0.46" | 6252 | "@types/node" "^6.0.46" |
6265 | "@types/q" "^0.0.32" | 6253 | "@types/q" "^0.0.32" |
6266 | "@types/selenium-webdriver" "~2.53.39" | 6254 | "@types/selenium-webdriver" "^3.0.0" |
6267 | blocking-proxy "^1.0.0" | 6255 | blocking-proxy "^1.0.0" |
6256 | browserstack "^1.5.1" | ||
6268 | chalk "^1.1.3" | 6257 | chalk "^1.1.3" |
6269 | glob "^7.0.3" | 6258 | glob "^7.0.3" |
6270 | jasmine "2.8.0" | 6259 | jasmine "2.8.0" |
@@ -6274,15 +6263,15 @@ protractor@^5.3.2: | |||
6274 | saucelabs "^1.5.0" | 6263 | saucelabs "^1.5.0" |
6275 | selenium-webdriver "3.6.0" | 6264 | selenium-webdriver "3.6.0" |
6276 | source-map-support "~0.4.0" | 6265 | source-map-support "~0.4.0" |
6277 | webdriver-js-extender "^1.0.0" | 6266 | webdriver-js-extender "2.0.0" |
6278 | webdriver-manager "^12.0.6" | 6267 | webdriver-manager "^12.0.6" |
6279 | 6268 | ||
6280 | proxy-addr@~2.0.3: | 6269 | proxy-addr@~2.0.3: |
6281 | version "2.0.3" | 6270 | version "2.0.4" |
6282 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" | 6271 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" |
6283 | dependencies: | 6272 | dependencies: |
6284 | forwarded "~0.1.2" | 6273 | forwarded "~0.1.2" |
6285 | ipaddr.js "1.6.0" | 6274 | ipaddr.js "1.8.0" |
6286 | 6275 | ||
6287 | proxy-agent@~3.0.0: | 6276 | proxy-agent@~3.0.0: |
6288 | version "3.0.1" | 6277 | version "3.0.1" |
@@ -6319,13 +6308,6 @@ public-encrypt@^4.0.0: | |||
6319 | parse-asn1 "^5.0.0" | 6308 | parse-asn1 "^5.0.0" |
6320 | randombytes "^2.0.1" | 6309 | randombytes "^2.0.1" |
6321 | 6310 | ||
6322 | pump@^1.0.0, pump@^1.0.1: | ||
6323 | version "1.0.3" | ||
6324 | resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" | ||
6325 | dependencies: | ||
6326 | end-of-stream "^1.1.0" | ||
6327 | once "^1.3.1" | ||
6328 | |||
6329 | pump@^2.0.0, pump@^2.0.1: | 6311 | pump@^2.0.0, pump@^2.0.1: |
6330 | version "2.0.1" | 6312 | version "2.0.1" |
6331 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" | 6313 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" |
@@ -6497,7 +6479,7 @@ raw-loader@^0.5.1: | |||
6497 | version "0.5.1" | 6479 | version "0.5.1" |
6498 | resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" | 6480 | resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa" |
6499 | 6481 | ||
6500 | rc@^1.1.6, rc@^1.2.7: | 6482 | rc@^1.2.7, rc@^1.2.8: |
6501 | version "1.2.8" | 6483 | version "1.2.8" |
6502 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" | 6484 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" |
6503 | dependencies: | 6485 | dependencies: |
@@ -6560,7 +6542,7 @@ read-pkg@^2.0.0: | |||
6560 | normalize-package-data "^2.3.2" | 6542 | normalize-package-data "^2.3.2" |
6561 | path-type "^2.0.0" | 6543 | path-type "^2.0.0" |
6562 | 6544 | ||
6563 | "readable-stream@1 || 2", readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.3, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.2, readable-stream@^2.3.3, readable-stream@^2.3.4, readable-stream@^2.3.5, readable-stream@^2.3.6: | 6545 | "readable-stream@1 || 2", readable-stream@2, readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.3, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.2, readable-stream@^2.3.3, readable-stream@^2.3.4, readable-stream@^2.3.6: |
6564 | version "2.3.6" | 6546 | version "2.3.6" |
6565 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" | 6547 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" |
6566 | dependencies: | 6548 | dependencies: |
@@ -6702,8 +6684,8 @@ remove-trailing-separator@^1.0.1: | |||
6702 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" | 6684 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" |
6703 | 6685 | ||
6704 | render-media@^3.0.0: | 6686 | render-media@^3.0.0: |
6705 | version "3.1.0" | 6687 | version "3.1.2" |
6706 | resolved "https://registry.yarnpkg.com/render-media/-/render-media-3.1.0.tgz#6bf9e7603fa819afe56c57b6baedd33e60c4acba" | 6688 | resolved "https://registry.yarnpkg.com/render-media/-/render-media-3.1.2.tgz#de399b207afd88f2e7431aee7f690c39a0ec32bf" |
6707 | dependencies: | 6689 | dependencies: |
6708 | debug "^3.1.0" | 6690 | debug "^3.1.0" |
6709 | is-ascii "^1.0.0" | 6691 | is-ascii "^1.0.0" |
@@ -6874,7 +6856,7 @@ resolve@1.1.x: | |||
6874 | version "1.1.7" | 6856 | version "1.1.7" |
6875 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" | 6857 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" |
6876 | 6858 | ||
6877 | resolve@^1.1.7, resolve@^1.3.2, resolve@^1.5.0: | 6859 | resolve@^1.1.7, resolve@^1.3.2: |
6878 | version "1.8.1" | 6860 | version "1.8.1" |
6879 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" | 6861 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" |
6880 | dependencies: | 6862 | dependencies: |
@@ -6985,7 +6967,7 @@ safe-regex@^1.1.0: | |||
6985 | dependencies: | 6967 | dependencies: |
6986 | ret "~0.1.10" | 6968 | ret "~0.1.10" |
6987 | 6969 | ||
6988 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2: | 6970 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0: |
6989 | version "2.1.2" | 6971 | version "2.1.2" |
6990 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" | 6972 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" |
6991 | 6973 | ||
@@ -7023,6 +7005,16 @@ sass-loader@^7.0.1: | |||
7023 | neo-async "^2.5.0" | 7005 | neo-async "^2.5.0" |
7024 | pify "^3.0.0" | 7006 | pify "^3.0.0" |
7025 | 7007 | ||
7008 | sass-loader@~6.0.7: | ||
7009 | version "6.0.7" | ||
7010 | resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.7.tgz#dd2fdb3e7eeff4a53f35ba6ac408715488353d00" | ||
7011 | dependencies: | ||
7012 | clone-deep "^2.0.1" | ||
7013 | loader-utils "^1.0.1" | ||
7014 | lodash.tail "^4.1.1" | ||
7015 | neo-async "^2.5.0" | ||
7016 | pify "^3.0.0" | ||
7017 | |||
7026 | sass-resources-loader@^1.2.1: | 7018 | sass-resources-loader@^1.2.1: |
7027 | version "1.3.3" | 7019 | version "1.3.3" |
7028 | resolved "https://registry.yarnpkg.com/sass-resources-loader/-/sass-resources-loader-1.3.3.tgz#90f0e614c444f6dfb8f54ce3e1d5f64a18d31537" | 7020 | resolved "https://registry.yarnpkg.com/sass-resources-loader/-/sass-resources-loader-1.3.3.tgz#90f0e614c444f6dfb8f54ce3e1d5f64a18d31537" |
@@ -7042,10 +7034,6 @@ sax@0.5.x: | |||
7042 | version "0.5.8" | 7034 | version "0.5.8" |
7043 | resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" | 7035 | resolved "https://registry.yarnpkg.com/sax/-/sax-0.5.8.tgz#d472db228eb331c2506b0e8c15524adb939d12c1" |
7044 | 7036 | ||
7045 | sax@0.6.x: | ||
7046 | version "0.6.1" | ||
7047 | resolved "https://registry.yarnpkg.com/sax/-/sax-0.6.1.tgz#563b19c7c1de892e09bfc4f2fc30e3c27f0952b9" | ||
7048 | |||
7049 | sax@>=0.6.0, sax@^1.2.4: | 7037 | sax@>=0.6.0, sax@^1.2.4: |
7050 | version "1.2.4" | 7038 | version "1.2.4" |
7051 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" | 7039 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" |
@@ -7056,7 +7044,7 @@ schema-utils@^0.3.0: | |||
7056 | dependencies: | 7044 | dependencies: |
7057 | ajv "^5.0.0" | 7045 | ajv "^5.0.0" |
7058 | 7046 | ||
7059 | schema-utils@^0.4.0, schema-utils@^0.4.2, schema-utils@^0.4.3, schema-utils@^0.4.4, schema-utils@^0.4.5: | 7047 | schema-utils@^0.4.0, schema-utils@^0.4.3, schema-utils@^0.4.4, schema-utils@^0.4.5: |
7060 | version "0.4.5" | 7048 | version "0.4.5" |
7061 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" | 7049 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" |
7062 | dependencies: | 7050 | dependencies: |
@@ -7074,7 +7062,7 @@ select-hose@^2.0.0: | |||
7074 | version "2.0.0" | 7062 | version "2.0.0" |
7075 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" | 7063 | resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" |
7076 | 7064 | ||
7077 | selenium-webdriver@3.6.0: | 7065 | selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: |
7078 | version "3.6.0" | 7066 | version "3.6.0" |
7079 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" | 7067 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" |
7080 | dependencies: | 7068 | dependencies: |
@@ -7083,16 +7071,6 @@ selenium-webdriver@3.6.0: | |||
7083 | tmp "0.0.30" | 7071 | tmp "0.0.30" |
7084 | xml2js "^0.4.17" | 7072 | xml2js "^0.4.17" |
7085 | 7073 | ||
7086 | selenium-webdriver@^2.53.2: | ||
7087 | version "2.53.3" | ||
7088 | resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-2.53.3.tgz#d29ff5a957dff1a1b49dc457756e4e4bfbdce085" | ||
7089 | dependencies: | ||
7090 | adm-zip "0.4.4" | ||
7091 | rimraf "^2.2.8" | ||
7092 | tmp "0.0.24" | ||
7093 | ws "^1.0.1" | ||
7094 | xml2js "0.4.4" | ||
7095 | |||
7096 | selfsigned@^1.9.1: | 7074 | selfsigned@^1.9.1: |
7097 | version "1.10.3" | 7075 | version "1.10.3" |
7098 | resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz#d628ecf9e3735f84e8bafba936b3cf85bea43823" | 7076 | resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz#d628ecf9e3735f84e8bafba936b3cf85bea43823" |
@@ -7111,7 +7089,7 @@ semver-intersect@^1.1.2: | |||
7111 | dependencies: | 7089 | dependencies: |
7112 | semver "^5.0.0" | 7090 | semver "^5.0.0" |
7113 | 7091 | ||
7114 | "semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: | 7092 | "semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", semver@^5.0.0, semver@^5.1.0, semver@^5.3.0, semver@^5.5.0: |
7115 | version "5.5.0" | 7093 | version "5.5.0" |
7116 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" | 7094 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" |
7117 | 7095 | ||
@@ -7229,17 +7207,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: | |||
7229 | version "3.0.2" | 7207 | version "3.0.2" |
7230 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" | 7208 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" |
7231 | 7209 | ||
7232 | silent-error@^1.0.0, silent-error@^1.1.0: | ||
7233 | version "1.1.0" | ||
7234 | resolved "https://registry.yarnpkg.com/silent-error/-/silent-error-1.1.0.tgz#2209706f1c850a9f1d10d0d840918b46f26e1bc9" | ||
7235 | dependencies: | ||
7236 | debug "^2.2.0" | ||
7237 | |||
7238 | simple-concat@^1.0.0: | 7210 | simple-concat@^1.0.0: |
7239 | version "1.0.0" | 7211 | version "1.0.0" |
7240 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" | 7212 | resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" |
7241 | 7213 | ||
7242 | simple-get@^2.0.0, simple-get@^2.7.0, simple-get@^2.8.1, simple-get@^3.0.0, simple-get@^3.0.1: | 7214 | simple-get@^2.0.0, simple-get@^2.8.1, simple-get@^3.0.0, simple-get@^3.0.1: |
7243 | version "2.8.1" | 7215 | version "2.8.1" |
7244 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" | 7216 | resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.1.tgz#0e22e91d4575d87620620bc91308d57a77f44b5d" |
7245 | dependencies: | 7217 | dependencies: |
@@ -7264,15 +7236,14 @@ simple-sha1@^2.0.0, simple-sha1@^2.0.8, simple-sha1@^2.1.0: | |||
7264 | rusha "^0.8.1" | 7236 | rusha "^0.8.1" |
7265 | 7237 | ||
7266 | simple-websocket@^7.0.1: | 7238 | simple-websocket@^7.0.1: |
7267 | version "7.0.2" | 7239 | version "7.2.0" |
7268 | resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-7.0.2.tgz#02d2ebe2f2ad18836e662ddcdc87a5b1741cae29" | 7240 | resolved "https://registry.yarnpkg.com/simple-websocket/-/simple-websocket-7.2.0.tgz#c3190555d74399372b96b51435f2d8c4b04611df" |
7269 | dependencies: | 7241 | dependencies: |
7270 | debug "^3.1.0" | 7242 | debug "^3.1.0" |
7271 | inherits "^2.0.1" | 7243 | inherits "^2.0.1" |
7272 | randombytes "^2.0.3" | 7244 | randombytes "^2.0.3" |
7273 | readable-stream "^2.0.5" | 7245 | readable-stream "^2.0.5" |
7274 | safe-buffer "^5.0.1" | 7246 | ws "^6.0.0" |
7275 | ws "^4.0.0" | ||
7276 | 7247 | ||
7277 | slack-node@~0.2.0: | 7248 | slack-node@~0.2.0: |
7278 | version "0.2.0" | 7249 | version "0.2.0" |
@@ -7377,9 +7348,9 @@ socket.io@2.0.4: | |||
7377 | socket.io-client "2.0.4" | 7348 | socket.io-client "2.0.4" |
7378 | socket.io-parser "~3.1.1" | 7349 | socket.io-parser "~3.1.1" |
7379 | 7350 | ||
7380 | sockjs-client@1.1.4: | 7351 | sockjs-client@1.1.5: |
7381 | version "1.1.4" | 7352 | version "1.1.5" |
7382 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" | 7353 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.5.tgz#1bb7c0f7222c40f42adf14f4442cbd1269771a83" |
7383 | dependencies: | 7354 | dependencies: |
7384 | debug "^2.6.6" | 7355 | debug "^2.6.6" |
7385 | eventsource "0.1.6" | 7356 | eventsource "0.1.6" |
@@ -7438,6 +7409,14 @@ source-list-map@~0.1.7: | |||
7438 | version "0.1.8" | 7409 | version "0.1.8" |
7439 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" | 7410 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" |
7440 | 7411 | ||
7412 | source-map-loader@^0.2.3: | ||
7413 | version "0.2.3" | ||
7414 | resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.3.tgz#d4b0c8cd47d54edce3e6bfa0f523f452b5b0e521" | ||
7415 | dependencies: | ||
7416 | async "^2.5.0" | ||
7417 | loader-utils "~0.2.2" | ||
7418 | source-map "~0.6.1" | ||
7419 | |||
7441 | source-map-resolve@^0.5.0, source-map-resolve@^0.5.1: | 7420 | source-map-resolve@^0.5.0, source-map-resolve@^0.5.1: |
7442 | version "0.5.2" | 7421 | version "0.5.2" |
7443 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" | 7422 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" |
@@ -7627,8 +7606,8 @@ stream-browserify@^2.0.1: | |||
7627 | readable-stream "^2.0.2" | 7606 | readable-stream "^2.0.2" |
7628 | 7607 | ||
7629 | stream-each@^1.1.0: | 7608 | stream-each@^1.1.0: |
7630 | version "1.2.2" | 7609 | version "1.2.3" |
7631 | resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd" | 7610 | resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" |
7632 | dependencies: | 7611 | dependencies: |
7633 | end-of-stream "^1.1.0" | 7612 | end-of-stream "^1.1.0" |
7634 | stream-shift "^1.0.0" | 7613 | stream-shift "^1.0.0" |
@@ -7690,8 +7669,8 @@ string-width@^1.0.1, string-width@^1.0.2: | |||
7690 | strip-ansi "^4.0.0" | 7669 | strip-ansi "^4.0.0" |
7691 | 7670 | ||
7692 | string2compact@^1.1.1, string2compact@^1.2.5: | 7671 | string2compact@^1.1.1, string2compact@^1.2.5: |
7693 | version "1.2.5" | 7672 | version "1.3.0" |
7694 | resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.2.5.tgz#4c924b2ce868d06f8b4bd711758f20729a7c773b" | 7673 | resolved "https://registry.yarnpkg.com/string2compact/-/string2compact-1.3.0.tgz#22d946127b082d1203c51316af60117a337423c3" |
7695 | dependencies: | 7674 | dependencies: |
7696 | addr-to-ip-port "^1.0.1" | 7675 | addr-to-ip-port "^1.0.1" |
7697 | ipaddr.js "^1.0.1" | 7676 | ipaddr.js "^1.0.1" |
@@ -7782,12 +7761,6 @@ supports-color@^3.1.0, supports-color@^3.1.2: | |||
7782 | dependencies: | 7761 | dependencies: |
7783 | has-flag "^1.0.0" | 7762 | has-flag "^1.0.0" |
7784 | 7763 | ||
7785 | supports-color@^4.0.0: | ||
7786 | version "4.5.0" | ||
7787 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" | ||
7788 | dependencies: | ||
7789 | has-flag "^2.0.0" | ||
7790 | |||
7791 | supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: | 7764 | supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: |
7792 | version "5.4.0" | 7765 | version "5.4.0" |
7793 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" | 7766 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" |
@@ -7802,27 +7775,6 @@ tapable@^1.0.0: | |||
7802 | version "1.0.0" | 7775 | version "1.0.0" |
7803 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" | 7776 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" |
7804 | 7777 | ||
7805 | tar-fs@^1.13.0: | ||
7806 | version "1.16.3" | ||
7807 | resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" | ||
7808 | dependencies: | ||
7809 | chownr "^1.0.1" | ||
7810 | mkdirp "^0.5.1" | ||
7811 | pump "^1.0.0" | ||
7812 | tar-stream "^1.1.2" | ||
7813 | |||
7814 | tar-stream@^1.1.2: | ||
7815 | version "1.6.1" | ||
7816 | resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" | ||
7817 | dependencies: | ||
7818 | bl "^1.0.0" | ||
7819 | buffer-alloc "^1.1.0" | ||
7820 | end-of-stream "^1.0.0" | ||
7821 | fs-constants "^1.0.0" | ||
7822 | readable-stream "^2.3.0" | ||
7823 | to-buffer "^1.1.0" | ||
7824 | xtend "^4.0.0" | ||
7825 | |||
7826 | tar@^2.0.0: | 7778 | tar@^2.0.0: |
7827 | version "2.2.1" | 7779 | version "2.2.1" |
7828 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" | 7780 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" |
@@ -7880,10 +7832,6 @@ timespan@2.3.x: | |||
7880 | version "2.3.0" | 7832 | version "2.3.0" |
7881 | resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" | 7833 | resolved "https://registry.yarnpkg.com/timespan/-/timespan-2.3.0.tgz#4902ce040bd13d845c8f59b27e9d59bad6f39929" |
7882 | 7834 | ||
7883 | tmp@0.0.24: | ||
7884 | version "0.0.24" | ||
7885 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.24.tgz#d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12" | ||
7886 | |||
7887 | tmp@0.0.30: | 7835 | tmp@0.0.30: |
7888 | version "0.0.30" | 7836 | version "0.0.30" |
7889 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" | 7837 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" |
@@ -7904,10 +7852,6 @@ to-arraybuffer@^1.0.0, to-arraybuffer@^1.0.1: | |||
7904 | version "1.0.1" | 7852 | version "1.0.1" |
7905 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" | 7853 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" |
7906 | 7854 | ||
7907 | to-buffer@^1.1.0: | ||
7908 | version "1.1.1" | ||
7909 | resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" | ||
7910 | |||
7911 | to-fast-properties@^1.0.3: | 7855 | to-fast-properties@^1.0.3: |
7912 | version "1.0.3" | 7856 | version "1.0.3" |
7913 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" | 7857 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" |
@@ -7985,10 +7929,11 @@ tryer@^1.0.0: | |||
7985 | version "1.0.1" | 7929 | version "1.0.1" |
7986 | resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" | 7930 | resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" |
7987 | 7931 | ||
7988 | tsickle@^0.29.0: | 7932 | tsickle@^0.30.0: |
7989 | version "0.29.0" | 7933 | version "0.30.0" |
7990 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.29.0.tgz#812806554bb46c1aa16eb0fe2a051da95ca8f5a4" | 7934 | resolved "https://registry.yarnpkg.com/tsickle/-/tsickle-0.30.0.tgz#7941146ae92933854a8742fa1047606c4536649b" |
7991 | dependencies: | 7935 | dependencies: |
7936 | jasmine-diff "^0.1.3" | ||
7992 | minimist "^1.2.0" | 7937 | minimist "^1.2.0" |
7993 | mkdirp "^0.5.1" | 7938 | mkdirp "^0.5.1" |
7994 | source-map "^0.6.0" | 7939 | source-map "^0.6.0" |
@@ -8038,8 +7983,8 @@ tsml@1.0.1: | |||
8038 | resolved "https://registry.yarnpkg.com/tsml/-/tsml-1.0.1.tgz#89f8218b9d9e257f47d7f6b56d01c5a4d2c68fc3" | 7983 | resolved "https://registry.yarnpkg.com/tsml/-/tsml-1.0.1.tgz#89f8218b9d9e257f47d7f6b56d01c5a4d2c68fc3" |
8039 | 7984 | ||
8040 | tsscmp@~1.0.0: | 7985 | tsscmp@~1.0.0: |
8041 | version "1.0.5" | 7986 | version "1.0.6" |
8042 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.5.tgz#7dc4a33af71581ab4337da91d85ca5427ebd9a97" | 7987 | resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" |
8043 | 7988 | ||
8044 | tsutils@2.8.0: | 7989 | tsutils@2.8.0: |
8045 | version "2.8.0" | 7990 | version "2.8.0" |
@@ -8048,8 +7993,8 @@ tsutils@2.8.0: | |||
8048 | tslib "^1.7.1" | 7993 | tslib "^1.7.1" |
8049 | 7994 | ||
8050 | tsutils@^2.27.2: | 7995 | tsutils@^2.27.2: |
8051 | version "2.28.0" | 7996 | version "2.29.0" |
8052 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1" | 7997 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" |
8053 | dependencies: | 7998 | dependencies: |
8054 | tslib "^1.8.1" | 7999 | tslib "^1.8.1" |
8055 | 8000 | ||
@@ -8094,14 +8039,14 @@ typedarray@^0.0.6: | |||
8094 | version "0.0.6" | 8039 | version "0.0.6" |
8095 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" | 8040 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" |
8096 | 8041 | ||
8097 | typescript@2.7, "typescript@>=2.6.2 <2.8": | 8042 | typescript@2.9, typescript@~2.9.1: |
8098 | version "2.7.2" | ||
8099 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" | ||
8100 | |||
8101 | typescript@~2.9.1: | ||
8102 | version "2.9.2" | 8043 | version "2.9.2" |
8103 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" | 8044 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c" |
8104 | 8045 | ||
8046 | "typescript@>=2.6.2 <2.8": | ||
8047 | version "2.7.2" | ||
8048 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836" | ||
8049 | |||
8105 | ua-parser-js@^0.7.18: | 8050 | ua-parser-js@^0.7.18: |
8106 | version "0.7.18" | 8051 | version "0.7.18" |
8107 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" | 8052 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed" |
@@ -8118,8 +8063,8 @@ uglify-es@^3.3.4: | |||
8118 | source-map "~0.6.1" | 8063 | source-map "~0.6.1" |
8119 | 8064 | ||
8120 | uglify-js@3.4.x, uglify-js@^3.0.6: | 8065 | uglify-js@3.4.x, uglify-js@^3.0.6: |
8121 | version "3.4.5" | 8066 | version "3.4.6" |
8122 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.5.tgz#650889c0766cf0f6fd5346cea09cd212f544be69" | 8067 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.6.tgz#bc546d53f3e02b05d97d0ca5a7abfe0fb0384ddb" |
8123 | dependencies: | 8068 | dependencies: |
8124 | commander "~2.16.0" | 8069 | commander "~2.16.0" |
8125 | source-map "~0.6.1" | 8070 | source-map "~0.6.1" |
@@ -8150,13 +8095,11 @@ uglifyjs-webpack-plugin@^1.1.2, uglifyjs-webpack-plugin@^1.2.4, uglifyjs-webpack | |||
8150 | webpack-sources "^1.1.0" | 8095 | webpack-sources "^1.1.0" |
8151 | worker-farm "^1.5.2" | 8096 | worker-farm "^1.5.2" |
8152 | 8097 | ||
8153 | uint64be@^1.0.1: | 8098 | uint64be@^2.0.2: |
8154 | version "1.0.1" | 8099 | version "2.0.2" |
8155 | resolved "https://registry.yarnpkg.com/uint64be/-/uint64be-1.0.1.tgz#1f7154202f2a1b8af353871dda651bf34ce93e95" | 8100 | resolved "https://registry.yarnpkg.com/uint64be/-/uint64be-2.0.2.tgz#ef4a179752fe8f9ddaa29544ecfc13490031e8e5" |
8156 | 8101 | dependencies: | |
8157 | ultron@1.0.x: | 8102 | buffer-alloc "^1.1.0" |
8158 | version "1.0.2" | ||
8159 | resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" | ||
8160 | 8103 | ||
8161 | ultron@~1.1.0: | 8104 | ultron@~1.1.0: |
8162 | version "1.1.1" | 8105 | version "1.1.1" |
@@ -8243,8 +8186,8 @@ url-loader@^1.0.1: | |||
8243 | schema-utils "^0.4.3" | 8186 | schema-utils "^0.4.3" |
8244 | 8187 | ||
8245 | url-parse@^1.1.8, url-parse@~1.4.0: | 8188 | url-parse@^1.1.8, url-parse@~1.4.0: |
8246 | version "1.4.1" | 8189 | version "1.4.3" |
8247 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.1.tgz#4dec9dad3dc8585f862fed461d2e19bbf623df30" | 8190 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.3.tgz#bfaee455c889023219d757e045fa6a684ec36c15" |
8248 | dependencies: | 8191 | dependencies: |
8249 | querystringify "^2.0.0" | 8192 | querystringify "^2.0.0" |
8250 | requires-port "^1.0.0" | 8193 | requires-port "^1.0.0" |
@@ -8291,6 +8234,12 @@ ut_pex@^1.1.1: | |||
8291 | inherits "^2.0.1" | 8234 | inherits "^2.0.1" |
8292 | string2compact "^1.2.5" | 8235 | string2compact "^1.2.5" |
8293 | 8236 | ||
8237 | utf-8-validate@^5.0.1: | ||
8238 | version "5.0.1" | ||
8239 | resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.1.tgz#cef1f9011ba4b216f4d7c6ddf5189d750599ff8b" | ||
8240 | dependencies: | ||
8241 | node-gyp-build "~3.4.0" | ||
8242 | |||
8294 | util-deprecate@~1.0.1: | 8243 | util-deprecate@~1.0.1: |
8295 | version "1.0.2" | 8244 | version "1.0.2" |
8296 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" | 8245 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" |
@@ -8363,7 +8312,7 @@ verror@1.10.0: | |||
8363 | core-util-is "1.0.2" | 8312 | core-util-is "1.0.2" |
8364 | extsprintf "^1.2.0" | 8313 | extsprintf "^1.2.0" |
8365 | 8314 | ||
8366 | video.js@7.2.0: | 8315 | video.js@7.2: |
8367 | version "7.2.0" | 8316 | version "7.2.0" |
8368 | resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.2.0.tgz#495ceca46e0858439ba44d76557744b3c52d0323" | 8317 | resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.2.0.tgz#495ceca46e0858439ba44d76557744b3c52d0323" |
8369 | dependencies: | 8318 | dependencies: |
@@ -8377,10 +8326,10 @@ video.js@7.2.0: | |||
8377 | xhr "2.4.0" | 8326 | xhr "2.4.0" |
8378 | 8327 | ||
8379 | video.js@^5.19.2, "video.js@^6.8.0 || ^7.0.0", video.js@^7: | 8328 | video.js@^5.19.2, "video.js@^6.8.0 || ^7.0.0", video.js@^7: |
8380 | version "7.0.5" | 8329 | version "7.1.0" |
8381 | resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.0.5.tgz#d4eda7963e869799e6afd26e225523d3781b49b8" | 8330 | resolved "https://registry.yarnpkg.com/video.js/-/video.js-7.1.0.tgz#93de7ec3396d3edb3fab0ffd4e9d3237e7e068ec" |
8382 | dependencies: | 8331 | dependencies: |
8383 | "@videojs/http-streaming" "^1.0.2" | 8332 | "@videojs/http-streaming" "1.1.0" |
8384 | babel-runtime "^6.9.2" | 8333 | babel-runtime "^6.9.2" |
8385 | global "4.3.2" | 8334 | global "4.3.2" |
8386 | safe-json-parse "4.0.0" | 8335 | safe-json-parse "4.0.0" |
@@ -8416,8 +8365,8 @@ videojs-font@3.0.0: | |||
8416 | resolved "https://registry.yarnpkg.com/videojs-font/-/videojs-font-3.0.0.tgz#90eafddcf26b407448c833523f5ca4ad8d5cc1af" | 8365 | resolved "https://registry.yarnpkg.com/videojs-font/-/videojs-font-3.0.0.tgz#90eafddcf26b407448c833523f5ca4ad8d5cc1af" |
8417 | 8366 | ||
8418 | videojs-hotkeys@^0.2.21: | 8367 | videojs-hotkeys@^0.2.21: |
8419 | version "0.2.21" | 8368 | version "0.2.22" |
8420 | resolved "https://registry.yarnpkg.com/videojs-hotkeys/-/videojs-hotkeys-0.2.21.tgz#aa0a0a8484e8a8311ff9f4ba82d0934348566bad" | 8369 | resolved "https://registry.yarnpkg.com/videojs-hotkeys/-/videojs-hotkeys-0.2.22.tgz#76f917b1a70e7bf9da5f7f8cd33d5a032c0284be" |
8421 | 8370 | ||
8422 | videojs-vtt.js@0.14.1: | 8371 | videojs-vtt.js@0.14.1: |
8423 | version "0.14.1" | 8372 | version "0.14.1" |
@@ -8426,16 +8375,16 @@ videojs-vtt.js@0.14.1: | |||
8426 | global "^4.3.1" | 8375 | global "^4.3.1" |
8427 | 8376 | ||
8428 | videostream@^2.3.0: | 8377 | videostream@^2.3.0: |
8429 | version "2.4.3" | 8378 | version "2.5.1" |
8430 | resolved "https://registry.yarnpkg.com/videostream/-/videostream-2.4.3.tgz#bdcc252309fa1d4e7077643d2809b822270b5e60" | 8379 | resolved "https://registry.yarnpkg.com/videostream/-/videostream-2.5.1.tgz#993a8f3efe277e5c8d26a7814ba0c68f79b20688" |
8431 | dependencies: | 8380 | dependencies: |
8432 | binary-search "^1.2.0" | 8381 | binary-search "^1.3.4" |
8433 | inherits "^2.0.1" | 8382 | inherits "^2.0.1" |
8434 | mediasource "^2.0.0" | 8383 | mediasource "^2.0.0" |
8435 | mp4-box-encoding "^1.1.1" | 8384 | mp4-box-encoding "^1.3.0" |
8436 | mp4-stream "^2.0.0" | 8385 | mp4-stream "^2.0.0" |
8437 | multistream "^2.0.2" | 8386 | multistream "^2.0.2" |
8438 | pump "^1.0.1" | 8387 | pump "^3.0.0" |
8439 | range-slice-stream "^1.2.0" | 8388 | range-slice-stream "^1.2.0" |
8440 | 8389 | ||
8441 | vm-browserify@0.0.4: | 8390 | vm-browserify@0.0.4: |
@@ -8472,12 +8421,12 @@ webassemblyjs@1.4.3: | |||
8472 | "@webassemblyjs/wast-parser" "1.4.3" | 8421 | "@webassemblyjs/wast-parser" "1.4.3" |
8473 | long "^3.2.0" | 8422 | long "^3.2.0" |
8474 | 8423 | ||
8475 | webdriver-js-extender@^1.0.0: | 8424 | webdriver-js-extender@2.0.0: |
8476 | version "1.0.0" | 8425 | version "2.0.0" |
8477 | resolved "https://registry.yarnpkg.com/webdriver-js-extender/-/webdriver-js-extender-1.0.0.tgz#81c533a9e33d5bfb597b4e63e2cdb25b54777515" | 8426 | resolved "https://registry.yarnpkg.com/webdriver-js-extender/-/webdriver-js-extender-2.0.0.tgz#b27fc1ed1afbf78f0ac57e4c878f31b10e57f146" |
8478 | dependencies: | 8427 | dependencies: |
8479 | "@types/selenium-webdriver" "^2.53.35" | 8428 | "@types/selenium-webdriver" "^3.0.0" |
8480 | selenium-webdriver "^2.53.2" | 8429 | selenium-webdriver "^3.0.1" |
8481 | 8430 | ||
8482 | webdriver-manager@^12.0.6: | 8431 | webdriver-manager@^12.0.6: |
8483 | version "12.1.0" | 8432 | version "12.1.0" |
@@ -8513,8 +8462,8 @@ webpack-bundle-analyzer@^2.9.1: | |||
8513 | ws "^4.0.0" | 8462 | ws "^4.0.0" |
8514 | 8463 | ||
8515 | webpack-cli@^3.0.8: | 8464 | webpack-cli@^3.0.8: |
8516 | version "3.0.8" | 8465 | version "3.1.0" |
8517 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.0.8.tgz#90eddcf04a4bfc31aa8c0edc4c76785bc4f1ccd9" | 8466 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.1.0.tgz#d71a83687dcfeb758fdceeb0fe042f96bcf62994" |
8518 | dependencies: | 8467 | dependencies: |
8519 | chalk "^2.4.1" | 8468 | chalk "^2.4.1" |
8520 | cross-spawn "^6.0.5" | 8469 | cross-spawn "^6.0.5" |
@@ -8526,7 +8475,7 @@ webpack-cli@^3.0.8: | |||
8526 | loader-utils "^1.1.0" | 8475 | loader-utils "^1.1.0" |
8527 | supports-color "^5.4.0" | 8476 | supports-color "^5.4.0" |
8528 | v8-compile-cache "^2.0.0" | 8477 | v8-compile-cache "^2.0.0" |
8529 | yargs "^11.1.0" | 8478 | yargs "^12.0.1" |
8530 | 8479 | ||
8531 | webpack-core@^0.6.8: | 8480 | webpack-core@^0.6.8: |
8532 | version "0.6.9" | 8481 | version "0.6.9" |
@@ -8548,8 +8497,8 @@ webpack-dev-middleware@3.1.3, webpack-dev-middleware@^3.1.3: | |||
8548 | webpack-log "^1.0.1" | 8497 | webpack-log "^1.0.1" |
8549 | 8498 | ||
8550 | webpack-dev-server@^3.1.4: | 8499 | webpack-dev-server@^3.1.4: |
8551 | version "3.1.4" | 8500 | version "3.1.5" |
8552 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz#9a08d13c4addd1e3b6d8ace116e86715094ad5b4" | 8501 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.5.tgz#87477252e1ac6789303fb8cd3e585fa5d508a401" |
8553 | dependencies: | 8502 | dependencies: |
8554 | ansi-html "0.0.7" | 8503 | ansi-html "0.0.7" |
8555 | array-includes "^3.0.3" | 8504 | array-includes "^3.0.3" |
@@ -8572,7 +8521,7 @@ webpack-dev-server@^3.1.4: | |||
8572 | selfsigned "^1.9.1" | 8521 | selfsigned "^1.9.1" |
8573 | serve-index "^1.7.2" | 8522 | serve-index "^1.7.2" |
8574 | sockjs "0.3.19" | 8523 | sockjs "0.3.19" |
8575 | sockjs-client "1.1.4" | 8524 | sockjs-client "1.1.5" |
8576 | spdy "^3.4.1" | 8525 | spdy "^3.4.1" |
8577 | strip-ansi "^3.0.0" | 8526 | strip-ansi "^3.0.0" |
8578 | supports-color "^5.1.0" | 8527 | supports-color "^5.1.0" |
@@ -8616,8 +8565,8 @@ webpack-subresource-integrity@^1.1.0-rc.4: | |||
8616 | webpack-core "^0.6.8" | 8565 | webpack-core "^0.6.8" |
8617 | 8566 | ||
8618 | webpack@^4.5.0: | 8567 | webpack@^4.5.0: |
8619 | version "4.16.1" | 8568 | version "4.16.3" |
8620 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.16.1.tgz#2c4b89ea648125c3e67bcca6adf49ce2c14b2d31" | 8569 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.16.3.tgz#861be3176d81e7e3d71c66c8acc9bba35588b525" |
8621 | dependencies: | 8570 | dependencies: |
8622 | "@webassemblyjs/ast" "1.5.13" | 8571 | "@webassemblyjs/ast" "1.5.13" |
8623 | "@webassemblyjs/helper-module-context" "1.5.13" | 8572 | "@webassemblyjs/helper-module-context" "1.5.13" |
@@ -8645,9 +8594,9 @@ webpack@^4.5.0: | |||
8645 | watchpack "^1.5.0" | 8594 | watchpack "^1.5.0" |
8646 | webpack-sources "^1.0.1" | 8595 | webpack-sources "^1.0.1" |
8647 | 8596 | ||
8648 | webpack@~4.8.1: | 8597 | webpack@~4.9.2: |
8649 | version "4.8.3" | 8598 | version "4.9.2" |
8650 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.8.3.tgz#957c8e80000f9e5cc03d775e78b472d8954f4eeb" | 8599 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.9.2.tgz#d347097cc87c9242527c2e8ee9cdcb90f05856c3" |
8651 | dependencies: | 8600 | dependencies: |
8652 | "@webassemblyjs/ast" "1.4.3" | 8601 | "@webassemblyjs/ast" "1.4.3" |
8653 | "@webassemblyjs/wasm-edit" "1.4.3" | 8602 | "@webassemblyjs/wasm-edit" "1.4.3" |
@@ -8659,6 +8608,7 @@ webpack@~4.8.1: | |||
8659 | chrome-trace-event "^0.1.1" | 8608 | chrome-trace-event "^0.1.1" |
8660 | enhanced-resolve "^4.0.0" | 8609 | enhanced-resolve "^4.0.0" |
8661 | eslint-scope "^3.7.1" | 8610 | eslint-scope "^3.7.1" |
8611 | json-parse-better-errors "^1.0.2" | ||
8662 | loader-runner "^2.3.0" | 8612 | loader-runner "^2.3.0" |
8663 | loader-utils "^1.1.0" | 8613 | loader-utils "^1.1.0" |
8664 | memory-fs "~0.4.1" | 8614 | memory-fs "~0.4.1" |
@@ -8751,10 +8701,6 @@ which-module@^2.0.0: | |||
8751 | version "2.0.0" | 8701 | version "2.0.0" |
8752 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" | 8702 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" |
8753 | 8703 | ||
8754 | which-pm-runs@^1.0.0: | ||
8755 | version "1.0.0" | ||
8756 | resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" | ||
8757 | |||
8758 | which@1, which@^1.1.1, which@^1.2.1, which@^1.2.9: | 8704 | which@1, which@^1.1.1, which@^1.2.1, which@^1.2.9: |
8759 | version "1.3.1" | 8705 | version "1.3.1" |
8760 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" | 8706 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" |
@@ -8804,13 +8750,6 @@ wrappy@1: | |||
8804 | version "1.0.2" | 8750 | version "1.0.2" |
8805 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" | 8751 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" |
8806 | 8752 | ||
8807 | ws@^1.0.1: | ||
8808 | version "1.1.5" | ||
8809 | resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" | ||
8810 | dependencies: | ||
8811 | options ">=0.0.5" | ||
8812 | ultron "1.0.x" | ||
8813 | |||
8814 | ws@^4.0.0: | 8753 | ws@^4.0.0: |
8815 | version "4.1.0" | 8754 | version "4.1.0" |
8816 | resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" | 8755 | resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" |
@@ -8818,9 +8757,9 @@ ws@^4.0.0: | |||
8818 | async-limiter "~1.0.0" | 8757 | async-limiter "~1.0.0" |
8819 | safe-buffer "~5.1.0" | 8758 | safe-buffer "~5.1.0" |
8820 | 8759 | ||
8821 | ws@^5.0.0: | 8760 | ws@^6.0.0: |
8822 | version "5.2.2" | 8761 | version "6.0.0" |
8823 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" | 8762 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.0.0.tgz#eaa494aded00ac4289d455bac8d84c7c651cef35" |
8824 | dependencies: | 8763 | dependencies: |
8825 | async-limiter "~1.0.0" | 8764 | async-limiter "~1.0.0" |
8826 | 8765 | ||
@@ -8841,13 +8780,6 @@ xhr@2.4.0: | |||
8841 | parse-headers "^2.0.0" | 8780 | parse-headers "^2.0.0" |
8842 | xtend "^4.0.0" | 8781 | xtend "^4.0.0" |
8843 | 8782 | ||
8844 | xml2js@0.4.4: | ||
8845 | version "0.4.4" | ||
8846 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.4.tgz#3111010003008ae19240eba17497b57c729c555d" | ||
8847 | dependencies: | ||
8848 | sax "0.6.x" | ||
8849 | xmlbuilder ">=1.0.0" | ||
8850 | |||
8851 | xml2js@^0.4.17: | 8783 | xml2js@^0.4.17: |
8852 | version "0.4.19" | 8784 | version "0.4.19" |
8853 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" | 8785 | resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" |
@@ -8855,10 +8787,6 @@ xml2js@^0.4.17: | |||
8855 | sax ">=0.6.0" | 8787 | sax ">=0.6.0" |
8856 | xmlbuilder "~9.0.1" | 8788 | xmlbuilder "~9.0.1" |
8857 | 8789 | ||
8858 | xmlbuilder@>=1.0.0: | ||
8859 | version "10.0.0" | ||
8860 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-10.0.0.tgz#c64e52f8ae097fe5fd46d1c38adaade071ee1b55" | ||
8861 | |||
8862 | xmlbuilder@~9.0.1: | 8790 | xmlbuilder@~9.0.1: |
8863 | version "9.0.7" | 8791 | version "9.0.7" |
8864 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" | 8792 | resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" |
@@ -8871,6 +8799,10 @@ xregexp@2.0.0: | |||
8871 | version "2.0.0" | 8799 | version "2.0.0" |
8872 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" | 8800 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" |
8873 | 8801 | ||
8802 | xregexp@4.0.0: | ||
8803 | version "4.0.0" | ||
8804 | resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" | ||
8805 | |||
8874 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: | 8806 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: |
8875 | version "4.0.1" | 8807 | version "4.0.1" |
8876 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" | 8808 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" |
@@ -8885,7 +8817,7 @@ y18n@^3.2.1: | |||
8885 | version "3.2.1" | 8817 | version "3.2.1" |
8886 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" | 8818 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" |
8887 | 8819 | ||
8888 | y18n@^4.0.0: | 8820 | "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: |
8889 | version "4.0.0" | 8821 | version "4.0.0" |
8890 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" | 8822 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" |
8891 | 8823 | ||
@@ -8897,7 +8829,7 @@ yallist@^3.0.0, yallist@^3.0.2: | |||
8897 | version "3.0.2" | 8829 | version "3.0.2" |
8898 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" | 8830 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" |
8899 | 8831 | ||
8900 | yargs-parser@^10.0.0: | 8832 | yargs-parser@^10.0.0, yargs-parser@^10.1.0: |
8901 | version "10.1.0" | 8833 | version "10.1.0" |
8902 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" | 8834 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" |
8903 | dependencies: | 8835 | dependencies: |
@@ -8961,13 +8893,13 @@ yargs@11.0.0: | |||
8961 | y18n "^3.2.1" | 8893 | y18n "^3.2.1" |
8962 | yargs-parser "^9.0.2" | 8894 | yargs-parser "^9.0.2" |
8963 | 8895 | ||
8964 | yargs@^11.1.0: | 8896 | yargs@^12.0.1: |
8965 | version "11.1.0" | 8897 | version "12.0.1" |
8966 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" | 8898 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.1.tgz#6432e56123bb4e7c3562115401e98374060261c2" |
8967 | dependencies: | 8899 | dependencies: |
8968 | cliui "^4.0.0" | 8900 | cliui "^4.0.0" |
8969 | decamelize "^1.1.1" | 8901 | decamelize "^2.0.0" |
8970 | find-up "^2.1.0" | 8902 | find-up "^3.0.0" |
8971 | get-caller-file "^1.0.1" | 8903 | get-caller-file "^1.0.1" |
8972 | os-locale "^2.0.0" | 8904 | os-locale "^2.0.0" |
8973 | require-directory "^2.1.1" | 8905 | require-directory "^2.1.1" |
@@ -8975,8 +8907,8 @@ yargs@^11.1.0: | |||
8975 | set-blocking "^2.0.0" | 8907 | set-blocking "^2.0.0" |
8976 | string-width "^2.0.0" | 8908 | string-width "^2.0.0" |
8977 | which-module "^2.0.0" | 8909 | which-module "^2.0.0" |
8978 | y18n "^3.2.1" | 8910 | y18n "^3.2.1 || ^4.0.0" |
8979 | yargs-parser "^9.0.2" | 8911 | yargs-parser "^10.1.0" |
8980 | 8912 | ||
8981 | yargs@^7.0.0: | 8913 | yargs@^7.0.0: |
8982 | version "7.1.0" | 8914 | version "7.1.0" |
diff --git a/config/default.yaml b/config/default.yaml index bc0530d79..5fa7e5945 100644 --- a/config/default.yaml +++ b/config/default.yaml | |||
@@ -22,6 +22,8 @@ database: | |||
22 | suffix: '_dev' | 22 | suffix: '_dev' |
23 | username: 'peertube' | 23 | username: 'peertube' |
24 | password: 'peertube' | 24 | password: 'peertube' |
25 | pool: | ||
26 | max: 5 | ||
25 | 27 | ||
26 | # You can also specify a 'socket' path to a unix socket but first need to | 28 | # You can also specify a 'socket' path to a unix socket but first need to |
27 | # comment out hostname and port | 29 | # comment out hostname and port |
@@ -90,6 +92,12 @@ transcoding: | |||
90 | 720p: false | 92 | 720p: false |
91 | 1080p: false | 93 | 1080p: false |
92 | 94 | ||
95 | import: | ||
96 | # Add ability for your users to import remote videos (from YouTube, torrent...) | ||
97 | videos: | ||
98 | http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html | ||
99 | enabled: false | ||
100 | |||
93 | instance: | 101 | instance: |
94 | name: 'PeerTube' | 102 | name: 'PeerTube' |
95 | short_description: 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.' | 103 | short_description: 'PeerTube, a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser with WebTorrent and Angular.' |
diff --git a/config/production.yaml.example b/config/production.yaml.example index d347b0ece..635a41e9e 100644 --- a/config/production.yaml.example +++ b/config/production.yaml.example | |||
@@ -21,6 +21,8 @@ database: | |||
21 | suffix: '_prod' | 21 | suffix: '_prod' |
22 | username: 'peertube' | 22 | username: 'peertube' |
23 | password: 'peertube' | 23 | password: 'peertube' |
24 | pool: | ||
25 | max: 5 | ||
24 | 26 | ||
25 | # Redis server for short time storage | 27 | # Redis server for short time storage |
26 | # You can also specify a 'socket' path to a unix socket but first need to | 28 | # You can also specify a 'socket' path to a unix socket but first need to |
@@ -104,6 +106,12 @@ transcoding: | |||
104 | 720p: false | 106 | 720p: false |
105 | 1080p: false | 107 | 1080p: false |
106 | 108 | ||
109 | import: | ||
110 | # Add ability for your users to import remote videos (from YouTube, torrent...) | ||
111 | videos: | ||
112 | http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html | ||
113 | enabled: false | ||
114 | |||
107 | # Instance settings | 115 | # Instance settings |
108 | instance: | 116 | instance: |
109 | name: 'PeerTube' | 117 | name: 'PeerTube' |
diff --git a/config/test.yaml b/config/test.yaml index ffe736b24..3c51785f2 100644 --- a/config/test.yaml +++ b/config/test.yaml | |||
@@ -40,5 +40,10 @@ transcoding: | |||
40 | 720p: true | 40 | 720p: true |
41 | 1080p: true | 41 | 1080p: true |
42 | 42 | ||
43 | import: | ||
44 | videos: | ||
45 | http: | ||
46 | enabled: true | ||
47 | |||
43 | instance: | 48 | instance: |
44 | default_nsfw_policy: 'display' \ No newline at end of file | 49 | default_nsfw_policy: 'display' \ No newline at end of file |
diff --git a/package.json b/package.json index 74e5afabe..c7163d8bb 100644 --- a/package.json +++ b/package.json | |||
@@ -16,6 +16,7 @@ | |||
16 | "type": "git", | 16 | "type": "git", |
17 | "url": "git://github.com/Chocobozzz/PeerTube.git" | 17 | "url": "git://github.com/Chocobozzz/PeerTube.git" |
18 | }, | 18 | }, |
19 | "typings": "*.d.ts", | ||
19 | "scripts": { | 20 | "scripts": { |
20 | "e2e": "scripty", | 21 | "e2e": "scripty", |
21 | "build": "SCRIPTY_PARALLEL=true scripty", | 22 | "build": "SCRIPTY_PARALLEL=true scripty", |
@@ -91,10 +92,12 @@ | |||
91 | "cookie-parser": "^1.4.3", | 92 | "cookie-parser": "^1.4.3", |
92 | "cors": "^2.8.1", | 93 | "cors": "^2.8.1", |
93 | "create-torrent": "^3.24.5", | 94 | "create-torrent": "^3.24.5", |
95 | "deep-object-diff": "^1.1.0", | ||
94 | "express": "^4.12.4", | 96 | "express": "^4.12.4", |
95 | "express-oauth-server": "^2.0.0", | 97 | "express-oauth-server": "^2.0.0", |
96 | "express-rate-limit": "^2.11.0", | 98 | "express-rate-limit": "^2.11.0", |
97 | "express-validator": "^5.0.0", | 99 | "express-validator": "^5.0.0", |
100 | "flat": "^4.1.0", | ||
98 | "fluent-ffmpeg": "^2.1.0", | 101 | "fluent-ffmpeg": "^2.1.0", |
99 | "helmet": "^3.12.1", | 102 | "helmet": "^3.12.1", |
100 | "ipaddr.js": "https://github.com/whitequark/ipaddr.js.git#8e69afeb4053ee32447a101845f860848280eca5", | 103 | "ipaddr.js": "https://github.com/whitequark/ipaddr.js.git#8e69afeb4053ee32447a101845f860848280eca5", |
@@ -130,7 +133,8 @@ | |||
130 | "validator": "^10.2.0", | 133 | "validator": "^10.2.0", |
131 | "webfinger.js": "^2.6.6", | 134 | "webfinger.js": "^2.6.6", |
132 | "winston": "3.0.0", | 135 | "winston": "3.0.0", |
133 | "ws": "^5.0.0" | 136 | "ws": "^5.0.0", |
137 | "youtube-dl": "^1.12.2" | ||
134 | }, | 138 | }, |
135 | "devDependencies": { | 139 | "devDependencies": { |
136 | "@types/async": "^2.0.40", | 140 | "@types/async": "^2.0.40", |
@@ -182,8 +186,7 @@ | |||
182 | "tslint-config-standard": "^7.0.0", | 186 | "tslint-config-standard": "^7.0.0", |
183 | "typescript": "^2.5.2", | 187 | "typescript": "^2.5.2", |
184 | "webtorrent": "^0.100.0", | 188 | "webtorrent": "^0.100.0", |
185 | "xliff": "^3.0.1", | 189 | "xliff": "^3.0.1" |
186 | "youtube-dl": "^1.12.2" | ||
187 | }, | 190 | }, |
188 | "scripty": { | 191 | "scripty": { |
189 | "silent": true | 192 | "silent": true |
diff --git a/scripts/build/client.sh b/scripts/build/client.sh index 567a6e5e0..5b70b6045 100755 --- a/scripts/build/client.sh +++ b/scripts/build/client.sh | |||
@@ -31,7 +31,7 @@ post_build_hook | |||
31 | # Don't build other languages if --light arg is provided | 31 | # Don't build other languages if --light arg is provided |
32 | if [ -z ${1+x} ] || [ "$1" != "--light" ]; then | 32 | if [ -z ${1+x} ] || [ "$1" != "--light" ]; then |
33 | # Supported languages | 33 | # Supported languages |
34 | languages=("fr_FR" "eu_ES" "ca_ES" "cs_CZ" "eo") | 34 | languages=("fr_FR" "eu_ES" "ca_ES" "cs_CZ" "eo" "zh_Hant_TW" "de_DE" "es_ES") |
35 | 35 | ||
36 | for lang in "${languages[@]}"; do | 36 | for lang in "${languages[@]}"; do |
37 | # TODO: remove when the project will use runtime translations | 37 | # TODO: remove when the project will use runtime translations |
diff --git a/scripts/i18n/create-custom-files.ts b/scripts/i18n/create-custom-files.ts index a297fa79c..c4f8411e1 100755 --- a/scripts/i18n/create-custom-files.ts +++ b/scripts/i18n/create-custom-files.ts | |||
@@ -1,7 +1,14 @@ | |||
1 | import * as jsToXliff12 from 'xliff/jsToXliff12' | 1 | import * as jsToXliff12 from 'xliff/jsToXliff12' |
2 | import { writeFile } from 'fs' | 2 | import { writeFile } from 'fs' |
3 | import { join } from 'path' | 3 | import { join } from 'path' |
4 | import { buildLanguages, VIDEO_CATEGORIES, VIDEO_LICENCES, VIDEO_PRIVACIES } from '../../server/initializers/constants' | 4 | import { |
5 | buildLanguages, | ||
6 | VIDEO_CATEGORIES, | ||
7 | VIDEO_IMPORT_STATES, | ||
8 | VIDEO_LICENCES, | ||
9 | VIDEO_PRIVACIES, | ||
10 | VIDEO_STATES | ||
11 | } from '../../server/initializers/constants' | ||
5 | import { values } from 'lodash' | 12 | import { values } from 'lodash' |
6 | 13 | ||
7 | type TranslationType = { | 14 | type TranslationType = { |
@@ -33,6 +40,8 @@ const serverKeys: any = {} | |||
33 | values(VIDEO_CATEGORIES) | 40 | values(VIDEO_CATEGORIES) |
34 | .concat(values(VIDEO_LICENCES)) | 41 | .concat(values(VIDEO_LICENCES)) |
35 | .concat(values(VIDEO_PRIVACIES)) | 42 | .concat(values(VIDEO_PRIVACIES)) |
43 | .concat(values(VIDEO_STATES)) | ||
44 | .concat(values(VIDEO_IMPORT_STATES)) | ||
36 | .forEach(v => serverKeys[v] = v) | 45 | .forEach(v => serverKeys[v] = v) |
37 | 46 | ||
38 | // More keys | 47 | // More keys |
diff --git a/scripts/release.sh b/scripts/release.sh index b5fa68f42..4b45c959d 100755 --- a/scripts/release.sh +++ b/scripts/release.sh | |||
@@ -25,8 +25,8 @@ if [ -z "$GITHUB_TOKEN" ]; then | |||
25 | fi | 25 | fi |
26 | 26 | ||
27 | branch=$(git symbolic-ref --short -q HEAD) | 27 | branch=$(git symbolic-ref --short -q HEAD) |
28 | if [ "$branch" != "develop" ]; then | 28 | if [ "$branch" != "develop" ] && [[ "$branch" != feature/* ]]; then |
29 | echo "Need to be on develop branch." | 29 | echo "Need to be on develop or release branch." |
30 | exit -1 | 30 | exit -1 |
31 | fi | 31 | fi |
32 | 32 | ||
@@ -102,14 +102,14 @@ rm "./client/dist/embed-stats.json" | |||
102 | github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name" --file "$tar_name" | 102 | github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name" --file "$tar_name" |
103 | github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name.asc" --file "$tar_name.asc" | 103 | github-release upload --user chocobozzz --repo peertube --tag "$version" --name "$tar_name.asc" --file "$tar_name.asc" |
104 | 104 | ||
105 | git push origin develop | 105 | git push origin "$branch" |
106 | 106 | ||
107 | # Only update master if it is not a pre release | 107 | # Only update master if it is not a pre release |
108 | if [ -z "$github_prerelease_option" ]; then | 108 | if [ -z "$github_prerelease_option" ]; then |
109 | # Update master branch | 109 | # Update master branch |
110 | git checkout master | 110 | git checkout master |
111 | git rebase develop | 111 | git merge "$branch" |
112 | git push origin master | 112 | git push origin master |
113 | git checkout develop | 113 | git checkout "$branch" |
114 | fi | 114 | fi |
115 | ) | 115 | ) |
@@ -89,6 +89,7 @@ import { Redis } from './server/lib/redis' | |||
89 | import { BadActorFollowScheduler } from './server/lib/schedulers/bad-actor-follow-scheduler' | 89 | import { BadActorFollowScheduler } from './server/lib/schedulers/bad-actor-follow-scheduler' |
90 | import { RemoveOldJobsScheduler } from './server/lib/schedulers/remove-old-jobs-scheduler' | 90 | import { RemoveOldJobsScheduler } from './server/lib/schedulers/remove-old-jobs-scheduler' |
91 | import { UpdateVideosScheduler } from './server/lib/schedulers/update-videos-scheduler' | 91 | import { UpdateVideosScheduler } from './server/lib/schedulers/update-videos-scheduler' |
92 | import { YoutubeDlUpdateScheduler } from './server/lib/schedulers/youtube-dl-update-scheduler' | ||
92 | 93 | ||
93 | // ----------- Command line ----------- | 94 | // ----------- Command line ----------- |
94 | 95 | ||
@@ -151,7 +152,7 @@ app.use(function (err, req, res, next) { | |||
151 | error = err.stack || err.message || err | 152 | error = err.stack || err.message || err |
152 | } | 153 | } |
153 | 154 | ||
154 | logger.error('Error in controller.', { error }) | 155 | logger.error('Error in controller.', { err: error }) |
155 | return res.status(err.status || 500).end() | 156 | return res.status(err.status || 500).end() |
156 | }) | 157 | }) |
157 | 158 | ||
@@ -186,6 +187,7 @@ async function startApplication () { | |||
186 | BadActorFollowScheduler.Instance.enable() | 187 | BadActorFollowScheduler.Instance.enable() |
187 | RemoveOldJobsScheduler.Instance.enable() | 188 | RemoveOldJobsScheduler.Instance.enable() |
188 | UpdateVideosScheduler.Instance.enable() | 189 | UpdateVideosScheduler.Instance.enable() |
190 | YoutubeDlUpdateScheduler.Instance.enable() | ||
189 | 191 | ||
190 | // Redis initialization | 192 | // Redis initialization |
191 | Redis.Instance.init() | 193 | Redis.Instance.init() |
diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts index 9c1b2818c..950a1498e 100644 --- a/server/controllers/api/config.ts +++ b/server/controllers/api/config.ts | |||
@@ -9,10 +9,13 @@ import { CONFIG, CONSTRAINTS_FIELDS, reloadConfig } from '../../initializers' | |||
9 | import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares' | 9 | import { asyncMiddleware, authenticate, ensureUserHasRight } from '../../middlewares' |
10 | import { customConfigUpdateValidator } from '../../middlewares/validators/config' | 10 | import { customConfigUpdateValidator } from '../../middlewares/validators/config' |
11 | import { ClientHtml } from '../../lib/client-html' | 11 | import { ClientHtml } from '../../lib/client-html' |
12 | import { CustomConfigAuditView, auditLoggerFactory } from '../../helpers/audit-logger' | ||
12 | 13 | ||
13 | const packageJSON = require('../../../../package.json') | 14 | const packageJSON = require('../../../../package.json') |
14 | const configRouter = express.Router() | 15 | const configRouter = express.Router() |
15 | 16 | ||
17 | const auditLogger = auditLoggerFactory('config') | ||
18 | |||
16 | configRouter.get('/about', getAbout) | 19 | configRouter.get('/about', getAbout) |
17 | configRouter.get('/', | 20 | configRouter.get('/', |
18 | asyncMiddleware(getConfig) | 21 | asyncMiddleware(getConfig) |
@@ -62,6 +65,13 @@ async function getConfig (req: express.Request, res: express.Response, next: exp | |||
62 | transcoding: { | 65 | transcoding: { |
63 | enabledResolutions | 66 | enabledResolutions |
64 | }, | 67 | }, |
68 | import: { | ||
69 | videos: { | ||
70 | http: { | ||
71 | enabled: CONFIG.IMPORT.VIDEOS.HTTP.ENABLED | ||
72 | } | ||
73 | } | ||
74 | }, | ||
65 | avatar: { | 75 | avatar: { |
66 | file: { | 76 | file: { |
67 | size: { | 77 | size: { |
@@ -119,6 +129,11 @@ async function getCustomConfig (req: express.Request, res: express.Response, nex | |||
119 | async function deleteCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { | 129 | async function deleteCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { |
120 | await unlinkPromise(CONFIG.CUSTOM_FILE) | 130 | await unlinkPromise(CONFIG.CUSTOM_FILE) |
121 | 131 | ||
132 | auditLogger.delete( | ||
133 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
134 | new CustomConfigAuditView(customConfig()) | ||
135 | ) | ||
136 | |||
122 | reloadConfig() | 137 | reloadConfig() |
123 | ClientHtml.invalidCache() | 138 | ClientHtml.invalidCache() |
124 | 139 | ||
@@ -129,6 +144,7 @@ async function deleteCustomConfig (req: express.Request, res: express.Response, | |||
129 | 144 | ||
130 | async function updateCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { | 145 | async function updateCustomConfig (req: express.Request, res: express.Response, next: express.NextFunction) { |
131 | const toUpdate: CustomConfig = req.body | 146 | const toUpdate: CustomConfig = req.body |
147 | const oldCustomConfigAuditKeys = new CustomConfigAuditView(customConfig()) | ||
132 | 148 | ||
133 | // Force number conversion | 149 | // Force number conversion |
134 | toUpdate.cache.previews.size = parseInt('' + toUpdate.cache.previews.size, 10) | 150 | toUpdate.cache.previews.size = parseInt('' + toUpdate.cache.previews.size, 10) |
@@ -150,6 +166,13 @@ async function updateCustomConfig (req: express.Request, res: express.Response, | |||
150 | ClientHtml.invalidCache() | 166 | ClientHtml.invalidCache() |
151 | 167 | ||
152 | const data = customConfig() | 168 | const data = customConfig() |
169 | |||
170 | auditLogger.update( | ||
171 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
172 | new CustomConfigAuditView(data), | ||
173 | oldCustomConfigAuditKeys | ||
174 | ) | ||
175 | |||
153 | return res.json(data).end() | 176 | return res.json(data).end() |
154 | } | 177 | } |
155 | 178 | ||
@@ -209,6 +232,13 @@ function customConfig (): CustomConfig { | |||
209 | '720p': CONFIG.TRANSCODING.RESOLUTIONS[ '720p' ], | 232 | '720p': CONFIG.TRANSCODING.RESOLUTIONS[ '720p' ], |
210 | '1080p': CONFIG.TRANSCODING.RESOLUTIONS[ '1080p' ] | 233 | '1080p': CONFIG.TRANSCODING.RESOLUTIONS[ '1080p' ] |
211 | } | 234 | } |
235 | }, | ||
236 | import: { | ||
237 | videos: { | ||
238 | http: { | ||
239 | enabled: CONFIG.IMPORT.VIDEOS.HTTP.ENABLED | ||
240 | } | ||
241 | } | ||
212 | } | 242 | } |
213 | } | 243 | } |
214 | } | 244 | } |
diff --git a/server/controllers/api/users.ts b/server/controllers/api/users.ts index c80f27a23..879ba3f91 100644 --- a/server/controllers/api/users.ts +++ b/server/controllers/api/users.ts | |||
@@ -29,7 +29,12 @@ import { | |||
29 | usersUpdateValidator, | 29 | usersUpdateValidator, |
30 | usersVideoRatingValidator | 30 | usersVideoRatingValidator |
31 | } from '../../middlewares' | 31 | } from '../../middlewares' |
32 | import { usersAskResetPasswordValidator, usersResetPasswordValidator, videosSortValidator } from '../../middlewares/validators' | 32 | import { |
33 | usersAskResetPasswordValidator, | ||
34 | usersResetPasswordValidator, | ||
35 | videoImportsSortValidator, | ||
36 | videosSortValidator | ||
37 | } from '../../middlewares/validators' | ||
33 | import { AccountVideoRateModel } from '../../models/account/account-video-rate' | 38 | import { AccountVideoRateModel } from '../../models/account/account-video-rate' |
34 | import { UserModel } from '../../models/account/user' | 39 | import { UserModel } from '../../models/account/user' |
35 | import { OAuthTokenModel } from '../../models/oauth/oauth-token' | 40 | import { OAuthTokenModel } from '../../models/oauth/oauth-token' |
@@ -39,6 +44,10 @@ import { createReqFiles } from '../../helpers/express-utils' | |||
39 | import { UserVideoQuota } from '../../../shared/models/users/user-video-quota.model' | 44 | import { UserVideoQuota } from '../../../shared/models/users/user-video-quota.model' |
40 | import { updateAvatarValidator } from '../../middlewares/validators/avatar' | 45 | import { updateAvatarValidator } from '../../middlewares/validators/avatar' |
41 | import { updateActorAvatarFile } from '../../lib/avatar' | 46 | import { updateActorAvatarFile } from '../../lib/avatar' |
47 | import { auditLoggerFactory, UserAuditView } from '../../helpers/audit-logger' | ||
48 | import { VideoImportModel } from '../../models/video/video-import' | ||
49 | |||
50 | const auditLogger = auditLoggerFactory('users') | ||
42 | 51 | ||
43 | const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) | 52 | const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) |
44 | const loginRateLimiter = new RateLimit({ | 53 | const loginRateLimiter = new RateLimit({ |
@@ -59,6 +68,15 @@ usersRouter.get('/me/video-quota-used', | |||
59 | asyncMiddleware(getUserVideoQuotaUsed) | 68 | asyncMiddleware(getUserVideoQuotaUsed) |
60 | ) | 69 | ) |
61 | 70 | ||
71 | usersRouter.get('/me/videos/imports', | ||
72 | authenticate, | ||
73 | paginationValidator, | ||
74 | videoImportsSortValidator, | ||
75 | setDefaultSort, | ||
76 | setDefaultPagination, | ||
77 | asyncMiddleware(getUserVideoImports) | ||
78 | ) | ||
79 | |||
62 | usersRouter.get('/me/videos', | 80 | usersRouter.get('/me/videos', |
63 | authenticate, | 81 | authenticate, |
64 | paginationValidator, | 82 | paginationValidator, |
@@ -175,6 +193,18 @@ async function getUserVideos (req: express.Request, res: express.Response, next: | |||
175 | return res.json(getFormattedObjects(resultList.data, resultList.total, { additionalAttributes })) | 193 | return res.json(getFormattedObjects(resultList.data, resultList.total, { additionalAttributes })) |
176 | } | 194 | } |
177 | 195 | ||
196 | async function getUserVideoImports (req: express.Request, res: express.Response, next: express.NextFunction) { | ||
197 | const user = res.locals.oauth.token.User as UserModel | ||
198 | const resultList = await VideoImportModel.listUserVideoImportsForApi( | ||
199 | user.Account.id, | ||
200 | req.query.start as number, | ||
201 | req.query.count as number, | ||
202 | req.query.sort | ||
203 | ) | ||
204 | |||
205 | return res.json(getFormattedObjects(resultList.data, resultList.total)) | ||
206 | } | ||
207 | |||
178 | async function createUser (req: express.Request, res: express.Response) { | 208 | async function createUser (req: express.Request, res: express.Response) { |
179 | const body: UserCreate = req.body | 209 | const body: UserCreate = req.body |
180 | const userToCreate = new UserModel({ | 210 | const userToCreate = new UserModel({ |
@@ -189,6 +219,7 @@ async function createUser (req: express.Request, res: express.Response) { | |||
189 | 219 | ||
190 | const { user, account } = await createUserAccountAndChannel(userToCreate) | 220 | const { user, account } = await createUserAccountAndChannel(userToCreate) |
191 | 221 | ||
222 | auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new UserAuditView(user.toFormattedJSON())) | ||
192 | logger.info('User %s with its channel and account created.', body.username) | 223 | logger.info('User %s with its channel and account created.', body.username) |
193 | 224 | ||
194 | return res.json({ | 225 | return res.json({ |
@@ -205,7 +236,7 @@ async function createUser (req: express.Request, res: express.Response) { | |||
205 | async function registerUser (req: express.Request, res: express.Response) { | 236 | async function registerUser (req: express.Request, res: express.Response) { |
206 | const body: UserCreate = req.body | 237 | const body: UserCreate = req.body |
207 | 238 | ||
208 | const user = new UserModel({ | 239 | const userToCreate = new UserModel({ |
209 | username: body.username, | 240 | username: body.username, |
210 | password: body.password, | 241 | password: body.password, |
211 | email: body.email, | 242 | email: body.email, |
@@ -215,8 +246,9 @@ async function registerUser (req: express.Request, res: express.Response) { | |||
215 | videoQuota: CONFIG.USER.VIDEO_QUOTA | 246 | videoQuota: CONFIG.USER.VIDEO_QUOTA |
216 | }) | 247 | }) |
217 | 248 | ||
218 | await createUserAccountAndChannel(user) | 249 | const { user } = await createUserAccountAndChannel(userToCreate) |
219 | 250 | ||
251 | auditLogger.create(body.username, new UserAuditView(user.toFormattedJSON())) | ||
220 | logger.info('User %s with its channel and account registered.', body.username) | 252 | logger.info('User %s with its channel and account registered.', body.username) |
221 | 253 | ||
222 | return res.type('json').status(204).end() | 254 | return res.type('json').status(204).end() |
@@ -269,6 +301,8 @@ async function removeUser (req: express.Request, res: express.Response, next: ex | |||
269 | 301 | ||
270 | await user.destroy() | 302 | await user.destroy() |
271 | 303 | ||
304 | auditLogger.delete(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new UserAuditView(user.toFormattedJSON())) | ||
305 | |||
272 | return res.sendStatus(204) | 306 | return res.sendStatus(204) |
273 | } | 307 | } |
274 | 308 | ||
@@ -276,6 +310,7 @@ async function updateMe (req: express.Request, res: express.Response, next: expr | |||
276 | const body: UserUpdateMe = req.body | 310 | const body: UserUpdateMe = req.body |
277 | 311 | ||
278 | const user: UserModel = res.locals.oauth.token.user | 312 | const user: UserModel = res.locals.oauth.token.user |
313 | const oldUserAuditView = new UserAuditView(user.toFormattedJSON()) | ||
279 | 314 | ||
280 | if (body.password !== undefined) user.password = body.password | 315 | if (body.password !== undefined) user.password = body.password |
281 | if (body.email !== undefined) user.email = body.email | 316 | if (body.email !== undefined) user.email = body.email |
@@ -290,6 +325,12 @@ async function updateMe (req: express.Request, res: express.Response, next: expr | |||
290 | await user.Account.save({ transaction: t }) | 325 | await user.Account.save({ transaction: t }) |
291 | 326 | ||
292 | await sendUpdateActor(user.Account, t) | 327 | await sendUpdateActor(user.Account, t) |
328 | |||
329 | auditLogger.update( | ||
330 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
331 | new UserAuditView(user.toFormattedJSON()), | ||
332 | oldUserAuditView | ||
333 | ) | ||
293 | }) | 334 | }) |
294 | 335 | ||
295 | return res.sendStatus(204) | 336 | return res.sendStatus(204) |
@@ -297,10 +338,18 @@ async function updateMe (req: express.Request, res: express.Response, next: expr | |||
297 | 338 | ||
298 | async function updateMyAvatar (req: express.Request, res: express.Response, next: express.NextFunction) { | 339 | async function updateMyAvatar (req: express.Request, res: express.Response, next: express.NextFunction) { |
299 | const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ] | 340 | const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ] |
300 | const account = res.locals.oauth.token.user.Account | 341 | const user: UserModel = res.locals.oauth.token.user |
342 | const oldUserAuditView = new UserAuditView(user.toFormattedJSON()) | ||
343 | const account = user.Account | ||
301 | 344 | ||
302 | const avatar = await updateActorAvatarFile(avatarPhysicalFile, account.Actor, account) | 345 | const avatar = await updateActorAvatarFile(avatarPhysicalFile, account.Actor, account) |
303 | 346 | ||
347 | auditLogger.update( | ||
348 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
349 | new UserAuditView(user.toFormattedJSON()), | ||
350 | oldUserAuditView | ||
351 | ) | ||
352 | |||
304 | return res | 353 | return res |
305 | .json({ | 354 | .json({ |
306 | avatar: avatar.toFormattedJSON() | 355 | avatar: avatar.toFormattedJSON() |
@@ -310,20 +359,27 @@ async function updateMyAvatar (req: express.Request, res: express.Response, next | |||
310 | 359 | ||
311 | async function updateUser (req: express.Request, res: express.Response, next: express.NextFunction) { | 360 | async function updateUser (req: express.Request, res: express.Response, next: express.NextFunction) { |
312 | const body: UserUpdate = req.body | 361 | const body: UserUpdate = req.body |
313 | const user = res.locals.user as UserModel | 362 | const userToUpdate = res.locals.user as UserModel |
314 | const roleChanged = body.role !== undefined && body.role !== user.role | 363 | const oldUserAuditView = new UserAuditView(userToUpdate.toFormattedJSON()) |
364 | const roleChanged = body.role !== undefined && body.role !== userToUpdate.role | ||
315 | 365 | ||
316 | if (body.email !== undefined) user.email = body.email | 366 | if (body.email !== undefined) userToUpdate.email = body.email |
317 | if (body.videoQuota !== undefined) user.videoQuota = body.videoQuota | 367 | if (body.videoQuota !== undefined) userToUpdate.videoQuota = body.videoQuota |
318 | if (body.role !== undefined) user.role = body.role | 368 | if (body.role !== undefined) userToUpdate.role = body.role |
319 | 369 | ||
320 | await user.save() | 370 | const user = await userToUpdate.save() |
321 | 371 | ||
322 | // Destroy user token to refresh rights | 372 | // Destroy user token to refresh rights |
323 | if (roleChanged) { | 373 | if (roleChanged) { |
324 | await OAuthTokenModel.deleteUserToken(user.id) | 374 | await OAuthTokenModel.deleteUserToken(userToUpdate.id) |
325 | } | 375 | } |
326 | 376 | ||
377 | auditLogger.update( | ||
378 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
379 | new UserAuditView(user.toFormattedJSON()), | ||
380 | oldUserAuditView | ||
381 | ) | ||
382 | |||
327 | // Don't need to send this update to followers, these attributes are not propagated | 383 | // Don't need to send this update to followers, these attributes are not propagated |
328 | 384 | ||
329 | return res.sendStatus(204) | 385 | return res.sendStatus(204) |
diff --git a/server/controllers/api/video-channel.ts b/server/controllers/api/video-channel.ts index 0488ba8f5..3a444547b 100644 --- a/server/controllers/api/video-channel.ts +++ b/server/controllers/api/video-channel.ts | |||
@@ -27,7 +27,9 @@ import { logger } from '../../helpers/logger' | |||
27 | import { VideoModel } from '../../models/video/video' | 27 | import { VideoModel } from '../../models/video/video' |
28 | import { updateAvatarValidator } from '../../middlewares/validators/avatar' | 28 | import { updateAvatarValidator } from '../../middlewares/validators/avatar' |
29 | import { updateActorAvatarFile } from '../../lib/avatar' | 29 | import { updateActorAvatarFile } from '../../lib/avatar' |
30 | import { auditLoggerFactory, VideoChannelAuditView } from '../../helpers/audit-logger' | ||
30 | 31 | ||
32 | const auditLogger = auditLoggerFactory('channels') | ||
31 | const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) | 33 | const reqAvatarFile = createReqFiles([ 'avatarfile' ], IMAGE_MIMETYPE_EXT, { avatarfile: CONFIG.STORAGE.AVATARS_DIR }) |
32 | 34 | ||
33 | const videoChannelRouter = express.Router() | 35 | const videoChannelRouter = express.Router() |
@@ -99,10 +101,17 @@ async function listVideoChannels (req: express.Request, res: express.Response, n | |||
99 | 101 | ||
100 | async function updateVideoChannelAvatar (req: express.Request, res: express.Response, next: express.NextFunction) { | 102 | async function updateVideoChannelAvatar (req: express.Request, res: express.Response, next: express.NextFunction) { |
101 | const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ] | 103 | const avatarPhysicalFile = req.files[ 'avatarfile' ][ 0 ] |
102 | const videoChannel = res.locals.videoChannel | 104 | const videoChannel = res.locals.videoChannel as VideoChannelModel |
105 | const oldVideoChannelAuditKeys = new VideoChannelAuditView(videoChannel.toFormattedJSON()) | ||
103 | 106 | ||
104 | const avatar = await updateActorAvatarFile(avatarPhysicalFile, videoChannel.Actor, videoChannel) | 107 | const avatar = await updateActorAvatarFile(avatarPhysicalFile, videoChannel.Actor, videoChannel) |
105 | 108 | ||
109 | auditLogger.update( | ||
110 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
111 | new VideoChannelAuditView(videoChannel.toFormattedJSON()), | ||
112 | oldVideoChannelAuditKeys | ||
113 | ) | ||
114 | |||
106 | return res | 115 | return res |
107 | .json({ | 116 | .json({ |
108 | avatar: avatar.toFormattedJSON() | 117 | avatar: avatar.toFormattedJSON() |
@@ -121,6 +130,10 @@ async function addVideoChannel (req: express.Request, res: express.Response) { | |||
121 | setAsyncActorKeys(videoChannelCreated.Actor) | 130 | setAsyncActorKeys(videoChannelCreated.Actor) |
122 | .catch(err => logger.error('Cannot set async actor keys for account %s.', videoChannelCreated.Actor.uuid, { err })) | 131 | .catch(err => logger.error('Cannot set async actor keys for account %s.', videoChannelCreated.Actor.uuid, { err })) |
123 | 132 | ||
133 | auditLogger.create( | ||
134 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
135 | new VideoChannelAuditView(videoChannelCreated.toFormattedJSON()) | ||
136 | ) | ||
124 | logger.info('Video channel with uuid %s created.', videoChannelCreated.Actor.uuid) | 137 | logger.info('Video channel with uuid %s created.', videoChannelCreated.Actor.uuid) |
125 | 138 | ||
126 | return res.json({ | 139 | return res.json({ |
@@ -134,6 +147,7 @@ async function addVideoChannel (req: express.Request, res: express.Response) { | |||
134 | async function updateVideoChannel (req: express.Request, res: express.Response) { | 147 | async function updateVideoChannel (req: express.Request, res: express.Response) { |
135 | const videoChannelInstance = res.locals.videoChannel as VideoChannelModel | 148 | const videoChannelInstance = res.locals.videoChannel as VideoChannelModel |
136 | const videoChannelFieldsSave = videoChannelInstance.toJSON() | 149 | const videoChannelFieldsSave = videoChannelInstance.toJSON() |
150 | const oldVideoChannelAuditKeys = new VideoChannelAuditView(videoChannelInstance.toFormattedJSON()) | ||
137 | const videoChannelInfoToUpdate = req.body as VideoChannelUpdate | 151 | const videoChannelInfoToUpdate = req.body as VideoChannelUpdate |
138 | 152 | ||
139 | try { | 153 | try { |
@@ -148,9 +162,14 @@ async function updateVideoChannel (req: express.Request, res: express.Response) | |||
148 | 162 | ||
149 | const videoChannelInstanceUpdated = await videoChannelInstance.save(sequelizeOptions) | 163 | const videoChannelInstanceUpdated = await videoChannelInstance.save(sequelizeOptions) |
150 | await sendUpdateActor(videoChannelInstanceUpdated, t) | 164 | await sendUpdateActor(videoChannelInstanceUpdated, t) |
151 | }) | ||
152 | 165 | ||
153 | logger.info('Video channel with name %s and uuid %s updated.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) | 166 | auditLogger.update( |
167 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
168 | new VideoChannelAuditView(videoChannelInstanceUpdated.toFormattedJSON()), | ||
169 | oldVideoChannelAuditKeys | ||
170 | ) | ||
171 | logger.info('Video channel with name %s and uuid %s updated.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) | ||
172 | }) | ||
154 | } catch (err) { | 173 | } catch (err) { |
155 | logger.debug('Cannot update the video channel.', { err }) | 174 | logger.debug('Cannot update the video channel.', { err }) |
156 | 175 | ||
@@ -171,6 +190,10 @@ async function removeVideoChannel (req: express.Request, res: express.Response) | |||
171 | await sequelizeTypescript.transaction(async t => { | 190 | await sequelizeTypescript.transaction(async t => { |
172 | await videoChannelInstance.destroy({ transaction: t }) | 191 | await videoChannelInstance.destroy({ transaction: t }) |
173 | 192 | ||
193 | auditLogger.delete( | ||
194 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
195 | new VideoChannelAuditView(videoChannelInstance.toFormattedJSON()) | ||
196 | ) | ||
174 | logger.info('Video channel with name %s and uuid %s deleted.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) | 197 | logger.info('Video channel with name %s and uuid %s deleted.', videoChannelInstance.name, videoChannelInstance.Actor.uuid) |
175 | }) | 198 | }) |
176 | 199 | ||
diff --git a/server/controllers/api/videos/abuse.ts b/server/controllers/api/videos/abuse.ts index 3413ae894..7782fc639 100644 --- a/server/controllers/api/videos/abuse.ts +++ b/server/controllers/api/videos/abuse.ts | |||
@@ -18,7 +18,9 @@ import { | |||
18 | import { AccountModel } from '../../../models/account/account' | 18 | import { AccountModel } from '../../../models/account/account' |
19 | import { VideoModel } from '../../../models/video/video' | 19 | import { VideoModel } from '../../../models/video/video' |
20 | import { VideoAbuseModel } from '../../../models/video/video-abuse' | 20 | import { VideoAbuseModel } from '../../../models/video/video-abuse' |
21 | import { auditLoggerFactory, VideoAbuseAuditView } from '../../../helpers/audit-logger' | ||
21 | 22 | ||
23 | const auditLogger = auditLoggerFactory('abuse') | ||
22 | const abuseVideoRouter = express.Router() | 24 | const abuseVideoRouter = express.Router() |
23 | 25 | ||
24 | abuseVideoRouter.get('/abuse', | 26 | abuseVideoRouter.get('/abuse', |
@@ -64,14 +66,16 @@ async function reportVideoAbuse (req: express.Request, res: express.Response) { | |||
64 | await sequelizeTypescript.transaction(async t => { | 66 | await sequelizeTypescript.transaction(async t => { |
65 | const videoAbuseInstance = await VideoAbuseModel.create(abuseToCreate, { transaction: t }) | 67 | const videoAbuseInstance = await VideoAbuseModel.create(abuseToCreate, { transaction: t }) |
66 | videoAbuseInstance.Video = videoInstance | 68 | videoAbuseInstance.Video = videoInstance |
69 | videoAbuseInstance.Account = reporterAccount | ||
67 | 70 | ||
68 | // We send the video abuse to the origin server | 71 | // We send the video abuse to the origin server |
69 | if (videoInstance.isOwned() === false) { | 72 | if (videoInstance.isOwned() === false) { |
70 | await sendVideoAbuse(reporterAccount.Actor, videoAbuseInstance, videoInstance, t) | 73 | await sendVideoAbuse(reporterAccount.Actor, videoAbuseInstance, videoInstance, t) |
71 | } | 74 | } |
72 | }) | ||
73 | 75 | ||
74 | logger.info('Abuse report for video %s created.', videoInstance.name) | 76 | auditLogger.create(reporterAccount.Actor.getIdentifier(), new VideoAbuseAuditView(videoAbuseInstance.toFormattedJSON())) |
77 | logger.info('Abuse report for video %s created.', videoInstance.name) | ||
78 | }) | ||
75 | 79 | ||
76 | return res.type('json').status(204).end() | 80 | return res.type('json').status(204).end() |
77 | } | 81 | } |
diff --git a/server/controllers/api/videos/comment.ts b/server/controllers/api/videos/comment.ts index bbeb0d557..e35247829 100644 --- a/server/controllers/api/videos/comment.ts +++ b/server/controllers/api/videos/comment.ts | |||
@@ -23,7 +23,9 @@ import { | |||
23 | } from '../../../middlewares/validators/video-comments' | 23 | } from '../../../middlewares/validators/video-comments' |
24 | import { VideoModel } from '../../../models/video/video' | 24 | import { VideoModel } from '../../../models/video/video' |
25 | import { VideoCommentModel } from '../../../models/video/video-comment' | 25 | import { VideoCommentModel } from '../../../models/video/video-comment' |
26 | import { auditLoggerFactory, CommentAuditView } from '../../../helpers/audit-logger' | ||
26 | 27 | ||
28 | const auditLogger = auditLoggerFactory('comments') | ||
27 | const videoCommentRouter = express.Router() | 29 | const videoCommentRouter = express.Router() |
28 | 30 | ||
29 | videoCommentRouter.get('/:videoId/comment-threads', | 31 | videoCommentRouter.get('/:videoId/comment-threads', |
@@ -107,6 +109,8 @@ async function addVideoCommentThread (req: express.Request, res: express.Respons | |||
107 | }, t) | 109 | }, t) |
108 | }) | 110 | }) |
109 | 111 | ||
112 | auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new CommentAuditView(comment.toFormattedJSON())) | ||
113 | |||
110 | return res.json({ | 114 | return res.json({ |
111 | comment: comment.toFormattedJSON() | 115 | comment: comment.toFormattedJSON() |
112 | }).end() | 116 | }).end() |
@@ -124,6 +128,8 @@ async function addVideoCommentReply (req: express.Request, res: express.Response | |||
124 | }, t) | 128 | }, t) |
125 | }) | 129 | }) |
126 | 130 | ||
131 | auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new CommentAuditView(comment.toFormattedJSON())) | ||
132 | |||
127 | return res.json({ | 133 | return res.json({ |
128 | comment: comment.toFormattedJSON() | 134 | comment: comment.toFormattedJSON() |
129 | }).end() | 135 | }).end() |
@@ -136,6 +142,10 @@ async function removeVideoComment (req: express.Request, res: express.Response) | |||
136 | await videoCommentInstance.destroy({ transaction: t }) | 142 | await videoCommentInstance.destroy({ transaction: t }) |
137 | }) | 143 | }) |
138 | 144 | ||
145 | auditLogger.delete( | ||
146 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
147 | new CommentAuditView(videoCommentInstance.toFormattedJSON()) | ||
148 | ) | ||
139 | logger.info('Video comment %d deleted.', videoCommentInstance.id) | 149 | logger.info('Video comment %d deleted.', videoCommentInstance.id) |
140 | 150 | ||
141 | return res.type('json').status(204).end() | 151 | return res.type('json').status(204).end() |
diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts new file mode 100644 index 000000000..30a7d816c --- /dev/null +++ b/server/controllers/api/videos/import.ts | |||
@@ -0,0 +1,138 @@ | |||
1 | import * as express from 'express' | ||
2 | import { auditLoggerFactory, VideoImportAuditView } from '../../../helpers/audit-logger' | ||
3 | import { asyncMiddleware, asyncRetryTransactionMiddleware, authenticate, videoImportAddValidator } from '../../../middlewares' | ||
4 | import { CONFIG, IMAGE_MIMETYPE_EXT, PREVIEWS_SIZE, sequelizeTypescript, THUMBNAILS_SIZE } from '../../../initializers' | ||
5 | import { getYoutubeDLInfo, YoutubeDLInfo } from '../../../helpers/youtube-dl' | ||
6 | import { createReqFiles } from '../../../helpers/express-utils' | ||
7 | import { logger } from '../../../helpers/logger' | ||
8 | import { VideoImportCreate, VideoImportState, VideoPrivacy, VideoState } from '../../../../shared' | ||
9 | import { VideoModel } from '../../../models/video/video' | ||
10 | import { getVideoActivityPubUrl } from '../../../lib/activitypub' | ||
11 | import { TagModel } from '../../../models/video/tag' | ||
12 | import { VideoImportModel } from '../../../models/video/video-import' | ||
13 | import { JobQueue } from '../../../lib/job-queue/job-queue' | ||
14 | import { processImage } from '../../../helpers/image-utils' | ||
15 | import { join } from 'path' | ||
16 | |||
17 | const auditLogger = auditLoggerFactory('video-imports') | ||
18 | const videoImportsRouter = express.Router() | ||
19 | |||
20 | const reqVideoFileImport = createReqFiles( | ||
21 | [ 'thumbnailfile', 'previewfile' ], | ||
22 | IMAGE_MIMETYPE_EXT, | ||
23 | { | ||
24 | thumbnailfile: CONFIG.STORAGE.THUMBNAILS_DIR, | ||
25 | previewfile: CONFIG.STORAGE.PREVIEWS_DIR | ||
26 | } | ||
27 | ) | ||
28 | |||
29 | videoImportsRouter.post('/imports', | ||
30 | authenticate, | ||
31 | reqVideoFileImport, | ||
32 | asyncMiddleware(videoImportAddValidator), | ||
33 | asyncRetryTransactionMiddleware(addVideoImport) | ||
34 | ) | ||
35 | |||
36 | // --------------------------------------------------------------------------- | ||
37 | |||
38 | export { | ||
39 | videoImportsRouter | ||
40 | } | ||
41 | |||
42 | // --------------------------------------------------------------------------- | ||
43 | |||
44 | async function addVideoImport (req: express.Request, res: express.Response) { | ||
45 | const body: VideoImportCreate = req.body | ||
46 | const targetUrl = body.targetUrl | ||
47 | |||
48 | let youtubeDLInfo: YoutubeDLInfo | ||
49 | try { | ||
50 | youtubeDLInfo = await getYoutubeDLInfo(targetUrl) | ||
51 | } catch (err) { | ||
52 | logger.info('Cannot fetch information from import for URL %s.', targetUrl, { err }) | ||
53 | |||
54 | return res.status(400).json({ | ||
55 | error: 'Cannot fetch remote information of this URL.' | ||
56 | }).end() | ||
57 | } | ||
58 | |||
59 | // Create video DB object | ||
60 | const videoData = { | ||
61 | name: body.name || youtubeDLInfo.name, | ||
62 | remote: false, | ||
63 | category: body.category || youtubeDLInfo.category, | ||
64 | licence: body.licence || youtubeDLInfo.licence, | ||
65 | language: body.language || undefined, | ||
66 | commentsEnabled: body.commentsEnabled || true, | ||
67 | waitTranscoding: body.waitTranscoding || false, | ||
68 | state: VideoState.TO_IMPORT, | ||
69 | nsfw: body.nsfw || youtubeDLInfo.nsfw || false, | ||
70 | description: body.description || youtubeDLInfo.description, | ||
71 | support: body.support || null, | ||
72 | privacy: body.privacy || VideoPrivacy.PRIVATE, | ||
73 | duration: 0, // duration will be set by the import job | ||
74 | channelId: res.locals.videoChannel.id | ||
75 | } | ||
76 | const video = new VideoModel(videoData) | ||
77 | video.url = getVideoActivityPubUrl(video) | ||
78 | |||
79 | // Process thumbnail file? | ||
80 | const thumbnailField = req.files ? req.files['thumbnailfile'] : undefined | ||
81 | let downloadThumbnail = true | ||
82 | if (thumbnailField) { | ||
83 | const thumbnailPhysicalFile = thumbnailField[ 0 ] | ||
84 | await processImage(thumbnailPhysicalFile, join(CONFIG.STORAGE.THUMBNAILS_DIR, video.getThumbnailName()), THUMBNAILS_SIZE) | ||
85 | downloadThumbnail = false | ||
86 | } | ||
87 | |||
88 | // Process preview file? | ||
89 | const previewField = req.files ? req.files['previewfile'] : undefined | ||
90 | let downloadPreview = true | ||
91 | if (previewField) { | ||
92 | const previewPhysicalFile = previewField[0] | ||
93 | await processImage(previewPhysicalFile, join(CONFIG.STORAGE.PREVIEWS_DIR, video.getPreviewName()), PREVIEWS_SIZE) | ||
94 | downloadPreview = false | ||
95 | } | ||
96 | |||
97 | const videoImport: VideoImportModel = await sequelizeTypescript.transaction(async t => { | ||
98 | const sequelizeOptions = { transaction: t } | ||
99 | |||
100 | // Save video object in database | ||
101 | const videoCreated = await video.save(sequelizeOptions) | ||
102 | videoCreated.VideoChannel = res.locals.videoChannel | ||
103 | |||
104 | // Set tags to the video | ||
105 | const tags = body.tags ? body.tags : youtubeDLInfo.tags | ||
106 | if (tags !== undefined) { | ||
107 | const tagInstances = await TagModel.findOrCreateTags(tags, t) | ||
108 | |||
109 | await videoCreated.$set('Tags', tagInstances, sequelizeOptions) | ||
110 | videoCreated.Tags = tagInstances | ||
111 | } | ||
112 | |||
113 | // Create video import object in database | ||
114 | const videoImport = await VideoImportModel.create({ | ||
115 | targetUrl, | ||
116 | state: VideoImportState.PENDING, | ||
117 | videoId: videoCreated.id | ||
118 | }, sequelizeOptions) | ||
119 | |||
120 | videoImport.Video = videoCreated | ||
121 | |||
122 | return videoImport | ||
123 | }) | ||
124 | |||
125 | // Create job to import the video | ||
126 | const payload = { | ||
127 | type: 'youtube-dl' as 'youtube-dl', | ||
128 | videoImportId: videoImport.id, | ||
129 | thumbnailUrl: youtubeDLInfo.thumbnailUrl, | ||
130 | downloadThumbnail, | ||
131 | downloadPreview | ||
132 | } | ||
133 | await JobQueue.Instance.createJob({ type: 'video-import', payload }) | ||
134 | |||
135 | auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new VideoImportAuditView(videoImport.toFormattedJSON())) | ||
136 | |||
137 | return res.json(videoImport.toFormattedJSON()).end() | ||
138 | } | ||
diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index 101183eab..c9365da08 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts | |||
@@ -5,6 +5,7 @@ import { renamePromise } from '../../../helpers/core-utils' | |||
5 | import { getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffmpeg-utils' | 5 | import { getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffmpeg-utils' |
6 | import { processImage } from '../../../helpers/image-utils' | 6 | import { processImage } from '../../../helpers/image-utils' |
7 | import { logger } from '../../../helpers/logger' | 7 | import { logger } from '../../../helpers/logger' |
8 | import { auditLoggerFactory, VideoAuditView } from '../../../helpers/audit-logger' | ||
8 | import { getFormattedObjects, getServerActor, resetSequelizeInstance } from '../../../helpers/utils' | 9 | import { getFormattedObjects, getServerActor, resetSequelizeInstance } from '../../../helpers/utils' |
9 | import { | 10 | import { |
10 | CONFIG, | 11 | CONFIG, |
@@ -53,7 +54,9 @@ import { VideoFilter } from '../../../../shared/models/videos/video-query.type' | |||
53 | import { createReqFiles, buildNSFWFilter } from '../../../helpers/express-utils' | 54 | import { createReqFiles, buildNSFWFilter } from '../../../helpers/express-utils' |
54 | import { ScheduleVideoUpdateModel } from '../../../models/video/schedule-video-update' | 55 | import { ScheduleVideoUpdateModel } from '../../../models/video/schedule-video-update' |
55 | import { videoCaptionsRouter } from './captions' | 56 | import { videoCaptionsRouter } from './captions' |
57 | import { videoImportsRouter } from './import' | ||
56 | 58 | ||
59 | const auditLogger = auditLoggerFactory('videos') | ||
57 | const videosRouter = express.Router() | 60 | const videosRouter = express.Router() |
58 | 61 | ||
59 | const reqVideoFileAdd = createReqFiles( | 62 | const reqVideoFileAdd = createReqFiles( |
@@ -79,6 +82,7 @@ videosRouter.use('/', blacklistRouter) | |||
79 | videosRouter.use('/', rateVideoRouter) | 82 | videosRouter.use('/', rateVideoRouter) |
80 | videosRouter.use('/', videoCommentRouter) | 83 | videosRouter.use('/', videoCommentRouter) |
81 | videosRouter.use('/', videoCaptionsRouter) | 84 | videosRouter.use('/', videoCaptionsRouter) |
85 | videosRouter.use('/', videoImportsRouter) | ||
82 | 86 | ||
83 | videosRouter.get('/categories', listVideoCategories) | 87 | videosRouter.get('/categories', listVideoCategories) |
84 | videosRouter.get('/licences', listVideoLicences) | 88 | videosRouter.get('/licences', listVideoLicences) |
@@ -158,7 +162,6 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
158 | const videoData = { | 162 | const videoData = { |
159 | name: videoInfo.name, | 163 | name: videoInfo.name, |
160 | remote: false, | 164 | remote: false, |
161 | extname: extname(videoPhysicalFile.filename), | ||
162 | category: videoInfo.category, | 165 | category: videoInfo.category, |
163 | licence: videoInfo.licence, | 166 | licence: videoInfo.licence, |
164 | language: videoInfo.language, | 167 | language: videoInfo.language, |
@@ -247,6 +250,7 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
247 | 250 | ||
248 | await federateVideoIfNeeded(video, true, t) | 251 | await federateVideoIfNeeded(video, true, t) |
249 | 252 | ||
253 | auditLogger.create(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new VideoAuditView(videoCreated.toFormattedDetailsJSON())) | ||
250 | logger.info('Video with name %s and uuid %s created.', videoInfo.name, videoCreated.uuid) | 254 | logger.info('Video with name %s and uuid %s created.', videoInfo.name, videoCreated.uuid) |
251 | 255 | ||
252 | return videoCreated | 256 | return videoCreated |
@@ -273,6 +277,7 @@ async function addVideo (req: express.Request, res: express.Response) { | |||
273 | async function updateVideo (req: express.Request, res: express.Response) { | 277 | async function updateVideo (req: express.Request, res: express.Response) { |
274 | const videoInstance: VideoModel = res.locals.video | 278 | const videoInstance: VideoModel = res.locals.video |
275 | const videoFieldsSave = videoInstance.toJSON() | 279 | const videoFieldsSave = videoInstance.toJSON() |
280 | const oldVideoAuditView = new VideoAuditView(videoInstance.toFormattedDetailsJSON()) | ||
276 | const videoInfoToUpdate: VideoUpdate = req.body | 281 | const videoInfoToUpdate: VideoUpdate = req.body |
277 | const wasPrivateVideo = videoInstance.privacy === VideoPrivacy.PRIVATE | 282 | const wasPrivateVideo = videoInstance.privacy === VideoPrivacy.PRIVATE |
278 | 283 | ||
@@ -344,9 +349,14 @@ async function updateVideo (req: express.Request, res: express.Response) { | |||
344 | 349 | ||
345 | const isNewVideo = wasPrivateVideo && videoInstanceUpdated.privacy !== VideoPrivacy.PRIVATE | 350 | const isNewVideo = wasPrivateVideo && videoInstanceUpdated.privacy !== VideoPrivacy.PRIVATE |
346 | await federateVideoIfNeeded(videoInstanceUpdated, isNewVideo, t) | 351 | await federateVideoIfNeeded(videoInstanceUpdated, isNewVideo, t) |
347 | }) | ||
348 | 352 | ||
349 | logger.info('Video with name %s and uuid %s updated.', videoInstance.name, videoInstance.uuid) | 353 | auditLogger.update( |
354 | res.locals.oauth.token.User.Account.Actor.getIdentifier(), | ||
355 | new VideoAuditView(videoInstanceUpdated.toFormattedDetailsJSON()), | ||
356 | oldVideoAuditView | ||
357 | ) | ||
358 | logger.info('Video with name %s and uuid %s updated.', videoInstance.name, videoInstance.uuid) | ||
359 | }) | ||
350 | } catch (err) { | 360 | } catch (err) { |
351 | // Force fields we want to update | 361 | // Force fields we want to update |
352 | // If the transaction is retried, sequelize will think the object has not changed | 362 | // If the transaction is retried, sequelize will think the object has not changed |
@@ -423,6 +433,7 @@ async function removeVideo (req: express.Request, res: express.Response) { | |||
423 | await videoInstance.destroy({ transaction: t }) | 433 | await videoInstance.destroy({ transaction: t }) |
424 | }) | 434 | }) |
425 | 435 | ||
436 | auditLogger.delete(res.locals.oauth.token.User.Account.Actor.getIdentifier(), new VideoAuditView(videoInstance.toFormattedDetailsJSON())) | ||
426 | logger.info('Video with name %s and uuid %s deleted.', videoInstance.name, videoInstance.uuid) | 437 | logger.info('Video with name %s and uuid %s deleted.', videoInstance.name, videoInstance.uuid) |
427 | 438 | ||
428 | return res.type('json').status(204).end() | 439 | return res.type('json').status(204).end() |
diff --git a/server/helpers/activitypub.ts b/server/helpers/activitypub.ts index d710f5c97..a9de11fb0 100644 --- a/server/helpers/activitypub.ts +++ b/server/helpers/activitypub.ts | |||
@@ -24,6 +24,7 @@ function activityPubContextify <T> (data: T) { | |||
24 | views: 'http://schema.org/Number', | 24 | views: 'http://schema.org/Number', |
25 | stats: 'http://schema.org/Number', | 25 | stats: 'http://schema.org/Number', |
26 | size: 'http://schema.org/Number', | 26 | size: 'http://schema.org/Number', |
27 | fps: 'http://schema.org/Number', | ||
27 | commentsEnabled: 'http://schema.org/Boolean', | 28 | commentsEnabled: 'http://schema.org/Boolean', |
28 | waitTranscoding: 'http://schema.org/Boolean', | 29 | waitTranscoding: 'http://schema.org/Boolean', |
29 | support: 'http://schema.org/Text' | 30 | support: 'http://schema.org/Text' |
diff --git a/server/helpers/audit-logger.ts b/server/helpers/audit-logger.ts new file mode 100644 index 000000000..db20df20f --- /dev/null +++ b/server/helpers/audit-logger.ts | |||
@@ -0,0 +1,265 @@ | |||
1 | import * as path from 'path' | ||
2 | import { diff } from 'deep-object-diff' | ||
3 | import { chain } from 'lodash' | ||
4 | import * as flatten from 'flat' | ||
5 | import * as winston from 'winston' | ||
6 | import { CONFIG } from '../initializers' | ||
7 | import { jsonLoggerFormat, labelFormatter } from './logger' | ||
8 | import { VideoDetails, User, VideoChannel, VideoAbuse, VideoImport } from '../../shared' | ||
9 | import { VideoComment } from '../../shared/models/videos/video-comment.model' | ||
10 | import { CustomConfig } from '../../shared/models/server/custom-config.model' | ||
11 | |||
12 | enum AUDIT_TYPE { | ||
13 | CREATE = 'create', | ||
14 | UPDATE = 'update', | ||
15 | DELETE = 'delete' | ||
16 | } | ||
17 | |||
18 | const colors = winston.config.npm.colors | ||
19 | colors.audit = winston.config.npm.colors.info | ||
20 | |||
21 | winston.addColors(colors) | ||
22 | |||
23 | const auditLogger = winston.createLogger({ | ||
24 | levels: { audit: 0 }, | ||
25 | transports: [ | ||
26 | new winston.transports.File({ | ||
27 | filename: path.join(CONFIG.STORAGE.LOG_DIR, 'peertube-audit.log'), | ||
28 | level: 'audit', | ||
29 | maxsize: 5242880, | ||
30 | maxFiles: 5, | ||
31 | format: winston.format.combine( | ||
32 | winston.format.timestamp(), | ||
33 | labelFormatter, | ||
34 | winston.format.splat(), | ||
35 | jsonLoggerFormat | ||
36 | ) | ||
37 | }) | ||
38 | ], | ||
39 | exitOnError: true | ||
40 | }) | ||
41 | |||
42 | function auditLoggerWrapper (domain: string, user: string, action: AUDIT_TYPE, entity: EntityAuditView, oldEntity: EntityAuditView = null) { | ||
43 | let entityInfos: object | ||
44 | if (action === AUDIT_TYPE.UPDATE && oldEntity) { | ||
45 | const oldEntityKeys = oldEntity.toLogKeys() | ||
46 | const diffObject = diff(oldEntityKeys, entity.toLogKeys()) | ||
47 | const diffKeys = Object.entries(diffObject).reduce((newKeys, entry) => { | ||
48 | newKeys[`new-${entry[0]}`] = entry[1] | ||
49 | return newKeys | ||
50 | }, {}) | ||
51 | entityInfos = { ...oldEntityKeys, ...diffKeys } | ||
52 | } else { | ||
53 | entityInfos = { ...entity.toLogKeys() } | ||
54 | } | ||
55 | auditLogger.log('audit', JSON.stringify({ | ||
56 | user, | ||
57 | domain, | ||
58 | action, | ||
59 | ...entityInfos | ||
60 | })) | ||
61 | } | ||
62 | |||
63 | function auditLoggerFactory (domain: string) { | ||
64 | return { | ||
65 | create (user: string, entity: EntityAuditView) { | ||
66 | auditLoggerWrapper(domain, user, AUDIT_TYPE.CREATE, entity) | ||
67 | }, | ||
68 | update (user: string, entity: EntityAuditView, oldEntity: EntityAuditView) { | ||
69 | auditLoggerWrapper(domain, user, AUDIT_TYPE.UPDATE, entity, oldEntity) | ||
70 | }, | ||
71 | delete (user: string, entity: EntityAuditView) { | ||
72 | auditLoggerWrapper(domain, user, AUDIT_TYPE.DELETE, entity) | ||
73 | } | ||
74 | } | ||
75 | } | ||
76 | |||
77 | abstract class EntityAuditView { | ||
78 | constructor (private keysToKeep: Array<string>, private prefix: string, private entityInfos: object) { } | ||
79 | toLogKeys (): object { | ||
80 | return chain(flatten(this.entityInfos, { delimiter: '-', safe: true })) | ||
81 | .pick(this.keysToKeep) | ||
82 | .mapKeys((value, key) => `${this.prefix}-${key}`) | ||
83 | .value() | ||
84 | } | ||
85 | } | ||
86 | |||
87 | const videoKeysToKeep = [ | ||
88 | 'tags', | ||
89 | 'uuid', | ||
90 | 'id', | ||
91 | 'uuid', | ||
92 | 'createdAt', | ||
93 | 'updatedAt', | ||
94 | 'publishedAt', | ||
95 | 'category', | ||
96 | 'licence', | ||
97 | 'language', | ||
98 | 'privacy', | ||
99 | 'description', | ||
100 | 'duration', | ||
101 | 'isLocal', | ||
102 | 'name', | ||
103 | 'thumbnailPath', | ||
104 | 'previewPath', | ||
105 | 'nsfw', | ||
106 | 'waitTranscoding', | ||
107 | 'account-id', | ||
108 | 'account-uuid', | ||
109 | 'account-name', | ||
110 | 'channel-id', | ||
111 | 'channel-uuid', | ||
112 | 'channel-name', | ||
113 | 'support', | ||
114 | 'commentsEnabled' | ||
115 | ] | ||
116 | class VideoAuditView extends EntityAuditView { | ||
117 | constructor (private video: VideoDetails) { | ||
118 | super(videoKeysToKeep, 'video', video) | ||
119 | } | ||
120 | } | ||
121 | |||
122 | const videoImportKeysToKeep = [ | ||
123 | 'id', | ||
124 | 'targetUrl', | ||
125 | 'video-name' | ||
126 | ] | ||
127 | class VideoImportAuditView extends EntityAuditView { | ||
128 | constructor (private videoImport: VideoImport) { | ||
129 | super(videoImportKeysToKeep, 'video-import', videoImport) | ||
130 | } | ||
131 | } | ||
132 | |||
133 | const commentKeysToKeep = [ | ||
134 | 'id', | ||
135 | 'text', | ||
136 | 'threadId', | ||
137 | 'inReplyToCommentId', | ||
138 | 'videoId', | ||
139 | 'createdAt', | ||
140 | 'updatedAt', | ||
141 | 'totalReplies', | ||
142 | 'account-id', | ||
143 | 'account-uuid', | ||
144 | 'account-name' | ||
145 | ] | ||
146 | class CommentAuditView extends EntityAuditView { | ||
147 | constructor (private comment: VideoComment) { | ||
148 | super(commentKeysToKeep, 'comment', comment) | ||
149 | } | ||
150 | } | ||
151 | |||
152 | const userKeysToKeep = [ | ||
153 | 'id', | ||
154 | 'username', | ||
155 | 'email', | ||
156 | 'nsfwPolicy', | ||
157 | 'autoPlayVideo', | ||
158 | 'role', | ||
159 | 'videoQuota', | ||
160 | 'createdAt', | ||
161 | 'account-id', | ||
162 | 'account-uuid', | ||
163 | 'account-name', | ||
164 | 'account-followingCount', | ||
165 | 'account-followersCount', | ||
166 | 'account-createdAt', | ||
167 | 'account-updatedAt', | ||
168 | 'account-avatar-path', | ||
169 | 'account-avatar-createdAt', | ||
170 | 'account-avatar-updatedAt', | ||
171 | 'account-displayName', | ||
172 | 'account-description', | ||
173 | 'videoChannels' | ||
174 | ] | ||
175 | class UserAuditView extends EntityAuditView { | ||
176 | constructor (private user: User) { | ||
177 | super(userKeysToKeep, 'user', user) | ||
178 | } | ||
179 | } | ||
180 | |||
181 | const channelKeysToKeep = [ | ||
182 | 'id', | ||
183 | 'uuid', | ||
184 | 'name', | ||
185 | 'followingCount', | ||
186 | 'followersCount', | ||
187 | 'createdAt', | ||
188 | 'updatedAt', | ||
189 | 'avatar-path', | ||
190 | 'avatar-createdAt', | ||
191 | 'avatar-updatedAt', | ||
192 | 'displayName', | ||
193 | 'description', | ||
194 | 'support', | ||
195 | 'isLocal', | ||
196 | 'ownerAccount-id', | ||
197 | 'ownerAccount-uuid', | ||
198 | 'ownerAccount-name', | ||
199 | 'ownerAccount-displayedName' | ||
200 | ] | ||
201 | class VideoChannelAuditView extends EntityAuditView { | ||
202 | constructor (private channel: VideoChannel) { | ||
203 | super(channelKeysToKeep, 'channel', channel) | ||
204 | } | ||
205 | } | ||
206 | |||
207 | const videoAbuseKeysToKeep = [ | ||
208 | 'id', | ||
209 | 'reason', | ||
210 | 'reporterAccount', | ||
211 | 'video-id', | ||
212 | 'video-name', | ||
213 | 'video-uuid', | ||
214 | 'createdAt' | ||
215 | ] | ||
216 | class VideoAbuseAuditView extends EntityAuditView { | ||
217 | constructor (private videoAbuse: VideoAbuse) { | ||
218 | super(videoAbuseKeysToKeep, 'abuse', videoAbuse) | ||
219 | } | ||
220 | } | ||
221 | |||
222 | const customConfigKeysToKeep = [ | ||
223 | 'instance-name', | ||
224 | 'instance-shortDescription', | ||
225 | 'instance-description', | ||
226 | 'instance-terms', | ||
227 | 'instance-defaultClientRoute', | ||
228 | 'instance-defaultNSFWPolicy', | ||
229 | 'instance-customizations-javascript', | ||
230 | 'instance-customizations-css', | ||
231 | 'services-twitter-username', | ||
232 | 'services-twitter-whitelisted', | ||
233 | 'cache-previews-size', | ||
234 | 'cache-captions-size', | ||
235 | 'signup-enabled', | ||
236 | 'signup-limit', | ||
237 | 'admin-email', | ||
238 | 'user-videoQuota', | ||
239 | 'transcoding-enabled', | ||
240 | 'transcoding-threads', | ||
241 | 'transcoding-resolutions' | ||
242 | ] | ||
243 | class CustomConfigAuditView extends EntityAuditView { | ||
244 | constructor (customConfig: CustomConfig) { | ||
245 | const infos: any = customConfig | ||
246 | const resolutionsDict = infos.transcoding.resolutions | ||
247 | const resolutionsArray = [] | ||
248 | Object.entries(resolutionsDict).forEach(([resolution, isEnabled]) => { | ||
249 | if (isEnabled) resolutionsArray.push(resolution) | ||
250 | }) | ||
251 | Object.assign({}, infos, { transcoding: { resolutions: resolutionsArray } }) | ||
252 | super(customConfigKeysToKeep, 'config', infos) | ||
253 | } | ||
254 | } | ||
255 | |||
256 | export { | ||
257 | auditLoggerFactory, | ||
258 | VideoImportAuditView, | ||
259 | VideoChannelAuditView, | ||
260 | CommentAuditView, | ||
261 | UserAuditView, | ||
262 | VideoAuditView, | ||
263 | VideoAbuseAuditView, | ||
264 | CustomConfigAuditView | ||
265 | } | ||
diff --git a/server/helpers/core-utils.ts b/server/helpers/core-utils.ts index 2951aef1e..884206aad 100644 --- a/server/helpers/core-utils.ts +++ b/server/helpers/core-utils.ts | |||
@@ -58,7 +58,7 @@ function escapeHTML (stringParam) { | |||
58 | '<': '<', | 58 | '<': '<', |
59 | '>': '>', | 59 | '>': '>', |
60 | '"': '"', | 60 | '"': '"', |
61 | "'": ''', | 61 | '\'': ''', |
62 | '/': '/', | 62 | '/': '/', |
63 | '`': '`', | 63 | '`': '`', |
64 | '=': '=' | 64 | '=': '=' |
diff --git a/server/helpers/custom-validators/activitypub/videos.ts b/server/helpers/custom-validators/activitypub/videos.ts index d97bbd2a9..b8075f3c7 100644 --- a/server/helpers/custom-validators/activitypub/videos.ts +++ b/server/helpers/custom-validators/activitypub/videos.ts | |||
@@ -45,7 +45,7 @@ function isActivityPubVideoDurationValid (value: string) { | |||
45 | } | 45 | } |
46 | 46 | ||
47 | function sanitizeAndCheckVideoTorrentObject (video: any) { | 47 | function sanitizeAndCheckVideoTorrentObject (video: any) { |
48 | if (video.type !== 'Video') return false | 48 | if (!video || video.type !== 'Video') return false |
49 | 49 | ||
50 | if (!setValidRemoteTags(video)) return false | 50 | if (!setValidRemoteTags(video)) return false |
51 | if (!setValidRemoteVideoUrls(video)) return false | 51 | if (!setValidRemoteVideoUrls(video)) return false |
@@ -153,7 +153,8 @@ function isRemoteVideoUrlValid (url: any) { | |||
153 | ACTIVITY_PUB.URL_MIME_TYPES.VIDEO.indexOf(url.mimeType) !== -1 && | 153 | ACTIVITY_PUB.URL_MIME_TYPES.VIDEO.indexOf(url.mimeType) !== -1 && |
154 | isActivityPubUrlValid(url.href) && | 154 | isActivityPubUrlValid(url.href) && |
155 | validator.isInt(url.width + '', { min: 0 }) && | 155 | validator.isInt(url.width + '', { min: 0 }) && |
156 | validator.isInt(url.size + '', { min: 0 }) | 156 | validator.isInt(url.size + '', { min: 0 }) && |
157 | (!url.fps || validator.isInt(url.fps + '', { min: 0 })) | ||
157 | ) || | 158 | ) || |
158 | ( | 159 | ( |
159 | ACTIVITY_PUB.URL_MIME_TYPES.TORRENT.indexOf(url.mimeType) !== -1 && | 160 | ACTIVITY_PUB.URL_MIME_TYPES.TORRENT.indexOf(url.mimeType) !== -1 && |
diff --git a/server/helpers/custom-validators/video-imports.ts b/server/helpers/custom-validators/video-imports.ts new file mode 100644 index 000000000..d8b9bfaff --- /dev/null +++ b/server/helpers/custom-validators/video-imports.ts | |||
@@ -0,0 +1,49 @@ | |||
1 | import 'express-validator' | ||
2 | import 'multer' | ||
3 | import * as validator from 'validator' | ||
4 | import { CONSTRAINTS_FIELDS, VIDEO_IMPORT_STATES } from '../../initializers' | ||
5 | import { exists } from './misc' | ||
6 | import * as express from 'express' | ||
7 | import { VideoChannelModel } from '../../models/video/video-channel' | ||
8 | import { VideoImportModel } from '../../models/video/video-import' | ||
9 | |||
10 | function isVideoImportTargetUrlValid (url: string) { | ||
11 | const isURLOptions = { | ||
12 | require_host: true, | ||
13 | require_tld: true, | ||
14 | require_protocol: true, | ||
15 | require_valid_protocol: true, | ||
16 | protocols: [ 'http', 'https' ] | ||
17 | } | ||
18 | |||
19 | return exists(url) && | ||
20 | validator.isURL('' + url, isURLOptions) && | ||
21 | validator.isLength('' + url, CONSTRAINTS_FIELDS.VIDEO_IMPORTS.URL) | ||
22 | } | ||
23 | |||
24 | function isVideoImportStateValid (value: any) { | ||
25 | return exists(value) && VIDEO_IMPORT_STATES[ value ] !== undefined | ||
26 | } | ||
27 | |||
28 | async function isVideoImportExist (id: number, res: express.Response) { | ||
29 | const videoImport = await VideoImportModel.loadAndPopulateVideo(id) | ||
30 | |||
31 | if (!videoImport) { | ||
32 | res.status(404) | ||
33 | .json({ error: 'Video import not found' }) | ||
34 | .end() | ||
35 | |||
36 | return false | ||
37 | } | ||
38 | |||
39 | res.locals.videoImport = videoImport | ||
40 | return true | ||
41 | } | ||
42 | |||
43 | // --------------------------------------------------------------------------- | ||
44 | |||
45 | export { | ||
46 | isVideoImportStateValid, | ||
47 | isVideoImportTargetUrlValid, | ||
48 | isVideoImportExist | ||
49 | } | ||
diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index f0623c88b..ced56b82d 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts | |||
@@ -1,10 +1,11 @@ | |||
1 | import * as ffmpeg from 'fluent-ffmpeg' | 1 | import * as ffmpeg from 'fluent-ffmpeg' |
2 | import { join } from 'path' | 2 | import { join } from 'path' |
3 | import { VideoResolution } from '../../shared/models/videos' | 3 | import { VideoResolution } from '../../shared/models/videos' |
4 | import { CONFIG, VIDEO_TRANSCODING_FPS } from '../initializers' | 4 | import { CONFIG, VIDEO_TRANSCODING_FPS, FFMPEG_NICE } from '../initializers' |
5 | import { unlinkPromise } from './core-utils' | 5 | import { unlinkPromise } from './core-utils' |
6 | import { processImage } from './image-utils' | 6 | import { processImage } from './image-utils' |
7 | import { logger } from './logger' | 7 | import { logger } from './logger' |
8 | import { checkFFmpegEncoders } from '../initializers/checker' | ||
8 | 9 | ||
9 | async function getVideoFileResolution (path: string) { | 10 | async function getVideoFileResolution (path: string) { |
10 | const videoStream = await getVideoFileStream(path) | 11 | const videoStream = await getVideoFileStream(path) |
@@ -55,7 +56,7 @@ async function generateImageFromVideoFile (fromPath: string, folder: string, ima | |||
55 | 56 | ||
56 | try { | 57 | try { |
57 | await new Promise<string>((res, rej) => { | 58 | await new Promise<string>((res, rej) => { |
58 | ffmpeg(fromPath) | 59 | ffmpeg(fromPath, { niceness: FFMPEG_NICE.THUMBNAIL }) |
59 | .on('error', rej) | 60 | .on('error', rej) |
60 | .on('end', () => res(imageName)) | 61 | .on('end', () => res(imageName)) |
61 | .thumbnail(options) | 62 | .thumbnail(options) |
@@ -83,14 +84,14 @@ type TranscodeOptions = { | |||
83 | 84 | ||
84 | function transcode (options: TranscodeOptions) { | 85 | function transcode (options: TranscodeOptions) { |
85 | return new Promise<void>(async (res, rej) => { | 86 | return new Promise<void>(async (res, rej) => { |
86 | let command = ffmpeg(options.inputPath) | 87 | let command = ffmpeg(options.inputPath, { niceness: FFMPEG_NICE.TRANSCODING }) |
87 | .output(options.outputPath) | 88 | .output(options.outputPath) |
88 | .videoCodec('libx264') | 89 | .preset(standard) |
89 | .outputOption('-threads ' + CONFIG.TRANSCODING.THREADS) | 90 | |
90 | .outputOption('-movflags faststart') | 91 | if (CONFIG.TRANSCODING.THREADS > 0) { |
91 | .outputOption('-b_strategy 1') // NOTE: b-strategy 1 - heuristic algorythm, 16 is optimal B-frames for it | 92 | // if we don't set any threads ffmpeg will chose automatically |
92 | .outputOption('-bf 16') // NOTE: Why 16: https://github.com/Chocobozzz/PeerTube/pull/774. b-strategy 2 -> B-frames<16 | 93 | command = command.outputOption('-threads ' + CONFIG.TRANSCODING.THREADS) |
93 | // .outputOption('-crf 18') | 94 | } |
94 | 95 | ||
95 | let fps = await getVideoFileFPS(options.inputPath) | 96 | let fps = await getVideoFileFPS(options.inputPath) |
96 | if (options.resolution !== undefined) { | 97 | if (options.resolution !== undefined) { |
@@ -132,7 +133,8 @@ export { | |||
132 | getDurationFromVideoFile, | 133 | getDurationFromVideoFile, |
133 | generateImageFromVideoFile, | 134 | generateImageFromVideoFile, |
134 | transcode, | 135 | transcode, |
135 | getVideoFileFPS | 136 | getVideoFileFPS, |
137 | audio | ||
136 | } | 138 | } |
137 | 139 | ||
138 | // --------------------------------------------------------------------------- | 140 | // --------------------------------------------------------------------------- |
@@ -149,3 +151,136 @@ function getVideoFileStream (path: string) { | |||
149 | }) | 151 | }) |
150 | }) | 152 | }) |
151 | } | 153 | } |
154 | |||
155 | /** | ||
156 | * A slightly customised version of the 'veryfast' x264 preset | ||
157 | * | ||
158 | * The veryfast preset is right in the sweet spot of performance | ||
159 | * and quality. Superfast and ultrafast will give you better | ||
160 | * performance, but then quality is noticeably worse. | ||
161 | */ | ||
162 | function veryfast (_ffmpeg) { | ||
163 | _ffmpeg | ||
164 | .preset(standard) | ||
165 | .outputOption('-preset:v veryfast') | ||
166 | .outputOption(['--aq-mode=2', '--aq-strength=1.3']) | ||
167 | /* | ||
168 | MAIN reference: https://slhck.info/video/2017/03/01/rate-control.html | ||
169 | Our target situation is closer to a livestream than a stream, | ||
170 | since we want to reduce as much a possible the encoding burden, | ||
171 | altough not to the point of a livestream where there is a hard | ||
172 | constraint on the frames per second to be encoded. | ||
173 | |||
174 | why '--aq-mode=2 --aq-strength=1.3' instead of '-profile:v main'? | ||
175 | Make up for most of the loss of grain and macroblocking | ||
176 | with less computing power. | ||
177 | */ | ||
178 | } | ||
179 | |||
180 | /** | ||
181 | * A preset optimised for a stillimage audio video | ||
182 | */ | ||
183 | function audio (_ffmpeg) { | ||
184 | _ffmpeg | ||
185 | .preset(veryfast) | ||
186 | .outputOption('-tune stillimage') | ||
187 | } | ||
188 | |||
189 | /** | ||
190 | * A toolbox to play with audio | ||
191 | */ | ||
192 | namespace audio { | ||
193 | export const get = (_ffmpeg, pos: number | string = 0) => { | ||
194 | // without position, ffprobe considers the last input only | ||
195 | // we make it consider the first input only | ||
196 | // if you pass a file path to pos, then ffprobe acts on that file directly | ||
197 | return new Promise<{ absolutePath: string, audioStream?: any }>((res, rej) => { | ||
198 | _ffmpeg.ffprobe(pos, (err,data) => { | ||
199 | if (err) return rej(err) | ||
200 | |||
201 | if ('streams' in data) { | ||
202 | const audioStream = data['streams'].find(stream => stream['codec_type'] === 'audio') | ||
203 | if (audioStream) { | ||
204 | return res({ | ||
205 | absolutePath: data.format.filename, | ||
206 | audioStream | ||
207 | }) | ||
208 | } | ||
209 | } | ||
210 | return res({ absolutePath: data.format.filename }) | ||
211 | }) | ||
212 | }) | ||
213 | } | ||
214 | |||
215 | export namespace bitrate { | ||
216 | export const baseKbitrate = 384 | ||
217 | |||
218 | const toBits = (kbits: number): number => { return kbits * 8000 } | ||
219 | |||
220 | export const aac = (bitrate: number): number => { | ||
221 | switch (true) { | ||
222 | case bitrate > toBits(baseKbitrate): | ||
223 | return baseKbitrate | ||
224 | default: | ||
225 | return -1 // we interpret it as a signal to copy the audio stream as is | ||
226 | } | ||
227 | } | ||
228 | |||
229 | export const mp3 = (bitrate: number): number => { | ||
230 | /* | ||
231 | a 192kbit/sec mp3 doesn't hold as much information as a 192kbit/sec aac. | ||
232 | That's why, when using aac, we can go to lower kbit/sec. The equivalences | ||
233 | made here are not made to be accurate, especially with good mp3 encoders. | ||
234 | */ | ||
235 | switch (true) { | ||
236 | case bitrate <= toBits(192): | ||
237 | return 128 | ||
238 | case bitrate <= toBits(384): | ||
239 | return 256 | ||
240 | default: | ||
241 | return baseKbitrate | ||
242 | } | ||
243 | } | ||
244 | } | ||
245 | } | ||
246 | |||
247 | /** | ||
248 | * Standard profile, with variable bitrate audio and faststart. | ||
249 | * | ||
250 | * As for the audio, quality '5' is the highest and ensures 96-112kbps/channel | ||
251 | * See https://trac.ffmpeg.org/wiki/Encode/AAC#fdk_vbr | ||
252 | */ | ||
253 | async function standard (_ffmpeg) { | ||
254 | let _bitrate = audio.bitrate.baseKbitrate | ||
255 | let localFfmpeg = _ffmpeg | ||
256 | .format('mp4') | ||
257 | .videoCodec('libx264') | ||
258 | .outputOption('-level 3.1') // 3.1 is the minimal ressource allocation for our highest supported resolution | ||
259 | .outputOption('-b_strategy 1') // NOTE: b-strategy 1 - heuristic algorythm, 16 is optimal B-frames for it | ||
260 | .outputOption('-bf 16') // NOTE: Why 16: https://github.com/Chocobozzz/PeerTube/pull/774. b-strategy 2 -> B-frames<16 | ||
261 | .outputOption('-map_metadata -1') // strip all metadata | ||
262 | .outputOption('-movflags faststart') | ||
263 | const _audio = await audio.get(localFfmpeg) | ||
264 | |||
265 | if (!_audio.audioStream) { | ||
266 | return localFfmpeg.noAudio() | ||
267 | } | ||
268 | |||
269 | // we try to reduce the ceiling bitrate by making rough correspondances of bitrates | ||
270 | // of course this is far from perfect, but it might save some space in the end | ||
271 | if (audio.bitrate[_audio.audioStream['codec_name']]) { | ||
272 | _bitrate = audio.bitrate[_audio.audioStream['codec_name']](_audio.audioStream['bit_rate']) | ||
273 | if (_bitrate === -1) { | ||
274 | return localFfmpeg.audioCodec('copy') | ||
275 | } | ||
276 | } | ||
277 | |||
278 | // we favor VBR, if a good AAC encoder is available | ||
279 | if ((await checkFFmpegEncoders()).get('libfdk_aac')) { | ||
280 | return localFfmpeg | ||
281 | .audioCodec('libfdk_aac') | ||
282 | .audioQuality(5) | ||
283 | } | ||
284 | |||
285 | return localFfmpeg.audioBitrate(_bitrate) | ||
286 | } | ||
diff --git a/server/helpers/logger.ts b/server/helpers/logger.ts index 6d369a8fb..480c5b49e 100644 --- a/server/helpers/logger.ts +++ b/server/helpers/logger.ts | |||
@@ -22,7 +22,7 @@ function loggerReplacer (key: string, value: any) { | |||
22 | } | 22 | } |
23 | 23 | ||
24 | const consoleLoggerFormat = winston.format.printf(info => { | 24 | const consoleLoggerFormat = winston.format.printf(info => { |
25 | let additionalInfos = JSON.stringify(info.meta, loggerReplacer, 2) | 25 | let additionalInfos = JSON.stringify(info.meta || info.err, loggerReplacer, 2) |
26 | if (additionalInfos === undefined || additionalInfos === '{}') additionalInfos = '' | 26 | if (additionalInfos === undefined || additionalInfos === '{}') additionalInfos = '' |
27 | else additionalInfos = ' ' + additionalInfos | 27 | else additionalInfos = ' ' + additionalInfos |
28 | 28 | ||
@@ -96,13 +96,13 @@ const bunyanLogger = { | |||
96 | error: bunyanLogFactory('error'), | 96 | error: bunyanLogFactory('error'), |
97 | fatal: bunyanLogFactory('error') | 97 | fatal: bunyanLogFactory('error') |
98 | } | 98 | } |
99 | |||
100 | // --------------------------------------------------------------------------- | 99 | // --------------------------------------------------------------------------- |
101 | 100 | ||
102 | export { | 101 | export { |
103 | timestampFormatter, | 102 | timestampFormatter, |
104 | labelFormatter, | 103 | labelFormatter, |
105 | consoleLoggerFormat, | 104 | consoleLoggerFormat, |
105 | jsonLoggerFormat, | ||
106 | logger, | 106 | logger, |
107 | bunyanLogger | 107 | bunyanLogger |
108 | } | 108 | } |
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts index cfb427570..7abcec5d7 100644 --- a/server/helpers/utils.ts +++ b/server/helpers/utils.ts | |||
@@ -6,11 +6,35 @@ import { CONFIG } from '../initializers' | |||
6 | import { UserModel } from '../models/account/user' | 6 | import { UserModel } from '../models/account/user' |
7 | import { ActorModel } from '../models/activitypub/actor' | 7 | import { ActorModel } from '../models/activitypub/actor' |
8 | import { ApplicationModel } from '../models/application/application' | 8 | import { ApplicationModel } from '../models/application/application' |
9 | import { pseudoRandomBytesPromise } from './core-utils' | 9 | import { pseudoRandomBytesPromise, unlinkPromise } from './core-utils' |
10 | import { logger } from './logger' | 10 | import { logger } from './logger' |
11 | import { isArray } from './custom-validators/misc' | ||
11 | 12 | ||
12 | const isCidr = require('is-cidr') | 13 | const isCidr = require('is-cidr') |
13 | 14 | ||
15 | function cleanUpReqFiles (req: { files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[] }) { | ||
16 | const files = req.files | ||
17 | |||
18 | if (!files) return | ||
19 | |||
20 | if (isArray(files)) { | ||
21 | (files as Express.Multer.File[]).forEach(f => deleteFileAsync(f.path)) | ||
22 | return | ||
23 | } | ||
24 | |||
25 | for (const key of Object.keys(files)) { | ||
26 | const file = files[key] | ||
27 | |||
28 | if (isArray(file)) file.forEach(f => deleteFileAsync(f.path)) | ||
29 | else deleteFileAsync(file.path) | ||
30 | } | ||
31 | } | ||
32 | |||
33 | function deleteFileAsync (path: string) { | ||
34 | unlinkPromise(path) | ||
35 | .catch(err => logger.error('Cannot delete the file %s asynchronously.', path, { err })) | ||
36 | } | ||
37 | |||
14 | async function generateRandomString (size: number) { | 38 | async function generateRandomString (size: number) { |
15 | const raw = await pseudoRandomBytesPromise(size) | 39 | const raw = await pseudoRandomBytesPromise(size) |
16 | 40 | ||
@@ -162,6 +186,8 @@ type SortType = { sortModel: any, sortValue: string } | |||
162 | // --------------------------------------------------------------------------- | 186 | // --------------------------------------------------------------------------- |
163 | 187 | ||
164 | export { | 188 | export { |
189 | cleanUpReqFiles, | ||
190 | deleteFileAsync, | ||
165 | generateRandomString, | 191 | generateRandomString, |
166 | getFormattedObjects, | 192 | getFormattedObjects, |
167 | isSignupAllowed, | 193 | isSignupAllowed, |
diff --git a/server/helpers/youtube-dl.ts b/server/helpers/youtube-dl.ts new file mode 100644 index 000000000..c59ab9de0 --- /dev/null +++ b/server/helpers/youtube-dl.ts | |||
@@ -0,0 +1,142 @@ | |||
1 | import * as youtubeDL from 'youtube-dl' | ||
2 | import { truncate } from 'lodash' | ||
3 | import { CONFIG, CONSTRAINTS_FIELDS, VIDEO_CATEGORIES } from '../initializers' | ||
4 | import { join } from 'path' | ||
5 | import * as crypto from 'crypto' | ||
6 | import { logger } from './logger' | ||
7 | |||
8 | export type YoutubeDLInfo = { | ||
9 | name: string | ||
10 | description: string | ||
11 | category: number | ||
12 | licence: number | ||
13 | nsfw: boolean | ||
14 | tags: string[] | ||
15 | thumbnailUrl: string | ||
16 | } | ||
17 | |||
18 | function getYoutubeDLInfo (url: string): Promise<YoutubeDLInfo> { | ||
19 | return new Promise<YoutubeDLInfo>((res, rej) => { | ||
20 | const options = [ '-j', '--flat-playlist' ] | ||
21 | |||
22 | youtubeDL.getInfo(url, options, (err, info) => { | ||
23 | if (err) return rej(err) | ||
24 | |||
25 | const obj = normalizeObject(info) | ||
26 | |||
27 | return res(buildVideoInfo(obj)) | ||
28 | }) | ||
29 | }) | ||
30 | } | ||
31 | |||
32 | function downloadYoutubeDLVideo (url: string) { | ||
33 | const hash = crypto.createHash('sha256').update(url).digest('hex') | ||
34 | const path = join(CONFIG.STORAGE.VIDEOS_DIR, hash + '-import.mp4') | ||
35 | |||
36 | logger.info('Importing video %s', url) | ||
37 | |||
38 | const options = [ '-f', 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best', '-o', path ] | ||
39 | |||
40 | return new Promise<string>((res, rej) => { | ||
41 | youtubeDL.exec(url, options, async (err, output) => { | ||
42 | if (err) return rej(err) | ||
43 | |||
44 | return res(path) | ||
45 | }) | ||
46 | }) | ||
47 | } | ||
48 | |||
49 | // --------------------------------------------------------------------------- | ||
50 | |||
51 | export { | ||
52 | downloadYoutubeDLVideo, | ||
53 | getYoutubeDLInfo | ||
54 | } | ||
55 | |||
56 | // --------------------------------------------------------------------------- | ||
57 | |||
58 | function normalizeObject (obj: any) { | ||
59 | const newObj: any = {} | ||
60 | |||
61 | for (const key of Object.keys(obj)) { | ||
62 | // Deprecated key | ||
63 | if (key === 'resolution') continue | ||
64 | |||
65 | const value = obj[key] | ||
66 | |||
67 | if (typeof value === 'string') { | ||
68 | newObj[key] = value.normalize() | ||
69 | } else { | ||
70 | newObj[key] = value | ||
71 | } | ||
72 | } | ||
73 | |||
74 | return newObj | ||
75 | } | ||
76 | |||
77 | function buildVideoInfo (obj: any) { | ||
78 | return { | ||
79 | name: titleTruncation(obj.title), | ||
80 | description: descriptionTruncation(obj.description), | ||
81 | category: getCategory(obj.categories), | ||
82 | licence: getLicence(obj.license), | ||
83 | nsfw: isNSFW(obj), | ||
84 | tags: getTags(obj.tags), | ||
85 | thumbnailUrl: obj.thumbnail || undefined | ||
86 | } | ||
87 | } | ||
88 | |||
89 | function titleTruncation (title: string) { | ||
90 | return truncate(title, { | ||
91 | 'length': CONSTRAINTS_FIELDS.VIDEOS.NAME.max, | ||
92 | 'separator': /,? +/, | ||
93 | 'omission': ' […]' | ||
94 | }) | ||
95 | } | ||
96 | |||
97 | function descriptionTruncation (description: string) { | ||
98 | if (!description || description.length < CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.min) return undefined | ||
99 | |||
100 | return truncate(description, { | ||
101 | 'length': CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.max, | ||
102 | 'separator': /,? +/, | ||
103 | 'omission': ' […]' | ||
104 | }) | ||
105 | } | ||
106 | |||
107 | function isNSFW (info: any) { | ||
108 | return info.age_limit && info.age_limit >= 16 | ||
109 | } | ||
110 | |||
111 | function getTags (tags: any) { | ||
112 | if (Array.isArray(tags) === false) return [] | ||
113 | |||
114 | return tags | ||
115 | .filter(t => t.length < CONSTRAINTS_FIELDS.VIDEOS.TAG.max && t.length > CONSTRAINTS_FIELDS.VIDEOS.TAG.min) | ||
116 | .map(t => t.normalize()) | ||
117 | .slice(0, 5) | ||
118 | } | ||
119 | |||
120 | function getLicence (licence: string) { | ||
121 | if (!licence) return undefined | ||
122 | |||
123 | if (licence.indexOf('Creative Commons Attribution') !== -1) return 1 | ||
124 | |||
125 | return undefined | ||
126 | } | ||
127 | |||
128 | function getCategory (categories: string[]) { | ||
129 | if (!categories) return undefined | ||
130 | |||
131 | const categoryString = categories[0] | ||
132 | if (!categoryString || typeof categoryString !== 'string') return undefined | ||
133 | |||
134 | if (categoryString === 'News & Politics') return 11 | ||
135 | |||
136 | for (const key of Object.keys(VIDEO_CATEGORIES)) { | ||
137 | const category = VIDEO_CATEGORIES[key] | ||
138 | if (categoryString.toLowerCase() === category.toLowerCase()) return parseInt(key, 10) | ||
139 | } | ||
140 | |||
141 | return undefined | ||
142 | } | ||
diff --git a/server/initializers/checker.ts b/server/initializers/checker.ts index 52a1aeb50..608123607 100644 --- a/server/initializers/checker.ts +++ b/server/initializers/checker.ts | |||
@@ -43,7 +43,7 @@ function checkMissedConfig () { | |||
43 | const required = [ 'listen.port', 'listen.hostname', | 43 | const required = [ 'listen.port', 'listen.hostname', |
44 | 'webserver.https', 'webserver.hostname', 'webserver.port', | 44 | 'webserver.https', 'webserver.hostname', 'webserver.port', |
45 | 'trust_proxy', | 45 | 'trust_proxy', |
46 | 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', | 46 | 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', 'database.pool.max', |
47 | 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address', | 47 | 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address', |
48 | 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache', | 48 | 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache', |
49 | 'log.level', | 49 | 'log.level', |
@@ -51,6 +51,7 @@ function checkMissedConfig () { | |||
51 | 'cache.previews.size', 'admin.email', | 51 | 'cache.previews.size', 'admin.email', |
52 | 'signup.enabled', 'signup.limit', 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', | 52 | 'signup.enabled', 'signup.limit', 'signup.filters.cidr.whitelist', 'signup.filters.cidr.blacklist', |
53 | 'transcoding.enabled', 'transcoding.threads', | 53 | 'transcoding.enabled', 'transcoding.threads', |
54 | 'import.videos.http.enabled', | ||
54 | 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route', | 55 | 'instance.name', 'instance.short_description', 'instance.description', 'instance.terms', 'instance.default_client_route', |
55 | 'instance.default_nsfw_policy', 'instance.robots', | 56 | 'instance.default_nsfw_policy', 'instance.robots', |
56 | 'services.twitter.username', 'services.twitter.whitelisted' | 57 | 'services.twitter.username', 'services.twitter.whitelisted' |
@@ -84,11 +85,11 @@ function checkMissedConfig () { | |||
84 | async function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) { | 85 | async function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) { |
85 | const Ffmpeg = require('fluent-ffmpeg') | 86 | const Ffmpeg = require('fluent-ffmpeg') |
86 | const getAvailableCodecsPromise = promisify0(Ffmpeg.getAvailableCodecs) | 87 | const getAvailableCodecsPromise = promisify0(Ffmpeg.getAvailableCodecs) |
87 | |||
88 | const codecs = await getAvailableCodecsPromise() | 88 | const codecs = await getAvailableCodecsPromise() |
89 | const canEncode = [ 'libx264' ] | ||
90 | |||
89 | if (CONFIG.TRANSCODING.ENABLED === false) return undefined | 91 | if (CONFIG.TRANSCODING.ENABLED === false) return undefined |
90 | 92 | ||
91 | const canEncode = [ 'libx264' ] | ||
92 | for (const codec of canEncode) { | 93 | for (const codec of canEncode) { |
93 | if (codecs[codec] === undefined) { | 94 | if (codecs[codec] === undefined) { |
94 | throw new Error('Unknown codec ' + codec + ' in FFmpeg.') | 95 | throw new Error('Unknown codec ' + codec + ' in FFmpeg.') |
@@ -98,6 +99,29 @@ async function checkFFmpeg (CONFIG: { TRANSCODING: { ENABLED: boolean } }) { | |||
98 | throw new Error('Unavailable encode codec ' + codec + ' in FFmpeg') | 99 | throw new Error('Unavailable encode codec ' + codec + ' in FFmpeg') |
99 | } | 100 | } |
100 | } | 101 | } |
102 | |||
103 | checkFFmpegEncoders() | ||
104 | } | ||
105 | |||
106 | // Optional encoders, if present, can be used to improve transcoding | ||
107 | // Here we ask ffmpeg if it detects their presence on the system, so that we can later use them | ||
108 | let supportedOptionalEncoders: Map<string, boolean> | ||
109 | async function checkFFmpegEncoders (): Promise<Map<string, boolean>> { | ||
110 | if (supportedOptionalEncoders !== undefined) { | ||
111 | return supportedOptionalEncoders | ||
112 | } | ||
113 | |||
114 | const Ffmpeg = require('fluent-ffmpeg') | ||
115 | const getAvailableEncodersPromise = promisify0(Ffmpeg.getAvailableEncoders) | ||
116 | const encoders = await getAvailableEncodersPromise() | ||
117 | const optionalEncoders = [ 'libfdk_aac' ] | ||
118 | supportedOptionalEncoders = new Map<string, boolean>() | ||
119 | |||
120 | for (const encoder of optionalEncoders) { | ||
121 | supportedOptionalEncoders.set(encoder, | ||
122 | encoders[encoder] !== undefined | ||
123 | ) | ||
124 | } | ||
101 | } | 125 | } |
102 | 126 | ||
103 | // We get db by param to not import it in this file (import orders) | 127 | // We get db by param to not import it in this file (import orders) |
@@ -126,6 +150,7 @@ async function applicationExist () { | |||
126 | export { | 150 | export { |
127 | checkConfig, | 151 | checkConfig, |
128 | checkFFmpeg, | 152 | checkFFmpeg, |
153 | checkFFmpegEncoders, | ||
129 | checkMissedConfig, | 154 | checkMissedConfig, |
130 | clientsExist, | 155 | clientsExist, |
131 | usersExist, | 156 | usersExist, |
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index 3aa979668..069d9b2e8 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts | |||
@@ -8,6 +8,7 @@ import { VideoPrivacy } from '../../shared/models/videos' | |||
8 | import { buildPath, isTestInstance, root, sanitizeHost, sanitizeUrl } from '../helpers/core-utils' | 8 | import { buildPath, isTestInstance, root, sanitizeHost, sanitizeUrl } from '../helpers/core-utils' |
9 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' | 9 | import { NSFWPolicyType } from '../../shared/models/videos/nsfw-policy.type' |
10 | import { invert } from 'lodash' | 10 | import { invert } from 'lodash' |
11 | import { VideoImportState } from '../../shared/models/videos/video-import-state.enum' | ||
11 | 12 | ||
12 | // Use a variable to reload the configuration if we need | 13 | // Use a variable to reload the configuration if we need |
13 | let config: IConfig = require('config') | 14 | let config: IConfig = require('config') |
@@ -36,6 +37,7 @@ const SORTABLE_COLUMNS = { | |||
36 | VIDEO_ABUSES: [ 'id', 'createdAt' ], | 37 | VIDEO_ABUSES: [ 'id', 'createdAt' ], |
37 | VIDEO_CHANNELS: [ 'id', 'name', 'updatedAt', 'createdAt' ], | 38 | VIDEO_CHANNELS: [ 'id', 'name', 'updatedAt', 'createdAt' ], |
38 | VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes' ], | 39 | VIDEOS: [ 'name', 'duration', 'createdAt', 'publishedAt', 'views', 'likes' ], |
40 | VIDEO_IMPORTS: [ 'createdAt' ], | ||
39 | VIDEO_COMMENT_THREADS: [ 'createdAt' ], | 41 | VIDEO_COMMENT_THREADS: [ 'createdAt' ], |
40 | BLACKLISTS: [ 'id', 'name', 'duration', 'views', 'likes', 'dislikes', 'uuid', 'createdAt' ], | 42 | BLACKLISTS: [ 'id', 'name', 'duration', 'views', 'likes', 'dislikes', 'uuid', 'createdAt' ], |
41 | FOLLOWERS: [ 'createdAt' ], | 43 | FOLLOWERS: [ 'createdAt' ], |
@@ -85,6 +87,7 @@ const JOB_ATTEMPTS: { [ id in JobType ]: number } = { | |||
85 | 'activitypub-follow': 5, | 87 | 'activitypub-follow': 5, |
86 | 'video-file-import': 1, | 88 | 'video-file-import': 1, |
87 | 'video-file': 1, | 89 | 'video-file': 1, |
90 | 'video-import': 1, | ||
88 | 'email': 5 | 91 | 'email': 5 |
89 | } | 92 | } |
90 | const JOB_CONCURRENCY: { [ id in JobType ]: number } = { | 93 | const JOB_CONCURRENCY: { [ id in JobType ]: number } = { |
@@ -94,18 +97,29 @@ const JOB_CONCURRENCY: { [ id in JobType ]: number } = { | |||
94 | 'activitypub-follow': 3, | 97 | 'activitypub-follow': 3, |
95 | 'video-file-import': 1, | 98 | 'video-file-import': 1, |
96 | 'video-file': 1, | 99 | 'video-file': 1, |
100 | 'video-import': 1, | ||
97 | 'email': 5 | 101 | 'email': 5 |
98 | } | 102 | } |
103 | const JOB_TTL: { [ id in JobType ]: number } = { | ||
104 | 'activitypub-http-broadcast': 60000 * 10, // 10 minutes | ||
105 | 'activitypub-http-unicast': 60000 * 10, // 10 minutes | ||
106 | 'activitypub-http-fetcher': 60000 * 10, // 10 minutes | ||
107 | 'activitypub-follow': 60000 * 10, // 10 minutes | ||
108 | 'video-file-import': 1000 * 3600, // 1 hour | ||
109 | 'video-file': 1000 * 3600 * 48, // 2 days, transcoding could be long | ||
110 | 'video-import': 1000 * 3600 * 5, // 5 hours | ||
111 | 'email': 60000 * 10 // 10 minutes | ||
112 | } | ||
99 | const BROADCAST_CONCURRENCY = 10 // How many requests in parallel we do in activitypub-http-broadcast job | 113 | const BROADCAST_CONCURRENCY = 10 // How many requests in parallel we do in activitypub-http-broadcast job |
100 | const JOB_REQUEST_TIMEOUT = 3000 // 3 seconds | 114 | const JOB_REQUEST_TIMEOUT = 3000 // 3 seconds |
101 | const JOB_REQUEST_TTL = 60000 * 10 // 10 minutes | ||
102 | const JOB_COMPLETED_LIFETIME = 60000 * 60 * 24 * 2 // 2 days | 115 | const JOB_COMPLETED_LIFETIME = 60000 * 60 * 24 * 2 // 2 days |
103 | 116 | ||
104 | // 1 hour | 117 | // 1 hour |
105 | let SCHEDULER_INTERVALS_MS = { | 118 | let SCHEDULER_INTERVALS_MS = { |
106 | badActorFollow: 60000 * 60, // 1 hour | 119 | badActorFollow: 60000 * 60, // 1 hour |
107 | removeOldJobs: 60000 * 60, // 1 hour | 120 | removeOldJobs: 60000 * 60, // 1 hour |
108 | updateVideos: 60000 // 1 minute | 121 | updateVideos: 60000, // 1 minute |
122 | youtubeDLUpdate: 60000 * 60 * 24 // 1 day | ||
109 | } | 123 | } |
110 | 124 | ||
111 | // --------------------------------------------------------------------------- | 125 | // --------------------------------------------------------------------------- |
@@ -121,7 +135,10 @@ const CONFIG = { | |||
121 | HOSTNAME: config.get<string>('database.hostname'), | 135 | HOSTNAME: config.get<string>('database.hostname'), |
122 | PORT: config.get<number>('database.port'), | 136 | PORT: config.get<number>('database.port'), |
123 | USERNAME: config.get<string>('database.username'), | 137 | USERNAME: config.get<string>('database.username'), |
124 | PASSWORD: config.get<string>('database.password') | 138 | PASSWORD: config.get<string>('database.password'), |
139 | POOL: { | ||
140 | MAX: config.get<number>('database.pool.max') | ||
141 | } | ||
125 | }, | 142 | }, |
126 | REDIS: { | 143 | REDIS: { |
127 | HOSTNAME: config.has('redis.hostname') ? config.get<string>('redis.hostname') : null, | 144 | HOSTNAME: config.has('redis.hostname') ? config.get<string>('redis.hostname') : null, |
@@ -189,6 +206,13 @@ const CONFIG = { | |||
189 | get '1080p' () { return config.get<boolean>('transcoding.resolutions.1080p') } | 206 | get '1080p' () { return config.get<boolean>('transcoding.resolutions.1080p') } |
190 | } | 207 | } |
191 | }, | 208 | }, |
209 | IMPORT: { | ||
210 | VIDEOS: { | ||
211 | HTTP: { | ||
212 | get ENABLED () { return config.get<boolean>('import.videos.http.enabled') } | ||
213 | } | ||
214 | } | ||
215 | }, | ||
192 | CACHE: { | 216 | CACHE: { |
193 | PREVIEWS: { | 217 | PREVIEWS: { |
194 | get SIZE () { return config.get<number>('cache.previews.size') } | 218 | get SIZE () { return config.get<number>('cache.previews.size') } |
@@ -245,6 +269,9 @@ const CONSTRAINTS_FIELDS = { | |||
245 | } | 269 | } |
246 | } | 270 | } |
247 | }, | 271 | }, |
272 | VIDEO_IMPORTS: { | ||
273 | URL: { min: 3, max: 2000 } // Length | ||
274 | }, | ||
248 | VIDEOS: { | 275 | VIDEOS: { |
249 | NAME: { min: 3, max: 120 }, // Length | 276 | NAME: { min: 3, max: 120 }, // Length |
250 | LANGUAGE: { min: 1, max: 10 }, // Length | 277 | LANGUAGE: { min: 1, max: 10 }, // Length |
@@ -259,7 +286,7 @@ const CONSTRAINTS_FIELDS = { | |||
259 | }, | 286 | }, |
260 | EXTNAME: [ '.mp4', '.ogv', '.webm' ], | 287 | EXTNAME: [ '.mp4', '.ogv', '.webm' ], |
261 | INFO_HASH: { min: 40, max: 40 }, // Length, info hash is 20 bytes length but we represent it in hexadecimal so 20 * 2 | 288 | INFO_HASH: { min: 40, max: 40 }, // Length, info hash is 20 bytes length but we represent it in hexadecimal so 20 * 2 |
262 | DURATION: { min: 1 }, // Number | 289 | DURATION: { min: 0 }, // Number |
263 | TAGS: { min: 0, max: 5 }, // Number of total tags | 290 | TAGS: { min: 0, max: 5 }, // Number of total tags |
264 | TAG: { min: 2, max: 30 }, // Length | 291 | TAG: { min: 2, max: 30 }, // Length |
265 | THUMBNAIL: { min: 2, max: 30 }, | 292 | THUMBNAIL: { min: 2, max: 30 }, |
@@ -313,6 +340,11 @@ const VIDEO_RATE_TYPES: { [ id: string ]: VideoRateType } = { | |||
313 | DISLIKE: 'dislike' | 340 | DISLIKE: 'dislike' |
314 | } | 341 | } |
315 | 342 | ||
343 | const FFMPEG_NICE: { [ id: string ]: number } = { | ||
344 | THUMBNAIL: 2, // 2 just for don't blocking servers | ||
345 | TRANSCODING: 15 | ||
346 | } | ||
347 | |||
316 | const VIDEO_CATEGORIES = { | 348 | const VIDEO_CATEGORIES = { |
317 | 1: 'Music', | 349 | 1: 'Music', |
318 | 2: 'Films', | 350 | 2: 'Films', |
@@ -355,7 +387,14 @@ const VIDEO_PRIVACIES = { | |||
355 | 387 | ||
356 | const VIDEO_STATES = { | 388 | const VIDEO_STATES = { |
357 | [VideoState.PUBLISHED]: 'Published', | 389 | [VideoState.PUBLISHED]: 'Published', |
358 | [VideoState.TO_TRANSCODE]: 'To transcode' | 390 | [VideoState.TO_TRANSCODE]: 'To transcode', |
391 | [VideoState.TO_IMPORT]: 'To import' | ||
392 | } | ||
393 | |||
394 | const VIDEO_IMPORT_STATES = { | ||
395 | [VideoImportState.FAILED]: 'Failed', | ||
396 | [VideoImportState.PENDING]: 'Pending', | ||
397 | [VideoImportState.SUCCESS]: 'Success' | ||
359 | } | 398 | } |
360 | 399 | ||
361 | const VIDEO_MIMETYPE_EXT = { | 400 | const VIDEO_MIMETYPE_EXT = { |
@@ -553,6 +592,7 @@ export { | |||
553 | ROUTE_CACHE_LIFETIME, | 592 | ROUTE_CACHE_LIFETIME, |
554 | SORTABLE_COLUMNS, | 593 | SORTABLE_COLUMNS, |
555 | FEEDS, | 594 | FEEDS, |
595 | JOB_TTL, | ||
556 | NSFW_POLICY_TYPES, | 596 | NSFW_POLICY_TYPES, |
557 | STATIC_MAX_AGE, | 597 | STATIC_MAX_AGE, |
558 | STATIC_PATHS, | 598 | STATIC_PATHS, |
@@ -567,8 +607,8 @@ export { | |||
567 | VIDEO_RATE_TYPES, | 607 | VIDEO_RATE_TYPES, |
568 | VIDEO_MIMETYPE_EXT, | 608 | VIDEO_MIMETYPE_EXT, |
569 | VIDEO_TRANSCODING_FPS, | 609 | VIDEO_TRANSCODING_FPS, |
610 | FFMPEG_NICE, | ||
570 | JOB_REQUEST_TIMEOUT, | 611 | JOB_REQUEST_TIMEOUT, |
571 | JOB_REQUEST_TTL, | ||
572 | USER_PASSWORD_RESET_LIFETIME, | 612 | USER_PASSWORD_RESET_LIFETIME, |
573 | IMAGE_MIMETYPE_EXT, | 613 | IMAGE_MIMETYPE_EXT, |
574 | SCHEDULER_INTERVALS_MS, | 614 | SCHEDULER_INTERVALS_MS, |
@@ -576,6 +616,7 @@ export { | |||
576 | RATES_LIMIT, | 616 | RATES_LIMIT, |
577 | VIDEO_EXT_MIMETYPE, | 617 | VIDEO_EXT_MIMETYPE, |
578 | JOB_COMPLETED_LIFETIME, | 618 | JOB_COMPLETED_LIFETIME, |
619 | VIDEO_IMPORT_STATES, | ||
579 | VIDEO_VIEW_LIFETIME, | 620 | VIDEO_VIEW_LIFETIME, |
580 | buildLanguages | 621 | buildLanguages |
581 | } | 622 | } |
diff --git a/server/initializers/database.ts b/server/initializers/database.ts index 1a9ce5a61..0be752363 100644 --- a/server/initializers/database.ts +++ b/server/initializers/database.ts | |||
@@ -24,6 +24,7 @@ import { VideoTagModel } from '../models/video/video-tag' | |||
24 | import { CONFIG } from './constants' | 24 | import { CONFIG } from './constants' |
25 | import { ScheduleVideoUpdateModel } from '../models/video/schedule-video-update' | 25 | import { ScheduleVideoUpdateModel } from '../models/video/schedule-video-update' |
26 | import { VideoCaptionModel } from '../models/video/video-caption' | 26 | import { VideoCaptionModel } from '../models/video/video-caption' |
27 | import { VideoImportModel } from '../models/video/video-import' | ||
27 | 28 | ||
28 | require('pg').defaults.parseInt8 = true // Avoid BIGINT to be converted to string | 29 | require('pg').defaults.parseInt8 = true // Avoid BIGINT to be converted to string |
29 | 30 | ||
@@ -32,6 +33,7 @@ const username = CONFIG.DATABASE.USERNAME | |||
32 | const password = CONFIG.DATABASE.PASSWORD | 33 | const password = CONFIG.DATABASE.PASSWORD |
33 | const host = CONFIG.DATABASE.HOSTNAME | 34 | const host = CONFIG.DATABASE.HOSTNAME |
34 | const port = CONFIG.DATABASE.PORT | 35 | const port = CONFIG.DATABASE.PORT |
36 | const poolMax = CONFIG.DATABASE.POOL.MAX | ||
35 | 37 | ||
36 | const sequelizeTypescript = new SequelizeTypescript({ | 38 | const sequelizeTypescript = new SequelizeTypescript({ |
37 | database: dbname, | 39 | database: dbname, |
@@ -40,6 +42,9 @@ const sequelizeTypescript = new SequelizeTypescript({ | |||
40 | port, | 42 | port, |
41 | username, | 43 | username, |
42 | password, | 44 | password, |
45 | pool: { | ||
46 | max: poolMax | ||
47 | }, | ||
43 | benchmark: isTestInstance(), | 48 | benchmark: isTestInstance(), |
44 | isolationLevel: SequelizeTypescript.Transaction.ISOLATION_LEVELS.SERIALIZABLE, | 49 | isolationLevel: SequelizeTypescript.Transaction.ISOLATION_LEVELS.SERIALIZABLE, |
45 | operatorsAliases: false, | 50 | operatorsAliases: false, |
@@ -77,7 +82,8 @@ async function initDatabaseModels (silent: boolean) { | |||
77 | VideoTagModel, | 82 | VideoTagModel, |
78 | VideoModel, | 83 | VideoModel, |
79 | VideoCommentModel, | 84 | VideoCommentModel, |
80 | ScheduleVideoUpdateModel | 85 | ScheduleVideoUpdateModel, |
86 | VideoImportModel | ||
81 | ]) | 87 | ]) |
82 | 88 | ||
83 | // Check extensions exist in the database | 89 | // Check extensions exist in the database |
diff --git a/server/lib/activitypub/process/process-update.ts b/server/lib/activitypub/process/process-update.ts index 62791ff1b..82b661a03 100644 --- a/server/lib/activitypub/process/process-update.ts +++ b/server/lib/activitypub/process/process-update.ts | |||
@@ -108,7 +108,7 @@ async function processUpdateVideo (actor: ActorModel, activity: ActivityUpdate) | |||
108 | await Promise.all(videoFileDestroyTasks) | 108 | await Promise.all(videoFileDestroyTasks) |
109 | 109 | ||
110 | const videoFileAttributes = videoFileActivityUrlToDBAttributes(videoInstance, videoObject) | 110 | const videoFileAttributes = videoFileActivityUrlToDBAttributes(videoInstance, videoObject) |
111 | const tasks = videoFileAttributes.map(f => VideoFileModel.create(f)) | 111 | const tasks = videoFileAttributes.map(f => VideoFileModel.create(f, sequelizeOptions)) |
112 | await Promise.all(tasks) | 112 | await Promise.all(tasks) |
113 | 113 | ||
114 | // Update Tags | 114 | // Update Tags |
diff --git a/server/lib/activitypub/videos.ts b/server/lib/activitypub/videos.ts index b3fbf88d0..e2f46bd02 100644 --- a/server/lib/activitypub/videos.ts +++ b/server/lib/activitypub/videos.ts | |||
@@ -162,7 +162,8 @@ function videoFileActivityUrlToDBAttributes (videoCreated: VideoModel, videoObje | |||
162 | infoHash: parsed.infoHash, | 162 | infoHash: parsed.infoHash, |
163 | resolution: fileUrl.width, | 163 | resolution: fileUrl.width, |
164 | size: fileUrl.size, | 164 | size: fileUrl.size, |
165 | videoId: videoCreated.id | 165 | videoId: videoCreated.id, |
166 | fps: fileUrl.fps | ||
166 | } as VideoFileModel | 167 | } as VideoFileModel |
167 | attributes.push(attribute) | 168 | attributes.push(attribute) |
168 | } | 169 | } |
diff --git a/server/lib/job-queue/handlers/video-import.ts b/server/lib/job-queue/handlers/video-import.ts new file mode 100644 index 000000000..cdfe412cc --- /dev/null +++ b/server/lib/job-queue/handlers/video-import.ts | |||
@@ -0,0 +1,145 @@ | |||
1 | import * as Bull from 'bull' | ||
2 | import { logger } from '../../../helpers/logger' | ||
3 | import { downloadYoutubeDLVideo } from '../../../helpers/youtube-dl' | ||
4 | import { VideoImportModel } from '../../../models/video/video-import' | ||
5 | import { VideoImportState } from '../../../../shared/models/videos' | ||
6 | import { getDurationFromVideoFile, getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffmpeg-utils' | ||
7 | import { extname, join } from 'path' | ||
8 | import { VideoFileModel } from '../../../models/video/video-file' | ||
9 | import { renamePromise, statPromise, unlinkPromise } from '../../../helpers/core-utils' | ||
10 | import { CONFIG, sequelizeTypescript } from '../../../initializers' | ||
11 | import { doRequestAndSaveToFile } from '../../../helpers/requests' | ||
12 | import { VideoState } from '../../../../shared' | ||
13 | import { JobQueue } from '../index' | ||
14 | import { federateVideoIfNeeded } from '../../activitypub' | ||
15 | import { VideoModel } from '../../../models/video/video' | ||
16 | |||
17 | export type VideoImportPayload = { | ||
18 | type: 'youtube-dl' | ||
19 | videoImportId: number | ||
20 | thumbnailUrl: string | ||
21 | downloadThumbnail: boolean | ||
22 | downloadPreview: boolean | ||
23 | } | ||
24 | |||
25 | async function processVideoImport (job: Bull.Job) { | ||
26 | const payload = job.data as VideoImportPayload | ||
27 | logger.info('Processing video import in job %d.', job.id) | ||
28 | |||
29 | const videoImport = await VideoImportModel.loadAndPopulateVideo(payload.videoImportId) | ||
30 | if (!videoImport || !videoImport.Video) { | ||
31 | throw new Error('Cannot import video %s: the video import or video linked to this import does not exist anymore.') | ||
32 | } | ||
33 | |||
34 | let tempVideoPath: string | ||
35 | let videoDestFile: string | ||
36 | let videoFile: VideoFileModel | ||
37 | try { | ||
38 | // Download video from youtubeDL | ||
39 | tempVideoPath = await downloadYoutubeDLVideo(videoImport.targetUrl) | ||
40 | |||
41 | // Get information about this video | ||
42 | const { videoFileResolution } = await getVideoFileResolution(tempVideoPath) | ||
43 | const fps = await getVideoFileFPS(tempVideoPath) | ||
44 | const stats = await statPromise(tempVideoPath) | ||
45 | const duration = await getDurationFromVideoFile(tempVideoPath) | ||
46 | |||
47 | // Create video file object in database | ||
48 | const videoFileData = { | ||
49 | extname: extname(tempVideoPath), | ||
50 | resolution: videoFileResolution, | ||
51 | size: stats.size, | ||
52 | fps, | ||
53 | videoId: videoImport.videoId | ||
54 | } | ||
55 | videoFile = new VideoFileModel(videoFileData) | ||
56 | // Import if the import fails, to clean files | ||
57 | videoImport.Video.VideoFiles = [ videoFile ] | ||
58 | |||
59 | // Move file | ||
60 | videoDestFile = join(CONFIG.STORAGE.VIDEOS_DIR, videoImport.Video.getVideoFilename(videoFile)) | ||
61 | await renamePromise(tempVideoPath, videoDestFile) | ||
62 | tempVideoPath = null // This path is not used anymore | ||
63 | |||
64 | // Process thumbnail | ||
65 | if (payload.downloadThumbnail) { | ||
66 | if (payload.thumbnailUrl) { | ||
67 | const destThumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, videoImport.Video.getThumbnailName()) | ||
68 | await doRequestAndSaveToFile({ method: 'GET', uri: payload.thumbnailUrl }, destThumbnailPath) | ||
69 | } else { | ||
70 | await videoImport.Video.createThumbnail(videoFile) | ||
71 | } | ||
72 | } | ||
73 | |||
74 | // Process preview | ||
75 | if (payload.downloadPreview) { | ||
76 | if (payload.thumbnailUrl) { | ||
77 | const destPreviewPath = join(CONFIG.STORAGE.PREVIEWS_DIR, videoImport.Video.getPreviewName()) | ||
78 | await doRequestAndSaveToFile({ method: 'GET', uri: payload.thumbnailUrl }, destPreviewPath) | ||
79 | } else { | ||
80 | await videoImport.Video.createPreview(videoFile) | ||
81 | } | ||
82 | } | ||
83 | |||
84 | // Create torrent | ||
85 | await videoImport.Video.createTorrentAndSetInfoHash(videoFile) | ||
86 | |||
87 | const videoImportUpdated: VideoImportModel = await sequelizeTypescript.transaction(async t => { | ||
88 | // Refresh video | ||
89 | const video = await VideoModel.load(videoImport.videoId, t) | ||
90 | if (!video) throw new Error('Video linked to import ' + videoImport.videoId + ' does not exist anymore.') | ||
91 | videoImport.Video = video | ||
92 | |||
93 | const videoFileCreated = await videoFile.save({ transaction: t }) | ||
94 | video.VideoFiles = [ videoFileCreated ] | ||
95 | |||
96 | // Update video DB object | ||
97 | video.duration = duration | ||
98 | video.state = CONFIG.TRANSCODING.ENABLED ? VideoState.TO_TRANSCODE : VideoState.PUBLISHED | ||
99 | const videoUpdated = await video.save({ transaction: t }) | ||
100 | |||
101 | // Now we can federate the video (reload from database, we need more attributes) | ||
102 | const videoForFederation = await VideoModel.loadByUUIDAndPopulateAccountAndServerAndTags(video.uuid, t) | ||
103 | await federateVideoIfNeeded(videoForFederation, true, t) | ||
104 | |||
105 | // Update video import object | ||
106 | videoImport.state = VideoImportState.SUCCESS | ||
107 | const videoImportUpdated = await videoImport.save({ transaction: t }) | ||
108 | |||
109 | logger.info('Video %s imported.', videoImport.targetUrl) | ||
110 | |||
111 | videoImportUpdated.Video = videoUpdated | ||
112 | return videoImportUpdated | ||
113 | }) | ||
114 | |||
115 | // Create transcoding jobs? | ||
116 | if (videoImportUpdated.Video.state === VideoState.TO_TRANSCODE) { | ||
117 | // Put uuid because we don't have id auto incremented for now | ||
118 | const dataInput = { | ||
119 | videoUUID: videoImportUpdated.Video.uuid, | ||
120 | isNewVideo: true | ||
121 | } | ||
122 | |||
123 | await JobQueue.Instance.createJob({ type: 'video-file', payload: dataInput }) | ||
124 | } | ||
125 | |||
126 | } catch (err) { | ||
127 | try { | ||
128 | if (tempVideoPath) await unlinkPromise(tempVideoPath) | ||
129 | } catch (errUnlink) { | ||
130 | logger.warn('Cannot cleanup files after a video import error.', { err: errUnlink }) | ||
131 | } | ||
132 | |||
133 | videoImport.error = err.message | ||
134 | videoImport.state = VideoImportState.FAILED | ||
135 | await videoImport.save() | ||
136 | |||
137 | throw err | ||
138 | } | ||
139 | } | ||
140 | |||
141 | // --------------------------------------------------------------------------- | ||
142 | |||
143 | export { | ||
144 | processVideoImport | ||
145 | } | ||
diff --git a/server/lib/job-queue/job-queue.ts b/server/lib/job-queue/job-queue.ts index 8ff0c169e..8a24604e1 100644 --- a/server/lib/job-queue/job-queue.ts +++ b/server/lib/job-queue/job-queue.ts | |||
@@ -2,13 +2,14 @@ import * as Bull from 'bull' | |||
2 | import { JobState, JobType } from '../../../shared/models' | 2 | import { JobState, JobType } from '../../../shared/models' |
3 | import { logger } from '../../helpers/logger' | 3 | import { logger } from '../../helpers/logger' |
4 | import { Redis } from '../redis' | 4 | import { Redis } from '../redis' |
5 | import { CONFIG, JOB_ATTEMPTS, JOB_COMPLETED_LIFETIME, JOB_CONCURRENCY, JOB_REQUEST_TTL } from '../../initializers' | 5 | import { CONFIG, JOB_ATTEMPTS, JOB_COMPLETED_LIFETIME, JOB_CONCURRENCY, JOB_TTL } from '../../initializers' |
6 | import { ActivitypubHttpBroadcastPayload, processActivityPubHttpBroadcast } from './handlers/activitypub-http-broadcast' | 6 | import { ActivitypubHttpBroadcastPayload, processActivityPubHttpBroadcast } from './handlers/activitypub-http-broadcast' |
7 | import { ActivitypubHttpFetcherPayload, processActivityPubHttpFetcher } from './handlers/activitypub-http-fetcher' | 7 | import { ActivitypubHttpFetcherPayload, processActivityPubHttpFetcher } from './handlers/activitypub-http-fetcher' |
8 | import { ActivitypubHttpUnicastPayload, processActivityPubHttpUnicast } from './handlers/activitypub-http-unicast' | 8 | import { ActivitypubHttpUnicastPayload, processActivityPubHttpUnicast } from './handlers/activitypub-http-unicast' |
9 | import { EmailPayload, processEmail } from './handlers/email' | 9 | import { EmailPayload, processEmail } from './handlers/email' |
10 | import { processVideoFile, processVideoFileImport, VideoFileImportPayload, VideoFilePayload } from './handlers/video-file' | 10 | import { processVideoFile, processVideoFileImport, VideoFileImportPayload, VideoFilePayload } from './handlers/video-file' |
11 | import { ActivitypubFollowPayload, processActivityPubFollow } from './handlers/activitypub-follow' | 11 | import { ActivitypubFollowPayload, processActivityPubFollow } from './handlers/activitypub-follow' |
12 | import { processVideoImport, VideoImportPayload } from './handlers/video-import' | ||
12 | 13 | ||
13 | type CreateJobArgument = | 14 | type CreateJobArgument = |
14 | { type: 'activitypub-http-broadcast', payload: ActivitypubHttpBroadcastPayload } | | 15 | { type: 'activitypub-http-broadcast', payload: ActivitypubHttpBroadcastPayload } | |
@@ -17,7 +18,8 @@ type CreateJobArgument = | |||
17 | { type: 'activitypub-follow', payload: ActivitypubFollowPayload } | | 18 | { type: 'activitypub-follow', payload: ActivitypubFollowPayload } | |
18 | { type: 'video-file-import', payload: VideoFileImportPayload } | | 19 | { type: 'video-file-import', payload: VideoFileImportPayload } | |
19 | { type: 'video-file', payload: VideoFilePayload } | | 20 | { type: 'video-file', payload: VideoFilePayload } | |
20 | { type: 'email', payload: EmailPayload } | 21 | { type: 'email', payload: EmailPayload } | |
22 | { type: 'video-import', payload: VideoImportPayload } | ||
21 | 23 | ||
22 | const handlers: { [ id in JobType ]: (job: Bull.Job) => Promise<any>} = { | 24 | const handlers: { [ id in JobType ]: (job: Bull.Job) => Promise<any>} = { |
23 | 'activitypub-http-broadcast': processActivityPubHttpBroadcast, | 25 | 'activitypub-http-broadcast': processActivityPubHttpBroadcast, |
@@ -26,7 +28,8 @@ const handlers: { [ id in JobType ]: (job: Bull.Job) => Promise<any>} = { | |||
26 | 'activitypub-follow': processActivityPubFollow, | 28 | 'activitypub-follow': processActivityPubFollow, |
27 | 'video-file-import': processVideoFileImport, | 29 | 'video-file-import': processVideoFileImport, |
28 | 'video-file': processVideoFile, | 30 | 'video-file': processVideoFile, |
29 | 'email': processEmail | 31 | 'email': processEmail, |
32 | 'video-import': processVideoImport | ||
30 | } | 33 | } |
31 | 34 | ||
32 | const jobsWithRequestTimeout: { [ id in JobType ]?: boolean } = { | 35 | const jobsWithRequestTimeout: { [ id in JobType ]?: boolean } = { |
@@ -43,7 +46,8 @@ const jobTypes: JobType[] = [ | |||
43 | 'activitypub-http-unicast', | 46 | 'activitypub-http-unicast', |
44 | 'email', | 47 | 'email', |
45 | 'video-file', | 48 | 'video-file', |
46 | 'video-file-import' | 49 | 'video-file-import', |
50 | 'video-import' | ||
47 | ] | 51 | ] |
48 | 52 | ||
49 | class JobQueue { | 53 | class JobQueue { |
@@ -75,7 +79,11 @@ class JobQueue { | |||
75 | const handler = handlers[handlerName] | 79 | const handler = handlers[handlerName] |
76 | 80 | ||
77 | queue.process(JOB_CONCURRENCY[handlerName], handler) | 81 | queue.process(JOB_CONCURRENCY[handlerName], handler) |
78 | .catch(err => logger.error('Cannot execute job queue %s.', handlerName, { err })) | 82 | .catch(err => logger.error('Error in job queue processor %s.', handlerName, { err })) |
83 | |||
84 | queue.on('failed', (job, err) => { | ||
85 | logger.error('Cannot execute job %d in queue %s.', job.id, handlerName, { payload: job.data, err }) | ||
86 | }) | ||
79 | 87 | ||
80 | queue.on('error', err => { | 88 | queue.on('error', err => { |
81 | logger.error('Error in job queue %s.', handlerName, { err }) | 89 | logger.error('Error in job queue %s.', handlerName, { err }) |
@@ -102,11 +110,8 @@ class JobQueue { | |||
102 | 110 | ||
103 | const jobArgs: Bull.JobOptions = { | 111 | const jobArgs: Bull.JobOptions = { |
104 | backoff: { delay: 60 * 1000, type: 'exponential' }, | 112 | backoff: { delay: 60 * 1000, type: 'exponential' }, |
105 | attempts: JOB_ATTEMPTS[obj.type] | 113 | attempts: JOB_ATTEMPTS[obj.type], |
106 | } | 114 | timeout: JOB_TTL[obj.type] |
107 | |||
108 | if (jobsWithRequestTimeout[obj.type] === true) { | ||
109 | jobArgs.timeout = JOB_REQUEST_TTL | ||
110 | } | 115 | } |
111 | 116 | ||
112 | return queue.add(obj.payload, jobArgs) | 117 | return queue.add(obj.payload, jobArgs) |
diff --git a/server/lib/schedulers/youtube-dl-update-scheduler.ts b/server/lib/schedulers/youtube-dl-update-scheduler.ts new file mode 100644 index 000000000..a2d919603 --- /dev/null +++ b/server/lib/schedulers/youtube-dl-update-scheduler.ts | |||
@@ -0,0 +1,72 @@ | |||
1 | // Thanks: https://github.com/przemyslawpluta/node-youtube-dl/blob/master/lib/downloader.js | ||
2 | // We rewrote it to avoid sync calls | ||
3 | |||
4 | import { AbstractScheduler } from './abstract-scheduler' | ||
5 | import { SCHEDULER_INTERVALS_MS } from '../../initializers' | ||
6 | import { logger } from '../../helpers/logger' | ||
7 | import * as request from 'request' | ||
8 | import { createWriteStream, writeFile } from 'fs' | ||
9 | import { join } from 'path' | ||
10 | import { root } from '../../helpers/core-utils' | ||
11 | |||
12 | export class YoutubeDlUpdateScheduler extends AbstractScheduler { | ||
13 | |||
14 | private static instance: AbstractScheduler | ||
15 | |||
16 | protected schedulerIntervalMs = SCHEDULER_INTERVALS_MS.youtubeDLUpdate | ||
17 | |||
18 | private constructor () { | ||
19 | super() | ||
20 | } | ||
21 | |||
22 | async execute () { | ||
23 | const binDirectory = join(root(), 'node_modules', 'youtube-dl', 'bin') | ||
24 | const bin = join(binDirectory, 'youtube-dl') | ||
25 | const detailsPath = join(binDirectory, 'details') | ||
26 | const url = 'https://yt-dl.org/downloads/latest/youtube-dl' | ||
27 | |||
28 | request.get(url, { followRedirect: false }, (err, res) => { | ||
29 | if (err) { | ||
30 | logger.error('Cannot update youtube-dl.', { err }) | ||
31 | return | ||
32 | } | ||
33 | |||
34 | if (res.statusCode !== 302) { | ||
35 | logger.error('youtube-dl update error: did not get redirect for the latest version link. Status %d', res.statusCode) | ||
36 | return | ||
37 | } | ||
38 | |||
39 | const url = res.headers.location | ||
40 | const downloadFile = request.get(url) | ||
41 | const newVersion = /yt-dl\.org\/downloads\/(\d{4}\.\d\d\.\d\d(\.\d)?)\/youtube-dl/.exec(url)[1] | ||
42 | |||
43 | downloadFile.on('response', res => { | ||
44 | if (res.statusCode !== 200) { | ||
45 | logger.error('Cannot update youtube-dl: new version response is not 200, it\'s %d.', res.statusCode) | ||
46 | return | ||
47 | } | ||
48 | |||
49 | downloadFile.pipe(createWriteStream(bin, { mode: 493 })) | ||
50 | }) | ||
51 | |||
52 | downloadFile.on('error', err => logger.error('youtube-dl update error.', { err })) | ||
53 | |||
54 | downloadFile.on('end', () => { | ||
55 | const details = JSON.stringify({ version: newVersion, path: bin, exec: 'youtube-dl' }) | ||
56 | writeFile(detailsPath, details, { encoding: 'utf8' }, err => { | ||
57 | if (err) { | ||
58 | logger.error('youtube-dl update error: cannot write details.', { err }) | ||
59 | return | ||
60 | } | ||
61 | |||
62 | logger.info('youtube-dl updated to version %s.', newVersion) | ||
63 | }) | ||
64 | }) | ||
65 | |||
66 | }) | ||
67 | } | ||
68 | |||
69 | static get Instance () { | ||
70 | return this.instance || (this.instance = new this()) | ||
71 | } | ||
72 | } | ||
diff --git a/server/lib/user.ts b/server/lib/user.ts index ac5f55260..e7a45f5aa 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts | |||
@@ -17,6 +17,7 @@ async function createUserAccountAndChannel (userToCreate: UserModel, validateUse | |||
17 | 17 | ||
18 | const userCreated = await userToCreate.save(userOptions) | 18 | const userCreated = await userToCreate.save(userOptions) |
19 | const accountCreated = await createLocalAccountWithoutKeys(userToCreate.username, userToCreate.id, null, t) | 19 | const accountCreated = await createLocalAccountWithoutKeys(userToCreate.username, userToCreate.id, null, t) |
20 | userCreated.Account = accountCreated | ||
20 | 21 | ||
21 | const videoChannelDisplayName = `Default ${userCreated.username} channel` | 22 | const videoChannelDisplayName = `Default ${userCreated.username} channel` |
22 | const videoChannelInfo = { | 23 | const videoChannelInfo = { |
diff --git a/server/middlewares/validators/avatar.ts b/server/middlewares/validators/avatar.ts index f346ea92f..5860735c6 100644 --- a/server/middlewares/validators/avatar.ts +++ b/server/middlewares/validators/avatar.ts | |||
@@ -4,6 +4,7 @@ import { isAvatarFile } from '../../helpers/custom-validators/users' | |||
4 | import { areValidationErrors } from './utils' | 4 | import { areValidationErrors } from './utils' |
5 | import { CONSTRAINTS_FIELDS } from '../../initializers' | 5 | import { CONSTRAINTS_FIELDS } from '../../initializers' |
6 | import { logger } from '../../helpers/logger' | 6 | import { logger } from '../../helpers/logger' |
7 | import { cleanUpReqFiles } from '../../helpers/utils' | ||
7 | 8 | ||
8 | const updateAvatarValidator = [ | 9 | const updateAvatarValidator = [ |
9 | body('avatarfile').custom((value, { req }) => isAvatarFile(req.files)).withMessage( | 10 | body('avatarfile').custom((value, { req }) => isAvatarFile(req.files)).withMessage( |
@@ -14,7 +15,7 @@ const updateAvatarValidator = [ | |||
14 | (req: express.Request, res: express.Response, next: express.NextFunction) => { | 15 | (req: express.Request, res: express.Response, next: express.NextFunction) => { |
15 | logger.debug('Checking updateAvatarValidator parameters', { files: req.files }) | 16 | logger.debug('Checking updateAvatarValidator parameters', { files: req.files }) |
16 | 17 | ||
17 | if (areValidationErrors(req, res)) return | 18 | if (areValidationErrors(req, res)) return cleanUpReqFiles(req) |
18 | 19 | ||
19 | return next() | 20 | return next() |
20 | } | 21 | } |
diff --git a/server/middlewares/validators/config.ts b/server/middlewares/validators/config.ts index f58c0676c..9d303eee2 100644 --- a/server/middlewares/validators/config.ts +++ b/server/middlewares/validators/config.ts | |||
@@ -24,6 +24,7 @@ const customConfigUpdateValidator = [ | |||
24 | body('transcoding.resolutions.480p').isBoolean().withMessage('Should have a valid transcoding 480p resolution enabled boolean'), | 24 | body('transcoding.resolutions.480p').isBoolean().withMessage('Should have a valid transcoding 480p resolution enabled boolean'), |
25 | body('transcoding.resolutions.720p').isBoolean().withMessage('Should have a valid transcoding 720p resolution enabled boolean'), | 25 | body('transcoding.resolutions.720p').isBoolean().withMessage('Should have a valid transcoding 720p resolution enabled boolean'), |
26 | body('transcoding.resolutions.1080p').isBoolean().withMessage('Should have a valid transcoding 1080p resolution enabled boolean'), | 26 | body('transcoding.resolutions.1080p').isBoolean().withMessage('Should have a valid transcoding 1080p resolution enabled boolean'), |
27 | body('import.videos.http.enabled').isBoolean().withMessage('Should have a valid import video http enabled boolean'), | ||
27 | 28 | ||
28 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { | 29 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { |
29 | logger.debug('Checking customConfigUpdateValidator parameters', { parameters: req.body }) | 30 | logger.debug('Checking customConfigUpdateValidator parameters', { parameters: req.body }) |
diff --git a/server/middlewares/validators/index.ts b/server/middlewares/validators/index.ts index e3f0f5963..c5400c8f5 100644 --- a/server/middlewares/validators/index.ts +++ b/server/middlewares/validators/index.ts | |||
@@ -11,3 +11,4 @@ export * from './video-blacklist' | |||
11 | export * from './video-channels' | 11 | export * from './video-channels' |
12 | export * from './webfinger' | 12 | export * from './webfinger' |
13 | export * from './search' | 13 | export * from './search' |
14 | export * from './video-imports' | ||
diff --git a/server/middlewares/validators/sort.ts b/server/middlewares/validators/sort.ts index 00bde548c..d85611773 100644 --- a/server/middlewares/validators/sort.ts +++ b/server/middlewares/validators/sort.ts | |||
@@ -8,6 +8,7 @@ const SORTABLE_JOBS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.JOBS) | |||
8 | const SORTABLE_VIDEO_ABUSES_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_ABUSES) | 8 | const SORTABLE_VIDEO_ABUSES_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_ABUSES) |
9 | const SORTABLE_VIDEOS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEOS) | 9 | const SORTABLE_VIDEOS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEOS) |
10 | const SORTABLE_VIDEOS_SEARCH_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEOS_SEARCH) | 10 | const SORTABLE_VIDEOS_SEARCH_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEOS_SEARCH) |
11 | const SORTABLE_VIDEO_IMPORTS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_IMPORTS) | ||
11 | const SORTABLE_VIDEO_COMMENT_THREADS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_COMMENT_THREADS) | 12 | const SORTABLE_VIDEO_COMMENT_THREADS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_COMMENT_THREADS) |
12 | const SORTABLE_BLACKLISTS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.BLACKLISTS) | 13 | const SORTABLE_BLACKLISTS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.BLACKLISTS) |
13 | const SORTABLE_VIDEO_CHANNELS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_CHANNELS) | 14 | const SORTABLE_VIDEO_CHANNELS_COLUMNS = createSortableColumns(SORTABLE_COLUMNS.VIDEO_CHANNELS) |
@@ -19,6 +20,7 @@ const accountsSortValidator = checkSort(SORTABLE_ACCOUNTS_COLUMNS) | |||
19 | const jobsSortValidator = checkSort(SORTABLE_JOBS_COLUMNS) | 20 | const jobsSortValidator = checkSort(SORTABLE_JOBS_COLUMNS) |
20 | const videoAbusesSortValidator = checkSort(SORTABLE_VIDEO_ABUSES_COLUMNS) | 21 | const videoAbusesSortValidator = checkSort(SORTABLE_VIDEO_ABUSES_COLUMNS) |
21 | const videosSortValidator = checkSort(SORTABLE_VIDEOS_COLUMNS) | 22 | const videosSortValidator = checkSort(SORTABLE_VIDEOS_COLUMNS) |
23 | const videoImportsSortValidator = checkSort(SORTABLE_VIDEO_IMPORTS_COLUMNS) | ||
22 | const videosSearchSortValidator = checkSort(SORTABLE_VIDEOS_SEARCH_COLUMNS) | 24 | const videosSearchSortValidator = checkSort(SORTABLE_VIDEOS_SEARCH_COLUMNS) |
23 | const videoCommentThreadsSortValidator = checkSort(SORTABLE_VIDEO_COMMENT_THREADS_COLUMNS) | 25 | const videoCommentThreadsSortValidator = checkSort(SORTABLE_VIDEO_COMMENT_THREADS_COLUMNS) |
24 | const blacklistSortValidator = checkSort(SORTABLE_BLACKLISTS_COLUMNS) | 26 | const blacklistSortValidator = checkSort(SORTABLE_BLACKLISTS_COLUMNS) |
@@ -32,6 +34,7 @@ export { | |||
32 | usersSortValidator, | 34 | usersSortValidator, |
33 | videoAbusesSortValidator, | 35 | videoAbusesSortValidator, |
34 | videoChannelsSortValidator, | 36 | videoChannelsSortValidator, |
37 | videoImportsSortValidator, | ||
35 | videosSearchSortValidator, | 38 | videosSearchSortValidator, |
36 | videosSortValidator, | 39 | videosSortValidator, |
37 | blacklistSortValidator, | 40 | blacklistSortValidator, |
diff --git a/server/middlewares/validators/video-captions.ts b/server/middlewares/validators/video-captions.ts index b6d92d380..18d537bc4 100644 --- a/server/middlewares/validators/video-captions.ts +++ b/server/middlewares/validators/video-captions.ts | |||
@@ -7,6 +7,7 @@ import { CONSTRAINTS_FIELDS } from '../../initializers' | |||
7 | import { UserRight } from '../../../shared' | 7 | import { UserRight } from '../../../shared' |
8 | import { logger } from '../../helpers/logger' | 8 | import { logger } from '../../helpers/logger' |
9 | import { isVideoCaptionExist, isVideoCaptionFile, isVideoCaptionLanguageValid } from '../../helpers/custom-validators/video-captions' | 9 | import { isVideoCaptionExist, isVideoCaptionFile, isVideoCaptionLanguageValid } from '../../helpers/custom-validators/video-captions' |
10 | import { cleanUpReqFiles } from '../../helpers/utils' | ||
10 | 11 | ||
11 | const addVideoCaptionValidator = [ | 12 | const addVideoCaptionValidator = [ |
12 | param('videoId').custom(isIdOrUUIDValid).not().isEmpty().withMessage('Should have a valid video id'), | 13 | param('videoId').custom(isIdOrUUIDValid).not().isEmpty().withMessage('Should have a valid video id'), |
@@ -20,12 +21,12 @@ const addVideoCaptionValidator = [ | |||
20 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { | 21 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { |
21 | logger.debug('Checking addVideoCaption parameters', { parameters: req.body }) | 22 | logger.debug('Checking addVideoCaption parameters', { parameters: req.body }) |
22 | 23 | ||
23 | if (areValidationErrors(req, res)) return | 24 | if (areValidationErrors(req, res)) return cleanUpReqFiles(req) |
24 | if (!await isVideoExist(req.params.videoId, res)) return | 25 | if (!await isVideoExist(req.params.videoId, res)) return cleanUpReqFiles(req) |
25 | 26 | ||
26 | // Check if the user who did the request is able to update the video | 27 | // Check if the user who did the request is able to update the video |
27 | const user = res.locals.oauth.token.User | 28 | const user = res.locals.oauth.token.User |
28 | if (!checkUserCanManageVideo(user, res.locals.video, UserRight.UPDATE_ANY_VIDEO, res)) return | 29 | if (!checkUserCanManageVideo(user, res.locals.video, UserRight.UPDATE_ANY_VIDEO, res)) return cleanUpReqFiles(req) |
29 | 30 | ||
30 | return next() | 31 | return next() |
31 | } | 32 | } |
diff --git a/server/middlewares/validators/video-channels.ts b/server/middlewares/validators/video-channels.ts index 7f65f7290..143ce9582 100644 --- a/server/middlewares/validators/video-channels.ts +++ b/server/middlewares/validators/video-channels.ts | |||
@@ -1,7 +1,7 @@ | |||
1 | import * as express from 'express' | 1 | import * as express from 'express' |
2 | import { body, param } from 'express-validator/check' | 2 | import { body, param } from 'express-validator/check' |
3 | import { UserRight } from '../../../shared' | 3 | import { UserRight } from '../../../shared' |
4 | import { isAccountIdExist, isAccountNameWithHostExist } from '../../helpers/custom-validators/accounts' | 4 | import { isAccountNameWithHostExist } from '../../helpers/custom-validators/accounts' |
5 | import { isIdOrUUIDValid } from '../../helpers/custom-validators/misc' | 5 | import { isIdOrUUIDValid } from '../../helpers/custom-validators/misc' |
6 | import { | 6 | import { |
7 | isVideoChannelDescriptionValid, | 7 | isVideoChannelDescriptionValid, |
@@ -13,8 +13,6 @@ import { logger } from '../../helpers/logger' | |||
13 | import { UserModel } from '../../models/account/user' | 13 | import { UserModel } from '../../models/account/user' |
14 | import { VideoChannelModel } from '../../models/video/video-channel' | 14 | import { VideoChannelModel } from '../../models/video/video-channel' |
15 | import { areValidationErrors } from './utils' | 15 | import { areValidationErrors } from './utils' |
16 | import { isAvatarFile } from '../../helpers/custom-validators/users' | ||
17 | import { CONSTRAINTS_FIELDS } from '../../initializers' | ||
18 | 16 | ||
19 | const listVideoAccountChannelsValidator = [ | 17 | const listVideoAccountChannelsValidator = [ |
20 | param('accountName').exists().withMessage('Should have a valid account name'), | 18 | param('accountName').exists().withMessage('Should have a valid account name'), |
diff --git a/server/middlewares/validators/video-imports.ts b/server/middlewares/validators/video-imports.ts new file mode 100644 index 000000000..d806edfa3 --- /dev/null +++ b/server/middlewares/validators/video-imports.ts | |||
@@ -0,0 +1,47 @@ | |||
1 | import * as express from 'express' | ||
2 | import { body } from 'express-validator/check' | ||
3 | import { isIdValid } from '../../helpers/custom-validators/misc' | ||
4 | import { logger } from '../../helpers/logger' | ||
5 | import { areValidationErrors } from './utils' | ||
6 | import { getCommonVideoAttributes } from './videos' | ||
7 | import { isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports' | ||
8 | import { cleanUpReqFiles } from '../../helpers/utils' | ||
9 | import { isVideoChannelOfAccountExist, isVideoNameValid } from '../../helpers/custom-validators/videos' | ||
10 | import { CONFIG } from '../../initializers/constants' | ||
11 | |||
12 | const videoImportAddValidator = getCommonVideoAttributes().concat([ | ||
13 | body('targetUrl').custom(isVideoImportTargetUrlValid).withMessage('Should have a valid video import target URL'), | ||
14 | body('channelId') | ||
15 | .toInt() | ||
16 | .custom(isIdValid).withMessage('Should have correct video channel id'), | ||
17 | body('name') | ||
18 | .optional() | ||
19 | .custom(isVideoNameValid).withMessage('Should have a valid name'), | ||
20 | |||
21 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { | ||
22 | logger.debug('Checking videoImportAddValidator parameters', { parameters: req.body }) | ||
23 | |||
24 | const user = res.locals.oauth.token.User | ||
25 | |||
26 | if (areValidationErrors(req, res)) return cleanUpReqFiles(req) | ||
27 | |||
28 | if (CONFIG.IMPORT.VIDEOS.HTTP.ENABLED !== true) { | ||
29 | cleanUpReqFiles(req) | ||
30 | return res.status(409) | ||
31 | .json({ error: 'Import is not enabled on this instance.' }) | ||
32 | .end() | ||
33 | } | ||
34 | |||
35 | if (!await isVideoChannelOfAccountExist(req.body.channelId, user, res)) return cleanUpReqFiles(req) | ||
36 | |||
37 | return next() | ||
38 | } | ||
39 | ]) | ||
40 | |||
41 | // --------------------------------------------------------------------------- | ||
42 | |||
43 | export { | ||
44 | videoImportAddValidator | ||
45 | } | ||
46 | |||
47 | // --------------------------------------------------------------------------- | ||
diff --git a/server/middlewares/validators/videos.ts b/server/middlewares/validators/videos.ts index d9af2aa0a..c812d4677 100644 --- a/server/middlewares/validators/videos.ts +++ b/server/middlewares/validators/videos.ts | |||
@@ -35,6 +35,7 @@ import { CONSTRAINTS_FIELDS } from '../../initializers' | |||
35 | import { VideoShareModel } from '../../models/video/video-share' | 35 | import { VideoShareModel } from '../../models/video/video-share' |
36 | import { authenticate } from '../oauth' | 36 | import { authenticate } from '../oauth' |
37 | import { areValidationErrors } from './utils' | 37 | import { areValidationErrors } from './utils' |
38 | import { cleanUpReqFiles } from '../../helpers/utils' | ||
38 | 39 | ||
39 | const videosAddValidator = getCommonVideoAttributes().concat([ | 40 | const videosAddValidator = getCommonVideoAttributes().concat([ |
40 | body('videofile') | 41 | body('videofile') |
@@ -50,13 +51,13 @@ const videosAddValidator = getCommonVideoAttributes().concat([ | |||
50 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { | 51 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { |
51 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) | 52 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) |
52 | 53 | ||
53 | if (areValidationErrors(req, res)) return | 54 | if (areValidationErrors(req, res)) return cleanUpReqFiles(req) |
54 | if (areErrorsInScheduleUpdate(req, res)) return | 55 | if (areErrorsInScheduleUpdate(req, res)) return cleanUpReqFiles(req) |
55 | 56 | ||
56 | const videoFile: Express.Multer.File = req.files['videofile'][0] | 57 | const videoFile: Express.Multer.File = req.files['videofile'][0] |
57 | const user = res.locals.oauth.token.User | 58 | const user = res.locals.oauth.token.User |
58 | 59 | ||
59 | if (!await isVideoChannelOfAccountExist(req.body.channelId, user, res)) return | 60 | if (!await isVideoChannelOfAccountExist(req.body.channelId, user, res)) return cleanUpReqFiles(req) |
60 | 61 | ||
61 | const isAble = await user.isAbleToUploadVideo(videoFile) | 62 | const isAble = await user.isAbleToUploadVideo(videoFile) |
62 | if (isAble === false) { | 63 | if (isAble === false) { |
@@ -64,7 +65,7 @@ const videosAddValidator = getCommonVideoAttributes().concat([ | |||
64 | .json({ error: 'The user video quota is exceeded with this video.' }) | 65 | .json({ error: 'The user video quota is exceeded with this video.' }) |
65 | .end() | 66 | .end() |
66 | 67 | ||
67 | return | 68 | return cleanUpReqFiles(req) |
68 | } | 69 | } |
69 | 70 | ||
70 | let duration: number | 71 | let duration: number |
@@ -77,7 +78,7 @@ const videosAddValidator = getCommonVideoAttributes().concat([ | |||
77 | .json({ error: 'Invalid input file.' }) | 78 | .json({ error: 'Invalid input file.' }) |
78 | .end() | 79 | .end() |
79 | 80 | ||
80 | return | 81 | return cleanUpReqFiles(req) |
81 | } | 82 | } |
82 | 83 | ||
83 | videoFile['duration'] = duration | 84 | videoFile['duration'] = duration |
@@ -99,23 +100,24 @@ const videosUpdateValidator = getCommonVideoAttributes().concat([ | |||
99 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { | 100 | async (req: express.Request, res: express.Response, next: express.NextFunction) => { |
100 | logger.debug('Checking videosUpdate parameters', { parameters: req.body }) | 101 | logger.debug('Checking videosUpdate parameters', { parameters: req.body }) |
101 | 102 | ||
102 | if (areValidationErrors(req, res)) return | 103 | if (areValidationErrors(req, res)) return cleanUpReqFiles(req) |
103 | if (areErrorsInScheduleUpdate(req, res)) return | 104 | if (areErrorsInScheduleUpdate(req, res)) return cleanUpReqFiles(req) |
104 | if (!await isVideoExist(req.params.id, res)) return | 105 | if (!await isVideoExist(req.params.id, res)) return cleanUpReqFiles(req) |
105 | 106 | ||
106 | const video = res.locals.video | 107 | const video = res.locals.video |
107 | 108 | ||
108 | // Check if the user who did the request is able to update the video | 109 | // Check if the user who did the request is able to update the video |
109 | const user = res.locals.oauth.token.User | 110 | const user = res.locals.oauth.token.User |
110 | if (!checkUserCanManageVideo(user, res.locals.video, UserRight.UPDATE_ANY_VIDEO, res)) return | 111 | if (!checkUserCanManageVideo(user, res.locals.video, UserRight.UPDATE_ANY_VIDEO, res)) return cleanUpReqFiles(req) |
111 | 112 | ||
112 | if (video.privacy !== VideoPrivacy.PRIVATE && req.body.privacy === VideoPrivacy.PRIVATE) { | 113 | if (video.privacy !== VideoPrivacy.PRIVATE && req.body.privacy === VideoPrivacy.PRIVATE) { |
114 | cleanUpReqFiles(req) | ||
113 | return res.status(409) | 115 | return res.status(409) |
114 | .json({ error: 'Cannot set "private" a video that was not private.' }) | 116 | .json({ error: 'Cannot set "private" a video that was not private.' }) |
115 | .end() | 117 | .end() |
116 | } | 118 | } |
117 | 119 | ||
118 | if (req.body.channelId && !await isVideoChannelOfAccountExist(req.body.channelId, user, res)) return | 120 | if (req.body.channelId && !await isVideoChannelOfAccountExist(req.body.channelId, user, res)) return cleanUpReqFiles(req) |
119 | 121 | ||
120 | return next() | 122 | return next() |
121 | } | 123 | } |
@@ -221,36 +223,6 @@ const videosShareValidator = [ | |||
221 | } | 223 | } |
222 | ] | 224 | ] |
223 | 225 | ||
224 | // --------------------------------------------------------------------------- | ||
225 | |||
226 | export { | ||
227 | videosAddValidator, | ||
228 | videosUpdateValidator, | ||
229 | videosGetValidator, | ||
230 | videosRemoveValidator, | ||
231 | videosShareValidator, | ||
232 | |||
233 | videoAbuseReportValidator, | ||
234 | |||
235 | videoRateValidator | ||
236 | } | ||
237 | |||
238 | // --------------------------------------------------------------------------- | ||
239 | |||
240 | function areErrorsInScheduleUpdate (req: express.Request, res: express.Response) { | ||
241 | if (req.body.scheduleUpdate) { | ||
242 | if (!req.body.scheduleUpdate.updateAt) { | ||
243 | res.status(400) | ||
244 | .json({ error: 'Schedule update at is mandatory.' }) | ||
245 | .end() | ||
246 | |||
247 | return true | ||
248 | } | ||
249 | } | ||
250 | |||
251 | return false | ||
252 | } | ||
253 | |||
254 | function getCommonVideoAttributes () { | 226 | function getCommonVideoAttributes () { |
255 | return [ | 227 | return [ |
256 | body('thumbnailfile') | 228 | body('thumbnailfile') |
@@ -317,3 +289,35 @@ function getCommonVideoAttributes () { | |||
317 | .custom(isScheduleVideoUpdatePrivacyValid).withMessage('Should have correct schedule update privacy') | 289 | .custom(isScheduleVideoUpdatePrivacyValid).withMessage('Should have correct schedule update privacy') |
318 | ] as (ValidationChain | express.Handler)[] | 290 | ] as (ValidationChain | express.Handler)[] |
319 | } | 291 | } |
292 | |||
293 | // --------------------------------------------------------------------------- | ||
294 | |||
295 | export { | ||
296 | videosAddValidator, | ||
297 | videosUpdateValidator, | ||
298 | videosGetValidator, | ||
299 | videosRemoveValidator, | ||
300 | videosShareValidator, | ||
301 | |||
302 | videoAbuseReportValidator, | ||
303 | |||
304 | videoRateValidator, | ||
305 | |||
306 | getCommonVideoAttributes | ||
307 | } | ||
308 | |||
309 | // --------------------------------------------------------------------------- | ||
310 | |||
311 | function areErrorsInScheduleUpdate (req: express.Request, res: express.Response) { | ||
312 | if (req.body.scheduleUpdate) { | ||
313 | if (!req.body.scheduleUpdate.updateAt) { | ||
314 | res.status(400) | ||
315 | .json({ error: 'Schedule update at is mandatory.' }) | ||
316 | .end() | ||
317 | |||
318 | return true | ||
319 | } | ||
320 | } | ||
321 | |||
322 | return false | ||
323 | } | ||
diff --git a/server/models/account/account.ts b/server/models/account/account.ts index d674d8d22..66f5dcf2e 100644 --- a/server/models/account/account.ts +++ b/server/models/account/account.ts | |||
@@ -16,7 +16,6 @@ import { | |||
16 | } from 'sequelize-typescript' | 16 | } from 'sequelize-typescript' |
17 | import { Account } from '../../../shared/models/actors' | 17 | import { Account } from '../../../shared/models/actors' |
18 | import { isAccountDescriptionValid } from '../../helpers/custom-validators/accounts' | 18 | import { isAccountDescriptionValid } from '../../helpers/custom-validators/accounts' |
19 | import { logger } from '../../helpers/logger' | ||
20 | import { sendDeleteActor } from '../../lib/activitypub/send' | 19 | import { sendDeleteActor } from '../../lib/activitypub/send' |
21 | import { ActorModel } from '../activitypub/actor' | 20 | import { ActorModel } from '../activitypub/actor' |
22 | import { ApplicationModel } from '../application/application' | 21 | import { ApplicationModel } from '../application/application' |
diff --git a/server/models/activitypub/actor.ts b/server/models/activitypub/actor.ts index 267032e2a..35d7c35e8 100644 --- a/server/models/activitypub/actor.ts +++ b/server/models/activitypub/actor.ts | |||
@@ -91,6 +91,9 @@ enum ScopeNames { | |||
91 | fields: [ 'inboxUrl', 'sharedInboxUrl' ] | 91 | fields: [ 'inboxUrl', 'sharedInboxUrl' ] |
92 | }, | 92 | }, |
93 | { | 93 | { |
94 | fields: [ 'sharedInboxUrl' ] | ||
95 | }, | ||
96 | { | ||
94 | fields: [ 'serverId' ] | 97 | fields: [ 'serverId' ] |
95 | }, | 98 | }, |
96 | { | 99 | { |
@@ -454,6 +457,10 @@ export class ActorModel extends Model<ActorModel> { | |||
454 | return 'acct:' + this.preferredUsername + '@' + this.getHost() | 457 | return 'acct:' + this.preferredUsername + '@' + this.getHost() |
455 | } | 458 | } |
456 | 459 | ||
460 | getIdentifier () { | ||
461 | return this.Server ? `${this.preferredUsername}@${this.Server.host}` : this.preferredUsername | ||
462 | } | ||
463 | |||
457 | getHost () { | 464 | getHost () { |
458 | return this.Server ? this.Server.host : CONFIG.WEBSERVER.HOST | 465 | return this.Server ? this.Server.host : CONFIG.WEBSERVER.HOST |
459 | } | 466 | } |
diff --git a/server/models/video/video-import.ts b/server/models/video/video-import.ts new file mode 100644 index 000000000..eca87163d --- /dev/null +++ b/server/models/video/video-import.ts | |||
@@ -0,0 +1,175 @@ | |||
1 | import { | ||
2 | AfterUpdate, | ||
3 | AllowNull, | ||
4 | BelongsTo, | ||
5 | Column, | ||
6 | CreatedAt, | ||
7 | DataType, | ||
8 | Default, | ||
9 | DefaultScope, | ||
10 | ForeignKey, | ||
11 | Is, | ||
12 | Model, | ||
13 | Table, | ||
14 | UpdatedAt | ||
15 | } from 'sequelize-typescript' | ||
16 | import { CONSTRAINTS_FIELDS, VIDEO_IMPORT_STATES } from '../../initializers' | ||
17 | import { getSort, throwIfNotValid } from '../utils' | ||
18 | import { VideoModel } from './video' | ||
19 | import { isVideoImportStateValid, isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports' | ||
20 | import { VideoImport, VideoImportState } from '../../../shared' | ||
21 | import { VideoChannelModel } from './video-channel' | ||
22 | import { AccountModel } from '../account/account' | ||
23 | import { TagModel } from './tag' | ||
24 | |||
25 | @DefaultScope({ | ||
26 | include: [ | ||
27 | { | ||
28 | model: () => VideoModel, | ||
29 | required: false, | ||
30 | include: [ | ||
31 | { | ||
32 | model: () => VideoChannelModel, | ||
33 | required: true, | ||
34 | include: [ | ||
35 | { | ||
36 | model: () => AccountModel, | ||
37 | required: true | ||
38 | } | ||
39 | ] | ||
40 | }, | ||
41 | { | ||
42 | model: () => TagModel | ||
43 | } | ||
44 | ] | ||
45 | } | ||
46 | ] | ||
47 | }) | ||
48 | |||
49 | @Table({ | ||
50 | tableName: 'videoImport', | ||
51 | indexes: [ | ||
52 | { | ||
53 | fields: [ 'videoId' ], | ||
54 | unique: true | ||
55 | } | ||
56 | ] | ||
57 | }) | ||
58 | export class VideoImportModel extends Model<VideoImportModel> { | ||
59 | @CreatedAt | ||
60 | createdAt: Date | ||
61 | |||
62 | @UpdatedAt | ||
63 | updatedAt: Date | ||
64 | |||
65 | @AllowNull(false) | ||
66 | @Is('VideoImportTargetUrl', value => throwIfNotValid(value, isVideoImportTargetUrlValid, 'targetUrl')) | ||
67 | @Column(DataType.STRING(CONSTRAINTS_FIELDS.VIDEO_IMPORTS.URL.max)) | ||
68 | targetUrl: string | ||
69 | |||
70 | @AllowNull(false) | ||
71 | @Default(null) | ||
72 | @Is('VideoImportState', value => throwIfNotValid(value, isVideoImportStateValid, 'state')) | ||
73 | @Column | ||
74 | state: VideoImportState | ||
75 | |||
76 | @AllowNull(true) | ||
77 | @Default(null) | ||
78 | @Column(DataType.TEXT) | ||
79 | error: string | ||
80 | |||
81 | @ForeignKey(() => VideoModel) | ||
82 | @Column | ||
83 | videoId: number | ||
84 | |||
85 | @BelongsTo(() => VideoModel, { | ||
86 | foreignKey: { | ||
87 | allowNull: true | ||
88 | }, | ||
89 | onDelete: 'set null' | ||
90 | }) | ||
91 | Video: VideoModel | ||
92 | |||
93 | @AfterUpdate | ||
94 | static deleteVideoIfFailed (instance: VideoImportModel, options) { | ||
95 | if (instance.state === VideoImportState.FAILED) { | ||
96 | return instance.Video.destroy({ transaction: options.transaction }) | ||
97 | } | ||
98 | |||
99 | return undefined | ||
100 | } | ||
101 | |||
102 | static loadAndPopulateVideo (id: number) { | ||
103 | return VideoImportModel.findById(id) | ||
104 | } | ||
105 | |||
106 | static listUserVideoImportsForApi (accountId: number, start: number, count: number, sort: string) { | ||
107 | const query = { | ||
108 | distinct: true, | ||
109 | offset: start, | ||
110 | limit: count, | ||
111 | order: getSort(sort), | ||
112 | include: [ | ||
113 | { | ||
114 | model: VideoModel, | ||
115 | required: false, | ||
116 | include: [ | ||
117 | { | ||
118 | model: VideoChannelModel, | ||
119 | required: true, | ||
120 | include: [ | ||
121 | { | ||
122 | model: AccountModel, | ||
123 | required: true, | ||
124 | where: { | ||
125 | id: accountId | ||
126 | } | ||
127 | } | ||
128 | ] | ||
129 | }, | ||
130 | { | ||
131 | model: TagModel, | ||
132 | required: false | ||
133 | } | ||
134 | ] | ||
135 | } | ||
136 | ] | ||
137 | } | ||
138 | |||
139 | return VideoImportModel.unscoped() | ||
140 | .findAndCountAll(query) | ||
141 | .then(({ rows, count }) => { | ||
142 | return { | ||
143 | data: rows, | ||
144 | total: count | ||
145 | } | ||
146 | }) | ||
147 | } | ||
148 | |||
149 | toFormattedJSON (): VideoImport { | ||
150 | const videoFormatOptions = { | ||
151 | additionalAttributes: { state: true, waitTranscoding: true, scheduledUpdate: true } | ||
152 | } | ||
153 | const video = this.Video | ||
154 | ? Object.assign(this.Video.toFormattedJSON(videoFormatOptions), { | ||
155 | tags: this.Video.Tags.map(t => t.name) | ||
156 | }) | ||
157 | : undefined | ||
158 | |||
159 | return { | ||
160 | id: this.id, | ||
161 | targetUrl: this.targetUrl, | ||
162 | state: { | ||
163 | id: this.state, | ||
164 | label: VideoImportModel.getStateLabel(this.state) | ||
165 | }, | ||
166 | error: this.error, | ||
167 | updatedAt: this.updatedAt.toISOString(), | ||
168 | createdAt: this.createdAt.toISOString(), | ||
169 | video | ||
170 | } | ||
171 | } | ||
172 | private static getStateLabel (id: number) { | ||
173 | return VIDEO_IMPORT_STATES[id] || 'Unknown' | ||
174 | } | ||
175 | } | ||
diff --git a/server/models/video/video.ts b/server/models/video/video.ts index a6c4620b2..39fe21007 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts | |||
@@ -377,7 +377,7 @@ type AvailableForListOptions = { | |||
377 | include: [ | 377 | include: [ |
378 | { | 378 | { |
379 | model: () => VideoFileModel.unscoped(), | 379 | model: () => VideoFileModel.unscoped(), |
380 | required: true | 380 | required: false |
381 | } | 381 | } |
382 | ] | 382 | ] |
383 | }, | 383 | }, |
@@ -957,8 +957,10 @@ export class VideoModel extends Model<VideoModel> { | |||
957 | }) | 957 | }) |
958 | } | 958 | } |
959 | 959 | ||
960 | static load (id: number) { | 960 | static load (id: number, t?: Sequelize.Transaction) { |
961 | return VideoModel.findById(id) | 961 | const options = t ? { transaction: t } : undefined |
962 | |||
963 | return VideoModel.findById(id, options) | ||
962 | } | 964 | } |
963 | 965 | ||
964 | static loadByUrlAndPopulateAccount (url: string, t?: Sequelize.Transaction) { | 966 | static loadByUrlAndPopulateAccount (url: string, t?: Sequelize.Transaction) { |
@@ -1353,7 +1355,8 @@ export class VideoModel extends Model<VideoModel> { | |||
1353 | mimeType: VIDEO_EXT_MIMETYPE[file.extname], | 1355 | mimeType: VIDEO_EXT_MIMETYPE[file.extname], |
1354 | href: this.getVideoFileUrl(file, baseUrlHttp), | 1356 | href: this.getVideoFileUrl(file, baseUrlHttp), |
1355 | width: file.resolution, | 1357 | width: file.resolution, |
1356 | size: file.size | 1358 | size: file.size, |
1359 | fps: file.fps | ||
1357 | }) | 1360 | }) |
1358 | 1361 | ||
1359 | url.push({ | 1362 | url.push({ |
@@ -1569,21 +1572,25 @@ export class VideoModel extends Model<VideoModel> { | |||
1569 | removeThumbnail () { | 1572 | removeThumbnail () { |
1570 | const thumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, this.getThumbnailName()) | 1573 | const thumbnailPath = join(CONFIG.STORAGE.THUMBNAILS_DIR, this.getThumbnailName()) |
1571 | return unlinkPromise(thumbnailPath) | 1574 | return unlinkPromise(thumbnailPath) |
1575 | .catch(err => logger.warn('Cannot delete thumbnail %s.', thumbnailPath, { err })) | ||
1572 | } | 1576 | } |
1573 | 1577 | ||
1574 | removePreview () { | 1578 | removePreview () { |
1575 | // Same name than video thumbnail | 1579 | const previewPath = join(CONFIG.STORAGE.PREVIEWS_DIR + this.getPreviewName()) |
1576 | return unlinkPromise(CONFIG.STORAGE.PREVIEWS_DIR + this.getPreviewName()) | 1580 | return unlinkPromise(previewPath) |
1581 | .catch(err => logger.warn('Cannot delete preview %s.', previewPath, { err })) | ||
1577 | } | 1582 | } |
1578 | 1583 | ||
1579 | removeFile (videoFile: VideoFileModel) { | 1584 | removeFile (videoFile: VideoFileModel) { |
1580 | const filePath = join(CONFIG.STORAGE.VIDEOS_DIR, this.getVideoFilename(videoFile)) | 1585 | const filePath = join(CONFIG.STORAGE.VIDEOS_DIR, this.getVideoFilename(videoFile)) |
1581 | return unlinkPromise(filePath) | 1586 | return unlinkPromise(filePath) |
1587 | .catch(err => logger.warn('Cannot delete file %s.', filePath, { err })) | ||
1582 | } | 1588 | } |
1583 | 1589 | ||
1584 | removeTorrent (videoFile: VideoFileModel) { | 1590 | removeTorrent (videoFile: VideoFileModel) { |
1585 | const torrentPath = join(CONFIG.STORAGE.TORRENTS_DIR, this.getTorrentFileName(videoFile)) | 1591 | const torrentPath = join(CONFIG.STORAGE.TORRENTS_DIR, this.getTorrentFileName(videoFile)) |
1586 | return unlinkPromise(torrentPath) | 1592 | return unlinkPromise(torrentPath) |
1593 | .catch(err => logger.warn('Cannot delete torrent %s.', torrentPath, { err })) | ||
1587 | } | 1594 | } |
1588 | 1595 | ||
1589 | getActivityStreamDuration () { | 1596 | getActivityStreamDuration () { |
diff --git a/server/tests/api/check-params/config.ts b/server/tests/api/check-params/config.ts index 03855237f..2742e26de 100644 --- a/server/tests/api/check-params/config.ts +++ b/server/tests/api/check-params/config.ts | |||
@@ -60,6 +60,13 @@ describe('Test config API validators', function () { | |||
60 | '720p': false, | 60 | '720p': false, |
61 | '1080p': false | 61 | '1080p': false |
62 | } | 62 | } |
63 | }, | ||
64 | import: { | ||
65 | videos: { | ||
66 | http: { | ||
67 | enabled: false | ||
68 | } | ||
69 | } | ||
63 | } | 70 | } |
64 | } | 71 | } |
65 | 72 | ||
diff --git a/server/tests/api/check-params/index.ts b/server/tests/api/check-params/index.ts index 820dde889..03fdd5c4e 100644 --- a/server/tests/api/check-params/index.ts +++ b/server/tests/api/check-params/index.ts | |||
@@ -10,4 +10,5 @@ import './video-captions' | |||
10 | import './video-channels' | 10 | import './video-channels' |
11 | import './video-comments' | 11 | import './video-comments' |
12 | import './videos' | 12 | import './videos' |
13 | import './video-imports' | ||
13 | import './search' | 14 | import './search' |
diff --git a/server/tests/api/check-params/video-imports.ts b/server/tests/api/check-params/video-imports.ts new file mode 100644 index 000000000..0ead34a47 --- /dev/null +++ b/server/tests/api/check-params/video-imports.ts | |||
@@ -0,0 +1,275 @@ | |||
1 | /* tslint:disable:no-unused-expression */ | ||
2 | |||
3 | import { omit } from 'lodash' | ||
4 | import 'mocha' | ||
5 | import { join } from 'path' | ||
6 | import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum' | ||
7 | import { | ||
8 | createUser, | ||
9 | flushTests, | ||
10 | getMyUserInformation, | ||
11 | immutableAssign, | ||
12 | killallServers, | ||
13 | makeGetRequest, | ||
14 | makePostBodyRequest, | ||
15 | makeUploadRequest, | ||
16 | runServer, | ||
17 | ServerInfo, | ||
18 | setAccessTokensToServers, | ||
19 | updateCustomSubConfig, | ||
20 | userLogin | ||
21 | } from '../../utils' | ||
22 | import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '../../utils/requests/check-api-params' | ||
23 | import { getYoutubeVideoUrl } from '../../utils/videos/video-imports' | ||
24 | |||
25 | describe('Test video imports API validator', function () { | ||
26 | const path = '/api/v1/videos/imports' | ||
27 | let server: ServerInfo | ||
28 | let userAccessToken = '' | ||
29 | let accountName: string | ||
30 | let channelId: number | ||
31 | let channelUUID: string | ||
32 | |||
33 | // --------------------------------------------------------------- | ||
34 | |||
35 | before(async function () { | ||
36 | this.timeout(30000) | ||
37 | |||
38 | await flushTests() | ||
39 | |||
40 | server = await runServer(1) | ||
41 | |||
42 | await setAccessTokensToServers([ server ]) | ||
43 | |||
44 | const username = 'user1' | ||
45 | const password = 'my super password' | ||
46 | await createUser(server.url, server.accessToken, username, password) | ||
47 | userAccessToken = await userLogin(server, { username, password }) | ||
48 | |||
49 | { | ||
50 | const res = await getMyUserInformation(server.url, server.accessToken) | ||
51 | channelId = res.body.videoChannels[ 0 ].id | ||
52 | channelUUID = res.body.videoChannels[ 0 ].uuid | ||
53 | accountName = res.body.account.name + '@' + res.body.account.host | ||
54 | } | ||
55 | }) | ||
56 | |||
57 | describe('When listing my video imports', function () { | ||
58 | const myPath = '/api/v1/users/me/videos/imports' | ||
59 | |||
60 | it('Should fail with a bad start pagination', async function () { | ||
61 | await checkBadStartPagination(server.url, myPath, server.accessToken) | ||
62 | }) | ||
63 | |||
64 | it('Should fail with a bad count pagination', async function () { | ||
65 | await checkBadCountPagination(server.url, myPath, server.accessToken) | ||
66 | }) | ||
67 | |||
68 | it('Should fail with an incorrect sort', async function () { | ||
69 | await checkBadSortPagination(server.url, myPath, server.accessToken) | ||
70 | }) | ||
71 | |||
72 | it('Should success with the correct parameters', async function () { | ||
73 | await makeGetRequest({ url: server.url, path: myPath, statusCodeExpected: 200, token: server.accessToken }) | ||
74 | }) | ||
75 | }) | ||
76 | |||
77 | describe('When adding a video import', function () { | ||
78 | let baseCorrectParams | ||
79 | |||
80 | before(function () { | ||
81 | baseCorrectParams = { | ||
82 | targetUrl: getYoutubeVideoUrl(), | ||
83 | name: 'my super name', | ||
84 | category: 5, | ||
85 | licence: 1, | ||
86 | language: 'pt', | ||
87 | nsfw: false, | ||
88 | commentsEnabled: true, | ||
89 | waitTranscoding: true, | ||
90 | description: 'my super description', | ||
91 | support: 'my super support text', | ||
92 | tags: [ 'tag1', 'tag2' ], | ||
93 | privacy: VideoPrivacy.PUBLIC, | ||
94 | channelId: channelId | ||
95 | } | ||
96 | }) | ||
97 | |||
98 | it('Should fail with nothing', async function () { | ||
99 | const fields = {} | ||
100 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
101 | }) | ||
102 | |||
103 | it('Should fail without a target url', async function () { | ||
104 | const fields = omit(baseCorrectParams, 'targetUrl') | ||
105 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields, statusCodeExpected: 400 }) | ||
106 | }) | ||
107 | |||
108 | it('Should fail with a bad target url', async function () { | ||
109 | const fields = immutableAssign(baseCorrectParams, { targetUrl: 'htt://hello' }) | ||
110 | |||
111 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
112 | }) | ||
113 | |||
114 | it('Should fail with a long name', async function () { | ||
115 | const fields = immutableAssign(baseCorrectParams, { name: 'super'.repeat(65) }) | ||
116 | |||
117 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
118 | }) | ||
119 | |||
120 | it('Should fail with a bad category', async function () { | ||
121 | const fields = immutableAssign(baseCorrectParams, { category: 125 }) | ||
122 | |||
123 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
124 | }) | ||
125 | |||
126 | it('Should fail with a bad licence', async function () { | ||
127 | const fields = immutableAssign(baseCorrectParams, { licence: 125 }) | ||
128 | |||
129 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
130 | }) | ||
131 | |||
132 | it('Should fail with a bad language', async function () { | ||
133 | const fields = immutableAssign(baseCorrectParams, { language: 'a'.repeat(15) }) | ||
134 | |||
135 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
136 | }) | ||
137 | |||
138 | it('Should fail with a long description', async function () { | ||
139 | const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(2500) }) | ||
140 | |||
141 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
142 | }) | ||
143 | |||
144 | it('Should fail with a long support text', async function () { | ||
145 | const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(150) }) | ||
146 | |||
147 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
148 | }) | ||
149 | |||
150 | it('Should fail without a channel', async function () { | ||
151 | const fields = omit(baseCorrectParams, 'channelId') | ||
152 | |||
153 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
154 | }) | ||
155 | |||
156 | it('Should fail with a bad channel', async function () { | ||
157 | const fields = immutableAssign(baseCorrectParams, { channelId: 545454 }) | ||
158 | |||
159 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
160 | }) | ||
161 | |||
162 | it('Should fail with another user channel', async function () { | ||
163 | const user = { | ||
164 | username: 'fake', | ||
165 | password: 'fake_password' | ||
166 | } | ||
167 | await createUser(server.url, server.accessToken, user.username, user.password) | ||
168 | |||
169 | const accessTokenUser = await userLogin(server, user) | ||
170 | const res = await getMyUserInformation(server.url, accessTokenUser) | ||
171 | const customChannelId = res.body.videoChannels[0].id | ||
172 | |||
173 | const fields = immutableAssign(baseCorrectParams, { channelId: customChannelId }) | ||
174 | |||
175 | await makePostBodyRequest({ url: server.url, path, token: userAccessToken, fields }) | ||
176 | }) | ||
177 | |||
178 | it('Should fail with too many tags', async function () { | ||
179 | const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'tag2', 'tag3', 'tag4', 'tag5', 'tag6' ] }) | ||
180 | |||
181 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
182 | }) | ||
183 | |||
184 | it('Should fail with a tag length too low', async function () { | ||
185 | const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 't' ] }) | ||
186 | |||
187 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
188 | }) | ||
189 | |||
190 | it('Should fail with a tag length too big', async function () { | ||
191 | const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'my_super_tag_too_long_long_long_long_long_long' ] }) | ||
192 | |||
193 | await makePostBodyRequest({ url: server.url, path, token: server.accessToken, fields }) | ||
194 | }) | ||
195 | |||
196 | it('Should fail with an incorrect thumbnail file', async function () { | ||
197 | const fields = baseCorrectParams | ||
198 | const attaches = { | ||
199 | 'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png') | ||
200 | } | ||
201 | |||
202 | await makeUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) | ||
203 | }) | ||
204 | |||
205 | it('Should fail with a big thumbnail file', async function () { | ||
206 | const fields = baseCorrectParams | ||
207 | const attaches = { | ||
208 | 'thumbnailfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png') | ||
209 | } | ||
210 | |||
211 | await makeUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) | ||
212 | }) | ||
213 | |||
214 | it('Should fail with an incorrect preview file', async function () { | ||
215 | const fields = baseCorrectParams | ||
216 | const attaches = { | ||
217 | 'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar.png') | ||
218 | } | ||
219 | |||
220 | await makeUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) | ||
221 | }) | ||
222 | |||
223 | it('Should fail with a big preview file', async function () { | ||
224 | const fields = baseCorrectParams | ||
225 | const attaches = { | ||
226 | 'previewfile': join(__dirname, '..', '..', 'fixtures', 'avatar-big.png') | ||
227 | } | ||
228 | |||
229 | await makeUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) | ||
230 | }) | ||
231 | |||
232 | it('Should succeed with the correct parameters', async function () { | ||
233 | this.timeout(10000) | ||
234 | |||
235 | { | ||
236 | await makePostBodyRequest({ | ||
237 | url: server.url, | ||
238 | path, | ||
239 | token: server.accessToken, | ||
240 | fields: baseCorrectParams, | ||
241 | statusCodeExpected: 200 | ||
242 | }) | ||
243 | } | ||
244 | }) | ||
245 | |||
246 | it('Should forbid to import videos', async function () { | ||
247 | await updateCustomSubConfig(server.url, server.accessToken, { | ||
248 | import: { | ||
249 | videos: { | ||
250 | http: { | ||
251 | enabled: false | ||
252 | } | ||
253 | } | ||
254 | } | ||
255 | }) | ||
256 | |||
257 | await makePostBodyRequest({ | ||
258 | url: server.url, | ||
259 | path, | ||
260 | token: server.accessToken, | ||
261 | fields: baseCorrectParams, | ||
262 | statusCodeExpected: 409 | ||
263 | }) | ||
264 | }) | ||
265 | }) | ||
266 | |||
267 | after(async function () { | ||
268 | killallServers([ server ]) | ||
269 | |||
270 | // Keep the logs if the test failed | ||
271 | if (this['ok']) { | ||
272 | await flushTests() | ||
273 | } | ||
274 | }) | ||
275 | }) | ||
diff --git a/server/tests/api/index-slow.ts b/server/tests/api/index-slow.ts index d987442b3..243c941cb 100644 --- a/server/tests/api/index-slow.ts +++ b/server/tests/api/index-slow.ts | |||
@@ -1,4 +1,5 @@ | |||
1 | // Order of the tests we want to execute | 1 | // Order of the tests we want to execute |
2 | import './videos/video-channels' | ||
2 | import './videos/video-transcoder' | 3 | import './videos/video-transcoder' |
3 | import './videos/multiple-servers' | 4 | import './videos/multiple-servers' |
4 | import './server/follows' | 5 | import './server/follows' |
@@ -7,3 +8,4 @@ import './videos/video-comments' | |||
7 | import './users/users-multiple-servers' | 8 | import './users/users-multiple-servers' |
8 | import './server/handle-down' | 9 | import './server/handle-down' |
9 | import './videos/video-schedule-update' | 10 | import './videos/video-schedule-update' |
11 | import './videos/video-imports' | ||
diff --git a/server/tests/api/server/config.ts b/server/tests/api/server/config.ts index 1782a8623..b65061a5d 100644 --- a/server/tests/api/server/config.ts +++ b/server/tests/api/server/config.ts | |||
@@ -44,6 +44,7 @@ function checkInitialConfig (data: CustomConfig) { | |||
44 | expect(data.transcoding.resolutions['480p']).to.be.true | 44 | expect(data.transcoding.resolutions['480p']).to.be.true |
45 | expect(data.transcoding.resolutions['720p']).to.be.true | 45 | expect(data.transcoding.resolutions['720p']).to.be.true |
46 | expect(data.transcoding.resolutions['1080p']).to.be.true | 46 | expect(data.transcoding.resolutions['1080p']).to.be.true |
47 | expect(data.import.videos.http.enabled).to.be.true | ||
47 | } | 48 | } |
48 | 49 | ||
49 | function checkUpdatedConfig (data: CustomConfig) { | 50 | function checkUpdatedConfig (data: CustomConfig) { |
@@ -70,6 +71,7 @@ function checkUpdatedConfig (data: CustomConfig) { | |||
70 | expect(data.transcoding.resolutions['480p']).to.be.true | 71 | expect(data.transcoding.resolutions['480p']).to.be.true |
71 | expect(data.transcoding.resolutions['720p']).to.be.false | 72 | expect(data.transcoding.resolutions['720p']).to.be.false |
72 | expect(data.transcoding.resolutions['1080p']).to.be.false | 73 | expect(data.transcoding.resolutions['1080p']).to.be.false |
74 | expect(data.import.videos.http.enabled).to.be.false | ||
73 | } | 75 | } |
74 | 76 | ||
75 | describe('Test config', function () { | 77 | describe('Test config', function () { |
@@ -160,6 +162,13 @@ describe('Test config', function () { | |||
160 | '720p': false, | 162 | '720p': false, |
161 | '1080p': false | 163 | '1080p': false |
162 | } | 164 | } |
165 | }, | ||
166 | import: { | ||
167 | videos: { | ||
168 | http: { | ||
169 | enabled: false | ||
170 | } | ||
171 | } | ||
163 | } | 172 | } |
164 | } | 173 | } |
165 | await updateCustomConfig(server.url, server.accessToken, newCustomConfig) | 174 | await updateCustomConfig(server.url, server.accessToken, newCustomConfig) |
diff --git a/server/tests/api/server/follows.ts b/server/tests/api/server/follows.ts index a19b47509..25c87b4dc 100644 --- a/server/tests/api/server/follows.ts +++ b/server/tests/api/server/follows.ts | |||
@@ -178,7 +178,7 @@ describe('Test follows', function () { | |||
178 | }) | 178 | }) |
179 | 179 | ||
180 | it('Should upload a video on server 2 and 3 and propagate only the video of server 2', async function () { | 180 | it('Should upload a video on server 2 and 3 and propagate only the video of server 2', async function () { |
181 | this.timeout(10000) | 181 | this.timeout(35000) |
182 | 182 | ||
183 | await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'server2' }) | 183 | await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'server2' }) |
184 | await uploadVideo(servers[2].url, servers[2].accessToken, { name: 'server3' }) | 184 | await uploadVideo(servers[2].url, servers[2].accessToken, { name: 'server3' }) |
diff --git a/server/tests/api/server/handle-down.ts b/server/tests/api/server/handle-down.ts index fb9722630..18a0d9ce3 100644 --- a/server/tests/api/server/handle-down.ts +++ b/server/tests/api/server/handle-down.ts | |||
@@ -176,7 +176,7 @@ describe('Test handle downs', function () { | |||
176 | }) | 176 | }) |
177 | 177 | ||
178 | it('Should re-follow server 1', async function () { | 178 | it('Should re-follow server 1', async function () { |
179 | this.timeout(15000) | 179 | this.timeout(35000) |
180 | 180 | ||
181 | await reRunServer(servers[1]) | 181 | await reRunServer(servers[1]) |
182 | await reRunServer(servers[2]) | 182 | await reRunServer(servers[2]) |
diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index cb18898ce..516dc5aba 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts | |||
@@ -209,19 +209,19 @@ describe('Test multiple servers', function () { | |||
209 | files: [ | 209 | files: [ |
210 | { | 210 | { |
211 | resolution: 240, | 211 | resolution: 240, |
212 | size: 190000 | 212 | size: 280000 |
213 | }, | 213 | }, |
214 | { | 214 | { |
215 | resolution: 360, | 215 | resolution: 360, |
216 | size: 280000 | 216 | size: 370000 |
217 | }, | 217 | }, |
218 | { | 218 | { |
219 | resolution: 480, | 219 | resolution: 480, |
220 | size: 390000 | 220 | size: 470000 |
221 | }, | 221 | }, |
222 | { | 222 | { |
223 | resolution: 720, | 223 | resolution: 720, |
224 | size: 710000 | 224 | size: 740000 |
225 | } | 225 | } |
226 | ], | 226 | ], |
227 | thumbnailfile: 'thumbnail', | 227 | thumbnailfile: 'thumbnail', |
@@ -975,19 +975,19 @@ describe('Test multiple servers', function () { | |||
975 | files: [ | 975 | files: [ |
976 | { | 976 | { |
977 | resolution: 720, | 977 | resolution: 720, |
978 | size: 40315 | 978 | size: 36000 |
979 | }, | 979 | }, |
980 | { | 980 | { |
981 | resolution: 480, | 981 | resolution: 480, |
982 | size: 22808 | 982 | size: 21000 |
983 | }, | 983 | }, |
984 | { | 984 | { |
985 | resolution: 360, | 985 | resolution: 360, |
986 | size: 18617 | 986 | size: 17000 |
987 | }, | 987 | }, |
988 | { | 988 | { |
989 | resolution: 240, | 989 | resolution: 240, |
990 | size: 15217 | 990 | size: 13000 |
991 | } | 991 | } |
992 | ] | 992 | ] |
993 | } | 993 | } |
diff --git a/server/tests/api/videos/video-imports.ts b/server/tests/api/videos/video-imports.ts new file mode 100644 index 000000000..f21ade5c3 --- /dev/null +++ b/server/tests/api/videos/video-imports.ts | |||
@@ -0,0 +1,161 @@ | |||
1 | /* tslint:disable:no-unused-expression */ | ||
2 | |||
3 | import * as chai from 'chai' | ||
4 | import 'mocha' | ||
5 | import { VideoDetails, VideoPrivacy } from '../../../../shared/models/videos' | ||
6 | import { | ||
7 | doubleFollow, | ||
8 | flushAndRunMultipleServers, | ||
9 | getMyUserInformation, | ||
10 | getMyVideos, | ||
11 | getVideo, | ||
12 | getVideosList, | ||
13 | killallServers, | ||
14 | ServerInfo, | ||
15 | setAccessTokensToServers | ||
16 | } from '../../utils' | ||
17 | import { waitJobs } from '../../utils/server/jobs' | ||
18 | import { getMyVideoImports, getYoutubeVideoUrl, importVideo } from '../../utils/videos/video-imports' | ||
19 | |||
20 | const expect = chai.expect | ||
21 | |||
22 | describe('Test video imports', function () { | ||
23 | let servers: ServerInfo[] = [] | ||
24 | let channelIdServer1: number | ||
25 | let channelIdServer2: number | ||
26 | |||
27 | async function checkVideoServer1 (url: string, id: number | string) { | ||
28 | const res = await getVideo(url, id) | ||
29 | const video: VideoDetails = res.body | ||
30 | |||
31 | expect(video.name).to.equal('small video - youtube') | ||
32 | expect(video.category.label).to.equal('News') | ||
33 | expect(video.licence.label).to.equal('Attribution') | ||
34 | expect(video.language.label).to.equal('Unknown') | ||
35 | expect(video.nsfw).to.be.false | ||
36 | expect(video.description).to.equal('this is a super description') | ||
37 | expect(video.tags).to.deep.equal([ 'tag1', 'tag2' ]) | ||
38 | |||
39 | expect(video.files).to.have.lengthOf(1) | ||
40 | } | ||
41 | |||
42 | async function checkVideoServer2 (url: string, id: number | string) { | ||
43 | const res = await getVideo(url, id) | ||
44 | const video = res.body | ||
45 | |||
46 | expect(video.name).to.equal('my super name') | ||
47 | expect(video.category.label).to.equal('Entertainment') | ||
48 | expect(video.licence.label).to.equal('Public Domain Dedication') | ||
49 | expect(video.language.label).to.equal('English') | ||
50 | expect(video.nsfw).to.be.false | ||
51 | expect(video.description).to.equal('my super description') | ||
52 | expect(video.tags).to.deep.equal([ 'supertag1', 'supertag2' ]) | ||
53 | |||
54 | expect(video.files).to.have.lengthOf(1) | ||
55 | } | ||
56 | |||
57 | before(async function () { | ||
58 | this.timeout(30000) | ||
59 | |||
60 | // Run servers | ||
61 | servers = await flushAndRunMultipleServers(2) | ||
62 | |||
63 | await setAccessTokensToServers(servers) | ||
64 | |||
65 | { | ||
66 | const res = await getMyUserInformation(servers[0].url, servers[0].accessToken) | ||
67 | channelIdServer1 = res.body.videoChannels[ 0 ].id | ||
68 | } | ||
69 | |||
70 | { | ||
71 | const res = await getMyUserInformation(servers[1].url, servers[1].accessToken) | ||
72 | channelIdServer2 = res.body.videoChannels[ 0 ].id | ||
73 | } | ||
74 | |||
75 | await doubleFollow(servers[0], servers[1]) | ||
76 | }) | ||
77 | |||
78 | it('Should import a video on server 1', async function () { | ||
79 | this.timeout(60000) | ||
80 | |||
81 | const attributes = { | ||
82 | targetUrl: getYoutubeVideoUrl(), | ||
83 | channelId: channelIdServer1, | ||
84 | privacy: VideoPrivacy.PUBLIC | ||
85 | } | ||
86 | const res = await importVideo(servers[0].url, servers[0].accessToken, attributes) | ||
87 | expect(res.body.video.name).to.equal('small video - youtube') | ||
88 | }) | ||
89 | |||
90 | it('Should list the video to import in my videos on server 1', async function () { | ||
91 | const res = await getMyVideos(servers[0].url, servers[0].accessToken, 0, 5) | ||
92 | |||
93 | expect(res.body.total).to.equal(1) | ||
94 | |||
95 | const videos = res.body.data | ||
96 | expect(videos).to.have.lengthOf(1) | ||
97 | expect(videos[0].name).to.equal('small video - youtube') | ||
98 | }) | ||
99 | |||
100 | it('Should list the video to import in my imports on server 1', async function () { | ||
101 | const res = await getMyVideoImports(servers[0].url, servers[0].accessToken) | ||
102 | |||
103 | expect(res.body.total).to.equal(1) | ||
104 | const videoImports = res.body.data | ||
105 | expect(videoImports).to.have.lengthOf(1) | ||
106 | |||
107 | expect(videoImports[0].targetUrl).to.equal(getYoutubeVideoUrl()) | ||
108 | expect(videoImports[0].video.name).to.equal('small video - youtube') | ||
109 | }) | ||
110 | |||
111 | it('Should have the video listed on the two instances1', async function () { | ||
112 | this.timeout(120000) | ||
113 | |||
114 | await waitJobs(servers) | ||
115 | |||
116 | for (const server of servers) { | ||
117 | const res = await getVideosList(server.url) | ||
118 | expect(res.body.total).to.equal(1) | ||
119 | expect(res.body.data).to.have.lengthOf(1) | ||
120 | |||
121 | await checkVideoServer1(server.url, res.body.data[0].uuid) | ||
122 | } | ||
123 | }) | ||
124 | |||
125 | it('Should import a video on server 2 with some fields', async function () { | ||
126 | this.timeout(60000) | ||
127 | |||
128 | const attributes = { | ||
129 | targetUrl: getYoutubeVideoUrl(), | ||
130 | channelId: channelIdServer1, | ||
131 | privacy: VideoPrivacy.PUBLIC, | ||
132 | category: 10, | ||
133 | licence: 7, | ||
134 | language: 'en', | ||
135 | name: 'my super name', | ||
136 | description: 'my super description', | ||
137 | tags: [ 'supertag1', 'supertag2' ] | ||
138 | } | ||
139 | const res = await importVideo(servers[1].url, servers[1].accessToken, attributes) | ||
140 | expect(res.body.video.name).to.equal('my super name') | ||
141 | }) | ||
142 | |||
143 | it('Should have the video listed on the two instances', async function () { | ||
144 | this.timeout(120000) | ||
145 | |||
146 | await waitJobs(servers) | ||
147 | |||
148 | for (const server of servers) { | ||
149 | const res = await getVideosList(server.url) | ||
150 | expect(res.body.total).to.equal(2) | ||
151 | expect(res.body.data).to.have.lengthOf(2) | ||
152 | |||
153 | await checkVideoServer2(server.url, res.body.data[0].uuid) | ||
154 | await checkVideoServer1(server.url, res.body.data[1].uuid) | ||
155 | } | ||
156 | }) | ||
157 | |||
158 | after(async function () { | ||
159 | killallServers(servers) | ||
160 | }) | ||
161 | }) | ||
diff --git a/server/tests/api/videos/video-transcoder.ts b/server/tests/api/videos/video-transcoder.ts index fe750253e..0f83d4d57 100644 --- a/server/tests/api/videos/video-transcoder.ts +++ b/server/tests/api/videos/video-transcoder.ts | |||
@@ -2,9 +2,12 @@ | |||
2 | 2 | ||
3 | import * as chai from 'chai' | 3 | import * as chai from 'chai' |
4 | import 'mocha' | 4 | import 'mocha' |
5 | import { omit } from 'lodash' | ||
6 | import * as ffmpeg from 'fluent-ffmpeg' | ||
5 | import { VideoDetails, VideoState } from '../../../../shared/models/videos' | 7 | import { VideoDetails, VideoState } from '../../../../shared/models/videos' |
6 | import { getVideoFileFPS } from '../../../helpers/ffmpeg-utils' | 8 | import { getVideoFileFPS, audio } from '../../../helpers/ffmpeg-utils' |
7 | import { | 9 | import { |
10 | buildAbsoluteFixturePath, | ||
8 | doubleFollow, | 11 | doubleFollow, |
9 | flushAndRunMultipleServers, | 12 | flushAndRunMultipleServers, |
10 | getMyVideos, | 13 | getMyVideos, |
@@ -32,6 +35,8 @@ describe('Test video transcoding', function () { | |||
32 | servers = await flushAndRunMultipleServers(2) | 35 | servers = await flushAndRunMultipleServers(2) |
33 | 36 | ||
34 | await setAccessTokensToServers(servers) | 37 | await setAccessTokensToServers(servers) |
38 | |||
39 | await doubleFollow(servers[0], servers[1]) | ||
35 | }) | 40 | }) |
36 | 41 | ||
37 | it('Should not transcode video on server 1', async function () { | 42 | it('Should not transcode video on server 1', async function () { |
@@ -46,20 +51,22 @@ describe('Test video transcoding', function () { | |||
46 | 51 | ||
47 | await waitJobs(servers) | 52 | await waitJobs(servers) |
48 | 53 | ||
49 | const res = await getVideosList(servers[0].url) | 54 | for (const server of servers) { |
50 | const video = res.body.data[0] | 55 | const res = await getVideosList(server.url) |
56 | const video = res.body.data[ 0 ] | ||
51 | 57 | ||
52 | const res2 = await getVideo(servers[0].url, video.id) | 58 | const res2 = await getVideo(server.url, video.id) |
53 | const videoDetails = res2.body | 59 | const videoDetails = res2.body |
54 | expect(videoDetails.files).to.have.lengthOf(1) | 60 | expect(videoDetails.files).to.have.lengthOf(1) |
55 | 61 | ||
56 | const magnetUri = videoDetails.files[0].magnetUri | 62 | const magnetUri = videoDetails.files[ 0 ].magnetUri |
57 | expect(magnetUri).to.match(/\.webm/) | 63 | expect(magnetUri).to.match(/\.webm/) |
58 | 64 | ||
59 | const torrent = await webtorrentAdd(magnetUri) | 65 | const torrent = await webtorrentAdd(magnetUri, true) |
60 | expect(torrent.files).to.be.an('array') | 66 | expect(torrent.files).to.be.an('array') |
61 | expect(torrent.files.length).to.equal(1) | 67 | expect(torrent.files.length).to.equal(1) |
62 | expect(torrent.files[0].path).match(/\.webm$/) | 68 | expect(torrent.files[ 0 ].path).match(/\.webm$/) |
69 | } | ||
63 | }) | 70 | }) |
64 | 71 | ||
65 | it('Should transcode video on server 2', async function () { | 72 | it('Should transcode video on server 2', async function () { |
@@ -74,21 +81,112 @@ describe('Test video transcoding', function () { | |||
74 | 81 | ||
75 | await waitJobs(servers) | 82 | await waitJobs(servers) |
76 | 83 | ||
77 | const res = await getVideosList(servers[1].url) | 84 | for (const server of servers) { |
85 | const res = await getVideosList(server.url) | ||
86 | |||
87 | const video = res.body.data.find(v => v.name === videoAttributes.name) | ||
88 | const res2 = await getVideo(server.url, video.id) | ||
89 | const videoDetails = res2.body | ||
90 | |||
91 | expect(videoDetails.files).to.have.lengthOf(4) | ||
92 | |||
93 | const magnetUri = videoDetails.files[ 0 ].magnetUri | ||
94 | expect(magnetUri).to.match(/\.mp4/) | ||
95 | |||
96 | const torrent = await webtorrentAdd(magnetUri, true) | ||
97 | expect(torrent.files).to.be.an('array') | ||
98 | expect(torrent.files.length).to.equal(1) | ||
99 | expect(torrent.files[ 0 ].path).match(/\.mp4$/) | ||
100 | } | ||
101 | }) | ||
102 | |||
103 | it('Should transcode high bit rate mp3 to proper bit rate', async function () { | ||
104 | this.timeout(60000) | ||
105 | |||
106 | const videoAttributes = { | ||
107 | name: 'mp3_256k', | ||
108 | fixture: 'video_short_mp3_256k.mp4' | ||
109 | } | ||
110 | await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributes) | ||
111 | |||
112 | await waitJobs(servers) | ||
113 | |||
114 | for (const server of servers) { | ||
115 | const res = await getVideosList(server.url) | ||
116 | |||
117 | const video = res.body.data.find(v => v.name === videoAttributes.name) | ||
118 | const res2 = await getVideo(server.url, video.id) | ||
119 | const videoDetails: VideoDetails = res2.body | ||
120 | |||
121 | expect(videoDetails.files).to.have.lengthOf(4) | ||
122 | |||
123 | const path = join(root(), 'test2', 'videos', video.uuid + '-240.mp4') | ||
124 | const probe = await audio.get(ffmpeg, path) | ||
125 | |||
126 | if (probe.audioStream) { | ||
127 | expect(probe.audioStream[ 'codec_name' ]).to.be.equal('aac') | ||
128 | expect(probe.audioStream[ 'bit_rate' ]).to.be.at.most(384 * 8000) | ||
129 | } else { | ||
130 | this.fail('Could not retrieve the audio stream on ' + probe.absolutePath) | ||
131 | } | ||
132 | } | ||
133 | }) | ||
134 | |||
135 | it('Should transcode video with no audio and have no audio itself', async function () { | ||
136 | this.timeout(60000) | ||
137 | |||
138 | const videoAttributes = { | ||
139 | name: 'no_audio', | ||
140 | fixture: 'video_short_no_audio.mp4' | ||
141 | } | ||
142 | await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributes) | ||
143 | |||
144 | await waitJobs(servers) | ||
145 | |||
146 | for (const server of servers) { | ||
147 | const res = await getVideosList(server.url) | ||
148 | |||
149 | const video = res.body.data.find(v => v.name === videoAttributes.name) | ||
150 | const res2 = await getVideo(server.url, video.id) | ||
151 | const videoDetails: VideoDetails = res2.body | ||
152 | |||
153 | expect(videoDetails.files).to.have.lengthOf(4) | ||
154 | const path = join(root(), 'test2', 'videos', video.uuid + '-240.mp4') | ||
155 | const probe = await audio.get(ffmpeg, path) | ||
156 | expect(probe).to.not.have.property('audioStream') | ||
157 | } | ||
158 | }) | ||
159 | |||
160 | it('Should leave the audio untouched, but properly transcode the video', async function () { | ||
161 | this.timeout(60000) | ||
162 | |||
163 | const videoAttributes = { | ||
164 | name: 'untouched_audio', | ||
165 | fixture: 'video_short.mp4' | ||
166 | } | ||
167 | await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributes) | ||
78 | 168 | ||
79 | const video = res.body.data[0] | 169 | await waitJobs(servers) |
80 | const res2 = await getVideo(servers[1].url, video.id) | ||
81 | const videoDetails = res2.body | ||
82 | 170 | ||
83 | expect(videoDetails.files).to.have.lengthOf(4) | 171 | for (const server of servers) { |
172 | const res = await getVideosList(server.url) | ||
84 | 173 | ||
85 | const magnetUri = videoDetails.files[0].magnetUri | 174 | const video = res.body.data.find(v => v.name === videoAttributes.name) |
86 | expect(magnetUri).to.match(/\.mp4/) | 175 | const res2 = await getVideo(server.url, video.id) |
176 | const videoDetails: VideoDetails = res2.body | ||
87 | 177 | ||
88 | const torrent = await webtorrentAdd(magnetUri) | 178 | expect(videoDetails.files).to.have.lengthOf(4) |
89 | expect(torrent.files).to.be.an('array') | 179 | const fixturePath = buildAbsoluteFixturePath(videoAttributes.fixture) |
90 | expect(torrent.files.length).to.equal(1) | 180 | const fixtureVideoProbe = await audio.get(ffmpeg, fixturePath) |
91 | expect(torrent.files[0].path).match(/\.mp4$/) | 181 | const path = join(root(), 'test2', 'videos', video.uuid + '-240.mp4') |
182 | const videoProbe = await audio.get(ffmpeg, path) | ||
183 | if (videoProbe.audioStream && fixtureVideoProbe.audioStream) { | ||
184 | const toOmit = [ 'max_bit_rate', 'duration', 'duration_ts', 'nb_frames', 'start_time', 'start_pts' ] | ||
185 | expect(omit(videoProbe.audioStream, toOmit)).to.be.deep.equal(omit(fixtureVideoProbe.audioStream, toOmit)) | ||
186 | } else { | ||
187 | this.fail('Could not retrieve the audio stream on ' + videoProbe.absolutePath) | ||
188 | } | ||
189 | } | ||
92 | }) | 190 | }) |
93 | 191 | ||
94 | it('Should transcode a 60 FPS video', async function () { | 192 | it('Should transcode a 60 FPS video', async function () { |
@@ -103,38 +201,36 @@ describe('Test video transcoding', function () { | |||
103 | 201 | ||
104 | await waitJobs(servers) | 202 | await waitJobs(servers) |
105 | 203 | ||
106 | const res = await getVideosList(servers[1].url) | 204 | for (const server of servers) { |
205 | const res = await getVideosList(server.url) | ||
206 | |||
207 | const video = res.body.data.find(v => v.name === videoAttributes.name) | ||
208 | const res2 = await getVideo(server.url, video.id) | ||
209 | const videoDetails: VideoDetails = res2.body | ||
210 | |||
211 | expect(videoDetails.files).to.have.lengthOf(4) | ||
212 | expect(videoDetails.files[ 0 ].fps).to.be.above(58).and.below(62) | ||
213 | expect(videoDetails.files[ 1 ].fps).to.be.below(31) | ||
214 | expect(videoDetails.files[ 2 ].fps).to.be.below(31) | ||
215 | expect(videoDetails.files[ 3 ].fps).to.be.below(31) | ||
107 | 216 | ||
108 | const video = res.body.data[0] | 217 | for (const resolution of [ '240', '360', '480' ]) { |
109 | const res2 = await getVideo(servers[1].url, video.id) | 218 | const path = join(root(), 'test2', 'videos', video.uuid + '-' + resolution + '.mp4') |
110 | const videoDetails: VideoDetails = res2.body | 219 | const fps = await getVideoFileFPS(path) |
111 | 220 | ||
112 | expect(videoDetails.files).to.have.lengthOf(4) | 221 | expect(fps).to.be.below(31) |
113 | expect(videoDetails.files[0].fps).to.be.above(58).and.below(62) | 222 | } |
114 | expect(videoDetails.files[1].fps).to.be.below(31) | ||
115 | expect(videoDetails.files[2].fps).to.be.below(31) | ||
116 | expect(videoDetails.files[3].fps).to.be.below(31) | ||
117 | 223 | ||
118 | for (const resolution of [ '240', '360', '480' ]) { | 224 | const path = join(root(), 'test2', 'videos', video.uuid + '-720.mp4') |
119 | const path = join(root(), 'test2', 'videos', video.uuid + '-' + resolution + '.mp4') | ||
120 | const fps = await getVideoFileFPS(path) | 225 | const fps = await getVideoFileFPS(path) |
121 | 226 | ||
122 | expect(fps).to.be.below(31) | 227 | expect(fps).to.be.above(58).and.below(62) |
123 | } | 228 | } |
124 | |||
125 | const path = join(root(), 'test2', 'videos', video.uuid + '-720.mp4') | ||
126 | const fps = await getVideoFileFPS(path) | ||
127 | |||
128 | expect(fps).to.be.above(58).and.below(62) | ||
129 | }) | 229 | }) |
130 | 230 | ||
131 | it('Should wait transcoding before publishing the video', async function () { | 231 | it('Should wait transcoding before publishing the video', async function () { |
132 | this.timeout(80000) | 232 | this.timeout(80000) |
133 | 233 | ||
134 | await doubleFollow(servers[0], servers[1]) | ||
135 | |||
136 | await waitJobs(servers) | ||
137 | |||
138 | { | 234 | { |
139 | // Upload the video, but wait transcoding | 235 | // Upload the video, but wait transcoding |
140 | const videoAttributes = { | 236 | const videoAttributes = { |
@@ -154,7 +250,7 @@ describe('Test video transcoding', function () { | |||
154 | 250 | ||
155 | // Should have my video | 251 | // Should have my video |
156 | const resMyVideos = await getMyVideos(servers[1].url, servers[1].accessToken, 0, 10) | 252 | const resMyVideos = await getMyVideos(servers[1].url, servers[1].accessToken, 0, 10) |
157 | const videoToFindInMine = resMyVideos.body.data.find(v => v.name === 'waiting video') | 253 | const videoToFindInMine = resMyVideos.body.data.find(v => v.name === videoAttributes.name) |
158 | expect(videoToFindInMine).not.to.be.undefined | 254 | expect(videoToFindInMine).not.to.be.undefined |
159 | expect(videoToFindInMine.state.id).to.equal(VideoState.TO_TRANSCODE) | 255 | expect(videoToFindInMine.state.id).to.equal(VideoState.TO_TRANSCODE) |
160 | expect(videoToFindInMine.state.label).to.equal('To transcode') | 256 | expect(videoToFindInMine.state.label).to.equal('To transcode') |
@@ -162,7 +258,7 @@ describe('Test video transcoding', function () { | |||
162 | 258 | ||
163 | // Should not list this video | 259 | // Should not list this video |
164 | const resVideos = await getVideosList(servers[1].url) | 260 | const resVideos = await getVideosList(servers[1].url) |
165 | const videoToFindInList = resVideos.body.data.find(v => v.name === 'waiting video') | 261 | const videoToFindInList = resVideos.body.data.find(v => v.name === videoAttributes.name) |
166 | expect(videoToFindInList).to.be.undefined | 262 | expect(videoToFindInList).to.be.undefined |
167 | 263 | ||
168 | // Server 1 should not have the video yet | 264 | // Server 1 should not have the video yet |
diff --git a/server/tests/client.ts b/server/tests/client.ts index bcbac86e9..b33a653b1 100644 --- a/server/tests/client.ts +++ b/server/tests/client.ts | |||
@@ -3,17 +3,21 @@ | |||
3 | import 'mocha' | 3 | import 'mocha' |
4 | import * as chai from 'chai' | 4 | import * as chai from 'chai' |
5 | import * as request from 'supertest' | 5 | import * as request from 'supertest' |
6 | const expect = chai.expect | ||
7 | |||
8 | import { | 6 | import { |
9 | ServerInfo, | ||
10 | flushTests, | 7 | flushTests, |
8 | getCustomConfig, | ||
9 | getVideosList, | ||
10 | killallServers, | ||
11 | makeHTMLRequest, | ||
11 | runServer, | 12 | runServer, |
13 | ServerInfo, | ||
12 | serverLogin, | 14 | serverLogin, |
13 | uploadVideo, | 15 | updateCustomConfig, |
14 | getVideosList, updateCustomConfig, getCustomConfig, killallServers, makeHTMLRequest | 16 | updateCustomSubConfig, |
17 | uploadVideo | ||
15 | } from './utils' | 18 | } from './utils' |
16 | import { CustomConfig } from '../../shared/models/server/custom-config.model' | 19 | |
20 | const expect = chai.expect | ||
17 | 21 | ||
18 | function checkIndexTags (html: string, title: string, description: string, css: string) { | 22 | function checkIndexTags (html: string, title: string, description: string, css: string) { |
19 | expect(html).to.contain('<title>' + title + '</title>') | 23 | expect(html).to.contain('<title>' + title + '</title>') |
@@ -117,56 +121,20 @@ describe('Test a client controllers', function () { | |||
117 | }) | 121 | }) |
118 | 122 | ||
119 | it('Should update the customized configuration and have the correct index html tags', async function () { | 123 | it('Should update the customized configuration and have the correct index html tags', async function () { |
120 | const newCustomConfig: CustomConfig = { | 124 | await updateCustomSubConfig(server.url, server.accessToken, { |
121 | instance: { | 125 | instance: { |
122 | name: 'PeerTube updated', | 126 | name: 'PeerTube updated', |
123 | shortDescription: 'my short description', | 127 | shortDescription: 'my short description', |
124 | description: 'my super description', | 128 | description: 'my super description', |
125 | terms: 'my super terms', | 129 | terms: 'my super terms', |
126 | defaultClientRoute: '/videos/recently-added', | 130 | defaultClientRoute: '/videos/recently-added', |
127 | defaultNSFWPolicy: 'blur' as 'blur', | 131 | defaultNSFWPolicy: 'blur', |
128 | customizations: { | 132 | customizations: { |
129 | javascript: 'alert("coucou")', | 133 | javascript: 'alert("coucou")', |
130 | css: 'body { background-color: red; }' | 134 | css: 'body { background-color: red; }' |
131 | } | 135 | } |
132 | }, | ||
133 | services: { | ||
134 | twitter: { | ||
135 | username: '@Kuja', | ||
136 | whitelisted: true | ||
137 | } | ||
138 | }, | ||
139 | cache: { | ||
140 | previews: { | ||
141 | size: 2 | ||
142 | }, | ||
143 | captions: { | ||
144 | size: 3 | ||
145 | } | ||
146 | }, | ||
147 | signup: { | ||
148 | enabled: false, | ||
149 | limit: 5 | ||
150 | }, | ||
151 | admin: { | ||
152 | email: 'superadmin1@example.com' | ||
153 | }, | ||
154 | user: { | ||
155 | videoQuota: 5242881 | ||
156 | }, | ||
157 | transcoding: { | ||
158 | enabled: true, | ||
159 | threads: 1, | ||
160 | resolutions: { | ||
161 | '240p': false, | ||
162 | '360p': true, | ||
163 | '480p': true, | ||
164 | '720p': false, | ||
165 | '1080p': false | ||
166 | } | ||
167 | } | 136 | } |
168 | } | 137 | }) |
169 | await updateCustomConfig(server.url, server.accessToken, newCustomConfig) | ||
170 | 138 | ||
171 | const res = await makeHTMLRequest(server.url, '/videos/trending') | 139 | const res = await makeHTMLRequest(server.url, '/videos/trending') |
172 | 140 | ||
diff --git a/server/tests/fixtures/video_short_mp3_256k.mp4 b/server/tests/fixtures/video_short_mp3_256k.mp4 new file mode 100644 index 000000000..4c1c7b45e --- /dev/null +++ b/server/tests/fixtures/video_short_mp3_256k.mp4 | |||
Binary files differ | |||
diff --git a/server/tests/fixtures/video_short_no_audio.mp4 b/server/tests/fixtures/video_short_no_audio.mp4 new file mode 100644 index 000000000..329d20fba --- /dev/null +++ b/server/tests/fixtures/video_short_no_audio.mp4 | |||
Binary files differ | |||
diff --git a/server/tests/utils/server/config.ts b/server/tests/utils/server/config.ts index 57f95a603..e21614282 100644 --- a/server/tests/utils/server/config.ts +++ b/server/tests/utils/server/config.ts | |||
@@ -44,6 +44,69 @@ function updateCustomConfig (url: string, token: string, newCustomConfig: Custom | |||
44 | }) | 44 | }) |
45 | } | 45 | } |
46 | 46 | ||
47 | function updateCustomSubConfig (url: string, token: string, newConfig: any) { | ||
48 | const updateParams: CustomConfig = { | ||
49 | instance: { | ||
50 | name: 'PeerTube updated', | ||
51 | shortDescription: 'my short description', | ||
52 | description: 'my super description', | ||
53 | terms: 'my super terms', | ||
54 | defaultClientRoute: '/videos/recently-added', | ||
55 | defaultNSFWPolicy: 'blur', | ||
56 | customizations: { | ||
57 | javascript: 'alert("coucou")', | ||
58 | css: 'body { background-color: red; }' | ||
59 | } | ||
60 | }, | ||
61 | services: { | ||
62 | twitter: { | ||
63 | username: '@MySuperUsername', | ||
64 | whitelisted: true | ||
65 | } | ||
66 | }, | ||
67 | cache: { | ||
68 | previews: { | ||
69 | size: 2 | ||
70 | }, | ||
71 | captions: { | ||
72 | size: 3 | ||
73 | } | ||
74 | }, | ||
75 | signup: { | ||
76 | enabled: false, | ||
77 | limit: 5 | ||
78 | }, | ||
79 | admin: { | ||
80 | email: 'superadmin1@example.com' | ||
81 | }, | ||
82 | user: { | ||
83 | videoQuota: 5242881 | ||
84 | }, | ||
85 | transcoding: { | ||
86 | enabled: true, | ||
87 | threads: 1, | ||
88 | resolutions: { | ||
89 | '240p': false, | ||
90 | '360p': true, | ||
91 | '480p': true, | ||
92 | '720p': false, | ||
93 | '1080p': false | ||
94 | } | ||
95 | }, | ||
96 | import: { | ||
97 | videos: { | ||
98 | http: { | ||
99 | enabled: false | ||
100 | } | ||
101 | } | ||
102 | } | ||
103 | } | ||
104 | |||
105 | Object.assign(updateParams, newConfig) | ||
106 | |||
107 | return updateCustomConfig(url, token, updateParams) | ||
108 | } | ||
109 | |||
47 | function deleteCustomConfig (url: string, token: string, statusCodeExpected = 200) { | 110 | function deleteCustomConfig (url: string, token: string, statusCodeExpected = 200) { |
48 | const path = '/api/v1/config/custom' | 111 | const path = '/api/v1/config/custom' |
49 | 112 | ||
@@ -62,5 +125,6 @@ export { | |||
62 | getCustomConfig, | 125 | getCustomConfig, |
63 | updateCustomConfig, | 126 | updateCustomConfig, |
64 | getAbout, | 127 | getAbout, |
65 | deleteCustomConfig | 128 | deleteCustomConfig, |
129 | updateCustomSubConfig | ||
66 | } | 130 | } |
diff --git a/server/tests/utils/videos/video-imports.ts b/server/tests/utils/videos/video-imports.ts new file mode 100644 index 000000000..e0f916990 --- /dev/null +++ b/server/tests/utils/videos/video-imports.ts | |||
@@ -0,0 +1,37 @@ | |||
1 | import { VideoImportCreate } from '../../../../shared/models/videos' | ||
2 | import { makeGetRequest, makePostBodyRequest } from '..' | ||
3 | |||
4 | function getYoutubeVideoUrl () { | ||
5 | return 'https://youtu.be/msX3jv1XdvM' | ||
6 | } | ||
7 | |||
8 | function importVideo (url: string, token: string, attributes: VideoImportCreate) { | ||
9 | const path = '/api/v1/videos/imports' | ||
10 | |||
11 | return makePostBodyRequest({ | ||
12 | url, | ||
13 | path, | ||
14 | token, | ||
15 | fields: attributes, | ||
16 | statusCodeExpected: 200 | ||
17 | }) | ||
18 | } | ||
19 | |||
20 | function getMyVideoImports (url: string, token: string) { | ||
21 | const path = '/api/v1/users/me/videos/imports' | ||
22 | |||
23 | return makeGetRequest({ | ||
24 | url, | ||
25 | path, | ||
26 | token, | ||
27 | statusCodeExpected: 200 | ||
28 | }) | ||
29 | } | ||
30 | |||
31 | // --------------------------------------------------------------------------- | ||
32 | |||
33 | export { | ||
34 | getYoutubeVideoUrl, | ||
35 | importVideo, | ||
36 | getMyVideoImports | ||
37 | } | ||
diff --git a/server/tests/utils/videos/videos.ts b/server/tests/utils/videos/videos.ts index 8c49eb02b..b280cccda 100644 --- a/server/tests/utils/videos/videos.ts +++ b/server/tests/utils/videos/videos.ts | |||
@@ -522,7 +522,9 @@ async function completeVideoCheck ( | |||
522 | 522 | ||
523 | const minSize = attributeFile.size - ((10 * attributeFile.size) / 100) | 523 | const minSize = attributeFile.size - ((10 * attributeFile.size) / 100) |
524 | const maxSize = attributeFile.size + ((10 * attributeFile.size) / 100) | 524 | const maxSize = attributeFile.size + ((10 * attributeFile.size) / 100) |
525 | expect(file.size).to.be.above(minSize).and.below(maxSize) | 525 | expect(file.size, |
526 | 'File size for resolution ' + file.resolution.label + ' outside confidence interval (' + minSize + '> size <' + maxSize + ')') | ||
527 | .to.be.above(minSize).and.below(maxSize) | ||
526 | 528 | ||
527 | { | 529 | { |
528 | await testImage(url, attributes.thumbnailfile || attributes.fixture, videoDetails.thumbnailPath) | 530 | await testImage(url, attributes.thumbnailfile || attributes.fixture, videoDetails.thumbnailPath) |
diff --git a/shared/models/activitypub/objects/common-objects.ts b/shared/models/activitypub/objects/common-objects.ts index 3127d0565..5b2b3adae 100644 --- a/shared/models/activitypub/objects/common-objects.ts +++ b/shared/models/activitypub/objects/common-objects.ts | |||
@@ -22,7 +22,9 @@ export interface ActivityUrlObject { | |||
22 | mimeType: 'video/mp4' | 'video/webm' | 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' | 22 | mimeType: 'video/mp4' | 'video/webm' | 'application/x-bittorrent' | 'application/x-bittorrent;x-scheme-handler/magnet' |
23 | href: string | 23 | href: string |
24 | width: number | 24 | width: number |
25 | |||
25 | size?: number | 26 | size?: number |
27 | fps?: number | ||
26 | } | 28 | } |
27 | 29 | ||
28 | export interface ActivityPubAttributedTo { | 30 | export interface ActivityPubAttributedTo { |
diff --git a/shared/models/i18n/i18n.ts b/shared/models/i18n/i18n.ts index 3f2ca4eaf..baf3fa0f4 100644 --- a/shared/models/i18n/i18n.ts +++ b/shared/models/i18n/i18n.ts | |||
@@ -6,7 +6,10 @@ export const I18N_LOCALES = { | |||
6 | 'eu-ES': 'euskara', | 6 | 'eu-ES': 'euskara', |
7 | 'ca-ES': 'català', | 7 | 'ca-ES': 'català', |
8 | 'cs-CZ': 'čeština', | 8 | 'cs-CZ': 'čeština', |
9 | 'eo': 'Esperanto' | 9 | 'eo': 'Esperanto', |
10 | 'de-DE': 'Deutsch', | ||
11 | 'es-ES': 'español', | ||
12 | 'zh-Hant-TW': '中文 (繁體, 台灣)' | ||
10 | // 'pl-PL': 'polski' | 13 | // 'pl-PL': 'polski' |
11 | } | 14 | } |
12 | 15 | ||
@@ -15,7 +18,9 @@ const I18N_LOCALE_ALIAS = { | |||
15 | 'fr': 'fr-FR', | 18 | 'fr': 'fr-FR', |
16 | 'eu': 'eu-ES', | 19 | 'eu': 'eu-ES', |
17 | 'ca': 'ca-ES', | 20 | 'ca': 'ca-ES', |
18 | 'cs': 'cs-CZ' | 21 | 'cs': 'cs-CZ', |
22 | 'de': 'de-DE', | ||
23 | 'es': 'es-ES' | ||
19 | // 'pl': 'pl-PL' | 24 | // 'pl': 'pl-PL' |
20 | } | 25 | } |
21 | 26 | ||
@@ -56,5 +61,5 @@ export function getShortLocale (locale: string) { | |||
56 | export function buildFileLocale (locale: string) { | 61 | export function buildFileLocale (locale: string) { |
57 | const completeLocale = getCompleteLocale(locale) | 62 | const completeLocale = getCompleteLocale(locale) |
58 | 63 | ||
59 | return completeLocale.replace('-', '_') | 64 | return completeLocale.replace(/-/g, '_') |
60 | } | 65 | } |
diff --git a/shared/models/server/custom-config.model.ts b/shared/models/server/custom-config.model.ts index 9c4718e43..46320435d 100644 --- a/shared/models/server/custom-config.model.ts +++ b/shared/models/server/custom-config.model.ts | |||
@@ -55,4 +55,12 @@ export interface CustomConfig { | |||
55 | '1080p': boolean | 55 | '1080p': boolean |
56 | } | 56 | } |
57 | } | 57 | } |
58 | |||
59 | import: { | ||
60 | videos: { | ||
61 | http: { | ||
62 | enabled: boolean | ||
63 | } | ||
64 | } | ||
65 | } | ||
58 | } | 66 | } |
diff --git a/shared/models/server/job.model.ts b/shared/models/server/job.model.ts index a38a8aa3b..2565479f6 100644 --- a/shared/models/server/job.model.ts +++ b/shared/models/server/job.model.ts | |||
@@ -6,7 +6,8 @@ export type JobType = 'activitypub-http-unicast' | | |||
6 | 'activitypub-follow' | | 6 | 'activitypub-follow' | |
7 | 'video-file-import' | | 7 | 'video-file-import' | |
8 | 'video-file' | | 8 | 'video-file' | |
9 | 'email' | 9 | 'email' | |
10 | 'video-import' | ||
10 | 11 | ||
11 | export interface Job { | 12 | export interface Job { |
12 | id: number | 13 | id: number |
diff --git a/shared/models/server/server-config.model.ts b/shared/models/server/server-config.model.ts index 217d142cd..2cafedbbc 100644 --- a/shared/models/server/server-config.model.ts +++ b/shared/models/server/server-config.model.ts | |||
@@ -23,6 +23,14 @@ export interface ServerConfig { | |||
23 | enabledResolutions: number[] | 23 | enabledResolutions: number[] |
24 | } | 24 | } |
25 | 25 | ||
26 | import: { | ||
27 | videos: { | ||
28 | http: { | ||
29 | enabled: boolean | ||
30 | } | ||
31 | } | ||
32 | } | ||
33 | |||
26 | avatar: { | 34 | avatar: { |
27 | file: { | 35 | file: { |
28 | size: { | 36 | size: { |
diff --git a/shared/models/videos/index.ts b/shared/models/videos/index.ts index cb9669772..17cf8be24 100644 --- a/shared/models/videos/index.ts +++ b/shared/models/videos/index.ts | |||
@@ -15,4 +15,7 @@ export * from './video-update.model' | |||
15 | export * from './video.model' | 15 | export * from './video.model' |
16 | export * from './video-state.enum' | 16 | export * from './video-state.enum' |
17 | export * from './video-caption-update.model' | 17 | export * from './video-caption-update.model' |
18 | export * from './video-import-create.model' | ||
19 | export * from './video-import-state.enum' | ||
20 | export * from './video-import.model' | ||
18 | export { VideoConstant } from './video-constant.model' | 21 | export { VideoConstant } from './video-constant.model' |
diff --git a/shared/models/videos/video-import-create.model.ts b/shared/models/videos/video-import-create.model.ts new file mode 100644 index 000000000..65d142c2b --- /dev/null +++ b/shared/models/videos/video-import-create.model.ts | |||
@@ -0,0 +1,6 @@ | |||
1 | import { VideoUpdate } from './video-update.model' | ||
2 | |||
3 | export interface VideoImportCreate extends VideoUpdate { | ||
4 | targetUrl: string | ||
5 | channelId: number // Required | ||
6 | } | ||
diff --git a/shared/models/videos/video-import-state.enum.ts b/shared/models/videos/video-import-state.enum.ts new file mode 100644 index 000000000..b178fbf3a --- /dev/null +++ b/shared/models/videos/video-import-state.enum.ts | |||
@@ -0,0 +1,5 @@ | |||
1 | export enum VideoImportState { | ||
2 | PENDING = 1, | ||
3 | SUCCESS = 2, | ||
4 | FAILED = 3 | ||
5 | } | ||
diff --git a/shared/models/videos/video-import.model.ts b/shared/models/videos/video-import.model.ts new file mode 100644 index 000000000..a5c582c67 --- /dev/null +++ b/shared/models/videos/video-import.model.ts | |||
@@ -0,0 +1,14 @@ | |||
1 | import { Video } from './video.model' | ||
2 | import { VideoConstant } from './video-constant.model' | ||
3 | import { VideoImportState } from './video-import-state.enum' | ||
4 | |||
5 | export interface VideoImport { | ||
6 | id: number | ||
7 | targetUrl: string | ||
8 | createdAt: string | ||
9 | updatedAt: string | ||
10 | state: VideoConstant<VideoImportState> | ||
11 | error?: string | ||
12 | |||
13 | video?: Video & { tags: string[] } | ||
14 | } | ||
diff --git a/shared/models/videos/video-state.enum.ts b/shared/models/videos/video-state.enum.ts index 625aefae1..a50e14e4b 100644 --- a/shared/models/videos/video-state.enum.ts +++ b/shared/models/videos/video-state.enum.ts | |||
@@ -1,4 +1,5 @@ | |||
1 | export enum VideoState { | 1 | export enum VideoState { |
2 | PUBLISHED = 1, | 2 | PUBLISHED = 1, |
3 | TO_TRANSCODE = 2 | 3 | TO_TRANSCODE = 2, |
4 | TO_IMPORT = 3 | ||
4 | } | 5 | } |
diff --git a/tsconfig.json b/tsconfig.json index 4254010e7..7633465b2 100644 --- a/tsconfig.json +++ b/tsconfig.json | |||
@@ -20,6 +20,7 @@ | |||
20 | ] | 20 | ] |
21 | }, | 21 | }, |
22 | "exclude": [ | 22 | "exclude": [ |
23 | "client/node_modules", | ||
23 | "node_modules", | 24 | "node_modules", |
24 | "dist", | 25 | "dist", |
25 | "storage", | 26 | "storage", |
@@ -1773,6 +1773,10 @@ deep-is@~0.1.3: | |||
1773 | version "0.1.3" | 1773 | version "0.1.3" |
1774 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" | 1774 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" |
1775 | 1775 | ||
1776 | deep-object-diff@^1.1.0: | ||
1777 | version "1.1.0" | ||
1778 | resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a" | ||
1779 | |||
1776 | defaults@^1.0.3: | 1780 | defaults@^1.0.3: |
1777 | version "1.0.3" | 1781 | version "1.0.3" |
1778 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" | 1782 | resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" |
@@ -2573,6 +2577,12 @@ flat-cache@^1.2.1: | |||
2573 | graceful-fs "^4.1.2" | 2577 | graceful-fs "^4.1.2" |
2574 | write "^0.2.1" | 2578 | write "^0.2.1" |
2575 | 2579 | ||
2580 | flat@^4.1.0: | ||
2581 | version "4.1.0" | ||
2582 | resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" | ||
2583 | dependencies: | ||
2584 | is-buffer "~2.0.3" | ||
2585 | |||
2576 | flatten@^1.0.2: | 2586 | flatten@^1.0.2: |
2577 | version "1.0.2" | 2587 | version "1.0.2" |
2578 | resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" | 2588 | resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" |
@@ -3593,6 +3603,10 @@ is-buffer@^1.1.5, is-buffer@~1.1.1: | |||
3593 | version "1.1.6" | 3603 | version "1.1.6" |
3594 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" | 3604 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" |
3595 | 3605 | ||
3606 | is-buffer@~2.0.3: | ||
3607 | version "2.0.3" | ||
3608 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" | ||
3609 | |||
3596 | is-builtin-module@^1.0.0: | 3610 | is-builtin-module@^1.0.0: |
3597 | version "1.0.0" | 3611 | version "1.0.0" |
3598 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" | 3612 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" |