From 7a22a0a56aa75fbb1ba986a5d2c606e1343f30c2 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 5 May 2021 12:10:00 +0200 Subject: [PATCH 001/136] Add ability to search live videos --- .../app/+search/search-filters.component.html | 27 +++++++++++-- .../app/+search/search-filters.component.ts | 40 +++++++++++-------- .../shared-search/advanced-search.model.ts | 16 +++++++- .../models/search/boolean-both-query.model.ts | 1 + 4 files changed, 62 insertions(+), 22 deletions(-) diff --git a/client/src/app/+search/search-filters.component.html b/client/src/app/+search/search-filters.component.html index 1d1e7b868..421bc7f6f 100644 --- a/client/src/app/+search/search-filters.component.html +++ b/client/src/app/+search/search-filters.component.html @@ -16,6 +16,25 @@ +
+
+ + +
+ +
+ + +
+ +
+ + +
+
+
@@ -44,7 +63,7 @@
- +
@@ -60,7 +79,7 @@
- +
diff --git a/client/src/app/+search/search-filters.component.ts b/client/src/app/+search/search-filters.component.ts index a2af9a942..59aba22ff 100644 --- a/client/src/app/+search/search-filters.component.ts +++ b/client/src/app/+search/search-filters.component.ts @@ -3,6 +3,8 @@ import { ServerService } from '@app/core' import { AdvancedSearch } from '@app/shared/shared-search' import { ServerConfig, VideoConstant } from '@shared/models' +type FormOption = { id: string, label: string } + @Component({ selector: 'my-search-filters', styleUrls: [ './search-filters.component.scss' ], @@ -17,9 +19,10 @@ export class SearchFiltersComponent implements OnInit { videoLicences: VideoConstant[] = [] videoLanguages: VideoConstant[] = [] - publishedDateRanges: { id: string, label: string }[] = [] - sorts: { id: string, label: string }[] = [] - durationRanges: { id: string, label: string }[] = [] + publishedDateRanges: FormOption[] = [] + sorts: FormOption[] = [] + durationRanges: FormOption[] = [] + videoType: FormOption[] = [] publishedDateRange: string durationRange: string @@ -33,10 +36,6 @@ export class SearchFiltersComponent implements OnInit { private serverService: ServerService ) { this.publishedDateRanges = [ - { - id: 'any_published_date', - label: $localize`Any` - }, { id: 'today', label: $localize`Today` @@ -55,11 +54,18 @@ export class SearchFiltersComponent implements OnInit { } ] - this.durationRanges = [ + this.videoType = [ { - id: 'any_duration', - label: $localize`Any` + id: 'vod', + label: $localize`VOD videos` }, + { + id: 'live', + label: $localize`Live videos` + } + ] + + this.durationRanges = [ { id: 'short', label: $localize`Short (< 4 min)` @@ -104,24 +110,26 @@ export class SearchFiltersComponent implements OnInit { this.loadOriginallyPublishedAtYears() } - inputUpdated () { + onInputUpdated () { this.updateModelFromDurationRange() this.updateModelFromPublishedRange() this.updateModelFromOriginallyPublishedAtYears() } formUpdated () { - this.inputUpdated() + this.onInputUpdated() this.filtered.emit(this.advancedSearch) } reset () { this.advancedSearch.reset() + + this.resetOriginalPublicationYears() + this.durationRange = undefined this.publishedDateRange = undefined - this.originallyPublishedStartYear = undefined - this.originallyPublishedEndYear = undefined - this.inputUpdated() + + this.onInputUpdated() } resetField (fieldName: string, value?: any) { @@ -130,7 +138,7 @@ export class SearchFiltersComponent implements OnInit { resetLocalField (fieldName: string, value?: any) { this[fieldName] = value - this.inputUpdated() + this.onInputUpdated() } resetOriginalPublicationYears () { diff --git a/client/src/app/shared/shared-search/advanced-search.model.ts b/client/src/app/shared/shared-search/advanced-search.model.ts index 0e3924841..2c83f53b6 100644 --- a/client/src/app/shared/shared-search/advanced-search.model.ts +++ b/client/src/app/shared/shared-search/advanced-search.model.ts @@ -1,4 +1,4 @@ -import { BooleanBothQuery, SearchTargetType } from '@shared/models' +import { BooleanBothQuery, BooleanQuery, SearchTargetType, VideosSearchQuery } from '@shared/models' export class AdvancedSearch { startDate: string // ISO 8601 @@ -21,6 +21,8 @@ export class AdvancedSearch { durationMin: number // seconds durationMax: number // seconds + isLive: BooleanQuery + sort: string searchTarget: SearchTargetType @@ -41,6 +43,8 @@ export class AdvancedSearch { tagsOneOf?: any tagsAllOf?: any + isLive?: BooleanQuery + durationMin?: string durationMax?: string sort?: string @@ -54,6 +58,8 @@ export class AdvancedSearch { this.originallyPublishedEndDate = options.originallyPublishedEndDate || undefined this.nsfw = options.nsfw || undefined + this.isLive = options.isLive || undefined + this.categoryOneOf = options.categoryOneOf || undefined this.licenceOneOf = options.licenceOneOf || undefined this.languageOneOf = options.languageOneOf || undefined @@ -94,6 +100,7 @@ export class AdvancedSearch { this.tagsAllOf = undefined this.durationMin = undefined this.durationMax = undefined + this.isLive = undefined this.sort = '-match' } @@ -112,12 +119,16 @@ export class AdvancedSearch { tagsAllOf: this.tagsAllOf, durationMin: this.durationMin, durationMax: this.durationMax, + isLive: this.isLive, sort: this.sort, searchTarget: this.searchTarget } } - toAPIObject () { + toAPIObject (): VideosSearchQuery { + let isLive: boolean + if (this.isLive) isLive = this.isLive === 'true' + return { startDate: this.startDate, endDate: this.endDate, @@ -131,6 +142,7 @@ export class AdvancedSearch { tagsAllOf: this.tagsAllOf, durationMin: this.durationMin, durationMax: this.durationMax, + isLive, sort: this.sort, searchTarget: this.searchTarget } diff --git a/shared/models/search/boolean-both-query.model.ts b/shared/models/search/boolean-both-query.model.ts index 57b0e8d44..d6a438249 100644 --- a/shared/models/search/boolean-both-query.model.ts +++ b/shared/models/search/boolean-both-query.model.ts @@ -1 +1,2 @@ export type BooleanBothQuery = 'true' | 'false' | 'both' +export type BooleanQuery = 'true' | 'false' From b31d72625dd32143a45277528b90bb67a881f249 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 5 May 2021 15:26:28 +0200 Subject: [PATCH 002/136] Plugin user.getAuthUser is now async So we can load the full user --- server/lib/plugins/plugin-helpers-builder.ts | 8 +++++++- server/models/account/user.ts | 4 ++++ server/tests/fixtures/peertube-plugin-test-four/main.js | 5 +++-- server/tests/plugins/plugin-helpers.ts | 1 + server/types/plugins/register-server-option.model.ts | 4 ++-- support/doc/plugins/guide.md | 4 ++-- 6 files changed, 19 insertions(+), 7 deletions(-) diff --git a/server/lib/plugins/plugin-helpers-builder.ts b/server/lib/plugins/plugin-helpers-builder.ts index d57c69ef0..f1bc24d8b 100644 --- a/server/lib/plugins/plugin-helpers-builder.ts +++ b/server/lib/plugins/plugin-helpers-builder.ts @@ -17,6 +17,7 @@ import { VideoBlacklistCreate } from '@shared/models' import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../blocklist' import { getServerConfig } from '../config' import { blacklistVideo, unblacklistVideo } from '../video-blacklist' +import { UserModel } from '@server/models/account/user' function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHelpers { const logger = buildPluginLogger(npmName) @@ -163,6 +164,11 @@ function buildPluginRelatedHelpers (plugin: MPlugin, npmName: string) { function buildUserHelpers () { return { - getAuthUser: (res: express.Response) => res.locals.oauth?.token?.User + getAuthUser: (res: express.Response) => { + const user = res.locals.oauth?.token?.User + if (!user) return undefined + + return UserModel.loadByIdFull(user.id) + } } } diff --git a/server/models/account/user.ts b/server/models/account/user.ts index 00c6d73aa..513455773 100644 --- a/server/models/account/user.ts +++ b/server/models/account/user.ts @@ -565,6 +565,10 @@ export class UserModel extends Model { return UserModel.unscoped().findByPk(id) } + static loadByIdFull (id: number): Promise { + return UserModel.findByPk(id) + } + static loadByIdWithChannels (id: number, withStats = false): Promise { const scopes = [ ScopeNames.WITH_VIDEOCHANNELS diff --git a/server/tests/fixtures/peertube-plugin-test-four/main.js b/server/tests/fixtures/peertube-plugin-test-four/main.js index 6ed0c20d2..b9b207b81 100644 --- a/server/tests/fixtures/peertube-plugin-test-four/main.js +++ b/server/tests/fixtures/peertube-plugin-test-four/main.js @@ -88,8 +88,8 @@ async function register ({ return res.json({ routerRoute }) }) - router.get('/user', (req, res) => { - const user = peertubeHelpers.user.getAuthUser(res) + router.get('/user', async (req, res) => { + const user = await peertubeHelpers.user.getAuthUser(res) if (!user) return res.sendStatus(404) const isAdmin = user.role === 0 @@ -98,6 +98,7 @@ async function register ({ return res.json({ username: user.username, + displayName: user.Account.name, isAdmin, isModerator, isUser diff --git a/server/tests/plugins/plugin-helpers.ts b/server/tests/plugins/plugin-helpers.ts index 20020ec41..f72de8229 100644 --- a/server/tests/plugins/plugin-helpers.ts +++ b/server/tests/plugins/plugin-helpers.ts @@ -133,6 +133,7 @@ describe('Test plugin helpers', function () { }) expect(res.body.username).to.equal('root') + expect(res.body.displayName).to.equal('root') expect(res.body.isAdmin).to.be.true expect(res.body.isModerator).to.be.false expect(res.body.isUser).to.be.false diff --git a/server/types/plugins/register-server-option.model.ts b/server/types/plugins/register-server-option.model.ts index 4af476ed2..2432b7ac4 100644 --- a/server/types/plugins/register-server-option.model.ts +++ b/server/types/plugins/register-server-option.model.ts @@ -70,13 +70,13 @@ export type PeerTubeHelpers = { user: { // PeerTube >= 3.2 - getAuthUser: (response: Response) => { + getAuthUser: (response: Response) => Promise<{ id?: string username: string email: string blocked: boolean role: UserRole - } | undefined + } | undefined> } } diff --git a/support/doc/plugins/guide.md b/support/doc/plugins/guide.md index 53d53c26d..5b7d1cb31 100644 --- a/support/doc/plugins/guide.md +++ b/support/doc/plugins/guide.md @@ -261,8 +261,8 @@ function register ({ router.get('/ping', (req, res) => res.json({ message: 'pong' })) // Users are automatically authenticated - router.get('/auth', (res, res) => { - const user = peertubeHelpers.user.getAuthUser(res) + router.get('/auth', async (res, res) => { + const user = await peertubeHelpers.user.getAuthUser(res) const isAdmin = user.role === 0 const isModerator = user.role === 1 From 66f77f63437c6774acbd72584a9839a7636ea167 Mon Sep 17 00:00:00 2001 From: kontrollanten <6680299+kontrollanten@users.noreply.github.com> Date: Wed, 5 May 2021 22:25:37 +0200 Subject: [PATCH 003/136] server: fix HLS playlist format Remove prefixed comma when there's no video codec. --- server/lib/hls.ts | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/server/lib/hls.ts b/server/lib/hls.ts index 84539e2c1..05be403f3 100644 --- a/server/lib/hls.ts +++ b/server/lib/hls.ts @@ -50,13 +50,12 @@ async function updateMasterHLSPlaylist (video: MVideoWithFile) { let line = `#EXT-X-STREAM-INF:${bandwidth},${resolution}` if (file.fps) line += ',FRAME-RATE=' + file.fps - const videoCodec = await getVideoStreamCodec(videoFilePath) - line += `,CODECS="${videoCodec}` + const codecs = await Promise.all([ + getVideoStreamCodec(videoFilePath), + getAudioStreamCodec(videoFilePath) + ]) - const audioCodec = await getAudioStreamCodec(videoFilePath) - if (audioCodec) line += `,${audioCodec}` - - line += '"' + line += `,CODECS="${codecs.filter(c => !!c).join(',')}"` masterPlaylists.push(line) masterPlaylists.push(VideoStreamingPlaylistModel.getHlsPlaylistFilename(file.resolution)) From 16de9ff46dd3b737ef90d50f7e603ec682b362cf Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 6 May 2021 09:04:56 +0200 Subject: [PATCH 004/136] Prepare changelog --- CHANGELOG.md | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8fa4069f..297af7a8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,127 @@ # Changelog +## v3.2.0-rc.1 (~ May) + +### IMPORTANT NOTES + + * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. + See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information + * PeerTube client now displays bigger video thumbnails. + To fix old thumbnails quality, run `regenerate-thumbnails` script after your PeerTube upgrade: https://docs.joinpeertube.org/maintain-tools?id=regenerate-thumbnailsjs + +### Maintenance + + * Support `X-Frame-Options` header, enabled by default in the configuration + * Directly use `node` in [systemd template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/systemd/peertube.service) + * Check ffmpeg version at PeerTube startup + +### CLI tools + + * Add `regenerate-thumbnails` script to regenerate thumbnails of local videos + +### Plugins/Themes/Embed API + + * Theme: + * `--submenuColor` becomes `--submenuBackgroundColor` + * Support HTML placeholders for plugins. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=html-placeholder-elements) for more information + * `player-next` next to the PeerTube player + * Support storing files for plugins in a dedicated directory. See [the documentation](https://docs.joinpeertube.org/contribute-plugins?id=storage) for more information + * Transcoding: + * Add `inputOptions` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) + * Add `scaleFilter.name` option support for transcoding profile [#3917](https://github.com/Chocobozzz/PeerTube/pull/3917) + * Plugin settings: + * Add ability to register `html` and `select` setting + * Add ability to hide a plugin setting depending on the form state + * Plugin form fields (to add inputs to video form...): + * Add ability to hide a plugin field depending on the form state using `.hidden` property + * Add client helpers: + * `getServerConfig()` + * `getAuthHeader()` + * Add server helpers: + * `config.getServerConfig()` + * `plugin.getBaseStaticRoute()` + * `plugin.getBaseRouterRoute()` + * `plugin.getDataDirectoryPath()` + * `user.getAuthUser()` + * Add client plugin hooks (https://docs.joinpeertube.org/api-plugins): + * `action:modal.video-download.shown` + * `action:video-upload.init` + * `action:video-url-import.init` + * `action:video-torrent-import.init` + * `action:go-live.init` + * `action:auth-user.logged-in` & `action:auth-user.logged-out` + * `action:auth-user.information-loaded` + * `action:admin-plugin-settings.init` + * Add server plugin hooks (https://docs.joinpeertube.org/api-plugins): + * `filter:api.download.video.allowed.result` & `filter:api.download.torrent.allowed.result` to forbid download + * `filter:html.embed.video-playlist.allowed.result` & `filter:html.embed.video.allowed.result` to forbid embed + * `filter:api.search.videos.local.list.params` & `filter:api.search.videos.local.list.result` + * `filter:api.search.videos.index.list.params` & `filter:api.search.videos.index.list.result` + * `filter:api.search.video-channels.local.list.params` & `filter:api.search.video-channels.local.list.result` + * `filter:api.search.video-channels.index.list.params` & `filter:api.search.video-channels.index.list.result` + +### Features + + * Accessibility/UI: + * :tada: Redesign channel and account page + * :tada: Increase video miniature size + * :tada: Add channel banner support + * Use a square avatar for channels and a round avatar for accounts + * Use account initial as default account avatar [#4002](https://github.com/Chocobozzz/PeerTube/pull/4002) + * Prefer channel display in video miniature + * Add *support* button in channel page + * Set direct download as default in video download modal [#3880](https://github.com/Chocobozzz/PeerTube/pull/3880) + * Show less information in video download modal by default [#3890](https://github.com/Chocobozzz/PeerTube/pull/3890) + * Autofocus admin plugin search input + * Add `1.75` playback rate to player [#3888](https://github.com/Chocobozzz/PeerTube/pull/3888) + * Add `title` attribute to embed code [#3901](https://github.com/Chocobozzz/PeerTube/pull/3901) + * Don't pause player when opening a modal [#3909](https://github.com/Chocobozzz/PeerTube/pull/3909) + * Add link below the player to open the video on origin instance [#3624](https://github.com/Chocobozzz/PeerTube/issues/3624) + * Notify admins on new available PeerTube version + * Notify admins on new available plugin version + * Video player: + * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949) + * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955) + * Add a *Previous* button in playlist watch page [#3485](https://github.com/Chocobozzz/PeerTube/pull/3485) + * Automatically close the settings menu when clicking outside the player + * Add "stats for nerds" panel in context menu [#3958](https://github.com/Chocobozzz/PeerTube/pull/3958) + * Add channel and playlist stats to stats endpoint [#3747](https://github.com/Chocobozzz/PeerTube/pull/3747) + * Support `playlistPosition=last` and negative index (`playlistPosition=-2`) URL query parameters for playlists [#3974](https://github.com/Chocobozzz/PeerTube/pull/3974) + * My videos: + * Add ability to sort videos (publication date, most viewed...) + * Add ability to only display live videos + * Automatically resume videos for non logged-in users [#3885](https://github.com/Chocobozzz/PeerTube/pull/3885) + * Admin plugins: + * Show a modal when upgrading a plugin to a major version + * Display a setting button after plugin installation + * Add ability to search live videos + * Use bigger thumbnails for feeds + * Parse video description markdown for Opengraph/Twitter/HTML elements + * Open the remote interaction modal when replying to a comment if we are logged-out + * Handle `.srt` captions with broken durations + * Performance: + * Player now lazy loads video captions + * Faster admin table filters + +### Bug fixes + + * More robust comments fetcher of remote video + * Fix database ssl connection + * Remove unnecessary black border above and below video in player [#3920](https://github.com/Chocobozzz/PeerTube/pull/3920) + * Reduce tag input excessive padding [#3927](https://github.com/Chocobozzz/PeerTube/pull/3927) + * Fix disappearing hamburger menu for narrow screens [#3929](https://github.com/Chocobozzz/PeerTube/pull/3929) + * Fix Youtube subtitle import with some languages + * Fix transcoding profile update in admin config + * Fix outbox fetch with subtitled videos + * Correctly unload a plugin on update/uninstall [#3940](https://github.com/Chocobozzz/PeerTube/pull/3940) + * Ensure to install plugins that are supported by PeerTube + * Fix welcome/warning modal displaying twice + * Fix h265 video import using CLI + * Fix context menu when watching a playlist + * Fix transcoding job priority preventing video publication when there are many videos to transcode + + + ## v3.1.0 ### IMPORTANT NOTES From 60f1f61579947caab1b1d23646cd4e82691b431c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 6 May 2021 16:39:17 +0200 Subject: [PATCH 005/136] Fix ffmpeg version checker --- server/helpers/ffmpeg-utils.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index 75297df8f..f79b70469 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts @@ -679,10 +679,16 @@ function getFFmpegVersion () { return execPromise(`${ffmpegPath} -version`) .then(stdout => { - const parsed = stdout.match(/ffmpeg version .?(\d+\.\d+\.\d+)/) + const parsed = stdout.match(/ffmpeg version .?(\d+\.\d+(\.\d+)?)/) if (!parsed || !parsed[1]) return rej(new Error(`Could not find ffmpeg version in ${stdout}`)) - return res(parsed[1]) + // Fix ffmpeg version that does not include patch version (4.4 for example) + let version = parsed[1] + if (version.match(/^\d+\.\d+/)) { + version += '.0' + } + + return res(version) }) .catch(err => rej(err)) }) From 4b18c7dc0af7b7737c171cf7af0ebc63f1e8ea56 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 6 May 2021 17:02:47 +0200 Subject: [PATCH 006/136] Add note in changelog regarding ffmpeg 4.4 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 297af7a8d..ef0ec39bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### IMPORTANT NOTES + * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information * PeerTube client now displays bigger video thumbnails. From ddc7d3ece5d60089bef617925f17923688ab4f4c Mon Sep 17 00:00:00 2001 From: Philo van Kemenade Date: Thu, 6 May 2021 18:55:25 +0200 Subject: [PATCH 007/136] add possible OSX/postgres message to dependencies documentation (#4051) --- support/doc/dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/doc/dependencies.md b/support/doc/dependencies.md index 9666d72af..939772a9d 100644 --- a/support/doc/dependencies.md +++ b/support/doc/dependencies.md @@ -307,7 +307,7 @@ brew services run redis ``` On macOS, the `postgresql` user can be `_postgres` instead of `postgres`. -If `sudo -u postgres createuser -P peertube` gives you an error, you can try `sudo -u _postgres createuser -U peertube`. +If `sudo -u postgres createuser -P peertube` gives you an `unknown user: postgres` error, you can try `sudo -u _postgres createuser -U peertube`. ## Gentoo From 3c5e02f38f1e49938c2e49f12658677f16cee8f0 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Fri, 7 May 2021 01:40:21 +0200 Subject: [PATCH 008/136] add rate limit table to openapi spec --- support/doc/api/openapi.yaml | 51 +++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index d4fe15664..24a9eb9c2 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -12,8 +12,6 @@ info: url: 'https://joinpeertube.org/img/brand.png' altText: PeerTube Project Homepage description: | - # Introduction - The PeerTube API is built on HTTP(S) and is RESTful. You can use your favorite HTTP/REST library for your programming language to use PeerTube. The spec API is fully compatible with [openapi-generator](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO) @@ -23,13 +21,14 @@ info: - [Go](https://framagit.org/framasoft/peertube/clients/go) - [Kotlin](https://framagit.org/framasoft/peertube/clients/kotlin) - See the [Quick Start guide](https://docs.joinpeertube.org/api-rest-getting-started) so you can play with the PeerTube API. + See the [REST API quick start](https://docs.joinpeertube.org/api-rest-getting-started) for a few + examples of using with the PeerTube API. # Authentication - When you sign up for an account, you are given the possibility to generate - sessions, and authenticate using this session token. One session token can - currently be used at a time. + When you sign up for an account on a PeerTube instance, you are given the possibility + to generate sessions on it, and authenticate there using a session token. Only __one + session token can currently be used at a time__. ## Roles @@ -48,6 +47,29 @@ info: "error": "Token is invalid." // example exposed error message } ``` + + # Rate limits + + We are rate-limiting all endpoints of PeerTube's API. Here is how it is configured by default: + + | Endpoint | Calls | Time frame | + |-------------------------|------------------|---------------------------| + | `/*` | 50 | 10 seconds | + | `POST /users/token` | 15 | 5 minutes | + | `POST /users/register` | 2¹ | 5 minutes | + | `POST /users/ask-send-verify-email` | 3 | 5 minutes | + + Depending on the endpoint, ¹failed requests are not taken into account. A service + limit is announced by a `429 Too Many Requests` status code. + + You can get details about how your rate limit is going by reading following headers: + + | Header | Description | + |-------------------------|------------------------------------------------------------| + | X-RateLimit-Limit | Number of max requests allowed in the current time period | + | X-RateLimit-Remaining | Number of remaining requests in the current time period | + | X-RateLimit-Reset | Timestamp of end of current time period as UNIX timestamp | + | Retry-After | Seconds to delay after the first `429` is received | externalDocs: url: https://docs.joinpeertube.org/api-rest-reference.html tags: @@ -3959,19 +3981,16 @@ components: - video-live-ending securitySchemes: OAuth2: - description: > - In the header: *Authorization: Bearer * - - + description: | Authenticating via OAuth requires the following steps: - - - - Have an account with sufficient authorization levels - + - Have an activated account - [Generate](https://docs.joinpeertube.org/api-rest-getting-started) a - Bearer Token + Bearer Token for that account at `/api/v1/users/token` + - Make authenticated requests, putting *Authorization: Bearer * + - Profit, depending on the role assigned to the account - - Make Authenticated Requests + Note that the __access token is valid for 1 day__ and, and is given + along with a __refresh token valid for 2 weeks__. type: oauth2 flows: password: From 64df4b65aee56784f8edad917c44b24453bf4658 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Fri, 7 May 2021 02:15:02 +0200 Subject: [PATCH 009/136] add subscriptions feed api to openapi spec --- support/doc/api/openapi.yaml | 107 +++++++++++++++++++++++++++++------ 1 file changed, 91 insertions(+), 16 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 24a9eb9c2..e448bc1c9 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -3190,13 +3190,6 @@ paths: tags: - Feeds summary: List comments on videos - servers: - - url: 'https://peertube2.cpy.re' - description: Live Test Server (live data - latest nightly version) - - url: 'https://peertube3.cpy.re' - description: Live Test Server (live data - latest RC version) - - url: 'https://peertube.cpy.re' - description: Live Test Server (live data - stable version) parameters: - name: format in: path @@ -3249,18 +3242,33 @@ paths: application/xml: schema: $ref: '#/components/schemas/VideoCommentsForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/video-comments.xml?filter=local application/rss+xml: schema: $ref: '#/components/schemas/VideoCommentsForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/video-comments.rss?filter=local text/xml: schema: $ref: '#/components/schemas/VideoCommentsForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/video-comments.xml?filter=local application/atom+xml: schema: $ref: '#/components/schemas/VideoCommentsForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/video-comments.atom?filter=local application/json: schema: type: object + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/video-comments.json?filter=local '400': x-summary: field inconsistencies description: > @@ -3275,13 +3283,6 @@ paths: tags: - Feeds summary: List videos - servers: - - url: 'https://peertube2.cpy.re' - description: Live Test Server (live data - latest nightly version) - - url: 'https://peertube3.cpy.re' - description: Live Test Server (live data - latest RC version) - - url: 'https://peertube.cpy.re' - description: Live Test Server (live data - stable version) parameters: - name: format in: path @@ -3335,6 +3336,82 @@ paths: examples: nightly: externalValue: https://peertube2.cpy.re/feeds/videos.xml?filter=local + application/rss+xml: + schema: + $ref: '#/components/schemas/VideosForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/videos.rss?filter=local + text/xml: + schema: + $ref: '#/components/schemas/VideosForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/videos.xml?filter=local + application/atom+xml: + schema: + $ref: '#/components/schemas/VideosForXML' + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/videos.atom?filter=local + application/json: + schema: + type: object + examples: + nightly: + externalValue: https://peertube2.cpy.re/feeds/videos.json?filter=local + '404': + description: video channel or account not found + '406': + description: accept header unsupported + '/feeds/subscriptions.{format}': + get: + tags: + - Feeds + - Account + summary: List videos of subscriptions tied to a token + parameters: + - name: format + in: path + required: true + description: 'format expected (we focus on making `rss` the most featureful ; it serves [Media RSS](https://www.rssboard.org/media-rss))' + schema: + type: string + enum: + - xml + - rss + - rss2 + - atom + - atom1 + - json + - json1 + - name: accountId + in: query + description: limit listing to a specific account + schema: + type: string + required: true + - name: token + in: query + description: private token allowing access + schema: + type: string + required: true + - $ref: '#/components/parameters/sort' + - $ref: '#/components/parameters/nsfw' + - $ref: '#/components/parameters/filter' + responses: + '204': + description: successful operation + headers: + Cache-Control: + schema: + type: string + default: 'max-age=900' # 15 min cache + content: + application/xml: + schema: + $ref: '#/components/schemas/VideosForXML' application/rss+xml: schema: $ref: '#/components/schemas/VideosForXML' @@ -3347,8 +3424,6 @@ paths: application/json: schema: type: object - '404': - description: video channel or account not found '406': description: accept header unsupported /plugins: From a66c2e3252d6cca8958959966f42494ded564023 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 08:59:59 +0200 Subject: [PATCH 010/136] Fix remote actor creation date --- .../custom-validators/activitypub/actor.ts | 39 +++++++++---------- server/initializers/constants.ts | 2 +- .../0645-actor-remote-creation-date.ts | 26 +++++++++++++ server/lib/activitypub/actor.ts | 4 ++ server/models/account/account.ts | 2 - server/models/activitypub/actor.ts | 15 +++++-- server/models/video/video-channel.ts | 2 - .../tests/api/users/users-multiple-servers.ts | 28 +++++++------ server/types/models/account/actor.ts | 2 +- .../models/activitypub/activitypub-actor.ts | 2 + 10 files changed, 80 insertions(+), 42 deletions(-) create mode 100644 server/initializers/migrations/0645-actor-remote-creation-date.ts diff --git a/server/helpers/custom-validators/activitypub/actor.ts b/server/helpers/custom-validators/activitypub/actor.ts index 877345157..675a7b663 100644 --- a/server/helpers/custom-validators/activitypub/actor.ts +++ b/server/helpers/custom-validators/activitypub/actor.ts @@ -1,6 +1,6 @@ import validator from 'validator' import { CONSTRAINTS_FIELDS } from '../../../initializers/constants' -import { exists, isArray } from '../misc' +import { exists, isArray, isDateValid } from '../misc' import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc' import { isHostValid } from '../servers' import { peertubeTruncate } from '@server/helpers/core-utils' @@ -47,7 +47,21 @@ function isActorPrivateKeyValid (privateKey: string) { validator.isLength(privateKey, CONSTRAINTS_FIELDS.ACTORS.PRIVATE_KEY) } -function isActorObjectValid (actor: any) { +function isActorFollowingCountValid (value: string) { + return exists(value) && validator.isInt('' + value, { min: 0 }) +} + +function isActorFollowersCountValid (value: string) { + return exists(value) && validator.isInt('' + value, { min: 0 }) +} + +function isActorDeleteActivityValid (activity: any) { + return isBaseActivityValid(activity, 'Delete') +} + +function sanitizeAndCheckActorObject (actor: any) { + normalizeActor(actor) + return exists(actor) && isActivityPubUrlValid(actor.id) && isActorTypeValid(actor.type) && @@ -68,24 +82,6 @@ function isActorObjectValid (actor: any) { (actor.type !== 'Group' || actor.attributedTo.length !== 0) } -function isActorFollowingCountValid (value: string) { - return exists(value) && validator.isInt('' + value, { min: 0 }) -} - -function isActorFollowersCountValid (value: string) { - return exists(value) && validator.isInt('' + value, { min: 0 }) -} - -function isActorDeleteActivityValid (activity: any) { - return isBaseActivityValid(activity, 'Delete') -} - -function sanitizeAndCheckActorObject (object: any) { - normalizeActor(object) - - return isActorObjectValid(object) -} - function normalizeActor (actor: any) { if (!actor) return @@ -95,6 +91,8 @@ function normalizeActor (actor: any) { actor.url = actor.url.href || actor.url.url } + if (!isDateValid(actor.published)) actor.published = undefined + if (actor.summary && typeof actor.summary === 'string') { actor.summary = peertubeTruncate(actor.summary, { length: CONSTRAINTS_FIELDS.USERS.DESCRIPTION.max }) @@ -135,7 +133,6 @@ export { isActorPublicKeyValid, isActorPreferredUsernameValid, isActorPrivateKeyValid, - isActorObjectValid, isActorFollowingCountValid, isActorFollowersCountValid, isActorDeleteActivityValid, diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index d390fd95e..f807a1e58 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -24,7 +24,7 @@ import { CONFIG, registerConfigChangedHandler } from './config' // --------------------------------------------------------------------------- -const LAST_MIGRATION_VERSION = 640 +const LAST_MIGRATION_VERSION = 645 // --------------------------------------------------------------------------- diff --git a/server/initializers/migrations/0645-actor-remote-creation-date.ts b/server/initializers/migrations/0645-actor-remote-creation-date.ts new file mode 100644 index 000000000..38b3b881c --- /dev/null +++ b/server/initializers/migrations/0645-actor-remote-creation-date.ts @@ -0,0 +1,26 @@ +import * as Sequelize from 'sequelize' + +async function up (utils: { + transaction: Sequelize.Transaction + queryInterface: Sequelize.QueryInterface + sequelize: Sequelize.Sequelize + db: any +}): Promise { + { + const data = { + type: Sequelize.DATE, + defaultValue: null, + allowNull: true + } + await utils.queryInterface.addColumn('actor', 'remoteCreatedAt', data) + } +} + +function down (options) { + throw new Error('Not implemented.') +} + +export { + up, + down +} diff --git a/server/lib/activitypub/actor.ts b/server/lib/activitypub/actor.ts index eec951d4e..34d53bd52 100644 --- a/server/lib/activitypub/actor.ts +++ b/server/lib/activitypub/actor.ts @@ -154,6 +154,8 @@ async function updateActorInstance (actorInstance: ActorModel, attributes: Activ const followersCount = await fetchActorTotalItems(attributes.followers) const followingCount = await fetchActorTotalItems(attributes.following) + logger.info('coucou', { attributes }) + actorInstance.type = attributes.type actorInstance.preferredUsername = attributes.preferredUsername actorInstance.url = attributes.id @@ -165,6 +167,8 @@ async function updateActorInstance (actorInstance: ActorModel, attributes: Activ actorInstance.followersUrl = attributes.followers actorInstance.followingUrl = attributes.following + if (attributes.published) actorInstance.remoteCreatedAt = new Date(attributes.published) + if (attributes.endpoints?.sharedInbox) { actorInstance.sharedInboxUrl = attributes.endpoints.sharedInbox } diff --git a/server/models/account/account.ts b/server/models/account/account.ts index 312451abe..44be0fd3c 100644 --- a/server/models/account/account.ts +++ b/server/models/account/account.ts @@ -411,8 +411,6 @@ export class AccountModel extends Model { id: this.id, displayName: this.getDisplayName(), description: this.description, - createdAt: this.createdAt, - updatedAt: this.updatedAt, userId: this.userId ? this.userId : undefined } diff --git a/server/models/activitypub/actor.ts b/server/models/activitypub/actor.ts index 19f3f7e04..396a52337 100644 --- a/server/models/activitypub/actor.ts +++ b/server/models/activitypub/actor.ts @@ -69,9 +69,7 @@ export const unusedActorAttributesForAPI = [ 'outboxUrl', 'sharedInboxUrl', 'followersUrl', - 'followingUrl', - 'createdAt', - 'updatedAt' + 'followingUrl' ] @DefaultScope(() => ({ @@ -222,6 +220,10 @@ export class ActorModel extends Model { @Column(DataType.STRING(CONSTRAINTS_FIELDS.ACTORS.URL.max)) followingUrl: string + @AllowNull(true) + @Column + remoteCreatedAt: Date + @CreatedAt createdAt: Date @@ -555,7 +557,7 @@ export class ActorModel extends Model { followingCount: this.followingCount, followersCount: this.followersCount, banner, - createdAt: this.createdAt, + createdAt: this.getCreatedAt(), updatedAt: this.updatedAt }) } @@ -608,6 +610,7 @@ export class ActorModel extends Model { owner: this.url, publicKeyPem: this.publicKey }, + published: this.getCreatedAt().toISOString(), icon, image } @@ -690,4 +693,8 @@ export class ActorModel extends Model { return isOutdated(this, ACTIVITY_PUB.ACTOR_REFRESH_INTERVAL) } + + getCreatedAt (this: MActorAPChannel | MActorAPAccount | MActorFormattable) { + return this.remoteCreatedAt || this.createdAt + } } diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts index b7ffbd3b1..b627595c9 100644 --- a/server/models/video/video-channel.ts +++ b/server/models/video/video-channel.ts @@ -653,8 +653,6 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"` description: this.description, support: this.support, isLocal: this.Actor.isOwned(), - createdAt: this.createdAt, - updatedAt: this.updatedAt, ownerAccount: undefined, videosCount, viewsPerDay diff --git a/server/tests/api/users/users-multiple-servers.ts b/server/tests/api/users/users-multiple-servers.ts index dcd03879b..f60c66e4b 100644 --- a/server/tests/api/users/users-multiple-servers.ts +++ b/server/tests/api/users/users-multiple-servers.ts @@ -130,26 +130,32 @@ describe('Test users with multiple servers', function () { }) it('Should have updated my profile on other servers too', async function () { + let createdAt: string | Date + for (const server of servers) { const resAccounts = await getAccountsList(server.url, '-createdAt') - const rootServer1List = resAccounts.body.data.find(a => a.name === 'root' && a.host === 'localhost:' + servers[0].port) as Account - expect(rootServer1List).not.to.be.undefined + const resList = resAccounts.body.data.find(a => a.name === 'root' && a.host === 'localhost:' + servers[0].port) as Account + expect(resList).not.to.be.undefined - const resAccount = await getAccount(server.url, rootServer1List.name + '@' + rootServer1List.host) - const rootServer1Get = resAccount.body as Account - expect(rootServer1Get.name).to.equal('root') - expect(rootServer1Get.host).to.equal('localhost:' + servers[0].port) - expect(rootServer1Get.displayName).to.equal('my super display name') - expect(rootServer1Get.description).to.equal('my super description updated') + const resAccount = await getAccount(server.url, resList.name + '@' + resList.host) + const account = resAccount.body as Account + + if (!createdAt) createdAt = account.createdAt + + expect(account.name).to.equal('root') + expect(account.host).to.equal('localhost:' + servers[0].port) + expect(account.displayName).to.equal('my super display name') + expect(account.description).to.equal('my super description updated') + expect(createdAt).to.equal(account.createdAt) if (server.serverNumber === 1) { - expect(rootServer1Get.userId).to.be.a('number') + expect(account.userId).to.be.a('number') } else { - expect(rootServer1Get.userId).to.be.undefined + expect(account.userId).to.be.undefined } - await testImage(server.url, 'avatar2-resized', rootServer1Get.avatar.path, '.png') + await testImage(server.url, 'avatar2-resized', account.avatar.path, '.png') } }) diff --git a/server/types/models/account/actor.ts b/server/types/models/account/actor.ts index 8f3f30074..0b620872e 100644 --- a/server/types/models/account/actor.ts +++ b/server/types/models/account/actor.ts @@ -150,7 +150,7 @@ export type MActorSummaryFormattable = export type MActorFormattable = MActorSummaryFormattable & - Pick & + Pick & Use<'Server', MServerHost & Partial>> & UseOpt<'Banner', MActorImageFormattable> diff --git a/shared/models/activitypub/activitypub-actor.ts b/shared/models/activitypub/activitypub-actor.ts index c59be3f3b..09d4f7402 100644 --- a/shared/models/activitypub/activitypub-actor.ts +++ b/shared/models/activitypub/activitypub-actor.ts @@ -29,4 +29,6 @@ export interface ActivityPubActor { icon?: ActivityIconObject image?: ActivityIconObject + + published?: string } From aa7d2da45b478ea834f5484964e5c826d3cc7635 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Thu, 6 May 2021 13:14:05 +0200 Subject: [PATCH 011/136] Add curl as dependency to allow for healthchecks Closes https://github.com/Chocobozzz/PeerTube/issues/4045. --- support/docker/production/Dockerfile.buster | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/support/docker/production/Dockerfile.buster b/support/docker/production/Dockerfile.buster index b3822964d..2ff0591f9 100644 --- a/support/docker/production/Dockerfile.buster +++ b/support/docker/production/Dockerfile.buster @@ -7,7 +7,7 @@ ARG NPM_RUN_BUILD_OPTS # Install dependencies RUN apt update \ - && apt install -y --no-install-recommends openssl ffmpeg python ca-certificates gnupg gosu build-essential \ + && apt install -y --no-install-recommends openssl ffmpeg python ca-certificates gnupg gosu build-essential curl \ && gosu nobody true \ && rm /var/lib/apt/lists/* -fR From 52fe9526420b98df78f922ff3680a04ec0f7784e Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Fri, 7 May 2021 09:46:22 +0200 Subject: [PATCH 012/136] relax guarantee on openapi rate limit doc accuracy --- support/doc/api/openapi.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index e448bc1c9..90e30545f 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -50,7 +50,8 @@ info: # Rate limits - We are rate-limiting all endpoints of PeerTube's API. Here is how it is configured by default: + We are rate-limiting all endpoints of PeerTube's API. Custom values can be configured + by administrators: | Endpoint | Calls | Time frame | |-------------------------|------------------|---------------------------| @@ -62,7 +63,8 @@ info: Depending on the endpoint, ¹failed requests are not taken into account. A service limit is announced by a `429 Too Many Requests` status code. - You can get details about how your rate limit is going by reading following headers: + You can get details about the current state of your rate limit by reading the + following headers: | Header | Description | |-------------------------|------------------------------------------------------------| From bc4c9cc1d75d591c217d61ab22a107b7f1044c76 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 11:25:47 +0200 Subject: [PATCH 013/136] Fix mask-image property Needed by chrome --- client/.stylelintrc.json | 8 +++- client/src/app/app.component.scss | 4 +- client/src/sass/application.scss | 21 +++++++++- client/src/sass/include/_mixins.scss | 49 +++++------------------ client/src/sass/player/context-menu.scss | 1 + client/src/sass/player/peertube-skin.scss | 2 + client/src/sass/player/playlist.scss | 8 +++- 7 files changed, 50 insertions(+), 43 deletions(-) diff --git a/client/.stylelintrc.json b/client/.stylelintrc.json index 25f0b1002..6a322da62 100644 --- a/client/.stylelintrc.json +++ b/client/.stylelintrc.json @@ -24,6 +24,12 @@ "rule-empty-line-before": null, "selector-max-id": null, "scss/at-function-pattern": null, - "function-parentheses-space-inside": "never-single-line" + "function-parentheses-space-inside": "never-single-line", + "property-no-vendor-prefix": [ + true, + { + "ignoreProperties": [ "mask-image" ] + } + ] } } diff --git a/client/src/app/app.component.scss b/client/src/app/app.component.scss index e21ada0f1..0543564b4 100644 --- a/client/src/app/app.component.scss +++ b/client/src/app/app.component.scss @@ -40,8 +40,10 @@ } .icon-menu { - background-color: pvar(--mainForegroundColor); mask-image: url('../assets/images/misc/menu.svg'); + -webkit-mask-image: url('../assets/images/misc/menu.svg'); + + background-color: pvar(--mainForegroundColor); margin: 0 18px 0 20px; @media screen and (max-width: $mobile-view) { diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss index 89b6f0c4c..ae511aa02 100644 --- a/client/src/sass/application.scss +++ b/client/src/sass/application.scss @@ -402,7 +402,26 @@ ngx-loading-bar { } .admin-sub-header { - @include admin-sub-header-responsive; + flex-direction: column; + + .form-sub-title { + margin-right: 0 !important; + margin-bottom: 10px; + text-align: center; + } + + .admin-sub-nav { + display: block; + overflow-x: auto; + white-space: nowrap; + height: 50px; + padding: 10px 0; + width: 100%; + + a { + margin-left: 5px; + } + } } my-markdown-textarea { diff --git a/client/src/sass/include/_mixins.scss b/client/src/sass/include/_mixins.scss index b2083e516..06e55532a 100644 --- a/client/src/sass/include/_mixins.scss +++ b/client/src/sass/include/_mixins.scss @@ -336,20 +336,6 @@ cursor: pointer; } -@mixin select-arrow-down { - top: 50%; - right: calc(0% + 15px); - content: ' '; - height: 0; - width: 0; - position: absolute; - pointer-events: none; - border: 5px solid rgba(0, 0, 0, 0); - border-top-color: #000; - margin-top: -2px; - z-index: 100; -} - @mixin responsive-width ($width) { width: $width; @@ -381,7 +367,17 @@ } &::after { - @include select-arrow-down; + top: 50%; + right: calc(0% + 15px); + content: ' '; + height: 0; + width: 0; + position: absolute; + pointer-events: none; + border: 5px solid rgba(0, 0, 0, 0); + border-top-color: #000; + margin-top: -2px; + z-index: 100; } select { @@ -849,29 +845,6 @@ } } -@mixin admin-sub-header-responsive { - flex-direction: column; - - .form-sub-title { - margin-right: 0 !important; - margin-bottom: 10px; - text-align: center; - } - - .admin-sub-nav { - display: block; - overflow-x: auto; - white-space: nowrap; - height: 50px; - padding: 10px 0; - width: 100%; - - a { - margin-left: 5px; - } - } -} - // applies ratio (default to 16:9) to a child element (using $selector) only using // an immediate's parent size. This allows to set a ratio without explicit // dimensions, as width/height cannot be computed from each other. diff --git a/client/src/sass/player/context-menu.scss b/client/src/sass/player/context-menu.scss index 45cee3e77..1738f486d 100644 --- a/client/src/sass/player/context-menu.scss +++ b/client/src/sass/player/context-menu.scss @@ -47,6 +47,7 @@ $context-menu-width: 350px; @each $icon in $icons { &[class$="-#{$icon}"] { mask-image: url('#{$assets-path}/player/images/#{$icon}.svg'); + -webkit-mask-image: url('#{$assets-path}/player/images/#{$icon}.svg'); } } diff --git a/client/src/sass/player/peertube-skin.scss b/client/src/sass/player/peertube-skin.scss index 8fe2e054d..c010f7297 100644 --- a/client/src/sass/player/peertube-skin.scss +++ b/client/src/sass/player/peertube-skin.scss @@ -346,6 +346,8 @@ body { &.icon-next, &.icon-previous { mask-image: url('#{$assets-path}/player/images/next.svg'); + -webkit-mask-image: url('#{$assets-path}/player/images/next.svg'); + background-color: #fff; mask-size: cover; width: 11px; diff --git a/client/src/sass/player/playlist.scss b/client/src/sass/player/playlist.scss index 8558fc837..3279bd263 100644 --- a/client/src/sass/player/playlist.scss +++ b/client/src/sass/player/playlist.scss @@ -40,10 +40,12 @@ $playlist-menu-width: 350px; } .cross { + mask-image: url('#{$assets-path}/images/feather/x.svg'); + -webkit-mask-image: url('#{$assets-path}/images/feather/x.svg'); + cursor: pointer; width: 20px; height: 20px; - mask-image: url('#{$assets-path}/images/feather/x.svg'); background-color: #fff; mask-size: cover; } @@ -85,9 +87,11 @@ $playlist-menu-width: 350px; } .vjs-playlist-icon { + mask-image: url('#{$assets-path}/images/feather/list.svg'); + -webkit-mask-image: url('#{$assets-path}/images/feather/list.svg'); + width: 22px; height: 22px; - mask-image: url('#{$assets-path}/images/feather/list.svg'); background-color: #fff; mask-size: cover; margin-bottom: 3px; From a1bb73f9b591686b2ddfeb3291f305dae9f7fc6c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 11:53:46 +0200 Subject: [PATCH 014/136] Refactor a little bit live tests --- server/tests/api/live/live-constraints.ts | 68 +++++++---------------- server/tests/api/live/live-permanent.ts | 21 +------ server/tests/api/live/live-save-replay.ts | 11 +--- shared/extra-utils/server/config.ts | 15 ++++- shared/extra-utils/users/users.ts | 23 ++++++-- 5 files changed, 59 insertions(+), 79 deletions(-) diff --git a/server/tests/api/live/live-constraints.ts b/server/tests/api/live/live-constraints.ts index 5569e6066..cc635de33 100644 --- a/server/tests/api/live/live-constraints.ts +++ b/server/tests/api/live/live-constraints.ts @@ -2,15 +2,15 @@ import 'mocha' import * as chai from 'chai' -import { User, VideoDetails, VideoPrivacy } from '@shared/models' +import { VideoDetails, VideoPrivacy } from '@shared/models' import { checkLiveCleanup, cleanupTests, createLive, - createUser, doubleFollow, flushAndRunMultipleServers, - getMyUserInformation, + generateUser, + getCustomConfigResolutions, getVideo, runAndTestFfmpegStreamError, ServerInfo, @@ -18,7 +18,6 @@ import { setDefaultVideoChannel, updateCustomSubConfig, updateUser, - userLogin, wait, waitJobs, waitUntilLivePublished @@ -62,6 +61,16 @@ describe('Test live constraints', function () { } } + function updateQuota (options: { total: number, daily: number }) { + return updateUser({ + url: servers[0].url, + accessToken: servers[0].accessToken, + userId, + videoQuota: options.total, + videoQuotaDaily: options.daily + }) + } + before(async function () { this.timeout(120000) @@ -82,27 +91,12 @@ describe('Test live constraints', function () { }) { - const user = { username: 'user1', password: 'superpassword' } - const res = await createUser({ - url: servers[0].url, - accessToken: servers[0].accessToken, - username: user.username, - password: user.password - }) - userId = res.body.user.id + const res = await generateUser(servers[0], 'user1') + userId = res.userId + userChannelId = res.userChannelId + userAccessToken = res.token - userAccessToken = await userLogin(servers[0], user) - - const resMe = await getMyUserInformation(servers[0].url, userAccessToken) - userChannelId = (resMe.body as User).videoChannels[0].id - - await updateUser({ - url: servers[0].url, - userId, - accessToken: servers[0].accessToken, - videoQuota: 1, - videoQuotaDaily: -1 - }) + await updateQuota({ total: 1, daily: -1 }) } // Server 1 and server 2 follow each other @@ -137,13 +131,7 @@ describe('Test live constraints', function () { // Wait for user quota memoize cache invalidation await wait(5000) - await updateUser({ - url: servers[0].url, - userId, - accessToken: servers[0].accessToken, - videoQuota: -1, - videoQuotaDaily: 1 - }) + await updateQuota({ total: -1, daily: 1 }) const userVideoLiveoId = await createLiveWrapper(true) await runAndTestFfmpegStreamError(servers[0].url, userAccessToken, userVideoLiveoId, true) @@ -160,13 +148,7 @@ describe('Test live constraints', function () { // Wait for user quota memoize cache invalidation await wait(5000) - await updateUser({ - url: servers[0].url, - userId, - accessToken: servers[0].accessToken, - videoQuota: 10 * 1000 * 1000, - videoQuotaDaily: -1 - }) + await updateQuota({ total: 10 * 1000 * 1000, daily: -1 }) const userVideoLiveoId = await createLiveWrapper(true) await runAndTestFfmpegStreamError(servers[0].url, userAccessToken, userVideoLiveoId, false) @@ -182,15 +164,7 @@ describe('Test live constraints', function () { maxDuration: 1, transcoding: { enabled: true, - resolutions: { - '240p': true, - '360p': true, - '480p': true, - '720p': true, - '1080p': true, - '1440p': true, - '2160p': true - } + resolutions: getCustomConfigResolutions(true) } } }) diff --git a/server/tests/api/live/live-permanent.ts b/server/tests/api/live/live-permanent.ts index a5bda009f..d52e8c7e4 100644 --- a/server/tests/api/live/live-permanent.ts +++ b/server/tests/api/live/live-permanent.ts @@ -8,6 +8,7 @@ import { createLive, doubleFollow, flushAndRunMultipleServers, + getCustomConfigResolutions, getLive, getPlaylistsCount, getVideo, @@ -69,15 +70,7 @@ describe('Permenant live', function () { maxDuration: -1, transcoding: { enabled: true, - resolutions: { - '240p': true, - '360p': true, - '480p': true, - '720p': true, - '1080p': true, - '1440p': true, - '2160p': true - } + resolutions: getCustomConfigResolutions(true) } } }) @@ -159,15 +152,7 @@ describe('Permenant live', function () { maxDuration: -1, transcoding: { enabled: true, - resolutions: { - '240p': false, - '360p': false, - '480p': false, - '720p': false, - '1080p': false, - '1440p': false, - '2160p': false - } + resolutions: getCustomConfigResolutions(false) } } }) diff --git a/server/tests/api/live/live-save-replay.ts b/server/tests/api/live/live-save-replay.ts index 61c8e74dd..3d4736c8f 100644 --- a/server/tests/api/live/live-save-replay.ts +++ b/server/tests/api/live/live-save-replay.ts @@ -12,6 +12,7 @@ import { createLive, doubleFollow, flushAndRunMultipleServers, + getCustomConfigResolutions, getVideo, getVideosList, removeVideo, @@ -108,15 +109,7 @@ describe('Save replay setting', function () { maxDuration: -1, transcoding: { enabled: false, - resolutions: { - '240p': true, - '360p': true, - '480p': true, - '720p': true, - '1080p': true, - '1440p': true, - '2160p': true - } + resolutions: getCustomConfigResolutions(true) } } }) diff --git a/shared/extra-utils/server/config.ts b/shared/extra-utils/server/config.ts index 026a5e61c..b70110852 100644 --- a/shared/extra-utils/server/config.ts +++ b/shared/extra-utils/server/config.ts @@ -223,6 +223,18 @@ function updateCustomSubConfig (url: string, token: string, newConfig: DeepParti return updateCustomConfig(url, token, updateParams) } +function getCustomConfigResolutions (enabled: boolean) { + return { + '240p': enabled, + '360p': enabled, + '480p': enabled, + '720p': enabled, + '1080p': enabled, + '1440p': enabled, + '2160p': enabled + } +} + function deleteCustomConfig (url: string, token: string, statusCodeExpected = HttpStatusCode.OK_200) { const path = '/api/v1/config/custom' @@ -242,5 +254,6 @@ export { updateCustomConfig, getAbout, deleteCustomConfig, - updateCustomSubConfig + updateCustomSubConfig, + getCustomConfigResolutions } diff --git a/shared/extra-utils/users/users.ts b/shared/extra-utils/users/users.ts index 6040dd9c0..0f15962ad 100644 --- a/shared/extra-utils/users/users.ts +++ b/shared/extra-utils/users/users.ts @@ -1,5 +1,6 @@ import { omit } from 'lodash' import * as request from 'supertest' +import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' import { UserUpdateMe } from '../../models/users' import { UserAdminFlag } from '../../models/users/user-flag.model' import { UserRegister } from '../../models/users/user-register.model' @@ -7,9 +8,8 @@ import { UserRole } from '../../models/users/user-role' import { makeGetRequest, makePostBodyRequest, makePutBodyRequest, updateImageRequest } from '../requests/requests' import { ServerInfo } from '../server/servers' import { userLogin } from './login' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' -type CreateUserArgs = { +function createUser (parameters: { url: string accessToken: string username: string @@ -19,8 +19,7 @@ type CreateUserArgs = { role?: UserRole adminFlags?: UserAdminFlag specialStatus?: number -} -function createUser (parameters: CreateUserArgs) { +}) { const { url, accessToken, @@ -52,6 +51,21 @@ function createUser (parameters: CreateUserArgs) { .expect(specialStatus) } +async function generateUser (server: ServerInfo, username: string) { + const password = 'my super password' + const resCreate = await createUser({ url: server.url, accessToken: server.accessToken, username: username, password: password }) + + const token = await userLogin(server, { username, password }) + + const resMe = await getMyUserInformation(server.url, token) + + return { + token, + userId: resCreate.body.user.id, + userChannelId: resMe.body.videoChannels[0].id + } +} + async function generateUserAccessToken (server: ServerInfo, username: string) { const password = 'my super password' await createUser({ url: server.url, accessToken: server.accessToken, username: username, password: password }) @@ -393,6 +407,7 @@ export { resetPassword, renewUserScopedTokens, updateMyAvatar, + generateUser, askSendVerifyEmail, generateUserAccessToken, verifyEmail, From ce4b4495ff3607045dc6d5656f72ebf5eb28cb73 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 14:08:35 +0200 Subject: [PATCH 015/136] Refactor video edit css --- .../plugin-search.component.html | 2 +- .../shared/video-edit.component.html | 2 +- .../shared/video-edit.component.scss | 137 +++++++----------- 3 files changed, 56 insertions(+), 85 deletions(-) diff --git a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html index 6900e8717..8d8f12c48 100644 --- a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html +++ b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.html @@ -20,7 +20,7 @@ - {{ pagination.totalItems }} {pagination.totalItems, plural, =1 {result} other {results}} for {{ search }}" + {{ pagination.totalItems }} {pagination.totalItems, plural, =1 {result} other {results}} for "{{ search }}"
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.html b/client/src/app/+videos/+video-edit/shared/video-edit.component.html index 094b4d3b3..16233f9e0 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.html +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.html @@ -5,7 +5,7 @@ Basic info -
+
diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.scss b/client/src/app/+videos/+video-edit/shared/video-edit.component.scss index bc32d7964..c1c7c686d 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.scss +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.scss @@ -1,9 +1,3 @@ -// Bootstrap grid utilities require functions, variables and mixins -@import 'node_modules/bootstrap/scss/functions'; -@import 'node_modules/bootstrap/scss/variables'; -@import 'node_modules/bootstrap/scss/mixins'; -@import 'node_modules/bootstrap/scss/grid'; - @import 'variables'; @import 'mixins'; @@ -57,63 +51,60 @@ my-peertube-checkbox { } } -.captions { +.captions-header { + text-align: right; + margin-bottom: 1rem; +} - .captions-header { - text-align: right; - margin-bottom: 1rem; +.create-caption { + @include create-button; +} - .create-caption { - @include create-button; +.caption-entry { + display: flex; + height: 40px; + align-items: center; + + a.caption-entry-label { + @include disable-default-a-behaviour; + + flex-grow: 1; + color: #000; + + &:hover { + opacity: 0.8; } } - .caption-entry { - display: flex; - height: 40px; - align-items: center; - - a.caption-entry-label { - @include disable-default-a-behaviour; - - flex-grow: 1; - color: #000; - - &:hover { - opacity: 0.8; - } - } - - .caption-entry-label { - font-size: 15px; - font-weight: bold; - - margin-right: 20px; - width: 150px; - } - - .caption-entry-state { - width: 200px; - - &.caption-entry-state-create { - color: #39CC0B; - } - - &.caption-entry-state-delete { - color: #FF0000; - } - } - - .caption-entry-delete { - @include peertube-button; - @include grey-button; - } - } - - .no-caption { - text-align: center; + .caption-entry-label { font-size: 15px; + font-weight: bold; + + margin-right: 20px; + width: 150px; } + + .caption-entry-state { + width: 200px; + + &.caption-entry-state-create { + color: #39CC0B; + } + + &.caption-entry-state-delete { + color: #FF0000; + } + } + + .caption-entry-delete { + @include peertube-button; + @include grey-button; + } +} + +.no-caption { + text-align: center; + font-size: 15px; } .submit-container { @@ -143,35 +134,15 @@ p-calendar { } } -// columns for the video -.col-video-edit { - @include make-col-ready(); +.form-columns { + display: grid; - @include media-breakpoint-up(md) { - @include make-col(7); - - + .col-video-edit { - @include make-col(5); - } - } - - @include media-breakpoint-up(xl) { - @include make-col(8); - - + .col-video-edit { - @include make-col(4); - } - } + grid-template-columns: 66% 1fr; + grid-gap: 30px; } -:host-context(.expanded) { - .col-video-edit { - @include media-breakpoint-up(md) { - @include make-col(8); - - + .col-video-edit { - @include make-col(4); - } - } +@include on-small-main-col { + .form-columns { + grid-template-columns: 1fr; } } From 1ff9f1cda3f8283241776cd8344e6671742b25f7 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 14:23:43 +0200 Subject: [PATCH 016/136] Fix ffmpeg version parsing --- server/helpers/ffmpeg-utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/helpers/ffmpeg-utils.ts b/server/helpers/ffmpeg-utils.ts index f79b70469..25d9d4951 100644 --- a/server/helpers/ffmpeg-utils.ts +++ b/server/helpers/ffmpeg-utils.ts @@ -684,7 +684,7 @@ function getFFmpegVersion () { // Fix ffmpeg version that does not include patch version (4.4 for example) let version = parsed[1] - if (version.match(/^\d+\.\d+/)) { + if (version.match(/^\d+\.\d+$/)) { version += '.0' } From d15aebf511f92d19d3ef9b196e54525ec6c3a4cd Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 14:40:54 +0200 Subject: [PATCH 017/136] Run misc tests in parallel --- scripts/ci.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/ci.sh b/scripts/ci.sh index a0de62d91..f4a200a00 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -44,7 +44,7 @@ if [ "$1" = "misc" ]; then pluginsFiles=$(findTestFiles server/tests/plugins) miscFiles="server/tests/client.ts server/tests/misc-endpoints.ts" - TS_NODE_FILES=true runTest "$1" 1 $feedsFiles $helperFiles $pluginsFiles $miscFiles + MOCHA_PARALLEL=true TS_NODE_FILES=true runTest "$1" 2 $feedsFiles $helperFiles $pluginsFiles $miscFiles elif [ "$1" = "cli" ]; then npm run build:server npm run setup:cli From 4b91bc1525e89643c575cac6557c86f64e657aa2 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 14:48:39 +0200 Subject: [PATCH 018/136] Reduce pending job waiting --- .github/workflows/test.yml | 2 +- shared/extra-utils/server/jobs.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 442317ce2..a1edde1ef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,7 +44,7 @@ jobs: env: PGUSER: peertube PGHOST: localhost - NODE_PENDING_JOB_WAIT: 500 + NODE_PENDING_JOB_WAIT: 250 steps: - uses: actions/checkout@v2 diff --git a/shared/extra-utils/server/jobs.ts b/shared/extra-utils/server/jobs.ts index 704929bd4..763374e03 100644 --- a/shared/extra-utils/server/jobs.ts +++ b/shared/extra-utils/server/jobs.ts @@ -55,7 +55,7 @@ function getJobsListPaginationAndSort (options: { async function waitJobs (serversArg: ServerInfo[] | ServerInfo) { const pendingJobWait = process.env.NODE_PENDING_JOB_WAIT ? parseInt(process.env.NODE_PENDING_JOB_WAIT, 10) - : 500 + : 250 let servers: ServerInfo[] @@ -115,7 +115,7 @@ async function waitJobs (serversArg: ServerInfo[] | ServerInfo) { } if (pendingRequests) { - await wait(1000) + await wait(pendingJobWait) } } while (pendingRequests) } From 4076e2ef6b5337cc56caabb8d6cc5f94e60e9347 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 15:17:43 +0200 Subject: [PATCH 019/136] Increase test timeout --- .../src/app/+about/about-follows/about-follows.component.html | 2 +- server/tests/plugins/filter-hooks.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/app/+about/about-follows/about-follows.component.html b/client/src/app/+about/about-follows/about-follows.component.html index f81465f88..6bc1d0448 100644 --- a/client/src/app/+about/about-follows/about-follows.component.html +++ b/client/src/app/+about/about-follows/about-follows.component.html @@ -9,7 +9,7 @@ {{ follower}} - +
diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts index ac958c5f5..cf1dd0854 100644 --- a/server/tests/plugins/filter-hooks.ts +++ b/server/tests/plugins/filter-hooks.ts @@ -55,7 +55,7 @@ describe('Test plugin filter hooks', function () { let threadId: number before(async function () { - this.timeout(30000) + this.timeout(60000) servers = await flushAndRunMultipleServers(2) await setAccessTokensToServers(servers) From 1e0741d16545ea720d04b566a808853b3975ea7f Mon Sep 17 00:00:00 2001 From: John Livingston Date: Fri, 7 May 2021 17:32:58 +0200 Subject: [PATCH 020/136] Fix CLI plugins list command: use command parameters. --- server/tools/peertube-plugins.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/server/tools/peertube-plugins.ts b/server/tools/peertube-plugins.ts index 08e8cd713..c8a576844 100644 --- a/server/tools/peertube-plugins.ts +++ b/server/tools/peertube-plugins.ts @@ -24,7 +24,7 @@ program .option('-p, --password ', 'Password') .option('-t, --only-themes', 'List themes only') .option('-P, --only-plugins', 'List plugins only') - .action(() => pluginsListCLI()) + .action((options, command) => pluginsListCLI(command, options)) program .command('install') @@ -61,12 +61,10 @@ if (!process.argv.slice(2).length) { program.parse(process.argv) -const options = program.opts() - // ---------------------------------------------------------------------------- -async function pluginsListCLI () { - const { url, username, password } = await getServerCredentials(program) +async function pluginsListCLI (command: commander.CommanderStatic, options: commander.OptionValues) { + const { url, username, password } = await getServerCredentials(command) const accessToken = await getAdminTokenOrDie(url, username, password) let pluginType: PluginType From e024fd6a7494b37251da1d59470324305cdb4129 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 7 May 2021 17:14:39 +0200 Subject: [PATCH 021/136] Update channel updatedAt when uploading a video --- server/controllers/api/videos/index.ts | 3 + server/helpers/database-utils.ts | 18 +++- server/lib/activitypub/actor.ts | 2 - server/lib/activitypub/videos.ts | 3 + server/models/account/account.ts | 1 + server/models/activitypub/actor.ts | 3 +- server/models/video/video-channel.ts | 8 +- server/models/video/video.ts | 7 +- server/tests/api/videos/video-channels.ts | 82 +++++++++++++------ shared/models/actors/account.model.ts | 2 + shared/models/actors/actor.model.ts | 1 - .../videos/channel/video-channel.model.ts | 3 + 12 files changed, 95 insertions(+), 38 deletions(-) diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index 6ec6478e4..fbdb0f776 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts @@ -248,6 +248,9 @@ async function addVideo (req: express.Request, res: express.Response) { }, { transaction: t }) } + // Channel has a new content, set as updated + await videoCreated.VideoChannel.setAsUpdated(t) + await autoBlacklistVideoIfNeeded({ video, user: res.locals.oauth.token.User, diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index 2b916efc2..f9cb33aca 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -1,8 +1,9 @@ import * as retry from 'async/retry' import * as Bluebird from 'bluebird' +import { QueryTypes, Transaction } from 'sequelize' import { Model } from 'sequelize-typescript' +import { sequelizeTypescript } from '@server/initializers/database' import { logger } from './logger' -import { Transaction } from 'sequelize' function retryTransactionWrapper ( functionToRetry: (arg1: A, arg2: B, arg3: C, arg4: D) => Promise | Bluebird, @@ -96,6 +97,18 @@ function deleteNonExistingModels f.destroy({ transaction: t })) } +// Sequelize always skip the update if we only update updatedAt field +function setAsUpdated (table: string, id: number, transaction?: Transaction) { + return sequelizeTypescript.query( + `UPDATE "${table}" SET "updatedAt" = :updatedAt WHERE id = :id`, + { + replacements: { table, id, updatedAt: new Date() }, + type: QueryTypes.UPDATE, + transaction + } + ) +} + // --------------------------------------------------------------------------- export { @@ -104,5 +117,6 @@ export { transactionRetryer, updateInstanceWithAnother, afterCommitIfTransaction, - deleteNonExistingModels + deleteNonExistingModels, + setAsUpdated } diff --git a/server/lib/activitypub/actor.ts b/server/lib/activitypub/actor.ts index 34d53bd52..5fe7381c9 100644 --- a/server/lib/activitypub/actor.ts +++ b/server/lib/activitypub/actor.ts @@ -154,8 +154,6 @@ async function updateActorInstance (actorInstance: ActorModel, attributes: Activ const followersCount = await fetchActorTotalItems(attributes.followers) const followingCount = await fetchActorTotalItems(attributes.following) - logger.info('coucou', { attributes }) - actorInstance.type = attributes.type actorInstance.preferredUsername = attributes.preferredUsername actorInstance.url = attributes.id diff --git a/server/lib/activitypub/videos.ts b/server/lib/activitypub/videos.ts index 506204674..15726f90b 100644 --- a/server/lib/activitypub/videos.ts +++ b/server/lib/activitypub/videos.ts @@ -697,6 +697,9 @@ async function createVideo (videoObject: VideoObject, channel: MChannelAccountLi videoCreated.VideoLive = await videoLive.save({ transaction: t }) } + // We added a video in this channel, set it as updated + await channel.setAsUpdated(t) + const autoBlacklisted = await autoBlacklistVideoIfNeeded({ video: videoCreated, user: undefined, diff --git a/server/models/account/account.ts b/server/models/account/account.ts index 44be0fd3c..d33353af7 100644 --- a/server/models/account/account.ts +++ b/server/models/account/account.ts @@ -411,6 +411,7 @@ export class AccountModel extends Model { id: this.id, displayName: this.getDisplayName(), description: this.description, + updatedAt: this.updatedAt, userId: this.userId ? this.userId : undefined } diff --git a/server/models/activitypub/actor.ts b/server/models/activitypub/actor.ts index 396a52337..1af9efac2 100644 --- a/server/models/activitypub/actor.ts +++ b/server/models/activitypub/actor.ts @@ -557,8 +557,7 @@ export class ActorModel extends Model { followingCount: this.followingCount, followersCount: this.followersCount, banner, - createdAt: this.getCreatedAt(), - updatedAt: this.updatedAt + createdAt: this.getCreatedAt() }) } diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts index b627595c9..081b21f2d 100644 --- a/server/models/video/video-channel.ts +++ b/server/models/video/video-channel.ts @@ -1,4 +1,4 @@ -import { FindOptions, Includeable, literal, Op, QueryTypes, ScopeOptions } from 'sequelize' +import { FindOptions, Includeable, literal, Op, QueryTypes, ScopeOptions, Transaction } from 'sequelize' import { AllowNull, BeforeDestroy, @@ -17,6 +17,7 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { setAsUpdated } from '@server/helpers/database-utils' import { MAccountActor } from '@server/types/models' import { ActivityPubActor } from '../../../shared/models/activitypub' import { VideoChannel, VideoChannelSummary } from '../../../shared/models/videos' @@ -653,6 +654,7 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"` description: this.description, support: this.support, isLocal: this.Actor.isOwned(), + updatedAt: this.updatedAt, ownerAccount: undefined, videosCount, viewsPerDay @@ -689,4 +691,8 @@ ON "Account->Actor"."serverId" = "Account->Actor->Server"."id"` isOutdated () { return this.Actor.isOutdated() } + + setAsUpdated (transaction: Transaction) { + return setAsUpdated('videoChannel', this.id, transaction) + } } diff --git a/server/models/video/video.ts b/server/models/video/video.ts index e55a21a6b..8c316e00c 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts @@ -24,6 +24,7 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { setAsUpdated } from '@server/helpers/database-utils' import { buildNSFWFilter } from '@server/helpers/express-utils' import { getPrivaciesForFederation, isPrivacyForFederation, isStateForFederation } from '@server/helpers/video' import { LiveManager } from '@server/lib/live-manager' @@ -2053,11 +2054,7 @@ export class VideoModel extends Model { } setAsRefreshed () { - const options = { - where: { id: this.id } - } - - return VideoModel.update({ updatedAt: new Date() }, options) + return setAsUpdated('video', this.id) } requiresAuth () { diff --git a/server/tests/api/videos/video-channels.ts b/server/tests/api/videos/video-channels.ts index d12d58e75..7e7ad028c 100644 --- a/server/tests/api/videos/video-channels.ts +++ b/server/tests/api/videos/video-channels.ts @@ -3,6 +3,7 @@ import 'mocha' import * as chai from 'chai' import { basename } from 'path' +import { ACTOR_IMAGES_SIZE } from '@server/initializers/constants' import { cleanupTests, createUser, @@ -13,6 +14,7 @@ import { getVideo, getVideoChannel, getVideoChannelVideos, + setDefaultVideoChannel, testImage, updateVideo, updateVideoChannelImage, @@ -33,7 +35,6 @@ import { } from '../../../../shared/extra-utils/index' import { waitJobs } from '../../../../shared/extra-utils/server/jobs' import { User, Video, VideoChannel, VideoDetails } from '../../../../shared/index' -import { ACTOR_IMAGES_SIZE } from '@server/initializers/constants' const expect = chai.expect @@ -47,9 +48,10 @@ async function findChannel (server: ServerInfo, channelId: number) { describe('Test video channels', function () { let servers: ServerInfo[] let userInfo: User - let firstVideoChannelId: number let secondVideoChannelId: number + let totoChannel: number let videoUUID: string + let accountName: string before(async function () { this.timeout(60000) @@ -57,16 +59,9 @@ describe('Test video channels', function () { servers = await flushAndRunMultipleServers(2) await setAccessTokensToServers(servers) + await setDefaultVideoChannel(servers) + await doubleFollow(servers[0], servers[1]) - - { - const res = await getMyUserInformation(servers[0].url, servers[0].accessToken) - const user: User = res.body - - firstVideoChannelId = user.videoChannels[0].id - } - - await waitJobs(servers) }) it('Should have one video channel (created with root)', async () => { @@ -116,12 +111,14 @@ describe('Test video channels', function () { expect(videoChannels[1].displayName).to.equal('second video channel') expect(videoChannels[1].description).to.equal('super video channel description') expect(videoChannels[1].support).to.equal('super video channel support text') + + accountName = userInfo.account.name + '@' + userInfo.account.host }) it('Should have two video channels when getting account channels on server 1', async function () { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host + accountName }) expect(res.body.total).to.equal(2) @@ -142,7 +139,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, start: 0, count: 1, sort: 'createdAt' @@ -158,7 +155,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, start: 0, count: 1, sort: '-createdAt' @@ -174,7 +171,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, start: 1, count: 1, sort: '-createdAt' @@ -191,7 +188,7 @@ describe('Test video channels', function () { it('Should have one video channel when getting account channels on server 2', async function () { const res = await getAccountVideoChannelsList({ url: servers[1].url, - accountName: userInfo.account.name + '@' + userInfo.account.host + accountName }) expect(res.body.total).to.equal(1) @@ -379,7 +376,7 @@ describe('Test video channels', function () { it('Should change the video channel of a video', async function () { this.timeout(10000) - await updateVideo(servers[0].url, servers[0].accessToken, videoUUID, { channelId: firstVideoChannelId }) + await updateVideo(servers[0].url, servers[0].accessToken, videoUUID, { channelId: servers[0].videoChannel.id }) await waitJobs(servers) }) @@ -419,7 +416,8 @@ describe('Test video channels', function () { it('Should create the main channel with an uuid if there is a conflict', async function () { { const videoChannel = { name: 'toto_channel', displayName: 'My toto channel' } - await addVideoChannel(servers[0].url, servers[0].accessToken, videoChannel) + const res = await addVideoChannel(servers[0].url, servers[0].accessToken, videoChannel) + totoChannel = res.body.videoChannel.id } { @@ -438,7 +436,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, withStats: true }) @@ -456,7 +454,7 @@ describe('Test video channels', function () { } { - // video has been posted on channel firstVideoChannelId since last update + // video has been posted on channel servers[0].videoChannel.id since last update await viewVideo(servers[0].url, videoUUID, 204, '0.0.0.1,127.0.0.1') await viewVideo(servers[0].url, videoUUID, 204, '0.0.0.2,127.0.0.1') @@ -465,10 +463,10 @@ describe('Test video channels', function () { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, withStats: true }) - const channelWithView = res.body.data.find((channel: VideoChannel) => channel.id === firstVideoChannelId) + const channelWithView = res.body.data.find((channel: VideoChannel) => channel.id === servers[0].videoChannel.id) expect(channelWithView.viewsPerDay.slice(-1)[0].views).to.equal(2) } }) @@ -476,7 +474,7 @@ describe('Test video channels', function () { it('Should report correct videos count', async function () { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, withStats: true }) const channels: VideoChannel[] = res.body.data @@ -492,7 +490,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, search: 'root' }) expect(res.body.total).to.equal(1) @@ -504,7 +502,7 @@ describe('Test video channels', function () { { const res = await getAccountVideoChannelsList({ url: servers[0].url, - accountName: userInfo.account.name + '@' + userInfo.account.host, + accountName, search: 'does not exist' }) expect(res.body.total).to.equal(0) @@ -514,6 +512,40 @@ describe('Test video channels', function () { } }) + it('Should list channels by updatedAt desc if a video has been uploaded', async function () { + this.timeout(30000) + + await uploadVideo(servers[0].url, servers[0].accessToken, { channelId: totoChannel }) + await waitJobs(servers) + + for (const server of servers) { + const res = await getAccountVideoChannelsList({ + url: server.url, + accountName, + sort: '-updatedAt' + }) + + const channels: VideoChannel[] = res.body.data + expect(channels[0].name).to.equal('toto_channel') + expect(channels[1].name).to.equal('root_channel') + } + + await uploadVideo(servers[0].url, servers[0].accessToken, { channelId: servers[0].videoChannel.id }) + await waitJobs(servers) + + for (const server of servers) { + const res = await getAccountVideoChannelsList({ + url: server.url, + accountName, + sort: '-updatedAt' + }) + + const channels: VideoChannel[] = res.body.data + expect(channels[0].name).to.equal('root_channel') + expect(channels[1].name).to.equal('toto_channel') + } + }) + after(async function () { await cleanupTests(servers) }) diff --git a/shared/models/actors/account.model.ts b/shared/models/actors/account.model.ts index 120dec271..f2138077e 100644 --- a/shared/models/actors/account.model.ts +++ b/shared/models/actors/account.model.ts @@ -5,6 +5,8 @@ export interface Account extends Actor { displayName: string description: string + updatedAt: Date | string + userId?: number } diff --git a/shared/models/actors/actor.model.ts b/shared/models/actors/actor.model.ts index 7d9f35b10..fd0662331 100644 --- a/shared/models/actors/actor.model.ts +++ b/shared/models/actors/actor.model.ts @@ -8,6 +8,5 @@ export interface Actor { followingCount: number followersCount: number createdAt: Date | string - updatedAt: Date | string avatar?: ActorImage } diff --git a/shared/models/videos/channel/video-channel.model.ts b/shared/models/videos/channel/video-channel.model.ts index 56517972d..5393f924d 100644 --- a/shared/models/videos/channel/video-channel.model.ts +++ b/shared/models/videos/channel/video-channel.model.ts @@ -11,6 +11,9 @@ export interface VideoChannel extends Actor { description: string support: string isLocal: boolean + + updatedAt: Date | string + ownerAccount?: Account videosCount?: number From dc2b2938c293bae271a27a6c823f66496998b4d3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 09:31:33 +0200 Subject: [PATCH 022/136] Sort channels by -updatedAt --- .../account-video-channels.component.ts | 8 +++++++- .../src/app/+accounts/accounts.component.ts | 2 +- .../my-video-channels.component.ts | 8 +++++++- .../my-accept-ownership.component.html | 9 ++------- .../my-accept-ownership.component.ts | 16 +++++++--------- .../+video-edit/video-update.resolver.ts | 18 +++++------------- client/src/app/helpers/utils.ts | 18 ++++++++++++------ .../shared-main/account/account.model.ts | 6 ++++++ .../shared/shared-main/account/actor.model.ts | 2 -- .../video-channel/video-channel.model.ts | 4 ++++ .../video-channel/video-channel.service.ts | 19 ++++++++++--------- 11 files changed, 61 insertions(+), 49 deletions(-) diff --git a/client/src/app/+accounts/account-video-channels/account-video-channels.component.ts b/client/src/app/+accounts/account-video-channels/account-video-channels.component.ts index 0628c7a96..7e916e122 100644 --- a/client/src/app/+accounts/account-video-channels/account-video-channels.component.ts +++ b/client/src/app/+accounts/account-video-channels/account-video-channels.component.ts @@ -79,7 +79,13 @@ export class AccountVideoChannelsComponent implements OnInit, OnDestroy { } loadMoreChannels () { - this.videoChannelService.listAccountVideoChannels(this.account, this.channelPagination) + const options = { + account: this.account, + componentPagination: this.channelPagination, + sort: '-updatedAt' + } + + this.videoChannelService.listAccountVideoChannels(options) .pipe( tap(res => this.channelPagination.totalItems = res.total), switchMap(res => from(res.data)), diff --git a/client/src/app/+accounts/accounts.component.ts b/client/src/app/+accounts/accounts.component.ts index fbd7380a9..c69b04a01 100644 --- a/client/src/app/+accounts/accounts.component.ts +++ b/client/src/app/+accounts/accounts.component.ts @@ -66,7 +66,7 @@ export class AccountsComponent implements OnInit, OnDestroy { distinctUntilChanged(), switchMap(accountId => this.accountService.getAccount(accountId)), tap(account => this.onAccount(account)), - switchMap(account => this.videoChannelService.listAccountVideoChannels(account)), + switchMap(account => this.videoChannelService.listAccountVideoChannels({ account })), catchError(err => this.restExtractor.redirectTo404IfNotFound(err, 'other', [ HttpStatusCode.BAD_REQUEST_400, HttpStatusCode.NOT_FOUND_404 diff --git a/client/src/app/+my-library/+my-video-channels/my-video-channels.component.ts b/client/src/app/+my-library/+my-video-channels/my-video-channels.component.ts index 9e3bf35b4..67b3ee496 100644 --- a/client/src/app/+my-library/+my-video-channels/my-video-channels.component.ts +++ b/client/src/app/+my-library/+my-video-channels/my-video-channels.component.ts @@ -68,8 +68,14 @@ channel with the same name (${videoChannel.name})!`, this.authService.userInformationLoaded .pipe(mergeMap(() => { const user = this.authService.getUser() + const options = { + account: user.account, + withStats: true, + search: this.search, + sort: '-updatedAt' + } - return this.videoChannelService.listAccountVideoChannels(user.account, null, true, this.search) + return this.videoChannelService.listAccountVideoChannels(options) })).subscribe(res => { this.videoChannels = res.data this.totalItems = res.total diff --git a/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html b/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html index 088765b20..d0393a2a4 100644 --- a/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html +++ b/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html @@ -8,13 +8,8 @@ diff --git a/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts b/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts index 0e2395754..7889d0985 100644 --- a/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts +++ b/client/src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts @@ -1,11 +1,12 @@ -import { switchMap } from 'rxjs/operators' +import { SelectChannelItem } from 'src/types/select-options-item.model' import { Component, ElementRef, EventEmitter, OnInit, Output, ViewChild } from '@angular/core' import { AuthService, Notifier } from '@app/core' +import { listUserChannels } from '@app/helpers' import { OWNERSHIP_CHANGE_CHANNEL_VALIDATOR } from '@app/shared/form-validators/video-ownership-change-validators' import { FormReactive, FormValidatorService } from '@app/shared/shared-forms' -import { VideoChannelService, VideoOwnershipService } from '@app/shared/shared-main' +import { VideoOwnershipService } from '@app/shared/shared-main' import { NgbModal } from '@ng-bootstrap/ng-bootstrap' -import { VideoChangeOwnership, VideoChannel } from '@shared/models' +import { VideoChangeOwnership } from '@shared/models' @Component({ selector: 'my-accept-ownership', @@ -18,8 +19,7 @@ export class MyAcceptOwnershipComponent extends FormReactive implements OnInit { @ViewChild('modal', { static: true }) modal: ElementRef videoChangeOwnership: VideoChangeOwnership | undefined = undefined - - videoChannels: VideoChannel[] + videoChannels: SelectChannelItem[] error: string = null @@ -28,7 +28,6 @@ export class MyAcceptOwnershipComponent extends FormReactive implements OnInit { private videoOwnershipService: VideoOwnershipService, private notifier: Notifier, private authService: AuthService, - private videoChannelService: VideoChannelService, private modalService: NgbModal ) { super() @@ -37,9 +36,8 @@ export class MyAcceptOwnershipComponent extends FormReactive implements OnInit { ngOnInit () { this.videoChannels = [] - this.authService.userInformationLoaded - .pipe(switchMap(() => this.videoChannelService.listAccountVideoChannels(this.authService.getUser().account))) - .subscribe(videoChannels => this.videoChannels = videoChannels.data) + listUserChannels(this.authService) + .subscribe(channels => this.videoChannels = channels) this.buildForm({ channel: OWNERSHIP_CHANGE_CHANNEL_VALIDATOR diff --git a/client/src/app/+videos/+video-edit/video-update.resolver.ts b/client/src/app/+videos/+video-edit/video-update.resolver.ts index 276548b79..9172b78a8 100644 --- a/client/src/app/+videos/+video-edit/video-update.resolver.ts +++ b/client/src/app/+videos/+video-edit/video-update.resolver.ts @@ -2,7 +2,9 @@ import { forkJoin, of } from 'rxjs' import { map, switchMap } from 'rxjs/operators' import { Injectable } from '@angular/core' import { ActivatedRouteSnapshot, Resolve } from '@angular/router' -import { VideoCaptionService, VideoChannelService, VideoDetails, VideoService } from '@app/shared/shared-main' +import { AuthService } from '@app/core' +import { listUserChannels } from '@app/helpers' +import { VideoCaptionService, VideoDetails, VideoService } from '@app/shared/shared-main' import { LiveVideoService } from '@app/shared/shared-video-live' @Injectable() @@ -10,7 +12,7 @@ export class VideoUpdateResolver implements Resolve { constructor ( private videoService: VideoService, private liveVideoService: LiveVideoService, - private videoChannelService: VideoChannelService, + private authService: AuthService, private videoCaptionService: VideoCaptionService ) { } @@ -31,17 +33,7 @@ export class VideoUpdateResolver implements Resolve { .loadCompleteDescription(video.descriptionPath) .pipe(map(description => Object.assign(video, { description }))), - this.videoChannelService - .listAccountVideoChannels(video.account) - .pipe( - map(result => result.data), - map(videoChannels => videoChannels.map(c => ({ - id: c.id, - label: c.displayName, - support: c.support, - avatarPath: c.avatar?.path - }))) - ), + listUserChannels(this.authService), this.videoCaptionService .listCaptions(video.id) diff --git a/client/src/app/helpers/utils.ts b/client/src/app/helpers/utils.ts index a1747af3c..17eb5effc 100644 --- a/client/src/app/helpers/utils.ts +++ b/client/src/app/helpers/utils.ts @@ -30,12 +30,18 @@ function listUserChannels (authService: AuthService) { const videoChannels = user.videoChannels if (Array.isArray(videoChannels) === false) return undefined - return videoChannels.map(c => ({ - id: c.id, - label: c.displayName, - support: c.support, - avatarPath: c.avatar?.path - }) as SelectChannelItem) + return videoChannels + .sort((a, b) => { + if (a.updatedAt < b.updatedAt) return 1 + if (a.updatedAt > b.updatedAt) return -1 + return 0 + }) + .map(c => ({ + id: c.id, + label: c.displayName, + support: c.support, + avatarPath: c.avatar?.path + }) as SelectChannelItem) })) } diff --git a/client/src/app/shared/shared-main/account/account.model.ts b/client/src/app/shared/shared-main/account/account.model.ts index 6d9f0ee65..7b5611f35 100644 --- a/client/src/app/shared/shared-main/account/account.model.ts +++ b/client/src/app/shared/shared-main/account/account.model.ts @@ -4,8 +4,12 @@ import { Actor } from './actor.model' export class Account extends Actor implements ServerAccount { displayName: string description: string + + updatedAt: Date | string + nameWithHost: string nameWithHostForced: string + mutedByUser: boolean mutedByInstance: boolean mutedServerByUser: boolean @@ -30,6 +34,8 @@ export class Account extends Actor implements ServerAccount { this.nameWithHost = Actor.CREATE_BY_STRING(this.name, this.host) this.nameWithHostForced = Actor.CREATE_BY_STRING(this.name, this.host, true) + if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) + this.mutedByUser = false this.mutedByInstance = false this.mutedServerByUser = false diff --git a/client/src/app/shared/shared-main/account/actor.model.ts b/client/src/app/shared/shared-main/account/actor.model.ts index 6ba0bb09e..2fccc472a 100644 --- a/client/src/app/shared/shared-main/account/actor.model.ts +++ b/client/src/app/shared/shared-main/account/actor.model.ts @@ -12,7 +12,6 @@ export abstract class Actor implements ServerActor { followersCount: number createdAt: Date | string - updatedAt: Date | string avatar: ActorImage @@ -55,7 +54,6 @@ export abstract class Actor implements ServerActor { this.followersCount = hash.followersCount if (hash.createdAt) this.createdAt = new Date(hash.createdAt.toString()) - if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) this.avatar = hash.avatar this.isLocal = Actor.IS_LOCAL(this.host) diff --git a/client/src/app/shared/shared-main/video-channel/video-channel.model.ts b/client/src/app/shared/shared-main/video-channel/video-channel.model.ts index c40dd5311..a9dcf2fa2 100644 --- a/client/src/app/shared/shared-main/video-channel/video-channel.model.ts +++ b/client/src/app/shared/shared-main/video-channel/video-channel.model.ts @@ -16,6 +16,8 @@ export class VideoChannel extends Actor implements ServerVideoChannel { banner: ActorImage bannerUrl: string + updatedAt: Date | string + ownerAccount?: ServerAccount ownerBy?: string @@ -59,6 +61,8 @@ export class VideoChannel extends Actor implements ServerVideoChannel { this.videosCount = hash.videosCount + if (hash.updatedAt) this.updatedAt = new Date(hash.updatedAt.toString()) + if (hash.viewsPerDay) { this.viewsPerDay = hash.viewsPerDay.map(v => ({ ...v, date: new Date(v.date) })) } diff --git a/client/src/app/shared/shared-main/video-channel/video-channel.service.ts b/client/src/app/shared/shared-main/video-channel/video-channel.service.ts index e65261763..a89f1065a 100644 --- a/client/src/app/shared/shared-main/video-channel/video-channel.service.ts +++ b/client/src/app/shared/shared-main/video-channel/video-channel.service.ts @@ -40,23 +40,24 @@ export class VideoChannelService { ) } - listAccountVideoChannels ( - account: Account, - componentPagination?: ComponentPaginationLight, - withStats = false, + listAccountVideoChannels (options: { + account: Account + componentPagination?: ComponentPaginationLight + withStats?: boolean + sort?: string search?: string - ): Observable> { + }): Observable> { + const { account, componentPagination, withStats = false, sort, search } = options + const pagination = componentPagination ? this.restService.componentPaginationToRestPagination(componentPagination) : { start: 0, count: 20 } let params = new HttpParams() - params = this.restService.addRestGetParams(params, pagination) + params = this.restService.addRestGetParams(params, pagination, sort) params = params.set('withStats', withStats + '') - if (search) { - params = params.set('search', search) - } + if (search) params = params.set('search', search) const url = AccountService.BASE_ACCOUNT_URL + account.nameWithHost + '/video-channels' return this.authHttp.get>(url, { params }) From 6b6e1d5d02824d517ca3f6924eaa83b7f112135c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 09:41:21 +0200 Subject: [PATCH 023/136] Drop NodeJS 10 support --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5c374145..e3da19a98 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "private": true, "licence": "AGPL-3.0", "engines": { - "node": ">=10.x", + "node": ">=12.x", "yarn": ">=1.x", "postgres": ">=10.x", "redis-server": ">=2.8.18", From d29ced1a8582d99b776f664475a157adcf555d98 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 09:55:01 +0200 Subject: [PATCH 024/136] Move engines outside package.json Because of invalid warnings displayed by yarn that could confuse admins when they install peertube --- engines.yaml | 5 +++++ package.json | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 engines.yaml diff --git a/engines.yaml b/engines.yaml new file mode 100644 index 000000000..5a68ca4ba --- /dev/null +++ b/engines.yaml @@ -0,0 +1,5 @@ +node: ">=12.x" +yarn: ">=1.x" +postgres: ">=10.x" +redis-server: ">=2.8.18" +ffmpeg: ">=4.1" diff --git a/package.json b/package.json index e3da19a98..e1508c65f 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,7 @@ "licence": "AGPL-3.0", "engines": { "node": ">=12.x", - "yarn": ">=1.x", - "postgres": ">=10.x", - "redis-server": ">=2.8.18", - "ffmpeg": ">=4.1" + "yarn": ">=1.x" }, "bin": { "peertube": "dist/server/tools/peertube.js" From f6d6e7f861189a4446f406efb775a29688764b48 Mon Sep 17 00:00:00 2001 From: kontrollanten <6680299+kontrollanten@users.noreply.github.com> Date: Mon, 10 May 2021 11:13:41 +0200 Subject: [PATCH 025/136] Resumable video uploads (#3933) * WIP: resumable video uploads relates to #324 * fix review comments * video upload: error handling * fix audio upload * fixes after self review * Update server/controllers/api/videos/index.ts Co-authored-by: Rigel Kent * Update server/middlewares/validators/videos/videos.ts Co-authored-by: Rigel Kent * Update server/controllers/api/videos/index.ts Co-authored-by: Rigel Kent * update after code review * refactor upload route - restore multipart upload route - move resumable to dedicated upload-resumable route - move checks to middleware - do not leak internal fs structure in response * fix yarn.lock upon rebase * factorize addVideo for reuse in both endpoints * add resumable upload API to openapi spec * add initial test and test helper for resumable upload * typings for videoAddResumable middleware * avoid including aws and google packages via node-uploadx, by only including uploadx/core * rename ex-isAudioBg to more explicit name mentioning it is a preview file for audio * add video-upload-tmp-folder-cleaner job * stronger typing of video upload middleware * reduce dependency to @uploadx/core * add audio upload test * refactor resumable uploads cleanup from job to scheduler * refactor resumable uploads scheduler to compare to last execution time * make resumable upload validator to always cleanup on failure * move legacy upload request building outside of uploadVideo test helper * filter upload-resumable middlewares down to POST, PUT, DELETE also begin to type metadata * merge add duration functions * stronger typings and documentation for uploadx behaviour, move init validator up * refactor(client/video-edit): options > uploadxOptions * refactor(client/video-edit): remove obsolete else * scheduler/remove-dangling-resum: rename tag * refactor(server/video): add UploadVideoFiles type * refactor(mw/validators): restructure eslint disable * refactor(mw/validators/videos): rename import * refactor(client/vid-upload): rename html elem id * refactor(sched/remove-dangl): move fn to method * refactor(mw/async): add method typing * refactor(mw/vali/video): double quote > single * refactor(server/upload-resum): express use > all * proper http methud enum server/middlewares/async.ts * properly type http methods * factorize common video upload validation steps * add check for maximum partially uploaded file size * fix audioBg use * fix extname(filename) in addVideo * document parameters for uploadx's resumable protocol * clear META files in scheduler * last audio refactor before cramming preview in the initial POST form data * refactor as mulitpart/form-data initial post request this allows preview/thumbnail uploads alongside the initial request, and cleans up the upload form * Add more tests for resumable uploads * Refactor remove dangling resumable uploads * Prepare changelog * Add more resumable upload tests * Remove user quota check for resumable uploads * Fix upload error handler * Update nginx template for upload-resumable * Cleanup comment * Remove unused express methods * Prefer to use got instead of raw http * Don't retry on error 500 Co-authored-by: Rigel Kent Co-authored-by: Rigel Kent Co-authored-by: Chocobozzz --- client/package.json | 1 + .../my-account-settings.component.ts | 4 +- .../my-video-channel-update.component.ts | 6 +- .../uploaderx-form-data.ts | 48 ++ .../video-upload.component.html | 20 +- .../video-upload.component.scss | 4 - .../video-upload.component.ts | 301 ++++--- .../+videos/+video-edit/video-add.module.ts | 5 +- client/src/app/helpers/utils.ts | 9 +- client/yarn.lock | 7 + package.json | 1 + server.ts | 2 + server/controllers/api/server/debug.ts | 18 + server/controllers/api/videos/index.ts | 105 ++- server/helpers/custom-validators/misc.ts | 5 +- server/helpers/custom-validators/videos.ts | 9 +- server/helpers/express-utils.ts | 8 +- server/helpers/upload.ts | 21 + server/helpers/utils.ts | 4 +- server/initializers/constants.ts | 6 +- server/initializers/installer.ts | 5 +- server/lib/moderation.ts | 5 +- ...ve-dangling-resumable-uploads-scheduler.ts | 61 ++ server/lib/video.ts | 3 +- server/middlewares/async.ts | 1 + .../middlewares/validators/videos/videos.ts | 196 ++++- server/tests/api/check-params/index.ts | 1 + server/tests/api/check-params/upload-quota.ts | 152 ++++ server/tests/api/check-params/users.ts | 105 +-- server/tests/api/check-params/videos.ts | 485 ++++++----- server/tests/api/videos/index.ts | 1 + server/tests/api/videos/multiple-servers.ts | 2 +- server/tests/api/videos/resumable-upload.ts | 187 +++++ server/tests/api/videos/single-server.ts | 794 +++++++++--------- server/tests/api/videos/video-transcoder.ts | 175 ++-- server/typings/express/index.d.ts | 194 +++-- shared/core-utils/miscs/http-methods.ts | 21 + shared/core-utils/miscs/index.ts | 1 + shared/extra-utils/server/debug.ts | 18 +- shared/extra-utils/server/servers.ts | 2 +- shared/extra-utils/videos/video-channels.ts | 11 +- shared/extra-utils/videos/videos.ts | 268 ++++-- shared/models/server/debug.model.ts | 4 + support/doc/api/openapi.yaml | 414 ++++++--- support/nginx/peertube | 7 + yarn.lock | 50 +- 46 files changed, 2454 insertions(+), 1293 deletions(-) create mode 100644 client/src/app/+videos/+video-edit/video-add-components/uploaderx-form-data.ts create mode 100644 server/helpers/upload.ts create mode 100644 server/lib/schedulers/remove-dangling-resumable-uploads-scheduler.ts create mode 100644 server/tests/api/check-params/upload-quota.ts create mode 100644 server/tests/api/videos/resumable-upload.ts create mode 100644 shared/core-utils/miscs/http-methods.ts diff --git a/client/package.json b/client/package.json index 140fc3095..8486ace22 100644 --- a/client/package.json +++ b/client/package.json @@ -96,6 +96,7 @@ "lodash-es": "^4.17.4", "markdown-it": "12.0.4", "mini-css-extract-plugin": "^1.3.1", + "ngx-uploadx": "^4.1.0", "p2p-media-loader-hlsjs": "^0.6.2", "path-browserify": "^1.0.0", "primeng": "^11.0.0-rc.1", diff --git a/client/src/app/+my-account/my-account-settings/my-account-settings.component.ts b/client/src/app/+my-account/my-account-settings/my-account-settings.component.ts index c16368952..a0f2f28f8 100644 --- a/client/src/app/+my-account/my-account-settings/my-account-settings.component.ts +++ b/client/src/app/+my-account/my-account-settings/my-account-settings.component.ts @@ -2,7 +2,7 @@ import { ViewportScroller } from '@angular/common' import { HttpErrorResponse } from '@angular/common/http' import { AfterViewChecked, Component, OnInit } from '@angular/core' import { AuthService, Notifier, User, UserService } from '@app/core' -import { uploadErrorHandler } from '@app/helpers' +import { genericUploadErrorHandler } from '@app/helpers' @Component({ selector: 'my-account-settings', @@ -46,7 +46,7 @@ export class MyAccountSettingsComponent implements OnInit, AfterViewChecked { this.user.updateAccountAvatar(data.avatar) }, - (err: HttpErrorResponse) => uploadErrorHandler({ + (err: HttpErrorResponse) => genericUploadErrorHandler({ err, name: $localize`avatar`, notifier: this.notifier diff --git a/client/src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts b/client/src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts index a29af176c..c9173039a 100644 --- a/client/src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts +++ b/client/src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts @@ -3,7 +3,7 @@ import { HttpErrorResponse } from '@angular/common/http' import { Component, OnDestroy, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { AuthService, Notifier, ServerService } from '@app/core' -import { uploadErrorHandler } from '@app/helpers' +import { genericUploadErrorHandler } from '@app/helpers' import { VIDEO_CHANNEL_DESCRIPTION_VALIDATOR, VIDEO_CHANNEL_DISPLAY_NAME_VALIDATOR, @@ -109,7 +109,7 @@ export class MyVideoChannelUpdateComponent extends MyVideoChannelEdit implements this.videoChannel.updateAvatar(data.avatar) }, - (err: HttpErrorResponse) => uploadErrorHandler({ + (err: HttpErrorResponse) => genericUploadErrorHandler({ err, name: $localize`avatar`, notifier: this.notifier @@ -139,7 +139,7 @@ export class MyVideoChannelUpdateComponent extends MyVideoChannelEdit implements this.videoChannel.updateBanner(data.banner) }, - (err: HttpErrorResponse) => uploadErrorHandler({ + (err: HttpErrorResponse) => genericUploadErrorHandler({ err, name: $localize`banner`, notifier: this.notifier diff --git a/client/src/app/+videos/+video-edit/video-add-components/uploaderx-form-data.ts b/client/src/app/+videos/+video-edit/video-add-components/uploaderx-form-data.ts new file mode 100644 index 000000000..3392a0d8a --- /dev/null +++ b/client/src/app/+videos/+video-edit/video-add-components/uploaderx-form-data.ts @@ -0,0 +1,48 @@ +import { objectToFormData } from '@app/helpers' +import { resolveUrl, UploaderX } from 'ngx-uploadx' + +/** + * multipart/form-data uploader extending the UploaderX implementation of Google Resumable + * for use with multer + * + * @see https://github.com/kukhariev/ngx-uploadx/blob/637e258fe366b8095203f387a6101a230ee4f8e6/src/uploadx/lib/uploaderx.ts + * @example + * + * options: UploadxOptions = { + * uploaderClass: UploaderXFormData + * }; + */ +export class UploaderXFormData extends UploaderX { + + async getFileUrl (): Promise { + const headers = { + 'X-Upload-Content-Length': this.size.toString(), + 'X-Upload-Content-Type': this.file.type || 'application/octet-stream' + } + + const previewfile = this.metadata.previewfile as any as File + delete this.metadata.previewfile + + const data = objectToFormData(this.metadata) + if (previewfile !== undefined) { + data.append('previewfile', previewfile, previewfile.name) + data.append('thumbnailfile', previewfile, previewfile.name) + } + + await this.request({ + method: 'POST', + body: data, + url: this.endpoint, + headers + }) + + const location = this.getValueFromResponse('location') + if (!location) { + throw new Error('Invalid or missing Location header') + } + + this.offset = this.responseStatus === 201 ? 0 : undefined + + return resolveUrl(location, this.endpoint) + } +} diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html index 4c0b09894..86a779f8a 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.html @@ -1,12 +1,17 @@ -
+
Select the file to upload
@@ -41,7 +46,13 @@
- + +
@@ -64,6 +75,7 @@ {{ error }}
+
diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.scss b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.scss index 9549257f6..d9f348a70 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.scss +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.scss @@ -47,8 +47,4 @@ margin-left: 10px; } - - .btn-group > input:not(:first-child) { - margin-left: 0; - } } diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts index effb37077..2d3fc3578 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts @@ -1,15 +1,16 @@ -import { Subscription } from 'rxjs' -import { HttpErrorResponse, HttpEventType, HttpResponse } from '@angular/common/http' import { AfterViewInit, Component, ElementRef, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core' import { Router } from '@angular/router' +import { UploadxOptions, UploadState, UploadxService } from 'ngx-uploadx' +import { UploaderXFormData } from './uploaderx-form-data' import { AuthService, CanComponentDeactivate, HooksService, Notifier, ServerService, UserService } from '@app/core' -import { scrollToTop, uploadErrorHandler } from '@app/helpers' +import { scrollToTop, genericUploadErrorHandler } from '@app/helpers' import { FormValidatorService } from '@app/shared/shared-forms' import { BytesPipe, VideoCaptionService, VideoEdit, VideoService } from '@app/shared/shared-main' import { LoadingBarService } from '@ngx-loading-bar/core' import { HttpStatusCode } from '@shared/core-utils/miscs/http-error-codes' import { VideoPrivacy } from '@shared/models' import { VideoSend } from './video-send' +import { HttpErrorResponse, HttpEventType, HttpHeaders } from '@angular/common/http' @Component({ selector: 'my-video-upload', @@ -20,23 +21,18 @@ import { VideoSend } from './video-send' './video-send.scss' ] }) -export class VideoUploadComponent extends VideoSend implements OnInit, AfterViewInit, OnDestroy, CanComponentDeactivate { +export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy, AfterViewInit, CanComponentDeactivate { @Output() firstStepDone = new EventEmitter() @Output() firstStepError = new EventEmitter() @ViewChild('videofileInput') videofileInput: ElementRef - // So that it can be accessed in the template - readonly SPECIAL_SCHEDULED_PRIVACY = VideoEdit.SPECIAL_SCHEDULED_PRIVACY - userVideoQuotaUsed = 0 userVideoQuotaUsedDaily = 0 isUploadingAudioFile = false isUploadingVideo = false - isUpdatingVideo = false videoUploaded = false - videoUploadObservable: Subscription = null videoUploadPercents = 0 videoUploadedIds = { id: 0, @@ -49,7 +45,13 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView error: string enableRetryAfterError: boolean + // So that it can be accessed in the template protected readonly DEFAULT_VIDEO_PRIVACY = VideoPrivacy.PUBLIC + protected readonly BASE_VIDEO_UPLOAD_URL = VideoService.BASE_VIDEO_URL + 'upload-resumable' + + private uploadxOptions: UploadxOptions + private isUpdatingVideo = false + private fileToUpload: File constructor ( protected formValidatorService: FormValidatorService, @@ -61,15 +63,77 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView protected videoCaptionService: VideoCaptionService, private userService: UserService, private router: Router, - private hooks: HooksService - ) { + private hooks: HooksService, + private resumableUploadService: UploadxService + ) { super() + + this.uploadxOptions = { + endpoint: this.BASE_VIDEO_UPLOAD_URL, + multiple: false, + token: this.authService.getAccessToken(), + uploaderClass: UploaderXFormData, + retryConfig: { + maxAttempts: 6, + shouldRetry: (code: number) => { + return code < 400 || code >= 501 + } + } + } } get videoExtensions () { return this.serverConfig.video.file.extensions.join(', ') } + onUploadVideoOngoing (state: UploadState) { + switch (state.status) { + case 'error': + const error = state.response?.error || 'Unknow error' + + this.handleUploadError({ + error: new Error(error), + name: 'HttpErrorResponse', + message: error, + ok: false, + headers: new HttpHeaders(state.responseHeaders), + status: +state.responseStatus, + statusText: error, + type: HttpEventType.Response, + url: state.url + }) + break + + case 'cancelled': + this.isUploadingVideo = false + this.videoUploadPercents = 0 + + this.firstStepError.emit() + this.enableRetryAfterError = false + this.error = '' + break + + case 'queue': + this.closeFirstStep(state.name) + break + + case 'uploading': + this.videoUploadPercents = state.progress + break + + case 'paused': + this.notifier.info($localize`Upload cancelled`) + break + + case 'complete': + this.videoUploaded = true + this.videoUploadPercents = 100 + + this.videoUploadedIds = state?.response.video + break + } + } + ngOnInit () { super.ngOnInit() @@ -78,6 +142,9 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView this.userVideoQuotaUsed = data.videoQuotaUsed this.userVideoQuotaUsedDaily = data.videoQuotaUsedDaily }) + + this.resumableUploadService.events + .subscribe(state => this.onUploadVideoOngoing(state)) } ngAfterViewInit () { @@ -85,7 +152,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView } ngOnDestroy () { - if (this.videoUploadObservable) this.videoUploadObservable.unsubscribe() + this.cancelUpload() } canDeactivate () { @@ -105,137 +172,43 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView } } - getVideoFile () { - return this.videofileInput.nativeElement.files[0] - } - - setVideoFile (files: FileList) { + onFileDropped (files: FileList) { this.videofileInput.nativeElement.files = files - this.fileChange() + + this.onFileChange({ target: this.videofileInput.nativeElement }) } - getAudioUploadLabel () { - const videofile = this.getVideoFile() - if (!videofile) return $localize`Upload` + onFileChange (event: Event | { target: HTMLInputElement }) { + const file = (event.target as HTMLInputElement).files[0] - return $localize`Upload ${videofile.name}` + if (!file) return + + if (!this.checkGlobalUserQuota(file)) return + if (!this.checkDailyUserQuota(file)) return + + if (this.isAudioFile(file.name)) { + this.isUploadingAudioFile = true + return + } + + this.isUploadingVideo = true + this.fileToUpload = file + + this.uploadFile(file) } - fileChange () { - this.uploadFirstStep() + uploadAudio () { + this.uploadFile(this.getInputVideoFile(), this.previewfileUpload) } retryUpload () { this.enableRetryAfterError = false this.error = '' - this.uploadVideo() + this.uploadFile(this.fileToUpload) } cancelUpload () { - if (this.videoUploadObservable !== null) { - this.videoUploadObservable.unsubscribe() - } - - this.isUploadingVideo = false - this.videoUploadPercents = 0 - this.videoUploadObservable = null - - this.firstStepError.emit() - this.enableRetryAfterError = false - this.error = '' - - this.notifier.info($localize`Upload cancelled`) - } - - uploadFirstStep (clickedOnButton = false) { - const videofile = this.getVideoFile() - if (!videofile) return - - if (!this.checkGlobalUserQuota(videofile)) return - if (!this.checkDailyUserQuota(videofile)) return - - if (clickedOnButton === false && this.isAudioFile(videofile.name)) { - this.isUploadingAudioFile = true - return - } - - // Build name field - const nameWithoutExtension = videofile.name.replace(/\.[^/.]+$/, '') - let name: string - - // If the name of the file is very small, keep the extension - if (nameWithoutExtension.length < 3) name = videofile.name - else name = nameWithoutExtension - - const nsfw = this.serverConfig.instance.isNSFW - const waitTranscoding = true - const commentsEnabled = true - const downloadEnabled = true - const channelId = this.firstStepChannelId.toString() - - this.formData = new FormData() - this.formData.append('name', name) - // Put the video "private" -> we are waiting the user validation of the second step - this.formData.append('privacy', VideoPrivacy.PRIVATE.toString()) - this.formData.append('nsfw', '' + nsfw) - this.formData.append('commentsEnabled', '' + commentsEnabled) - this.formData.append('downloadEnabled', '' + downloadEnabled) - this.formData.append('waitTranscoding', '' + waitTranscoding) - this.formData.append('channelId', '' + channelId) - this.formData.append('videofile', videofile) - - if (this.previewfileUpload) { - this.formData.append('previewfile', this.previewfileUpload) - this.formData.append('thumbnailfile', this.previewfileUpload) - } - - this.isUploadingVideo = true - this.firstStepDone.emit(name) - - this.form.patchValue({ - name, - privacy: this.firstStepPrivacyId, - nsfw, - channelId: this.firstStepChannelId, - previewfile: this.previewfileUpload - }) - - this.uploadVideo() - } - - uploadVideo () { - this.videoUploadObservable = this.videoService.uploadVideo(this.formData).subscribe( - event => { - if (event.type === HttpEventType.UploadProgress) { - this.videoUploadPercents = Math.round(100 * event.loaded / event.total) - } else if (event instanceof HttpResponse) { - this.videoUploaded = true - - this.videoUploadedIds = event.body.video - - this.videoUploadObservable = null - } - }, - - (err: HttpErrorResponse) => { - // Reset progress (but keep isUploadingVideo true) - this.videoUploadPercents = 0 - this.videoUploadObservable = null - this.enableRetryAfterError = true - - this.error = uploadErrorHandler({ - err, - name: $localize`video`, - notifier: this.notifier, - sticky: false - }) - - if (err.status === HttpStatusCode.PAYLOAD_TOO_LARGE_413 || - err.status === HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415) { - this.cancelUpload() - } - } - ) + this.resumableUploadService.control({ action: 'cancel' }) } isPublishingButtonDisabled () { @@ -245,6 +218,13 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView !this.videoUploadedIds.id } + getAudioUploadLabel () { + const videofile = this.getInputVideoFile() + if (!videofile) return $localize`Upload` + + return $localize`Upload ${videofile.name}` + } + updateSecondStep () { if (this.isPublishingButtonDisabled() || !this.checkForm()) { return @@ -275,6 +255,62 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView ) } + private getInputVideoFile () { + return this.videofileInput.nativeElement.files[0] + } + + private uploadFile (file: File, previewfile?: File) { + const metadata = { + waitTranscoding: true, + commentsEnabled: true, + downloadEnabled: true, + channelId: this.firstStepChannelId, + nsfw: this.serverConfig.instance.isNSFW, + privacy: VideoPrivacy.PRIVATE.toString(), + filename: file.name, + previewfile: previewfile as any + } + + this.resumableUploadService.handleFiles(file, { + ...this.uploadxOptions, + metadata + }) + + this.isUploadingVideo = true + } + + private handleUploadError (err: HttpErrorResponse) { + // Reset progress (but keep isUploadingVideo true) + this.videoUploadPercents = 0 + this.enableRetryAfterError = true + + this.error = genericUploadErrorHandler({ + err, + name: $localize`video`, + notifier: this.notifier, + sticky: false + }) + + if (err.status === HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415) { + this.cancelUpload() + } + } + + private closeFirstStep (filename: string) { + const nameWithoutExtension = filename.replace(/\.[^/.]+$/, '') + const name = nameWithoutExtension.length < 3 ? filename : nameWithoutExtension + + this.form.patchValue({ + name, + privacy: this.firstStepPrivacyId, + nsfw: this.serverConfig.instance.isNSFW, + channelId: this.firstStepChannelId, + previewfile: this.previewfileUpload + }) + + this.firstStepDone.emit(name) + } + private checkGlobalUserQuota (videofile: File) { const bytePipes = new BytesPipe() @@ -285,8 +321,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, AfterView const videoQuotaUsedBytes = bytePipes.transform(this.userVideoQuotaUsed, 0) const videoQuotaBytes = bytePipes.transform(videoQuota, 0) - const msg = $localize`Your video quota is exceeded with this video ( -video size: ${videoSizeBytes}, used: ${videoQuotaUsedBytes}, quota: ${videoQuotaBytes})` + const msg = $localize`Your video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${videoQuotaUsedBytes}, quota: ${videoQuotaBytes})` this.notifier.error(msg) return false @@ -304,9 +339,7 @@ video size: ${videoSizeBytes}, used: ${videoQuotaUsedBytes}, quota: ${videoQuota const videoSizeBytes = bytePipes.transform(videofile.size, 0) const quotaUsedDailyBytes = bytePipes.transform(this.userVideoQuotaUsedDaily, 0) const quotaDailyBytes = bytePipes.transform(videoQuotaDaily, 0) - - const msg = $localize`Your daily video quota is exceeded with this video ( -video size: ${videoSizeBytes}, used: ${quotaUsedDailyBytes}, quota: ${quotaDailyBytes})` + const msg = $localize`Your daily video quota is exceeded with this video (video size: ${videoSizeBytes}, used: ${quotaUsedDailyBytes}, quota: ${quotaDailyBytes})` this.notifier.error(msg) return false 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 da651119b..e836cf81e 100644 --- a/client/src/app/+videos/+video-edit/video-add.module.ts +++ b/client/src/app/+videos/+video-edit/video-add.module.ts @@ -1,5 +1,6 @@ import { NgModule } from '@angular/core' import { CanDeactivateGuard } from '@app/core' +import { UploadxModule } from 'ngx-uploadx' import { VideoEditModule } from './shared/video-edit.module' import { DragDropDirective } from './video-add-components/drag-drop.directive' import { VideoImportTorrentComponent } from './video-add-components/video-import-torrent.component' @@ -13,7 +14,9 @@ import { VideoAddComponent } from './video-add.component' imports: [ VideoAddRoutingModule, - VideoEditModule + VideoEditModule, + + UploadxModule ], declarations: [ diff --git a/client/src/app/helpers/utils.ts b/client/src/app/helpers/utils.ts index 17eb5effc..d6ac5b9b4 100644 --- a/client/src/app/helpers/utils.ts +++ b/client/src/app/helpers/utils.ts @@ -173,8 +173,8 @@ function isXPercentInViewport (el: HTMLElement, percentVisible: number) { ) } -function uploadErrorHandler (parameters: { - err: HttpErrorResponse +function genericUploadErrorHandler (parameters: { + err: Pick name: string notifier: Notifier sticky?: boolean @@ -186,6 +186,9 @@ function uploadErrorHandler (parameters: { if (err instanceof ErrorEvent) { // network error message = $localize`The connection was interrupted` notifier.error(message, title, null, sticky) + } else if (err.status === HttpStatusCode.INTERNAL_SERVER_ERROR_500) { + message = $localize`The server encountered an error` + notifier.error(message, title, null, sticky) } else if (err.status === HttpStatusCode.REQUEST_TIMEOUT_408) { message = $localize`Your ${name} file couldn't be transferred before the set timeout (usually 10min)` notifier.error(message, title, null, sticky) @@ -216,5 +219,5 @@ export { isInViewport, isXPercentInViewport, listUserChannels, - uploadErrorHandler + genericUploadErrorHandler } diff --git a/client/yarn.lock b/client/yarn.lock index 571314f22..1b1455cc8 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -7793,6 +7793,13 @@ next-tick@~1.0.0: resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= +ngx-uploadx@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ngx-uploadx/-/ngx-uploadx-4.1.0.tgz#b3ed4566a2505239026bbdc10c2345aae28d67df" + integrity sha512-KCG0NT4SBc/5MRl8aR6joHHg+WeTdrkhLeC1DrNgVxrTBuuenlEwOVDpkLJMPX/8HE6Bq33rx1U2NNZYVl9NMQ== + dependencies: + tslib "^1.9.0" + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" diff --git a/package.json b/package.json index e1508c65f..d3375c7d4 100644 --- a/package.json +++ b/package.json @@ -73,6 +73,7 @@ "swagger-cli": "swagger-cli" }, "dependencies": { + "@uploadx/core": "^4.4.0", "apicache": "1.6.2", "async": "^3.0.1", "async-lru": "^1.1.1", diff --git a/server.ts b/server.ts index 2531080a3..97dffe756 100644 --- a/server.ts +++ b/server.ts @@ -116,6 +116,7 @@ import { YoutubeDlUpdateScheduler } from './server/lib/schedulers/youtube-dl-upd import { VideosRedundancyScheduler } from './server/lib/schedulers/videos-redundancy-scheduler' import { RemoveOldHistoryScheduler } from './server/lib/schedulers/remove-old-history-scheduler' import { AutoFollowIndexInstances } from './server/lib/schedulers/auto-follow-index-instances' +import { RemoveDanglingResumableUploadsScheduler } from './server/lib/schedulers/remove-dangling-resumable-uploads-scheduler' import { isHTTPSignatureDigestValid } from './server/helpers/peertube-crypto' import { PeerTubeSocket } from './server/lib/peertube-socket' import { updateStreamingPlaylistsInfohashesIfNeeded } from './server/lib/hls' @@ -280,6 +281,7 @@ async function startApplication () { PluginsCheckScheduler.Instance.enable() PeerTubeVersionCheckScheduler.Instance.enable() AutoFollowIndexInstances.Instance.enable() + RemoveDanglingResumableUploadsScheduler.Instance.enable() // Redis initialization Redis.Instance.init() diff --git a/server/controllers/api/server/debug.ts b/server/controllers/api/server/debug.ts index 7787186be..ff0d9ca3c 100644 --- a/server/controllers/api/server/debug.ts +++ b/server/controllers/api/server/debug.ts @@ -1,4 +1,6 @@ import { InboxManager } from '@server/lib/activitypub/inbox-manager' +import { RemoveDanglingResumableUploadsScheduler } from '@server/lib/schedulers/remove-dangling-resumable-uploads-scheduler' +import { SendDebugCommand } from '@shared/models' import * as express from 'express' import { UserRight } from '../../../../shared/models/users' import { authenticate, ensureUserHasRight } from '../../../middlewares' @@ -11,6 +13,12 @@ debugRouter.get('/debug', getDebug ) +debugRouter.post('/debug/run-command', + authenticate, + ensureUserHasRight(UserRight.MANAGE_DEBUG), + runCommand +) + // --------------------------------------------------------------------------- export { @@ -25,3 +33,13 @@ function getDebug (req: express.Request, res: express.Response) { activityPubMessagesWaiting: InboxManager.Instance.getActivityPubMessagesWaiting() }) } + +async function runCommand (req: express.Request, res: express.Response) { + const body: SendDebugCommand = req.body + + if (body.command === 'remove-dandling-resumable-uploads') { + await RemoveDanglingResumableUploadsScheduler.Instance.execute() + } + + return res.sendStatus(204) +} diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index fbdb0f776..c32626d30 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts @@ -2,6 +2,7 @@ import * as express from 'express' import { move } from 'fs-extra' import { extname } from 'path' import toInt from 'validator/lib/toInt' +import { deleteResumableUploadMetaFile, getResumableUploadPath } from '@server/helpers/upload' import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' import { changeVideoChannelShare } from '@server/lib/activitypub/share' import { getLocalVideoActivityPubUrl } from '@server/lib/activitypub/url' @@ -10,8 +11,9 @@ import { addOptimizeOrMergeAudioJob, buildLocalVideoFromReq, buildVideoThumbnail import { generateVideoFilename, getVideoFilePath } from '@server/lib/video-paths' import { getServerActor } from '@server/models/application/application' import { MVideo, MVideoFile, MVideoFullLight } from '@server/types/models' +import { uploadx } from '@uploadx/core' import { VideoCreate, VideosCommonQuery, VideoState, VideoUpdate } from '../../../../shared' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs' import { auditLoggerFactory, getAuditIdFromRes, VideoAuditView } from '../../../helpers/audit-logger' import { resetSequelizeInstance, retryTransactionWrapper } from '../../../helpers/database-utils' import { buildNSFWFilter, createReqFiles, getCountVideos } from '../../../helpers/express-utils' @@ -47,7 +49,9 @@ import { setDefaultPagination, setDefaultVideosSort, videoFileMetadataGetValidator, - videosAddValidator, + videosAddLegacyValidator, + videosAddResumableInitValidator, + videosAddResumableValidator, videosCustomGetValidator, videosGetValidator, videosRemoveValidator, @@ -69,6 +73,7 @@ import { watchingRouter } from './watching' const lTags = loggerTagsFactory('api', 'video') const auditLogger = auditLoggerFactory('videos') const videosRouter = express.Router() +const uploadxMiddleware = uploadx.upload({ directory: getResumableUploadPath() }) const reqVideoFileAdd = createReqFiles( [ 'videofile', 'thumbnailfile', 'previewfile' ], @@ -79,6 +84,16 @@ const reqVideoFileAdd = createReqFiles( previewfile: CONFIG.STORAGE.TMP_DIR } ) + +const reqVideoFileAddResumable = createReqFiles( + [ 'thumbnailfile', 'previewfile' ], + MIMETYPES.IMAGE.MIMETYPE_EXT, + { + thumbnailfile: getResumableUploadPath(), + previewfile: getResumableUploadPath() + } +) + const reqVideoFileUpdate = createReqFiles( [ 'thumbnailfile', 'previewfile' ], MIMETYPES.IMAGE.MIMETYPE_EXT, @@ -111,18 +126,39 @@ videosRouter.get('/', commonVideosFiltersValidator, asyncMiddleware(listVideos) ) + +videosRouter.post('/upload', + authenticate, + reqVideoFileAdd, + asyncMiddleware(videosAddLegacyValidator), + asyncRetryTransactionMiddleware(addVideoLegacy) +) + +videosRouter.post('/upload-resumable', + authenticate, + reqVideoFileAddResumable, + asyncMiddleware(videosAddResumableInitValidator), + uploadxMiddleware +) + +videosRouter.delete('/upload-resumable', + authenticate, + uploadxMiddleware +) + +videosRouter.put('/upload-resumable', + authenticate, + uploadxMiddleware, // uploadx doesn't use call next() before the file upload completes + asyncMiddleware(videosAddResumableValidator), + asyncMiddleware(addVideoResumable) +) + videosRouter.put('/:id', authenticate, reqVideoFileUpdate, asyncMiddleware(videosUpdateValidator), asyncRetryTransactionMiddleware(updateVideo) ) -videosRouter.post('/upload', - authenticate, - reqVideoFileAdd, - asyncMiddleware(videosAddValidator), - asyncRetryTransactionMiddleware(addVideo) -) videosRouter.get('/:id/description', asyncMiddleware(videosGetValidator), @@ -157,23 +193,23 @@ export { // --------------------------------------------------------------------------- -function listVideoCategories (req: express.Request, res: express.Response) { +function listVideoCategories (_req: express.Request, res: express.Response) { res.json(VIDEO_CATEGORIES) } -function listVideoLicences (req: express.Request, res: express.Response) { +function listVideoLicences (_req: express.Request, res: express.Response) { res.json(VIDEO_LICENCES) } -function listVideoLanguages (req: express.Request, res: express.Response) { +function listVideoLanguages (_req: express.Request, res: express.Response) { res.json(VIDEO_LANGUAGES) } -function listVideoPrivacies (req: express.Request, res: express.Response) { +function listVideoPrivacies (_req: express.Request, res: express.Response) { res.json(VIDEO_PRIVACIES) } -async function addVideo (req: express.Request, res: express.Response) { +async function addVideoLegacy (req: express.Request, res: express.Response) { // Uploading the video could be long // Set timeout to 10 minutes, as Express's default is 2 minutes req.setTimeout(1000 * 60 * 10, () => { @@ -183,13 +219,42 @@ async function addVideo (req: express.Request, res: express.Response) { const videoPhysicalFile = req.files['videofile'][0] const videoInfo: VideoCreate = req.body + const files = req.files - const videoData = buildLocalVideoFromReq(videoInfo, res.locals.videoChannel.id) - videoData.state = CONFIG.TRANSCODING.ENABLED ? VideoState.TO_TRANSCODE : VideoState.PUBLISHED - videoData.duration = videoPhysicalFile['duration'] // duration was added by a previous middleware + return addVideo({ res, videoPhysicalFile, videoInfo, files }) +} + +async function addVideoResumable (_req: express.Request, res: express.Response) { + const videoPhysicalFile = res.locals.videoFileResumable + const videoInfo = videoPhysicalFile.metadata + const files = { previewfile: videoInfo.previewfile } + + // Don't need the meta file anymore + await deleteResumableUploadMetaFile(videoPhysicalFile.path) + + return addVideo({ res, videoPhysicalFile, videoInfo, files }) +} + +async function addVideo (options: { + res: express.Response + videoPhysicalFile: express.VideoUploadFile + videoInfo: VideoCreate + files: express.UploadFiles +}) { + const { res, videoPhysicalFile, videoInfo, files } = options + const videoChannel = res.locals.videoChannel + const user = res.locals.oauth.token.User + + const videoData = buildLocalVideoFromReq(videoInfo, videoChannel.id) + + videoData.state = CONFIG.TRANSCODING.ENABLED + ? VideoState.TO_TRANSCODE + : VideoState.PUBLISHED + + videoData.duration = videoPhysicalFile.duration // duration was added by a previous middleware const video = new VideoModel(videoData) as MVideoFullLight - video.VideoChannel = res.locals.videoChannel + video.VideoChannel = videoChannel video.url = getLocalVideoActivityPubUrl(video) // We use the UUID, so set the URL after building the object const videoFile = new VideoFileModel({ @@ -217,7 +282,7 @@ async function addVideo (req: express.Request, res: express.Response) { const [ thumbnailModel, previewModel ] = await buildVideoThumbnailsFromReq({ video, - files: req.files, + files, fallback: type => generateVideoMiniature({ video, videoFile, type }) }) @@ -253,7 +318,7 @@ async function addVideo (req: express.Request, res: express.Response) { await autoBlacklistVideoIfNeeded({ video, - user: res.locals.oauth.token.User, + user, isRemote: false, isNew: true, transaction: t @@ -282,7 +347,7 @@ async function addVideo (req: express.Request, res: express.Response) { .catch(err => logger.error('Cannot federate or notify video creation %s', video.url, { err, ...lTags(video.uuid) })) if (video.state === VideoState.TO_TRANSCODE) { - await addOptimizeOrMergeAudioJob(videoCreated, videoFile, res.locals.oauth.token.User) + await addOptimizeOrMergeAudioJob(videoCreated, videoFile, user) } Hooks.runAction('action:api.video.uploaded', { video: videoCreated }) diff --git a/server/helpers/custom-validators/misc.ts b/server/helpers/custom-validators/misc.ts index effdd98cb..fd3b45804 100644 --- a/server/helpers/custom-validators/misc.ts +++ b/server/helpers/custom-validators/misc.ts @@ -1,6 +1,7 @@ import 'multer' -import validator from 'validator' +import { UploadFilesForCheck } from 'express' import { sep } from 'path' +import validator from 'validator' function exists (value: any) { return value !== undefined && value !== null @@ -108,7 +109,7 @@ function isFileFieldValid ( } function isFileMimeTypeValid ( - files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[], + files: UploadFilesForCheck, mimeTypeRegex: string, field: string, optional = false diff --git a/server/helpers/custom-validators/videos.ts b/server/helpers/custom-validators/videos.ts index 87966798f..b33e088eb 100644 --- a/server/helpers/custom-validators/videos.ts +++ b/server/helpers/custom-validators/videos.ts @@ -1,4 +1,6 @@ +import { UploadFilesForCheck } from 'express' import { values } from 'lodash' +import * as magnetUtil from 'magnet-uri' import validator from 'validator' import { VideoFilter, VideoPrivacy, VideoRateType } from '../../../shared' import { @@ -6,13 +8,12 @@ import { MIMETYPES, VIDEO_CATEGORIES, VIDEO_LICENCES, + VIDEO_LIVE, VIDEO_PRIVACIES, VIDEO_RATE_TYPES, - VIDEO_STATES, - VIDEO_LIVE + VIDEO_STATES } from '../../initializers/constants' import { exists, isArray, isDateValid, isFileMimeTypeValid, isFileValid } from './misc' -import * as magnetUtil from 'magnet-uri' const VIDEOS_CONSTRAINTS_FIELDS = CONSTRAINTS_FIELDS.VIDEOS @@ -81,7 +82,7 @@ function isVideoFileExtnameValid (value: string) { return exists(value) && (value === VIDEO_LIVE.EXTENSION || MIMETYPES.VIDEO.EXT_MIMETYPE[value] !== undefined) } -function isVideoFileMimeTypeValid (files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[]) { +function isVideoFileMimeTypeValid (files: UploadFilesForCheck) { return isFileMimeTypeValid(files, MIMETYPES.VIDEO.MIMETYPES_REGEX, 'videofile') } diff --git a/server/helpers/express-utils.ts b/server/helpers/express-utils.ts index c0d3f8f32..ede22a3cc 100644 --- a/server/helpers/express-utils.ts +++ b/server/helpers/express-utils.ts @@ -2,7 +2,7 @@ import * as express from 'express' import * as multer from 'multer' import { REMOTE_SCHEME } from '../initializers/constants' import { logger } from './logger' -import { deleteFileAsync, generateRandomString } from './utils' +import { deleteFileAndCatch, generateRandomString } from './utils' import { extname } from 'path' import { isArray } from './custom-validators/misc' import { CONFIG } from '../initializers/config' @@ -36,15 +36,15 @@ function cleanUpReqFiles (req: { files: { [fieldname: string]: Express.Multer.Fi if (!files) return if (isArray(files)) { - (files as Express.Multer.File[]).forEach(f => deleteFileAsync(f.path)) + (files as Express.Multer.File[]).forEach(f => deleteFileAndCatch(f.path)) return } for (const key of Object.keys(files)) { const file = files[key] - if (isArray(file)) file.forEach(f => deleteFileAsync(f.path)) - else deleteFileAsync(file.path) + if (isArray(file)) file.forEach(f => deleteFileAndCatch(f.path)) + else deleteFileAndCatch(file.path) } } diff --git a/server/helpers/upload.ts b/server/helpers/upload.ts new file mode 100644 index 000000000..030a6b7d5 --- /dev/null +++ b/server/helpers/upload.ts @@ -0,0 +1,21 @@ +import { METAFILE_EXTNAME } from '@uploadx/core' +import { remove } from 'fs-extra' +import { join } from 'path' +import { RESUMABLE_UPLOAD_DIRECTORY } from '../initializers/constants' + +function getResumableUploadPath (filename?: string) { + if (filename) return join(RESUMABLE_UPLOAD_DIRECTORY, filename) + + return RESUMABLE_UPLOAD_DIRECTORY +} + +function deleteResumableUploadMetaFile (filepath: string) { + return remove(filepath + METAFILE_EXTNAME) +} + +// --------------------------------------------------------------------------- + +export { + getResumableUploadPath, + deleteResumableUploadMetaFile +} diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts index 0545e8996..6c95a43b6 100644 --- a/server/helpers/utils.ts +++ b/server/helpers/utils.ts @@ -6,7 +6,7 @@ import { CONFIG } from '../initializers/config' import { execPromise, execPromise2, randomBytesPromise, sha256 } from './core-utils' import { logger } from './logger' -function deleteFileAsync (path: string) { +function deleteFileAndCatch (path: string) { remove(path) .catch(err => logger.error('Cannot delete the file %s asynchronously.', path, { err })) } @@ -83,7 +83,7 @@ function getUUIDFromFilename (filename: string) { // --------------------------------------------------------------------------- export { - deleteFileAsync, + deleteFileAndCatch, generateRandomString, getFormattedObjects, getSecureTorrentName, diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts index f807a1e58..6f388420e 100644 --- a/server/initializers/constants.ts +++ b/server/initializers/constants.ts @@ -208,7 +208,8 @@ const SCHEDULER_INTERVALS_MS = { autoFollowIndexInstances: 60000 * 60 * 24, // 1 day removeOldViews: 60000 * 60 * 24, // 1 day removeOldHistory: 60000 * 60 * 24, // 1 day - updateInboxStats: 1000 * 60// 1 minute + updateInboxStats: 1000 * 60, // 1 minute + removeDanglingResumableUploads: 60000 * 60 * 16 // 16 hours } // --------------------------------------------------------------------------- @@ -285,6 +286,7 @@ const CONSTRAINTS_FIELDS = { LIKES: { min: 0 }, DISLIKES: { min: 0 }, FILE_SIZE: { min: -1 }, + PARTIAL_UPLOAD_SIZE: { max: 50 * 1024 * 1024 * 1024 }, // 50GB URL: { min: 3, max: 2000 } // Length }, VIDEO_PLAYLISTS: { @@ -645,6 +647,7 @@ const LRU_CACHE = { } } +const RESUMABLE_UPLOAD_DIRECTORY = join(CONFIG.STORAGE.TMP_DIR, 'resumable-uploads') const HLS_STREAMING_PLAYLIST_DIRECTORY = join(CONFIG.STORAGE.STREAMING_PLAYLISTS_DIR, 'hls') const HLS_REDUNDANCY_DIRECTORY = join(CONFIG.STORAGE.REDUNDANCY_DIR, 'hls') @@ -819,6 +822,7 @@ export { PEERTUBE_VERSION, LAZY_STATIC_PATHS, SEARCH_INDEX, + RESUMABLE_UPLOAD_DIRECTORY, HLS_REDUNDANCY_DIRECTORY, P2P_MEDIA_LOADER_PEER_VERSION, ACTOR_IMAGES_SIZE, diff --git a/server/initializers/installer.ts b/server/initializers/installer.ts index cb58454cb..8dcff64e2 100644 --- a/server/initializers/installer.ts +++ b/server/initializers/installer.ts @@ -6,7 +6,7 @@ import { UserModel } from '../models/account/user' import { ApplicationModel } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' import { applicationExist, clientsExist, usersExist } from './checker-after-init' -import { FILES_CACHE, HLS_STREAMING_PLAYLIST_DIRECTORY, LAST_MIGRATION_VERSION } from './constants' +import { FILES_CACHE, HLS_STREAMING_PLAYLIST_DIRECTORY, LAST_MIGRATION_VERSION, RESUMABLE_UPLOAD_DIRECTORY } from './constants' import { sequelizeTypescript } from './database' import { ensureDir, remove } from 'fs-extra' import { CONFIG } from './config' @@ -79,6 +79,9 @@ function createDirectoriesIfNotExist () { // Playlist directories tasks.push(ensureDir(HLS_STREAMING_PLAYLIST_DIRECTORY)) + // Resumable upload directory + tasks.push(ensureDir(RESUMABLE_UPLOAD_DIRECTORY)) + return Promise.all(tasks) } diff --git a/server/lib/moderation.ts b/server/lib/moderation.ts index 5180b3299..925d64902 100644 --- a/server/lib/moderation.ts +++ b/server/lib/moderation.ts @@ -1,6 +1,8 @@ +import { VideoUploadFile } from 'express' import { PathLike } from 'fs-extra' import { Transaction } from 'sequelize/types' import { AbuseAuditView, auditLoggerFactory } from '@server/helpers/audit-logger' +import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { logger } from '@server/helpers/logger' import { AbuseModel } from '@server/models/abuse/abuse' import { VideoAbuseModel } from '@server/models/abuse/video-abuse' @@ -28,7 +30,6 @@ import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' import { sendAbuse } from './activitypub/send/send-flag' import { Notifier } from './notifier' -import { afterCommitIfTransaction } from '@server/helpers/database-utils' export type AcceptResult = { accepted: boolean @@ -38,7 +39,7 @@ export type AcceptResult = { // Can be filtered by plugins function isLocalVideoAccepted (object: { videoBody: VideoCreate - videoFile: Express.Multer.File & { duration?: number } + videoFile: VideoUploadFile user: UserModel }): AcceptResult { return { accepted: true } diff --git a/server/lib/schedulers/remove-dangling-resumable-uploads-scheduler.ts b/server/lib/schedulers/remove-dangling-resumable-uploads-scheduler.ts new file mode 100644 index 000000000..1acea7998 --- /dev/null +++ b/server/lib/schedulers/remove-dangling-resumable-uploads-scheduler.ts @@ -0,0 +1,61 @@ +import * as bluebird from 'bluebird' +import { readdir, remove, stat } from 'fs-extra' +import { logger, loggerTagsFactory } from '@server/helpers/logger' +import { getResumableUploadPath } from '@server/helpers/upload' +import { SCHEDULER_INTERVALS_MS } from '@server/initializers/constants' +import { METAFILE_EXTNAME } from '@uploadx/core' +import { AbstractScheduler } from './abstract-scheduler' + +const lTags = loggerTagsFactory('scheduler', 'resumable-upload', 'cleaner') + +export class RemoveDanglingResumableUploadsScheduler extends AbstractScheduler { + + private static instance: AbstractScheduler + private lastExecutionTimeMs: number + + protected schedulerIntervalMs = SCHEDULER_INTERVALS_MS.removeDanglingResumableUploads + + private constructor () { + super() + + this.lastExecutionTimeMs = new Date().getTime() + } + + protected async internalExecute () { + const path = getResumableUploadPath() + const files = await readdir(path) + + const metafiles = files.filter(f => f.endsWith(METAFILE_EXTNAME)) + + if (metafiles.length === 0) return + + logger.debug('Reading resumable video upload folder %s with %d files', path, metafiles.length, lTags()) + + try { + await bluebird.map(metafiles, metafile => { + return this.deleteIfOlderThan(metafile, this.lastExecutionTimeMs) + }, { concurrency: 5 }) + } catch (error) { + logger.error('Failed to handle file during resumable video upload folder cleanup', { error, ...lTags() }) + } finally { + this.lastExecutionTimeMs = new Date().getTime() + } + } + + private async deleteIfOlderThan (metafile: string, olderThan: number) { + const metafilePath = getResumableUploadPath(metafile) + const statResult = await stat(metafilePath) + + // Delete uploads that started since a long time + if (statResult.ctimeMs < olderThan) { + await remove(metafilePath) + + const datafile = metafilePath.replace(new RegExp(`${METAFILE_EXTNAME}$`), '') + await remove(datafile) + } + } + + static get Instance () { + return this.instance || (this.instance = new this()) + } +} diff --git a/server/lib/video.ts b/server/lib/video.ts index 9469b8178..21e4b7ff2 100644 --- a/server/lib/video.ts +++ b/server/lib/video.ts @@ -1,3 +1,4 @@ +import { UploadFiles } from 'express' import { Transaction } from 'sequelize/types' import { DEFAULT_AUDIO_RESOLUTION, JOB_PRIORITY } from '@server/initializers/constants' import { sequelizeTypescript } from '@server/initializers/database' @@ -32,7 +33,7 @@ function buildLocalVideoFromReq (videoInfo: VideoCreate, channelId: number): Fil async function buildVideoThumbnailsFromReq (options: { video: MVideoThumbnail - files: { [fieldname: string]: Express.Multer.File[] } | Express.Multer.File[] + files: UploadFiles fallback: (type: ThumbnailType) => Promise automaticallyGenerated?: boolean }) { diff --git a/server/middlewares/async.ts b/server/middlewares/async.ts index 3d6e38809..0faa4fb8c 100644 --- a/server/middlewares/async.ts +++ b/server/middlewares/async.ts @@ -3,6 +3,7 @@ import { NextFunction, Request, RequestHandler, Response } from 'express' import { ValidationChain } from 'express-validator' import { ExpressPromiseHandler } from '@server/types/express' import { retryTransactionWrapper } from '../helpers/database-utils' +import { HttpMethod, HttpStatusCode } from '@shared/core-utils' // Syntactic sugar to avoid try/catch in express controllers // Thanks: https://medium.com/@Abazhenov/using-async-await-in-express-with-node-8-b8af872c0016 diff --git a/server/middlewares/validators/videos/videos.ts b/server/middlewares/validators/videos/videos.ts index bb617d77c..d26bcd4a6 100644 --- a/server/middlewares/validators/videos/videos.ts +++ b/server/middlewares/validators/videos/videos.ts @@ -1,9 +1,10 @@ import * as express from 'express' -import { body, param, query, ValidationChain } from 'express-validator' +import { body, header, param, query, ValidationChain } from 'express-validator' +import { getResumableUploadPath } from '@server/helpers/upload' import { isAbleToUploadVideo } from '@server/lib/user' import { getServerActor } from '@server/models/application/application' import { ExpressPromiseHandler } from '@server/types/express' -import { MVideoWithRights } from '@server/types/models' +import { MUserAccountId, MVideoWithRights } from '@server/types/models' import { ServerErrorCode, UserRight, VideoChangeOwnershipStatus, VideoPrivacy } from '../../../../shared' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { VideoChangeOwnershipAccept } from '../../../../shared/models/videos/video-change-ownership-accept.model' @@ -47,6 +48,7 @@ import { doesVideoExist, doesVideoFileOfVideoExist } from '../../../helpers/middlewares' +import { deleteFileAndCatch } from '../../../helpers/utils' import { getVideoWithAttributes } from '../../../helpers/video' import { CONFIG } from '../../../initializers/config' import { CONSTRAINTS_FIELDS, OVERVIEWS } from '../../../initializers/constants' @@ -57,7 +59,7 @@ import { VideoModel } from '../../../models/video/video' import { authenticatePromiseIfNeeded } from '../../auth' import { areValidationErrors } from '../utils' -const videosAddValidator = getCommonVideoEditAttributes().concat([ +const videosAddLegacyValidator = getCommonVideoEditAttributes().concat([ body('videofile') .custom((value, { req }) => isFileFieldValid(req.files, 'videofile')) .withMessage('Should have a file'), @@ -73,59 +75,122 @@ const videosAddValidator = getCommonVideoEditAttributes().concat([ logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) if (areValidationErrors(req, res)) return cleanUpReqFiles(req) - if (areErrorsInScheduleUpdate(req, res)) return cleanUpReqFiles(req) - const videoFile: Express.Multer.File & { duration?: number } = req.files['videofile'][0] + const videoFile: express.VideoUploadFile = req.files['videofile'][0] const user = res.locals.oauth.token.User - if (!await doesVideoChannelOfAccountExist(req.body.channelId, user, res)) return cleanUpReqFiles(req) - - if (!isVideoFileMimeTypeValid(req.files)) { - res.status(HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415) - .json({ - error: 'This file is not supported. Please, make sure it is of the following type: ' + - CONSTRAINTS_FIELDS.VIDEOS.EXTNAME.join(', ') - }) - + if (!await commonVideoChecksPass({ req, res, user, videoFileSize: videoFile.size, files: req.files })) { return cleanUpReqFiles(req) } - if (!isVideoFileSizeValid(videoFile.size.toString())) { - res.status(HttpStatusCode.PAYLOAD_TOO_LARGE_413) - .json({ - error: 'This file is too large.' - }) - - return cleanUpReqFiles(req) - } - - if (await isAbleToUploadVideo(user.id, videoFile.size) === false) { - res.status(HttpStatusCode.PAYLOAD_TOO_LARGE_413) - .json({ error: 'The user video quota is exceeded with this video.' }) - - return cleanUpReqFiles(req) - } - - let duration: number - try { - duration = await getDurationFromVideoFile(videoFile.path) + if (!videoFile.duration) await addDurationToVideo(videoFile) } catch (err) { - logger.error('Invalid input file in videosAddValidator.', { err }) + logger.error('Invalid input file in videosAddLegacyValidator.', { err }) res.status(HttpStatusCode.UNPROCESSABLE_ENTITY_422) .json({ error: 'Video file unreadable.' }) return cleanUpReqFiles(req) } - videoFile.duration = duration - if (!await isVideoAccepted(req, res, videoFile)) return cleanUpReqFiles(req) return next() } ]) +/** + * Gets called after the last PUT request + */ +const videosAddResumableValidator = [ + async (req: express.Request, res: express.Response, next: express.NextFunction) => { + const user = res.locals.oauth.token.User + + const body: express.CustomUploadXFile = req.body + const file = { ...body, duration: undefined, path: getResumableUploadPath(body.id), filename: body.metadata.filename } + + const cleanup = () => deleteFileAndCatch(file.path) + + if (!await doesVideoChannelOfAccountExist(file.metadata.channelId, user, res)) return cleanup() + + try { + if (!file.duration) await addDurationToVideo(file) + } catch (err) { + logger.error('Invalid input file in videosAddResumableValidator.', { err }) + res.status(HttpStatusCode.UNPROCESSABLE_ENTITY_422) + .json({ error: 'Video file unreadable.' }) + + return cleanup() + } + + if (!await isVideoAccepted(req, res, file)) return cleanup() + + res.locals.videoFileResumable = file + + return next() + } +] + +/** + * File is created in POST initialisation, and its body is saved as a 'metadata' field is saved by uploadx for later use. + * see https://github.com/kukhariev/node-uploadx/blob/dc9fb4a8ac5a6f481902588e93062f591ec6ef03/packages/core/src/handlers/uploadx.ts + * + * Uploadx doesn't use next() until the upload completes, so this middleware has to be placed before uploadx + * see https://github.com/kukhariev/node-uploadx/blob/dc9fb4a8ac5a6f481902588e93062f591ec6ef03/packages/core/src/handlers/base-handler.ts + * + */ +const videosAddResumableInitValidator = getCommonVideoEditAttributes().concat([ + body('filename') + .isString() + .exists() + .withMessage('Should have a valid filename'), + body('name') + .trim() + .custom(isVideoNameValid) + .withMessage('Should have a valid name'), + body('channelId') + .customSanitizer(toIntOrNull) + .custom(isIdValid).withMessage('Should have correct video channel id'), + + header('x-upload-content-length') + .isNumeric() + .exists() + .withMessage('Should specify the file length'), + header('x-upload-content-type') + .isString() + .exists() + .withMessage('Should specify the file mimetype'), + + async (req: express.Request, res: express.Response, next: express.NextFunction) => { + const videoFileMetadata = { + mimetype: req.headers['x-upload-content-type'] as string, + size: +req.headers['x-upload-content-length'], + originalname: req.body.name + } + + const user = res.locals.oauth.token.User + const cleanup = () => cleanUpReqFiles(req) + + logger.debug('Checking videosAddResumableInitValidator parameters and headers', { + parameters: req.body, + headers: req.headers, + files: req.files + }) + + if (areValidationErrors(req, res)) return cleanup() + + const files = { videofile: [ videoFileMetadata ] } + if (!await commonVideoChecksPass({ req, res, user, videoFileSize: videoFileMetadata.size, files })) return cleanup() + + // multer required unsetting the Content-Type, now we can set it for node-uploadx + req.headers['content-type'] = 'application/json; charset=utf-8' + // place previewfile in metadata so that uploadx saves it in .META + if (req.files['previewfile']) req.body.previewfile = req.files['previewfile'] + + return next() + } +]) + const videosUpdateValidator = getCommonVideoEditAttributes().concat([ param('id').custom(isIdOrUUIDValid).not().isEmpty().withMessage('Should have a valid id'), body('name') @@ -478,7 +543,10 @@ const commonVideosFiltersValidator = [ // --------------------------------------------------------------------------- export { - videosAddValidator, + videosAddLegacyValidator, + videosAddResumableValidator, + videosAddResumableInitValidator, + videosUpdateValidator, videosGetValidator, videoFileMetadataGetValidator, @@ -515,7 +583,51 @@ function areErrorsInScheduleUpdate (req: express.Request, res: express.Response) return false } -async function isVideoAccepted (req: express.Request, res: express.Response, videoFile: Express.Multer.File & { duration?: number }) { +async function commonVideoChecksPass (parameters: { + req: express.Request + res: express.Response + user: MUserAccountId + videoFileSize: number + files: express.UploadFilesForCheck +}): Promise { + const { req, res, user, videoFileSize, files } = parameters + + if (areErrorsInScheduleUpdate(req, res)) return false + + if (!await doesVideoChannelOfAccountExist(req.body.channelId, user, res)) return false + + if (!isVideoFileMimeTypeValid(files)) { + res.status(HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415) + .json({ + error: 'This file is not supported. Please, make sure it is of the following type: ' + + CONSTRAINTS_FIELDS.VIDEOS.EXTNAME.join(', ') + }) + + return false + } + + if (!isVideoFileSizeValid(videoFileSize.toString())) { + res.status(HttpStatusCode.PAYLOAD_TOO_LARGE_413) + .json({ error: 'This file is too large. It exceeds the maximum file size authorized.' }) + + return false + } + + if (await isAbleToUploadVideo(user.id, videoFileSize) === false) { + res.status(HttpStatusCode.PAYLOAD_TOO_LARGE_413) + .json({ error: 'The user video quota is exceeded with this video.' }) + + return false + } + + return true +} + +export async function isVideoAccepted ( + req: express.Request, + res: express.Response, + videoFile: express.VideoUploadFile +) { // Check we accept this video const acceptParameters = { videoBody: req.body, @@ -538,3 +650,11 @@ async function isVideoAccepted (req: express.Request, res: express.Response, vid return true } + +async function addDurationToVideo (videoFile: { path: string, duration?: number }) { + const duration: number = await getDurationFromVideoFile(videoFile.path) + + if (isNaN(duration)) throw new Error(`Couldn't get video duration`) + + videoFile.duration = duration +} diff --git a/server/tests/api/check-params/index.ts b/server/tests/api/check-params/index.ts index d0b0b9c21..143515838 100644 --- a/server/tests/api/check-params/index.ts +++ b/server/tests/api/check-params/index.ts @@ -13,6 +13,7 @@ import './plugins' import './redundancy' import './search' import './services' +import './upload-quota' import './user-notifications' import './user-subscriptions' import './users' diff --git a/server/tests/api/check-params/upload-quota.ts b/server/tests/api/check-params/upload-quota.ts new file mode 100644 index 000000000..d0fbec415 --- /dev/null +++ b/server/tests/api/check-params/upload-quota.ts @@ -0,0 +1,152 @@ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ + +import 'mocha' +import { expect } from 'chai' +import { HttpStatusCode, randomInt } from '@shared/core-utils' +import { getGoodVideoUrl, getMagnetURI, getMyVideoImports, importVideo } from '@shared/extra-utils/videos/video-imports' +import { MyUser, VideoImport, VideoImportState, VideoPrivacy } from '@shared/models' +import { + cleanupTests, + flushAndRunServer, + getMyUserInformation, + immutableAssign, + registerUser, + ServerInfo, + setAccessTokensToServers, + setDefaultVideoChannel, + updateUser, + uploadVideo, + userLogin, + waitJobs +} from '../../../../shared/extra-utils' + +describe('Test upload quota', function () { + let server: ServerInfo + let rootId: number + + // --------------------------------------------------------------- + + before(async function () { + this.timeout(30000) + + server = await flushAndRunServer(1) + await setAccessTokensToServers([ server ]) + await setDefaultVideoChannel([ server ]) + + const res = await getMyUserInformation(server.url, server.accessToken) + rootId = (res.body as MyUser).id + + await updateUser({ + url: server.url, + userId: rootId, + accessToken: server.accessToken, + videoQuota: 42 + }) + }) + + describe('When having a video quota', function () { + + it('Should fail with a registered user having too many videos with legacy upload', async function () { + this.timeout(30000) + + const user = { username: 'registered' + randomInt(1, 1500), password: 'password' } + await registerUser(server.url, user.username, user.password) + const userAccessToken = await userLogin(server, user) + + const videoAttributes = { fixture: 'video_short2.webm' } + for (let i = 0; i < 5; i++) { + await uploadVideo(server.url, userAccessToken, videoAttributes) + } + + await uploadVideo(server.url, userAccessToken, videoAttributes, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'legacy') + }) + + it('Should fail with a registered user having too many videos with resumable upload', async function () { + this.timeout(30000) + + const user = { username: 'registered' + randomInt(1, 1500), password: 'password' } + await registerUser(server.url, user.username, user.password) + const userAccessToken = await userLogin(server, user) + + const videoAttributes = { fixture: 'video_short2.webm' } + for (let i = 0; i < 5; i++) { + await uploadVideo(server.url, userAccessToken, videoAttributes) + } + + await uploadVideo(server.url, userAccessToken, videoAttributes, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'resumable') + }) + + it('Should fail to import with HTTP/Torrent/magnet', async function () { + this.timeout(120000) + + const baseAttributes = { + channelId: server.videoChannel.id, + privacy: VideoPrivacy.PUBLIC + } + await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { targetUrl: getGoodVideoUrl() })) + await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { magnetUri: getMagnetURI() })) + await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { torrentfile: 'video-720p.torrent' as any })) + + await waitJobs([ server ]) + + const res = await getMyVideoImports(server.url, server.accessToken) + + expect(res.body.total).to.equal(3) + const videoImports: VideoImport[] = res.body.data + expect(videoImports).to.have.lengthOf(3) + + for (const videoImport of videoImports) { + expect(videoImport.state.id).to.equal(VideoImportState.FAILED) + expect(videoImport.error).not.to.be.undefined + expect(videoImport.error).to.contain('user video quota is exceeded') + } + }) + }) + + describe('When having a daily video quota', function () { + + it('Should fail with a user having too many videos daily', async function () { + await updateUser({ + url: server.url, + userId: rootId, + accessToken: server.accessToken, + videoQuotaDaily: 42 + }) + + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'legacy') + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'resumable') + }) + }) + + describe('When having an absolute and daily video quota', function () { + it('Should fail if exceeding total quota', async function () { + await updateUser({ + url: server.url, + userId: rootId, + accessToken: server.accessToken, + videoQuota: 42, + videoQuotaDaily: 1024 * 1024 * 1024 + }) + + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'legacy') + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'resumable') + }) + + it('Should fail if exceeding daily quota', async function () { + await updateUser({ + url: server.url, + userId: rootId, + accessToken: server.accessToken, + videoQuota: 1024 * 1024 * 1024, + videoQuotaDaily: 42 + }) + + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'legacy') + await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413, 'resumable') + }) + }) + + after(async function () { + await cleanupTests([ server ]) + }) +}) diff --git a/server/tests/api/check-params/users.ts b/server/tests/api/check-params/users.ts index 2b03fde2d..dcff0d52b 100644 --- a/server/tests/api/check-params/users.ts +++ b/server/tests/api/check-params/users.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' -import { expect } from 'chai' import { omit } from 'lodash' import { join } from 'path' -import { User, UserRole, VideoImport, VideoImportState } from '../../../../shared' +import { User, UserRole } from '../../../../shared' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { addVideoChannel, blockUser, @@ -29,7 +29,6 @@ import { ServerInfo, setAccessTokensToServers, unblockUser, - updateUser, uploadVideo, userLogin } from '../../../../shared/extra-utils' @@ -39,11 +38,7 @@ import { checkBadSortPagination, checkBadStartPagination } from '../../../../shared/extra-utils/requests/check-api-params' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { getGoodVideoUrl, getMagnetURI, getMyVideoImports, importVideo } from '../../../../shared/extra-utils/videos/video-imports' import { UserAdminFlag } from '../../../../shared/models/users/user-flag.model' -import { VideoPrivacy } from '../../../../shared/models/videos' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' describe('Test users API validators', function () { const path = '/api/v1/users/' @@ -1093,102 +1088,6 @@ describe('Test users API validators', function () { }) }) - describe('When having a video quota', function () { - it('Should fail with a user having too many videos', async function () { - await updateUser({ - url: server.url, - userId: rootId, - accessToken: server.accessToken, - videoQuota: 42 - }) - - await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413) - }) - - it('Should fail with a registered user having too many videos', async function () { - this.timeout(30000) - - const user = { - username: 'user3', - password: 'my super password' - } - userAccessToken = await userLogin(server, user) - - const videoAttributes = { fixture: 'video_short2.webm' } - await uploadVideo(server.url, userAccessToken, videoAttributes) - await uploadVideo(server.url, userAccessToken, videoAttributes) - await uploadVideo(server.url, userAccessToken, videoAttributes) - await uploadVideo(server.url, userAccessToken, videoAttributes) - await uploadVideo(server.url, userAccessToken, videoAttributes) - await uploadVideo(server.url, userAccessToken, videoAttributes, HttpStatusCode.PAYLOAD_TOO_LARGE_413) - }) - - it('Should fail to import with HTTP/Torrent/magnet', async function () { - this.timeout(120000) - - const baseAttributes = { - channelId: 1, - privacy: VideoPrivacy.PUBLIC - } - await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { targetUrl: getGoodVideoUrl() })) - await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { magnetUri: getMagnetURI() })) - await importVideo(server.url, server.accessToken, immutableAssign(baseAttributes, { torrentfile: 'video-720p.torrent' as any })) - - await waitJobs([ server ]) - - const res = await getMyVideoImports(server.url, server.accessToken) - - expect(res.body.total).to.equal(3) - const videoImports: VideoImport[] = res.body.data - expect(videoImports).to.have.lengthOf(3) - - for (const videoImport of videoImports) { - expect(videoImport.state.id).to.equal(VideoImportState.FAILED) - expect(videoImport.error).not.to.be.undefined - expect(videoImport.error).to.contain('user video quota is exceeded') - } - }) - }) - - describe('When having a daily video quota', function () { - it('Should fail with a user having too many videos daily', async function () { - await updateUser({ - url: server.url, - userId: rootId, - accessToken: server.accessToken, - videoQuotaDaily: 42 - }) - - await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413) - }) - }) - - describe('When having an absolute and daily video quota', function () { - it('Should fail if exceeding total quota', async function () { - await updateUser({ - url: server.url, - userId: rootId, - accessToken: server.accessToken, - videoQuota: 42, - videoQuotaDaily: 1024 * 1024 * 1024 - }) - - await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413) - }) - - it('Should fail if exceeding daily quota', async function () { - await updateUser({ - url: server.url, - userId: rootId, - accessToken: server.accessToken, - videoQuota: 1024 * 1024 * 1024, - videoQuotaDaily: 42 - }) - - await uploadVideo(server.url, server.accessToken, {}, HttpStatusCode.PAYLOAD_TOO_LARGE_413) - }) - }) - describe('When asking a password reset', function () { const path = '/api/v1/users/ask-reset-password' diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts index 188d1835c..c970c4a15 100644 --- a/server/tests/api/check-params/videos.ts +++ b/server/tests/api/check-params/videos.ts @@ -1,11 +1,12 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ +import 'mocha' import * as chai from 'chai' import { omit } from 'lodash' -import 'mocha' import { join } from 'path' -import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { + checkUploadVideoParam, cleanupTests, createUser, flushAndRunServer, @@ -18,17 +19,18 @@ import { makePutBodyRequest, makeUploadRequest, removeVideo, + root, ServerInfo, setAccessTokensToServers, - userLogin, - root + userLogin } from '../../../../shared/extra-utils' import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '../../../../shared/extra-utils/requests/check-api-params' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { VideoPrivacy } from '../../../../shared/models/videos/video-privacy.enum' +import { randomInt } from '@shared/core-utils' const expect = chai.expect @@ -183,7 +185,7 @@ describe('Test videos API validator', function () { describe('When adding a video', function () { let baseCorrectParams const baseCorrectAttaches = { - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.webm') + fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.webm') } before(function () { @@ -206,256 +208,243 @@ describe('Test videos API validator', function () { } }) - it('Should fail with nothing', async function () { - const fields = {} - const attaches = {} - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) + function runSuite (mode: 'legacy' | 'resumable') { - it('Should fail without name', async function () { - const fields = omit(baseCorrectParams, 'name') - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a long name', async function () { - const fields = immutableAssign(baseCorrectParams, { name: 'super'.repeat(65) }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad category', async function () { - const fields = immutableAssign(baseCorrectParams, { category: 125 }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad licence', async function () { - const fields = immutableAssign(baseCorrectParams, { licence: 125 }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad language', async function () { - const fields = immutableAssign(baseCorrectParams, { language: 'a'.repeat(15) }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a long description', async function () { - const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(2500) }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a long support text', async function () { - const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail without a channel', async function () { - const fields = omit(baseCorrectParams, 'channelId') - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad channel', async function () { - const fields = immutableAssign(baseCorrectParams, { channelId: 545454 }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with another user channel', async function () { - const user = { - username: 'fake', - password: 'fake_password' - } - await createUser({ url: server.url, accessToken: server.accessToken, username: user.username, password: user.password }) - - const accessTokenUser = await userLogin(server, user) - const res = await getMyUserInformation(server.url, accessTokenUser) - const customChannelId = res.body.videoChannels[0].id - - const fields = immutableAssign(baseCorrectParams, { channelId: customChannelId }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: userAccessToken, fields, attaches }) - }) - - it('Should fail with too many tags', async function () { - const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'tag2', 'tag3', 'tag4', 'tag5', 'tag6' ] }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a tag length too low', async function () { - const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 't' ] }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a tag length too big', async function () { - const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'my_super_tag_too_long_long_long_long_long_long' ] }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad schedule update (miss updateAt)', async function () { - const fields = immutableAssign(baseCorrectParams, { 'scheduleUpdate[privacy]': VideoPrivacy.PUBLIC }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad schedule update (wrong updateAt)', async function () { - const fields = immutableAssign(baseCorrectParams, { - 'scheduleUpdate[privacy]': VideoPrivacy.PUBLIC, - 'scheduleUpdate[updateAt]': 'toto' - }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a bad originally published at attribute', async function () { - const fields = immutableAssign(baseCorrectParams, { originallyPublishedAt: 'toto' }) - const attaches = baseCorrectAttaches - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail without an input file', async function () { - const fields = baseCorrectParams - const attaches = {} - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with an incorrect input file', async function () { - const fields = baseCorrectParams - let attaches = { - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short_fake.webm') - } - await makeUploadRequest({ - url: server.url, - path: path + '/upload', - token: server.accessToken, - fields, - attaches, - statusCodeExpected: HttpStatusCode.UNPROCESSABLE_ENTITY_422 + it('Should fail with nothing', async function () { + const fields = {} + const attaches = {} + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) }) - attaches = { - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mkv') - } - await makeUploadRequest({ - url: server.url, - path: path + '/upload', - token: server.accessToken, - fields, - attaches, - statusCodeExpected: HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415 - }) - }) - - it('Should fail with an incorrect thumbnail file', async function () { - const fields = baseCorrectParams - const attaches = { - thumbnailfile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4'), - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') - } - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a big thumbnail file', async function () { - const fields = baseCorrectParams - const attaches = { - thumbnailfile: join(root(), 'server', 'tests', 'fixtures', 'preview-big.png'), - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') - } - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with an incorrect preview file', async function () { - const fields = baseCorrectParams - const attaches = { - previewfile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4'), - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') - } - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should fail with a big preview file', async function () { - const fields = baseCorrectParams - const attaches = { - previewfile: join(root(), 'server', 'tests', 'fixtures', 'preview-big.png'), - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') - } - - await makeUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) - }) - - it('Should succeed with the correct parameters', async function () { - this.timeout(10000) - - const fields = baseCorrectParams - - { + it('Should fail without name', async function () { + const fields = omit(baseCorrectParams, 'name') const attaches = baseCorrectAttaches - await makeUploadRequest({ - url: server.url, - path: path + '/upload', - token: server.accessToken, - fields, - attaches, - statusCodeExpected: HttpStatusCode.OK_200 - }) - } - { - const attaches = immutableAssign(baseCorrectAttaches, { - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') - }) + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) - await makeUploadRequest({ - url: server.url, - path: path + '/upload', - token: server.accessToken, - fields, - attaches, - statusCodeExpected: HttpStatusCode.OK_200 - }) - } + it('Should fail with a long name', async function () { + const fields = immutableAssign(baseCorrectParams, { name: 'super'.repeat(65) }) + const attaches = baseCorrectAttaches - { - const attaches = immutableAssign(baseCorrectAttaches, { - videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.ogv') - }) + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) - await makeUploadRequest({ - url: server.url, - path: path + '/upload', - token: server.accessToken, - fields, - attaches, - statusCodeExpected: HttpStatusCode.OK_200 + it('Should fail with a bad category', async function () { + const fields = immutableAssign(baseCorrectParams, { category: 125 }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad licence', async function () { + const fields = immutableAssign(baseCorrectParams, { licence: 125 }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad language', async function () { + const fields = immutableAssign(baseCorrectParams, { language: 'a'.repeat(15) }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a long description', async function () { + const fields = immutableAssign(baseCorrectParams, { description: 'super'.repeat(2500) }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a long support text', async function () { + const fields = immutableAssign(baseCorrectParams, { support: 'super'.repeat(201) }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail without a channel', async function () { + const fields = omit(baseCorrectParams, 'channelId') + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad channel', async function () { + const fields = immutableAssign(baseCorrectParams, { channelId: 545454 }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with another user channel', async function () { + const user = { + username: 'fake' + randomInt(0, 1500), + password: 'fake_password' + } + await createUser({ url: server.url, accessToken: server.accessToken, username: user.username, password: user.password }) + + const accessTokenUser = await userLogin(server, user) + const res = await getMyUserInformation(server.url, accessTokenUser) + const customChannelId = res.body.videoChannels[0].id + + const fields = immutableAssign(baseCorrectParams, { channelId: customChannelId }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, userAccessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with too many tags', async function () { + const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'tag2', 'tag3', 'tag4', 'tag5', 'tag6' ] }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a tag length too low', async function () { + const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 't' ] }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a tag length too big', async function () { + const fields = immutableAssign(baseCorrectParams, { tags: [ 'tag1', 'my_super_tag_too_long_long_long_long_long_long' ] }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad schedule update (miss updateAt)', async function () { + const fields = immutableAssign(baseCorrectParams, { scheduleUpdate: { privacy: VideoPrivacy.PUBLIC } }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad schedule update (wrong updateAt)', async function () { + const fields = immutableAssign(baseCorrectParams, { + scheduleUpdate: { + privacy: VideoPrivacy.PUBLIC, + updateAt: 'toto' + } }) - } + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a bad originally published at attribute', async function () { + const fields = immutableAssign(baseCorrectParams, { originallyPublishedAt: 'toto' }) + const attaches = baseCorrectAttaches + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail without an input file', async function () { + const fields = baseCorrectParams + const attaches = {} + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with an incorrect input file', async function () { + const fields = baseCorrectParams + let attaches = { fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short_fake.webm') } + + await checkUploadVideoParam( + server.url, + server.accessToken, + { ...fields, ...attaches }, + HttpStatusCode.UNPROCESSABLE_ENTITY_422, + mode + ) + + attaches = { fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.mkv') } + await checkUploadVideoParam( + server.url, + server.accessToken, + { ...fields, ...attaches }, + HttpStatusCode.UNSUPPORTED_MEDIA_TYPE_415, + mode + ) + }) + + it('Should fail with an incorrect thumbnail file', async function () { + const fields = baseCorrectParams + const attaches = { + thumbnailfile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4'), + fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') + } + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a big thumbnail file', async function () { + const fields = baseCorrectParams + const attaches = { + thumbnailfile: join(root(), 'server', 'tests', 'fixtures', 'preview-big.png'), + fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') + } + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with an incorrect preview file', async function () { + const fields = baseCorrectParams + const attaches = { + previewfile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4'), + fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') + } + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should fail with a big preview file', async function () { + const fields = baseCorrectParams + const attaches = { + previewfile: join(root(), 'server', 'tests', 'fixtures', 'preview-big.png'), + fixture: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') + } + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.BAD_REQUEST_400, mode) + }) + + it('Should succeed with the correct parameters', async function () { + this.timeout(10000) + + const fields = baseCorrectParams + + { + const attaches = baseCorrectAttaches + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.OK_200, mode) + } + + { + const attaches = immutableAssign(baseCorrectAttaches, { + videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.mp4') + }) + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.OK_200, mode) + } + + { + const attaches = immutableAssign(baseCorrectAttaches, { + videofile: join(root(), 'server', 'tests', 'fixtures', 'video_short.ogv') + }) + + await checkUploadVideoParam(server.url, server.accessToken, { ...fields, ...attaches }, HttpStatusCode.OK_200, mode) + } + }) + } + + describe('Resumable upload', function () { + runSuite('resumable') + }) + + describe('Legacy upload', function () { + runSuite('legacy') }) }) @@ -678,7 +667,7 @@ describe('Test videos API validator', function () { }) expect(res.body.data).to.be.an('array') - expect(res.body.data.length).to.equal(3) + expect(res.body.data.length).to.equal(6) }) it('Should fail without a correct uuid', async function () { diff --git a/server/tests/api/videos/index.ts b/server/tests/api/videos/index.ts index fc8b447b7..5c07f8926 100644 --- a/server/tests/api/videos/index.ts +++ b/server/tests/api/videos/index.ts @@ -1,5 +1,6 @@ import './audio-only' import './multiple-servers' +import './resumable-upload' import './single-server' import './video-captions' import './video-change-ownership' diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index 55e280e9f..41cd814e0 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts @@ -181,7 +181,7 @@ describe('Test multiple servers', function () { thumbnailfile: 'thumbnail.jpg', previewfile: 'preview.jpg' } - await uploadVideo(servers[1].url, userAccessToken, videoAttributes) + await uploadVideo(servers[1].url, userAccessToken, videoAttributes, HttpStatusCode.OK_200, 'resumable') // Transcoding await waitJobs(servers) diff --git a/server/tests/api/videos/resumable-upload.ts b/server/tests/api/videos/resumable-upload.ts new file mode 100644 index 000000000..af9221c43 --- /dev/null +++ b/server/tests/api/videos/resumable-upload.ts @@ -0,0 +1,187 @@ +/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ + +import 'mocha' +import * as chai from 'chai' +import { pathExists, readdir, stat } from 'fs-extra' +import { join } from 'path' +import { HttpStatusCode } from '@shared/core-utils' +import { + buildAbsoluteFixturePath, + buildServerDirectory, + flushAndRunServer, + getMyUserInformation, + prepareResumableUpload, + sendDebugCommand, + sendResumableChunks, + ServerInfo, + setAccessTokensToServers, + setDefaultVideoChannel, + updateUser +} from '@shared/extra-utils' +import { MyUser, VideoPrivacy } from '@shared/models' + +const expect = chai.expect + +// Most classic resumable upload tests are done in other test suites + +describe('Test resumable upload', function () { + const defaultFixture = 'video_short.mp4' + let server: ServerInfo + let rootId: number + + async function buildSize (fixture: string, size?: number) { + if (size !== undefined) return size + + const baseFixture = buildAbsoluteFixturePath(fixture) + return (await stat(baseFixture)).size + } + + async function prepareUpload (sizeArg?: number) { + const size = await buildSize(defaultFixture, sizeArg) + + const attributes = { + name: 'video', + channelId: server.videoChannel.id, + privacy: VideoPrivacy.PUBLIC, + fixture: defaultFixture + } + + const mimetype = 'video/mp4' + + const res = await prepareResumableUpload({ url: server.url, token: server.accessToken, attributes, size, mimetype }) + + return res.header['location'].split('?')[1] + } + + async function sendChunks (options: { + pathUploadId: string + size?: number + expectedStatus?: HttpStatusCode + contentLength?: number + contentRange?: string + contentRangeBuilder?: (start: number, chunk: any) => string + }) { + const { pathUploadId, expectedStatus, contentLength, contentRangeBuilder } = options + + const size = await buildSize(defaultFixture, options.size) + const absoluteFilePath = buildAbsoluteFixturePath(defaultFixture) + + return sendResumableChunks({ + url: server.url, + token: server.accessToken, + pathUploadId, + videoFilePath: absoluteFilePath, + size, + contentLength, + contentRangeBuilder, + specialStatus: expectedStatus + }) + } + + async function checkFileSize (uploadIdArg: string, expectedSize: number | null) { + const uploadId = uploadIdArg.replace(/^upload_id=/, '') + + const subPath = join('tmp', 'resumable-uploads', uploadId) + const filePath = buildServerDirectory(server, subPath) + const exists = await pathExists(filePath) + + if (expectedSize === null) { + expect(exists).to.be.false + return + } + + expect(exists).to.be.true + + expect((await stat(filePath)).size).to.equal(expectedSize) + } + + async function countResumableUploads () { + const subPath = join('tmp', 'resumable-uploads') + const filePath = buildServerDirectory(server, subPath) + + const files = await readdir(filePath) + return files.length + } + + before(async function () { + this.timeout(30000) + + server = await flushAndRunServer(1) + await setAccessTokensToServers([ server ]) + await setDefaultVideoChannel([ server ]) + + const res = await getMyUserInformation(server.url, server.accessToken) + rootId = (res.body as MyUser).id + + await updateUser({ + url: server.url, + userId: rootId, + accessToken: server.accessToken, + videoQuota: 10_000_000 + }) + }) + + describe('Directory cleaning', function () { + + it('Should correctly delete files after an upload', async function () { + const uploadId = await prepareUpload() + await sendChunks({ pathUploadId: uploadId }) + + expect(await countResumableUploads()).to.equal(0) + }) + + it('Should not delete files after an unfinished upload', async function () { + await prepareUpload() + + expect(await countResumableUploads()).to.equal(2) + }) + + it('Should not delete recent uploads', async function () { + await sendDebugCommand(server.url, server.accessToken, { command: 'remove-dandling-resumable-uploads' }) + + expect(await countResumableUploads()).to.equal(2) + }) + + it('Should delete old uploads', async function () { + await sendDebugCommand(server.url, server.accessToken, { command: 'remove-dandling-resumable-uploads' }) + + expect(await countResumableUploads()).to.equal(0) + }) + }) + + describe('Resumable upload and chunks', function () { + + it('Should accept the same amount of chunks', async function () { + const uploadId = await prepareUpload() + await sendChunks({ pathUploadId: uploadId }) + + await checkFileSize(uploadId, null) + }) + + it('Should not accept more chunks than expected', async function () { + const size = 100 + const uploadId = await prepareUpload(size) + + await sendChunks({ pathUploadId: uploadId, expectedStatus: HttpStatusCode.CONFLICT_409 }) + await checkFileSize(uploadId, 0) + }) + + it('Should not accept more chunks than expected with an invalid content length/content range', async function () { + const uploadId = await prepareUpload(1500) + + await sendChunks({ pathUploadId: uploadId, expectedStatus: HttpStatusCode.BAD_REQUEST_400, contentLength: 1000 }) + await checkFileSize(uploadId, 0) + }) + + it('Should not accept more chunks than expected with an invalid content length', async function () { + const uploadId = await prepareUpload(500) + + const size = 1000 + + const contentRangeBuilder = start => `bytes ${start}-${start + size - 1}/${size}` + await sendChunks({ pathUploadId: uploadId, expectedStatus: HttpStatusCode.BAD_REQUEST_400, contentRangeBuilder, contentLength: size }) + await checkFileSize(uploadId, 0) + }) + }) + +}) diff --git a/server/tests/api/videos/single-server.ts b/server/tests/api/videos/single-server.ts index a79648bf7..1058a1e9c 100644 --- a/server/tests/api/videos/single-server.ts +++ b/server/tests/api/videos/single-server.ts @@ -1,9 +1,9 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ +import 'mocha' import * as chai from 'chai' import { keyBy } from 'lodash' -import 'mocha' -import { VideoPrivacy } from '../../../../shared/models/videos' + import { checkVideoFilesWereRemoved, cleanupTests, @@ -28,430 +28,432 @@ import { viewVideo, wait } from '../../../../shared/extra-utils' +import { VideoPrivacy } from '../../../../shared/models/videos' +import { HttpStatusCode } from '@shared/core-utils' const expect = chai.expect describe('Test a single server', function () { - let server: ServerInfo = null - let videoId = -1 - let videoId2 = -1 - let videoUUID = '' - let videosListBase: any[] = null - const getCheckAttributes = () => ({ - name: 'my super name', - category: 2, - licence: 6, - language: 'zh', - nsfw: true, - description: 'my super description', - support: 'my super support text', - account: { - name: 'root', - host: 'localhost:' + server.port - }, - isLocal: true, - duration: 5, - tags: [ 'tag1', 'tag2', 'tag3' ], - privacy: VideoPrivacy.PUBLIC, - commentsEnabled: true, - downloadEnabled: true, - channel: { - displayName: 'Main root channel', - name: 'root_channel', - description: '', - isLocal: true - }, - fixture: 'video_short.webm', - files: [ - { - resolution: 720, - size: 218910 - } - ] - }) + function runSuite (mode: 'legacy' | 'resumable') { + let server: ServerInfo = null + let videoId = -1 + let videoId2 = -1 + let videoUUID = '' + let videosListBase: any[] = null - const updateCheckAttributes = () => ({ - name: 'my super video updated', - category: 4, - licence: 2, - language: 'ar', - nsfw: false, - description: 'my super description updated', - support: 'my super support text updated', - account: { - name: 'root', - host: 'localhost:' + server.port - }, - isLocal: true, - tags: [ 'tagup1', 'tagup2' ], - privacy: VideoPrivacy.PUBLIC, - duration: 5, - commentsEnabled: false, - downloadEnabled: false, - channel: { - name: 'root_channel', - displayName: 'Main root channel', - description: '', - isLocal: true - }, - fixture: 'video_short3.webm', - files: [ - { - resolution: 720, - size: 292677 - } - ] - }) - - before(async function () { - this.timeout(30000) - - server = await flushAndRunServer(1) - - await setAccessTokensToServers([ server ]) - }) - - it('Should list video categories', async function () { - const res = await getVideoCategories(server.url) - - const categories = res.body - expect(Object.keys(categories)).to.have.length.above(10) - - expect(categories[11]).to.equal('News & Politics') - }) - - it('Should list video licences', async function () { - const res = await getVideoLicences(server.url) - - const licences = res.body - expect(Object.keys(licences)).to.have.length.above(5) - - expect(licences[3]).to.equal('Attribution - No Derivatives') - }) - - it('Should list video languages', async function () { - const res = await getVideoLanguages(server.url) - - const languages = res.body - expect(Object.keys(languages)).to.have.length.above(5) - - expect(languages['ru']).to.equal('Russian') - }) - - it('Should list video privacies', async function () { - const res = await getVideoPrivacies(server.url) - - const privacies = res.body - expect(Object.keys(privacies)).to.have.length.at.least(3) - - expect(privacies[3]).to.equal('Private') - }) - - it('Should not have videos', async function () { - const res = await getVideosList(server.url) - - expect(res.body.total).to.equal(0) - expect(res.body.data).to.be.an('array') - expect(res.body.data.length).to.equal(0) - }) - - it('Should upload the video', async function () { - this.timeout(10000) - - const videoAttributes = { + const getCheckAttributes = () => ({ name: 'my super name', category: 2, - nsfw: true, licence: 6, - tags: [ 'tag1', 'tag2', 'tag3' ] - } - const res = await uploadVideo(server.url, server.accessToken, videoAttributes) - expect(res.body.video).to.not.be.undefined - expect(res.body.video.id).to.equal(1) - expect(res.body.video.uuid).to.have.length.above(5) + language: 'zh', + nsfw: true, + description: 'my super description', + support: 'my super support text', + account: { + name: 'root', + host: 'localhost:' + server.port + }, + isLocal: true, + duration: 5, + tags: [ 'tag1', 'tag2', 'tag3' ], + privacy: VideoPrivacy.PUBLIC, + commentsEnabled: true, + downloadEnabled: true, + channel: { + displayName: 'Main root channel', + name: 'root_channel', + description: '', + isLocal: true + }, + fixture: 'video_short.webm', + files: [ + { + resolution: 720, + size: 218910 + } + ] + }) - videoId = res.body.video.id - videoUUID = res.body.video.uuid - }) - - it('Should get and seed the uploaded video', async function () { - this.timeout(5000) - - const res = await getVideosList(server.url) - - expect(res.body.total).to.equal(1) - expect(res.body.data).to.be.an('array') - expect(res.body.data.length).to.equal(1) - - const video = res.body.data[0] - await completeVideoCheck(server.url, video, getCheckAttributes()) - }) - - it('Should get the video by UUID', async function () { - this.timeout(5000) - - const res = await getVideo(server.url, videoUUID) - - const video = res.body - await completeVideoCheck(server.url, video, getCheckAttributes()) - }) - - it('Should have the views updated', async function () { - this.timeout(20000) - - await viewVideo(server.url, videoId) - await viewVideo(server.url, videoId) - await viewVideo(server.url, videoId) - - await wait(1500) - - await viewVideo(server.url, videoId) - await viewVideo(server.url, videoId) - - await wait(1500) - - await viewVideo(server.url, videoId) - await viewVideo(server.url, videoId) - - // Wait the repeatable job - await wait(8000) - - const res = await getVideo(server.url, videoId) - - const video = res.body - expect(video.views).to.equal(3) - }) - - it('Should remove the video', async function () { - await removeVideo(server.url, server.accessToken, videoId) - - await checkVideoFilesWereRemoved(videoUUID, 1) - }) - - it('Should not have videos', async function () { - const res = await getVideosList(server.url) - - expect(res.body.total).to.equal(0) - expect(res.body.data).to.be.an('array') - expect(res.body.data).to.have.lengthOf(0) - }) - - it('Should upload 6 videos', async function () { - this.timeout(25000) - - const videos = new Set([ - 'video_short.mp4', 'video_short.ogv', 'video_short.webm', - 'video_short1.webm', 'video_short2.webm', 'video_short3.webm' - ]) - - for (const video of videos) { - const videoAttributes = { - name: video + ' name', - description: video + ' description', - category: 2, - licence: 1, - language: 'en', - nsfw: true, - tags: [ 'tag1', 'tag2', 'tag3' ], - fixture: video - } - - await uploadVideo(server.url, server.accessToken, videoAttributes) - } - }) - - it('Should have the correct durations', async function () { - const res = await getVideosList(server.url) - - expect(res.body.total).to.equal(6) - const videos = res.body.data - expect(videos).to.be.an('array') - expect(videos).to.have.lengthOf(6) - - const videosByName = keyBy<{ duration: number }>(videos, 'name') - expect(videosByName['video_short.mp4 name'].duration).to.equal(5) - expect(videosByName['video_short.ogv name'].duration).to.equal(5) - expect(videosByName['video_short.webm name'].duration).to.equal(5) - expect(videosByName['video_short1.webm name'].duration).to.equal(10) - expect(videosByName['video_short2.webm name'].duration).to.equal(5) - expect(videosByName['video_short3.webm name'].duration).to.equal(5) - }) - - it('Should have the correct thumbnails', async function () { - const res = await getVideosList(server.url) - - const videos = res.body.data - // For the next test - videosListBase = videos - - for (const video of videos) { - const videoName = video.name.replace(' name', '') - await testImage(server.url, videoName, video.thumbnailPath) - } - }) - - it('Should list only the two first videos', async function () { - const res = await getVideosListPagination(server.url, 0, 2, 'name') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(2) - expect(videos[0].name).to.equal(videosListBase[0].name) - expect(videos[1].name).to.equal(videosListBase[1].name) - }) - - it('Should list only the next three videos', async function () { - const res = await getVideosListPagination(server.url, 2, 3, 'name') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(3) - expect(videos[0].name).to.equal(videosListBase[2].name) - expect(videos[1].name).to.equal(videosListBase[3].name) - expect(videos[2].name).to.equal(videosListBase[4].name) - }) - - it('Should list the last video', async function () { - const res = await getVideosListPagination(server.url, 5, 6, 'name') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(1) - expect(videos[0].name).to.equal(videosListBase[5].name) - }) - - it('Should not have the total field', async function () { - const res = await getVideosListPagination(server.url, 5, 6, 'name', true) - - const videos = res.body.data - expect(res.body.total).to.not.exist - expect(videos.length).to.equal(1) - expect(videos[0].name).to.equal(videosListBase[5].name) - }) - - it('Should list and sort by name in descending order', async function () { - const res = await getVideosListSort(server.url, '-name') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(6) - expect(videos[0].name).to.equal('video_short.webm name') - expect(videos[1].name).to.equal('video_short.ogv name') - expect(videos[2].name).to.equal('video_short.mp4 name') - expect(videos[3].name).to.equal('video_short3.webm name') - expect(videos[4].name).to.equal('video_short2.webm name') - expect(videos[5].name).to.equal('video_short1.webm name') - - videoId = videos[3].uuid - videoId2 = videos[5].uuid - }) - - it('Should list and sort by trending in descending order', async function () { - const res = await getVideosListPagination(server.url, 0, 2, '-trending') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(2) - }) - - it('Should list and sort by hotness in descending order', async function () { - const res = await getVideosListPagination(server.url, 0, 2, '-hot') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(2) - }) - - it('Should list and sort by best in descending order', async function () { - const res = await getVideosListPagination(server.url, 0, 2, '-best') - - const videos = res.body.data - expect(res.body.total).to.equal(6) - expect(videos.length).to.equal(2) - }) - - it('Should update a video', async function () { - const attributes = { + const updateCheckAttributes = () => ({ name: 'my super video updated', category: 4, licence: 2, language: 'ar', nsfw: false, description: 'my super description updated', + support: 'my super support text updated', + account: { + name: 'root', + host: 'localhost:' + server.port + }, + isLocal: true, + tags: [ 'tagup1', 'tagup2' ], + privacy: VideoPrivacy.PUBLIC, + duration: 5, commentsEnabled: false, downloadEnabled: false, - tags: [ 'tagup1', 'tagup2' ] - } - await updateVideo(server.url, server.accessToken, videoId, attributes) - }) + channel: { + name: 'root_channel', + displayName: 'Main root channel', + description: '', + isLocal: true + }, + fixture: 'video_short3.webm', + files: [ + { + resolution: 720, + size: 292677 + } + ] + }) - it('Should filter by tags and category', async function () { - const res1 = await getVideosWithFilters(server.url, { tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 4 ] }) - expect(res1.body.total).to.equal(1) - expect(res1.body.data[0].name).to.equal('my super video updated') + before(async function () { + this.timeout(30000) - const res2 = await getVideosWithFilters(server.url, { tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 3 ] }) - expect(res2.body.total).to.equal(0) - }) + server = await flushAndRunServer(1) - it('Should have the video updated', async function () { - this.timeout(60000) + await setAccessTokensToServers([ server ]) + }) - const res = await getVideo(server.url, videoId) - const video = res.body + it('Should list video categories', async function () { + const res = await getVideoCategories(server.url) - await completeVideoCheck(server.url, video, updateCheckAttributes()) - }) + const categories = res.body + expect(Object.keys(categories)).to.have.length.above(10) - it('Should update only the tags of a video', async function () { - const attributes = { - tags: [ 'supertag', 'tag1', 'tag2' ] - } - await updateVideo(server.url, server.accessToken, videoId, attributes) + expect(categories[11]).to.equal('News & Politics') + }) - const res = await getVideo(server.url, videoId) - const video = res.body + it('Should list video licences', async function () { + const res = await getVideoLicences(server.url) - await completeVideoCheck(server.url, video, Object.assign(updateCheckAttributes(), attributes)) - }) + const licences = res.body + expect(Object.keys(licences)).to.have.length.above(5) - it('Should update only the description of a video', async function () { - const attributes = { - description: 'hello everybody' - } - await updateVideo(server.url, server.accessToken, videoId, attributes) + expect(licences[3]).to.equal('Attribution - No Derivatives') + }) - const res = await getVideo(server.url, videoId) - const video = res.body + it('Should list video languages', async function () { + const res = await getVideoLanguages(server.url) - const expectedAttributes = Object.assign(updateCheckAttributes(), { tags: [ 'supertag', 'tag1', 'tag2' ] }, attributes) - await completeVideoCheck(server.url, video, expectedAttributes) - }) + const languages = res.body + expect(Object.keys(languages)).to.have.length.above(5) - it('Should like a video', async function () { - await rateVideo(server.url, server.accessToken, videoId, 'like') + expect(languages['ru']).to.equal('Russian') + }) - const res = await getVideo(server.url, videoId) - const video = res.body + it('Should list video privacies', async function () { + const res = await getVideoPrivacies(server.url) - expect(video.likes).to.equal(1) - expect(video.dislikes).to.equal(0) - }) + const privacies = res.body + expect(Object.keys(privacies)).to.have.length.at.least(3) - it('Should dislike the same video', async function () { - await rateVideo(server.url, server.accessToken, videoId, 'dislike') + expect(privacies[3]).to.equal('Private') + }) - const res = await getVideo(server.url, videoId) - const video = res.body + it('Should not have videos', async function () { + const res = await getVideosList(server.url) - expect(video.likes).to.equal(0) - expect(video.dislikes).to.equal(1) - }) + expect(res.body.total).to.equal(0) + expect(res.body.data).to.be.an('array') + expect(res.body.data.length).to.equal(0) + }) - it('Should sort by originallyPublishedAt', async function () { - { + it('Should upload the video', async function () { + this.timeout(10000) + const videoAttributes = { + name: 'my super name', + category: 2, + nsfw: true, + licence: 6, + tags: [ 'tag1', 'tag2', 'tag3' ] + } + const res = await uploadVideo(server.url, server.accessToken, videoAttributes, HttpStatusCode.OK_200, mode) + expect(res.body.video).to.not.be.undefined + expect(res.body.video.id).to.equal(1) + expect(res.body.video.uuid).to.have.length.above(5) + + videoId = res.body.video.id + videoUUID = res.body.video.uuid + }) + + it('Should get and seed the uploaded video', async function () { + this.timeout(5000) + + const res = await getVideosList(server.url) + + expect(res.body.total).to.equal(1) + expect(res.body.data).to.be.an('array') + expect(res.body.data.length).to.equal(1) + + const video = res.body.data[0] + await completeVideoCheck(server.url, video, getCheckAttributes()) + }) + + it('Should get the video by UUID', async function () { + this.timeout(5000) + + const res = await getVideo(server.url, videoUUID) + + const video = res.body + await completeVideoCheck(server.url, video, getCheckAttributes()) + }) + + it('Should have the views updated', async function () { + this.timeout(20000) + + await viewVideo(server.url, videoId) + await viewVideo(server.url, videoId) + await viewVideo(server.url, videoId) + + await wait(1500) + + await viewVideo(server.url, videoId) + await viewVideo(server.url, videoId) + + await wait(1500) + + await viewVideo(server.url, videoId) + await viewVideo(server.url, videoId) + + // Wait the repeatable job + await wait(8000) + + const res = await getVideo(server.url, videoId) + + const video = res.body + expect(video.views).to.equal(3) + }) + + it('Should remove the video', async function () { + await removeVideo(server.url, server.accessToken, videoId) + + await checkVideoFilesWereRemoved(videoUUID, 1) + }) + + it('Should not have videos', async function () { + const res = await getVideosList(server.url) + + expect(res.body.total).to.equal(0) + expect(res.body.data).to.be.an('array') + expect(res.body.data).to.have.lengthOf(0) + }) + + it('Should upload 6 videos', async function () { + this.timeout(25000) + + const videos = new Set([ + 'video_short.mp4', 'video_short.ogv', 'video_short.webm', + 'video_short1.webm', 'video_short2.webm', 'video_short3.webm' + ]) + + for (const video of videos) { + const videoAttributes = { + name: video + ' name', + description: video + ' description', + category: 2, + licence: 1, + language: 'en', + nsfw: true, + tags: [ 'tag1', 'tag2', 'tag3' ], + fixture: video + } + + await uploadVideo(server.url, server.accessToken, videoAttributes, HttpStatusCode.OK_200, mode) + } + }) + + it('Should have the correct durations', async function () { + const res = await getVideosList(server.url) + + expect(res.body.total).to.equal(6) + const videos = res.body.data + expect(videos).to.be.an('array') + expect(videos).to.have.lengthOf(6) + + const videosByName = keyBy<{ duration: number }>(videos, 'name') + expect(videosByName['video_short.mp4 name'].duration).to.equal(5) + expect(videosByName['video_short.ogv name'].duration).to.equal(5) + expect(videosByName['video_short.webm name'].duration).to.equal(5) + expect(videosByName['video_short1.webm name'].duration).to.equal(10) + expect(videosByName['video_short2.webm name'].duration).to.equal(5) + expect(videosByName['video_short3.webm name'].duration).to.equal(5) + }) + + it('Should have the correct thumbnails', async function () { + const res = await getVideosList(server.url) + + const videos = res.body.data + // For the next test + videosListBase = videos + + for (const video of videos) { + const videoName = video.name.replace(' name', '') + await testImage(server.url, videoName, video.thumbnailPath) + } + }) + + it('Should list only the two first videos', async function () { + const res = await getVideosListPagination(server.url, 0, 2, 'name') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(2) + expect(videos[0].name).to.equal(videosListBase[0].name) + expect(videos[1].name).to.equal(videosListBase[1].name) + }) + + it('Should list only the next three videos', async function () { + const res = await getVideosListPagination(server.url, 2, 3, 'name') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(3) + expect(videos[0].name).to.equal(videosListBase[2].name) + expect(videos[1].name).to.equal(videosListBase[3].name) + expect(videos[2].name).to.equal(videosListBase[4].name) + }) + + it('Should list the last video', async function () { + const res = await getVideosListPagination(server.url, 5, 6, 'name') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(1) + expect(videos[0].name).to.equal(videosListBase[5].name) + }) + + it('Should not have the total field', async function () { + const res = await getVideosListPagination(server.url, 5, 6, 'name', true) + + const videos = res.body.data + expect(res.body.total).to.not.exist + expect(videos.length).to.equal(1) + expect(videos[0].name).to.equal(videosListBase[5].name) + }) + + it('Should list and sort by name in descending order', async function () { + const res = await getVideosListSort(server.url, '-name') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(6) + expect(videos[0].name).to.equal('video_short.webm name') + expect(videos[1].name).to.equal('video_short.ogv name') + expect(videos[2].name).to.equal('video_short.mp4 name') + expect(videos[3].name).to.equal('video_short3.webm name') + expect(videos[4].name).to.equal('video_short2.webm name') + expect(videos[5].name).to.equal('video_short1.webm name') + + videoId = videos[3].uuid + videoId2 = videos[5].uuid + }) + + it('Should list and sort by trending in descending order', async function () { + const res = await getVideosListPagination(server.url, 0, 2, '-trending') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(2) + }) + + it('Should list and sort by hotness in descending order', async function () { + const res = await getVideosListPagination(server.url, 0, 2, '-hot') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(2) + }) + + it('Should list and sort by best in descending order', async function () { + const res = await getVideosListPagination(server.url, 0, 2, '-best') + + const videos = res.body.data + expect(res.body.total).to.equal(6) + expect(videos.length).to.equal(2) + }) + + it('Should update a video', async function () { + const attributes = { + name: 'my super video updated', + category: 4, + licence: 2, + language: 'ar', + nsfw: false, + description: 'my super description updated', + commentsEnabled: false, + downloadEnabled: false, + tags: [ 'tagup1', 'tagup2' ] + } + await updateVideo(server.url, server.accessToken, videoId, attributes) + }) + + it('Should filter by tags and category', async function () { + const res1 = await getVideosWithFilters(server.url, { tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 4 ] }) + expect(res1.body.total).to.equal(1) + expect(res1.body.data[0].name).to.equal('my super video updated') + + const res2 = await getVideosWithFilters(server.url, { tagsAllOf: [ 'tagup1', 'tagup2' ], categoryOneOf: [ 3 ] }) + expect(res2.body.total).to.equal(0) + }) + + it('Should have the video updated', async function () { + this.timeout(60000) + + const res = await getVideo(server.url, videoId) + const video = res.body + + await completeVideoCheck(server.url, video, updateCheckAttributes()) + }) + + it('Should update only the tags of a video', async function () { + const attributes = { + tags: [ 'supertag', 'tag1', 'tag2' ] + } + await updateVideo(server.url, server.accessToken, videoId, attributes) + + const res = await getVideo(server.url, videoId) + const video = res.body + + await completeVideoCheck(server.url, video, Object.assign(updateCheckAttributes(), attributes)) + }) + + it('Should update only the description of a video', async function () { + const attributes = { + description: 'hello everybody' + } + await updateVideo(server.url, server.accessToken, videoId, attributes) + + const res = await getVideo(server.url, videoId) + const video = res.body + + const expectedAttributes = Object.assign(updateCheckAttributes(), { tags: [ 'supertag', 'tag1', 'tag2' ] }, attributes) + await completeVideoCheck(server.url, video, expectedAttributes) + }) + + it('Should like a video', async function () { + await rateVideo(server.url, server.accessToken, videoId, 'like') + + const res = await getVideo(server.url, videoId) + const video = res.body + + expect(video.likes).to.equal(1) + expect(video.dislikes).to.equal(0) + }) + + it('Should dislike the same video', async function () { + await rateVideo(server.url, server.accessToken, videoId, 'dislike') + + const res = await getVideo(server.url, videoId) + const video = res.body + + expect(video.likes).to.equal(0) + expect(video.dislikes).to.equal(1) + }) + + it('Should sort by originallyPublishedAt', async function () { { const now = new Date() const attributes = { originallyPublishedAt: now.toISOString() } @@ -483,10 +485,18 @@ describe('Test a single server', function () { expect(names[4]).to.equal('video_short.ogv name') expect(names[5]).to.equal('video_short.mp4 name') } - } + }) + + after(async function () { + await cleanupTests([ server ]) + }) + } + + describe('Legacy upload', function () { + runSuite('legacy') }) - after(async function () { - await cleanupTests([ server ]) + describe('Resumable upload', function () { + runSuite('resumable') }) }) diff --git a/server/tests/api/videos/video-transcoder.ts b/server/tests/api/videos/video-transcoder.ts index 1c99f26df..ea5ffd239 100644 --- a/server/tests/api/videos/video-transcoder.ts +++ b/server/tests/api/videos/video-transcoder.ts @@ -361,106 +361,117 @@ describe('Test video transcoding', function () { describe('Audio upload', function () { - before(async function () { - await updateCustomSubConfig(servers[1].url, servers[1].accessToken, { - transcoding: { - hls: { enabled: true }, - webtorrent: { enabled: true }, - resolutions: { - '0p': false, - '240p': false, - '360p': false, - '480p': false, - '720p': false, - '1080p': false, - '1440p': false, - '2160p': false + function runSuite (mode: 'legacy' | 'resumable') { + + before(async function () { + await updateCustomSubConfig(servers[1].url, servers[1].accessToken, { + transcoding: { + hls: { enabled: true }, + webtorrent: { enabled: true }, + resolutions: { + '0p': false, + '240p': false, + '360p': false, + '480p': false, + '720p': false, + '1080p': false, + '1440p': false, + '2160p': false + } } - } + }) }) - }) - it('Should merge an audio file with the preview file', async function () { - this.timeout(60_000) + it('Should merge an audio file with the preview file', async function () { + this.timeout(60_000) - const videoAttributesArg = { name: 'audio_with_preview', previewfile: 'preview.jpg', fixture: 'sample.ogg' } - await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg) + const videoAttributesArg = { name: 'audio_with_preview', previewfile: 'preview.jpg', fixture: 'sample.ogg' } + await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg, HttpStatusCode.OK_200, mode) - await waitJobs(servers) + await waitJobs(servers) - for (const server of servers) { - const res = await getVideosList(server.url) + for (const server of servers) { + const res = await getVideosList(server.url) - const video = res.body.data.find(v => v.name === 'audio_with_preview') - const res2 = await getVideo(server.url, video.id) - const videoDetails: VideoDetails = res2.body + const video = res.body.data.find(v => v.name === 'audio_with_preview') + const res2 = await getVideo(server.url, video.id) + const videoDetails: VideoDetails = res2.body - expect(videoDetails.files).to.have.lengthOf(1) + expect(videoDetails.files).to.have.lengthOf(1) - await makeGetRequest({ url: server.url, path: videoDetails.thumbnailPath, statusCodeExpected: HttpStatusCode.OK_200 }) - await makeGetRequest({ url: server.url, path: videoDetails.previewPath, statusCodeExpected: HttpStatusCode.OK_200 }) + await makeGetRequest({ url: server.url, path: videoDetails.thumbnailPath, statusCodeExpected: HttpStatusCode.OK_200 }) + await makeGetRequest({ url: server.url, path: videoDetails.previewPath, statusCodeExpected: HttpStatusCode.OK_200 }) - const magnetUri = videoDetails.files[0].magnetUri - expect(magnetUri).to.contain('.mp4') - } - }) - - it('Should upload an audio file and choose a default background image', async function () { - this.timeout(60_000) - - const videoAttributesArg = { name: 'audio_without_preview', fixture: 'sample.ogg' } - await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg) - - await waitJobs(servers) - - for (const server of servers) { - const res = await getVideosList(server.url) - - const video = res.body.data.find(v => v.name === 'audio_without_preview') - const res2 = await getVideo(server.url, video.id) - const videoDetails = res2.body - - expect(videoDetails.files).to.have.lengthOf(1) - - await makeGetRequest({ url: server.url, path: videoDetails.thumbnailPath, statusCodeExpected: HttpStatusCode.OK_200 }) - await makeGetRequest({ url: server.url, path: videoDetails.previewPath, statusCodeExpected: HttpStatusCode.OK_200 }) - - const magnetUri = videoDetails.files[0].magnetUri - expect(magnetUri).to.contain('.mp4') - } - }) - - it('Should upload an audio file and create an audio version only', async function () { - this.timeout(60_000) - - await updateCustomSubConfig(servers[1].url, servers[1].accessToken, { - transcoding: { - hls: { enabled: true }, - webtorrent: { enabled: true }, - resolutions: { - '0p': true, - '240p': false, - '360p': false - } + const magnetUri = videoDetails.files[0].magnetUri + expect(magnetUri).to.contain('.mp4') } }) - const videoAttributesArg = { name: 'audio_with_preview', previewfile: 'preview.jpg', fixture: 'sample.ogg' } - const resVideo = await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg) + it('Should upload an audio file and choose a default background image', async function () { + this.timeout(60_000) - await waitJobs(servers) + const videoAttributesArg = { name: 'audio_without_preview', fixture: 'sample.ogg' } + await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg, HttpStatusCode.OK_200, mode) - for (const server of servers) { - const res2 = await getVideo(server.url, resVideo.body.video.id) - const videoDetails: VideoDetails = res2.body + await waitJobs(servers) - for (const files of [ videoDetails.files, videoDetails.streamingPlaylists[0].files ]) { - expect(files).to.have.lengthOf(2) - expect(files.find(f => f.resolution.id === 0)).to.not.be.undefined + for (const server of servers) { + const res = await getVideosList(server.url) + + const video = res.body.data.find(v => v.name === 'audio_without_preview') + const res2 = await getVideo(server.url, video.id) + const videoDetails = res2.body + + expect(videoDetails.files).to.have.lengthOf(1) + + await makeGetRequest({ url: server.url, path: videoDetails.thumbnailPath, statusCodeExpected: HttpStatusCode.OK_200 }) + await makeGetRequest({ url: server.url, path: videoDetails.previewPath, statusCodeExpected: HttpStatusCode.OK_200 }) + + const magnetUri = videoDetails.files[0].magnetUri + expect(magnetUri).to.contain('.mp4') } - } + }) - await updateConfigForTranscoding(servers[1]) + it('Should upload an audio file and create an audio version only', async function () { + this.timeout(60_000) + + await updateCustomSubConfig(servers[1].url, servers[1].accessToken, { + transcoding: { + hls: { enabled: true }, + webtorrent: { enabled: true }, + resolutions: { + '0p': true, + '240p': false, + '360p': false + } + } + }) + + const videoAttributesArg = { name: 'audio_with_preview', previewfile: 'preview.jpg', fixture: 'sample.ogg' } + const resVideo = await uploadVideo(servers[1].url, servers[1].accessToken, videoAttributesArg, HttpStatusCode.OK_200, mode) + + await waitJobs(servers) + + for (const server of servers) { + const res2 = await getVideo(server.url, resVideo.body.video.id) + const videoDetails: VideoDetails = res2.body + + for (const files of [ videoDetails.files, videoDetails.streamingPlaylists[0].files ]) { + expect(files).to.have.lengthOf(2) + expect(files.find(f => f.resolution.id === 0)).to.not.be.undefined + } + } + + await updateConfigForTranscoding(servers[1]) + }) + } + + describe('Legacy upload', function () { + runSuite('legacy') + }) + + describe('Resumable upload', function () { + runSuite('resumable') }) }) diff --git a/server/typings/express/index.d.ts b/server/typings/express/index.d.ts index cf3e7ae34..55b6e0039 100644 --- a/server/typings/express/index.d.ts +++ b/server/typings/express/index.d.ts @@ -19,6 +19,9 @@ import { MPlugin, MServer, MServerBlocklist } from '@server/types/models/server' import { MVideoImportDefault } from '@server/types/models/video/video-import' import { MVideoPlaylistElement, MVideoPlaylistElementVideoUrlPlaylistPrivacy } from '@server/types/models/video/video-playlist-element' import { MAccountVideoRateAccountVideo } from '@server/types/models/video/video-rate' +import { HttpMethod } from '@shared/core-utils/miscs/http-methods' +import { VideoCreate } from '@shared/models' +import { File as UploadXFile, Metadata } from '@uploadx/core' import { RegisteredPlugin } from '../../lib/plugins/plugin-manager' import { MAccountDefault, @@ -37,86 +40,125 @@ import { MVideoThumbnail, MVideoWithRights } from '../../types/models' - declare module 'express' { export interface Request { query: any + method: HttpMethod } + + // Upload using multer or uploadx middleware + export type MulterOrUploadXFile = UploadXFile | Express.Multer.File + + export type UploadFiles = { + [fieldname: string]: MulterOrUploadXFile[] + } | MulterOrUploadXFile[] + + // Partial object used by some functions to check the file mimetype/extension + export type UploadFileForCheck = { + originalname: string + mimetype: string + } + + export type UploadFilesForCheck = { + [fieldname: string]: UploadFileForCheck[] + } | UploadFileForCheck[] + + // Upload file with a duration added by our middleware + export type VideoUploadFile = Pick & { + duration: number + } + + // Extends Metadata property of UploadX object + export type UploadXFileMetadata = Metadata & VideoCreate & { + previewfile: Express.Multer.File[] + thumbnailfile: Express.Multer.File[] + } + + // Our custom UploadXFile object using our custom metadata + export type CustomUploadXFile = UploadXFile & { metadata: T } + + export type EnhancedUploadXFile = CustomUploadXFile & { + duration: number + path: string + filename: string + } + + // Extends locals property from Response interface Response { - locals: PeerTubeLocals + locals: { + videoAll?: MVideoFullLight + onlyImmutableVideo?: MVideoImmutable + onlyVideo?: MVideoThumbnail + onlyVideoWithRights?: MVideoWithRights + videoId?: MVideoIdThumbnail + + videoLive?: MVideoLive + + videoShare?: MVideoShareActor + + videoFile?: MVideoFile + + videoFileResumable?: EnhancedUploadXFile + + videoImport?: MVideoImportDefault + + videoBlacklist?: MVideoBlacklist + + videoCaption?: MVideoCaptionVideo + + abuse?: MAbuseReporter + abuseMessage?: MAbuseMessage + + videoStreamingPlaylist?: MStreamingPlaylist + + videoChannel?: MChannelBannerAccountDefault + + videoPlaylistFull?: MVideoPlaylistFull + videoPlaylistSummary?: MVideoPlaylistFullSummary + + videoPlaylistElement?: MVideoPlaylistElement + videoPlaylistElementAP?: MVideoPlaylistElementVideoUrlPlaylistPrivacy + + accountVideoRate?: MAccountVideoRateAccountVideo + + videoCommentFull?: MCommentOwnerVideoReply + videoCommentThread?: MComment + + follow?: MActorFollowActorsDefault + subscription?: MActorFollowActorsDefaultSubscription + + nextOwner?: MAccountDefault + videoChangeOwnership?: MVideoChangeOwnershipFull + + account?: MAccountDefault + + actorUrl?: MActorUrl + actorFull?: MActorFull + + user?: MUserDefault + + server?: MServer + + videoRedundancy?: MVideoRedundancyVideo + + accountBlock?: MAccountBlocklist + serverBlock?: MServerBlocklist + + oauth?: { + token: MOAuthTokenUser + } + + signature?: { + actor: MActorAccountChannelId + } + + authenticated?: boolean + + registeredPlugin?: RegisteredPlugin + + externalAuth?: RegisterServerAuthExternalOptions + + plugin?: MPlugin + } } } - -interface PeerTubeLocals { - videoAll?: MVideoFullLight - onlyImmutableVideo?: MVideoImmutable - onlyVideo?: MVideoThumbnail - onlyVideoWithRights?: MVideoWithRights - videoId?: MVideoIdThumbnail - - videoLive?: MVideoLive - - videoShare?: MVideoShareActor - - videoFile?: MVideoFile - - videoImport?: MVideoImportDefault - - videoBlacklist?: MVideoBlacklist - - videoCaption?: MVideoCaptionVideo - - abuse?: MAbuseReporter - abuseMessage?: MAbuseMessage - - videoStreamingPlaylist?: MStreamingPlaylist - - videoChannel?: MChannelBannerAccountDefault - - videoPlaylistFull?: MVideoPlaylistFull - videoPlaylistSummary?: MVideoPlaylistFullSummary - - videoPlaylistElement?: MVideoPlaylistElement - videoPlaylistElementAP?: MVideoPlaylistElementVideoUrlPlaylistPrivacy - - accountVideoRate?: MAccountVideoRateAccountVideo - - videoCommentFull?: MCommentOwnerVideoReply - videoCommentThread?: MComment - - follow?: MActorFollowActorsDefault - subscription?: MActorFollowActorsDefaultSubscription - - nextOwner?: MAccountDefault - videoChangeOwnership?: MVideoChangeOwnershipFull - - account?: MAccountDefault - - actorUrl?: MActorUrl - actorFull?: MActorFull - - user?: MUserDefault - - server?: MServer - - videoRedundancy?: MVideoRedundancyVideo - - accountBlock?: MAccountBlocklist - serverBlock?: MServerBlocklist - - oauth?: { - token: MOAuthTokenUser - } - - signature?: { - actor: MActorAccountChannelId - } - - authenticated?: boolean - - registeredPlugin?: RegisteredPlugin - - externalAuth?: RegisterServerAuthExternalOptions - - plugin?: MPlugin -} diff --git a/shared/core-utils/miscs/http-methods.ts b/shared/core-utils/miscs/http-methods.ts new file mode 100644 index 000000000..1cfa458b9 --- /dev/null +++ b/shared/core-utils/miscs/http-methods.ts @@ -0,0 +1,21 @@ +/** HTTP request method to indicate the desired action to be performed for a given resource. */ +export enum HttpMethod { + /** The CONNECT method establishes a tunnel to the server identified by the target resource. */ + CONNECT = 'CONNECT', + /** The DELETE method deletes the specified resource. */ + DELETE = 'DELETE', + /** The GET method requests a representation of the specified resource. Requests using GET should only retrieve data. */ + GET = 'GET', + /** The HEAD method asks for a response identical to that of a GET request, but without the response body. */ + HEAD = 'HEAD', + /** The OPTIONS method is used to describe the communication options for the target resource. */ + OPTIONS = 'OPTIONS', + /** The PATCH method is used to apply partial modifications to a resource. */ + PATCH = 'PATCH', + /** The POST method is used to submit an entity to the specified resource */ + POST = 'POST', + /** The PUT method replaces all current representations of the target resource with the request payload. */ + PUT = 'PUT', + /** The TRACE method performs a message loop-back test along the path to the target resource. */ + TRACE = 'TRACE' +} diff --git a/shared/core-utils/miscs/index.ts b/shared/core-utils/miscs/index.ts index 898fd4791..251df1de2 100644 --- a/shared/core-utils/miscs/index.ts +++ b/shared/core-utils/miscs/index.ts @@ -2,3 +2,4 @@ export * from './date' export * from './miscs' export * from './types' export * from './http-error-codes' +export * from './http-methods' diff --git a/shared/extra-utils/server/debug.ts b/shared/extra-utils/server/debug.ts index 5cf80a5fb..f196812b7 100644 --- a/shared/extra-utils/server/debug.ts +++ b/shared/extra-utils/server/debug.ts @@ -1,5 +1,6 @@ -import { makeGetRequest } from '../requests/requests' +import { makeGetRequest, makePostBodyRequest } from '../requests/requests' import { HttpStatusCode } from '../../core-utils/miscs/http-error-codes' +import { SendDebugCommand } from '@shared/models' function getDebug (url: string, token: string) { const path = '/api/v1/server/debug' @@ -12,8 +13,21 @@ function getDebug (url: string, token: string) { }) } +function sendDebugCommand (url: string, token: string, body: SendDebugCommand) { + const path = '/api/v1/server/debug/run-command' + + return makePostBodyRequest({ + url, + path, + token, + fields: body, + statusCodeExpected: HttpStatusCode.NO_CONTENT_204 + }) +} + // --------------------------------------------------------------------------- export { - getDebug + getDebug, + sendDebugCommand } diff --git a/shared/extra-utils/server/servers.ts b/shared/extra-utils/server/servers.ts index 779a3cc36..479f08e12 100644 --- a/shared/extra-utils/server/servers.ts +++ b/shared/extra-utils/server/servers.ts @@ -274,7 +274,7 @@ async function reRunServer (server: ServerInfo, configOverride?: any) { } async function checkTmpIsEmpty (server: ServerInfo) { - await checkDirectoryIsEmpty(server, 'tmp', [ 'plugins-global.css', 'hls' ]) + await checkDirectoryIsEmpty(server, 'tmp', [ 'plugins-global.css', 'hls', 'resumable-uploads' ]) if (await pathExists(join('test' + server.internalServerNumber, 'tmp', 'hls'))) { await checkDirectoryIsEmpty(server, 'tmp/hls') diff --git a/shared/extra-utils/videos/video-channels.ts b/shared/extra-utils/videos/video-channels.ts index d0dfb5856..0aab93e52 100644 --- a/shared/extra-utils/videos/video-channels.ts +++ b/shared/extra-utils/videos/video-channels.ts @@ -5,7 +5,7 @@ import { VideoChannelUpdate } from '../../models/videos/channel/video-channel-up import { VideoChannelCreate } from '../../models/videos/channel/video-channel-create.model' import { makeDeleteRequest, makeGetRequest, updateImageRequest } from '../requests/requests' import { ServerInfo } from '../server/servers' -import { User } from '../../models/users/user.model' +import { MyUser, User } from '../../models/users/user.model' import { getMyUserInformation } from '../users/users' import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' @@ -170,6 +170,12 @@ function setDefaultVideoChannel (servers: ServerInfo[]) { return Promise.all(tasks) } +async function getDefaultVideoChannel (url: string, token: string) { + const res = await getMyUserInformation(url, token) + + return (res.body as MyUser).videoChannels[0].id +} + // --------------------------------------------------------------------------- export { @@ -181,5 +187,6 @@ export { deleteVideoChannel, getVideoChannel, setDefaultVideoChannel, - deleteVideoChannelImage + deleteVideoChannelImage, + getDefaultVideoChannel } diff --git a/shared/extra-utils/videos/videos.ts b/shared/extra-utils/videos/videos.ts index a0143b0ef..e88256ac0 100644 --- a/shared/extra-utils/videos/videos.ts +++ b/shared/extra-utils/videos/videos.ts @@ -1,7 +1,8 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/no-floating-promises */ import { expect } from 'chai' -import { pathExists, readdir, readFile } from 'fs-extra' +import { createReadStream, pathExists, readdir, readFile, stat } from 'fs-extra' +import got, { Response as GotResponse } from 'got/dist/source' import * as parseTorrent from 'parse-torrent' import { extname, join } from 'path' import * as request from 'supertest' @@ -42,6 +43,7 @@ type VideoAttributes = { channelId?: number privacy?: VideoPrivacy fixture?: string + support?: string thumbnailfile?: string previewfile?: string scheduleUpdate?: { @@ -364,8 +366,13 @@ async function checkVideoFilesWereRemoved ( } } -async function uploadVideo (url: string, accessToken: string, videoAttributesArg: VideoAttributes, specialStatus = HttpStatusCode.OK_200) { - const path = '/api/v1/videos/upload' +async function uploadVideo ( + url: string, + accessToken: string, + videoAttributesArg: VideoAttributes, + specialStatus = HttpStatusCode.OK_200, + mode: 'legacy' | 'resumable' = 'legacy' +) { let defaultChannelId = '1' try { @@ -391,61 +398,9 @@ async function uploadVideo (url: string, accessToken: string, videoAttributesArg fixture: 'video_short.webm' }, videoAttributesArg) - const req = request(url) - .post(path) - .set('Accept', 'application/json') - .set('Authorization', 'Bearer ' + accessToken) - .field('name', attributes.name) - .field('nsfw', JSON.stringify(attributes.nsfw)) - .field('commentsEnabled', JSON.stringify(attributes.commentsEnabled)) - .field('downloadEnabled', JSON.stringify(attributes.downloadEnabled)) - .field('waitTranscoding', JSON.stringify(attributes.waitTranscoding)) - .field('privacy', attributes.privacy.toString()) - .field('channelId', attributes.channelId) - - if (attributes.support !== undefined) { - req.field('support', attributes.support) - } - - if (attributes.description !== undefined) { - req.field('description', attributes.description) - } - if (attributes.language !== undefined) { - req.field('language', attributes.language.toString()) - } - if (attributes.category !== undefined) { - req.field('category', attributes.category.toString()) - } - if (attributes.licence !== undefined) { - req.field('licence', attributes.licence.toString()) - } - - const tags = attributes.tags || [] - for (let i = 0; i < tags.length; i++) { - req.field('tags[' + i + ']', attributes.tags[i]) - } - - if (attributes.thumbnailfile !== undefined) { - req.attach('thumbnailfile', buildAbsoluteFixturePath(attributes.thumbnailfile)) - } - if (attributes.previewfile !== undefined) { - req.attach('previewfile', buildAbsoluteFixturePath(attributes.previewfile)) - } - - if (attributes.scheduleUpdate) { - req.field('scheduleUpdate[updateAt]', attributes.scheduleUpdate.updateAt) - - if (attributes.scheduleUpdate.privacy) { - req.field('scheduleUpdate[privacy]', attributes.scheduleUpdate.privacy) - } - } - - if (attributes.originallyPublishedAt !== undefined) { - req.field('originallyPublishedAt', attributes.originallyPublishedAt) - } - - const res = await req.attach('videofile', buildAbsoluteFixturePath(attributes.fixture)) - .expect(specialStatus) + const res = mode === 'legacy' + ? await buildLegacyUpload(url, accessToken, attributes, specialStatus) + : await buildResumeUpload(url, accessToken, attributes, specialStatus) // Wait torrent generation if (specialStatus === HttpStatusCode.OK_200) { @@ -461,6 +416,154 @@ async function uploadVideo (url: string, accessToken: string, videoAttributesArg return res } +function checkUploadVideoParam ( + url: string, + token: string, + attributes: Partial, + specialStatus = HttpStatusCode.OK_200, + mode: 'legacy' | 'resumable' = 'legacy' +) { + return mode === 'legacy' + ? buildLegacyUpload(url, token, attributes, specialStatus) + : buildResumeUpload(url, token, attributes, specialStatus) +} + +async function buildLegacyUpload (url: string, token: string, attributes: VideoAttributes, specialStatus = HttpStatusCode.OK_200) { + const path = '/api/v1/videos/upload' + const req = request(url) + .post(path) + .set('Accept', 'application/json') + .set('Authorization', 'Bearer ' + token) + + buildUploadReq(req, attributes) + + if (attributes.fixture !== undefined) { + req.attach('videofile', buildAbsoluteFixturePath(attributes.fixture)) + } + + return req.expect(specialStatus) +} + +async function buildResumeUpload (url: string, token: string, attributes: VideoAttributes, specialStatus = HttpStatusCode.OK_200) { + let size = 0 + let videoFilePath: string + let mimetype = 'video/mp4' + + if (attributes.fixture) { + videoFilePath = buildAbsoluteFixturePath(attributes.fixture) + size = (await stat(videoFilePath)).size + + if (videoFilePath.endsWith('.mkv')) { + mimetype = 'video/x-matroska' + } else if (videoFilePath.endsWith('.webm')) { + mimetype = 'video/webm' + } + } + + const initializeSessionRes = await prepareResumableUpload({ url, token, attributes, size, mimetype }) + const initStatus = initializeSessionRes.status + + if (videoFilePath && initStatus === HttpStatusCode.CREATED_201) { + const locationHeader = initializeSessionRes.header['location'] + expect(locationHeader).to.not.be.undefined + + const pathUploadId = locationHeader.split('?')[1] + + return sendResumableChunks({ url, token, pathUploadId, videoFilePath, size, specialStatus }) + } + + const expectedInitStatus = specialStatus === HttpStatusCode.OK_200 + ? HttpStatusCode.CREATED_201 + : specialStatus + + expect(initStatus).to.equal(expectedInitStatus) + + return initializeSessionRes +} + +async function prepareResumableUpload (options: { + url: string + token: string + attributes: VideoAttributes + size: number + mimetype: string +}) { + const { url, token, attributes, size, mimetype } = options + + const path = '/api/v1/videos/upload-resumable' + + const req = request(url) + .post(path) + .set('Authorization', 'Bearer ' + token) + .set('X-Upload-Content-Type', mimetype) + .set('X-Upload-Content-Length', size.toString()) + + buildUploadReq(req, attributes) + + if (attributes.fixture) { + req.field('filename', attributes.fixture) + } + + return req +} + +function sendResumableChunks (options: { + url: string + token: string + pathUploadId: string + videoFilePath: string + size: number + specialStatus?: HttpStatusCode + contentLength?: number + contentRangeBuilder?: (start: number, chunk: any) => string +}) { + const { url, token, pathUploadId, videoFilePath, size, specialStatus, contentLength, contentRangeBuilder } = options + + const expectedStatus = specialStatus || HttpStatusCode.OK_200 + + const path = '/api/v1/videos/upload-resumable' + let start = 0 + + const readable = createReadStream(videoFilePath, { highWaterMark: 8 * 1024 }) + return new Promise((resolve, reject) => { + readable.on('data', async function onData (chunk) { + readable.pause() + + const headers = { + 'Authorization': 'Bearer ' + token, + 'Content-Type': 'application/octet-stream', + 'Content-Range': contentRangeBuilder + ? contentRangeBuilder(start, chunk) + : `bytes ${start}-${start + chunk.length - 1}/${size}`, + 'Content-Length': contentLength ? contentLength + '' : chunk.length + '' + } + + const res = await got({ + url, + method: 'put', + headers, + path: path + '?' + pathUploadId, + body: chunk, + responseType: 'json', + throwHttpErrors: false + }) + + start += chunk.length + + if (res.statusCode === expectedStatus) { + return resolve(res) + } + + if (res.statusCode !== HttpStatusCode.PERMANENT_REDIRECT_308) { + readable.off('data', onData) + return reject(new Error('Incorrect transient behaviour sending intermediary chunks')) + } + + readable.resume() + }) + }) +} + function updateVideo ( url: string, accessToken: string, @@ -749,11 +852,13 @@ export { getVideoWithToken, getVideosList, removeAllVideos, + checkUploadVideoParam, getVideosListPagination, getVideosListSort, removeVideo, getVideosListWithToken, uploadVideo, + sendResumableChunks, getVideosWithFilters, uploadRandomVideoOnServers, updateVideo, @@ -767,5 +872,50 @@ export { getMyVideosWithFilter, uploadVideoAndGetId, getLocalIdByUUID, - getVideoIdFromUUID + getVideoIdFromUUID, + prepareResumableUpload +} + +// --------------------------------------------------------------------------- + +function buildUploadReq (req: request.Test, attributes: VideoAttributes) { + + for (const key of [ 'name', 'support', 'channelId', 'description', 'originallyPublishedAt' ]) { + if (attributes[key] !== undefined) { + req.field(key, attributes[key]) + } + } + + for (const key of [ 'nsfw', 'commentsEnabled', 'downloadEnabled', 'waitTranscoding' ]) { + if (attributes[key] !== undefined) { + req.field(key, JSON.stringify(attributes[key])) + } + } + + for (const key of [ 'language', 'privacy', 'category', 'licence' ]) { + if (attributes[key] !== undefined) { + req.field(key, attributes[key].toString()) + } + } + + const tags = attributes.tags || [] + for (let i = 0; i < tags.length; i++) { + req.field('tags[' + i + ']', attributes.tags[i]) + } + + for (const key of [ 'thumbnailfile', 'previewfile' ]) { + if (attributes[key] !== undefined) { + req.attach(key, buildAbsoluteFixturePath(attributes[key])) + } + } + + if (attributes.scheduleUpdate) { + if (attributes.scheduleUpdate.updateAt) { + req.field('scheduleUpdate[updateAt]', attributes.scheduleUpdate.updateAt) + } + + if (attributes.scheduleUpdate.privacy) { + req.field('scheduleUpdate[privacy]', attributes.scheduleUpdate.privacy) + } + } } diff --git a/shared/models/server/debug.model.ts b/shared/models/server/debug.model.ts index 61cba6518..7ceff9137 100644 --- a/shared/models/server/debug.model.ts +++ b/shared/models/server/debug.model.ts @@ -1,3 +1,7 @@ export interface Debug { ip: string } + +export interface SendDebugCommand { + command: 'remove-dandling-resumable-uploads' +} diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 90e30545f..050ab82f8 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -125,7 +125,7 @@ tags: Redundancy is part of the inter-server solidarity that PeerTube fosters. Manage the list of instances you wish to help by seeding their videos according to the policy of video selection of your choice. Note that you have a similar functionality - to mirror individual videos, see `Video Mirroring`. + to mirror individual videos, see [video mirroring](#tag/Video-Mirroring). externalDocs: url: https://docs.joinpeertube.org/admin-following-instances?id=instances-redundancy - name: Plugins @@ -139,6 +139,50 @@ tags: - name: Video description: | Operations dealing with listing, uploading, fetching or modifying videos. + - name: Video Upload + description: | + Operations dealing with adding video or audio. PeerTube supports two upload modes, and three import modes. + + ### Upload + + - [_legacy_](#tag/Video-Upload/paths/~1videos~1upload/post), where the video file is sent in a single request + - [_resumable_](#tag/Video-Upload/paths/~1videos~1upload-resumable/post), where the video file is sent in chunks + + You can upload videos more reliably by using the resumable variant. Its protocol lets + you resume an upload operation after a network interruption or other transmission failure, + saving time and bandwidth in the event of network failures. + + Favor using resumable uploads in any of the following cases: + - You are transferring large files + - The likelihood of a network interruption is high + - Uploads are originating from a device with a low-bandwidth or unstable Internet connection, + such as a mobile device + + ### Import + + - _URL_-based: where the URL points to any service supported by [youtube-dl](https://ytdl-org.github.io/youtube-dl/) + - _magnet_-based: where the URI resolves to a BitTorrent ressource containing a single supported video file + - _torrent_-based: where the metainfo file resolves to a BitTorrent ressource containing a single supported video file + + The import function is practical when the desired video/audio is available online. It makes PeerTube + download it for you, saving you as much bandwidth and avoiding any instability or limitation your network might have. + - name: Video Captions + description: Operations dealing with listing, adding and removing closed captions of a video. + - name: Video Channels + description: Operations dealing with the creation, modification and listing of videos within a channel. + - name: Video Comments + description: > + Operations dealing with comments to a video. Comments are organized in threads: adding a + comment in response to the video starts a thread, adding a reply to a comment adds it to + its root comment thread. + - name: Video Blocks + description: Operations dealing with blocking videos (removing them from view and preventing interactions). + - name: Video Rates + description: Like/dislike a video. + - name: Video Playlists + description: Operations dealing with playlists of videos. Playlists are bound to users and/or channels. + - name: Feeds + description: Server syndication feeds - name: Search description: | The search helps to find _videos_ or _channels_ from within the instance and beyond. @@ -148,27 +192,11 @@ tags: Administrators can also enable the use of a remote search system, indexing videos and channels not could be not federated by the instance. - - name: Video Comments - description: > - Operations dealing with comments to a video. Comments are organized in - threads. - - name: Video Playlists - description: > - Operations dealing with playlists of videos. Playlists are bound to users - and/or channels. - - name: Video Channels - description: > - Operations dealing with the creation, modification and listing of videos within a channel. - - name: Video Blocks - description: > - Operations dealing with blocking videos (removing them from view and - preventing interactions). - - name: Video Rates - description: > - Like/dislike a video. - - name: Feeds - description: > - Server syndication feeds + - name: Video Mirroring + description: | + PeerTube instances can mirror videos from one another, and help distribute some videos. + + For importing videos as your own, refer to [video imports](#tag/Video-Upload/paths/~1videos~1imports/post). x-tagGroups: - name: Accounts tags: @@ -181,6 +209,7 @@ x-tagGroups: - name: Videos tags: - Video + - Video Upload - Video Captions - Video Channels - Video Comments @@ -1347,10 +1376,12 @@ paths: /videos/upload: post: summary: Upload a video + description: Uses a single request to upload a video. security: - OAuth2: [] tags: - Video + - Video Upload responses: '200': description: successful operation @@ -1380,80 +1411,7 @@ paths: content: multipart/form-data: schema: - type: object - properties: - videofile: - description: Video file - type: string - format: binary - channelId: - description: Channel id that will contain this video - type: integer - thumbnailfile: - description: Video thumbnail file - type: string - format: binary - previewfile: - description: Video preview file - type: string - format: binary - privacy: - $ref: '#/components/schemas/VideoPrivacySet' - category: - description: Video category - type: integer - example: 4 - licence: - description: Video licence - type: integer - example: 2 - language: - description: Video language - type: string - description: - description: Video description - type: string - waitTranscoding: - description: Whether or not we wait transcoding before publish the video - type: boolean - support: - description: A text tell the audience how to support the video creator - example: Please support my work on ! <3 - type: string - nsfw: - description: Whether or not this video contains sensitive content - type: boolean - name: - description: Video name - type: string - minLength: 3 - maxLength: 120 - tags: - description: Video tags (maximum 5 tags each between 2 and 30 characters) - type: array - minItems: 1 - maxItems: 5 - uniqueItems: true - items: - type: string - minLength: 2 - maxLength: 30 - commentsEnabled: - description: Enable or disable comments for this video - type: boolean - downloadEnabled: - description: Enable or disable downloading for this video - type: boolean - originallyPublishedAt: - description: Date when the content was originally published - type: string - format: date-time - scheduleUpdate: - $ref: '#/components/schemas/VideoScheduledUpdate' - required: - - videofile - - channelId - - name + $ref: '#/components/schemas/VideoUploadRequestLegacy' encoding: videofile: contentType: video/mp4, video/webm, video/ogg, video/avi, video/quicktime, video/x-msvideo, video/x-flv, video/x-matroska, application/octet-stream @@ -1490,6 +1448,164 @@ paths: --form videofile=@"$FILE_PATH" \ --form channelId=$CHANNEL_ID \ --form name="$NAME" + /videos/upload-resumable: + post: + summary: Initialize the resumable upload of a video + description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the upload of a video + security: + - OAuth2: [] + tags: + - Video + - Video Upload + parameters: + - name: X-Upload-Content-Length + in: header + schema: + type: number + example: 2469036 + required: true + description: Number of bytes that will be uploaded in subsequent requests. Set this value to the size of the file you are uploading. + - name: X-Upload-Content-Type + in: header + schema: + type: string + format: mimetype + example: video/mp4 + required: true + description: MIME type of the file that you are uploading. Depending on your instance settings, acceptable values might vary. + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VideoUploadRequestResumable' + responses: + '200': + description: file already exists, send a [`resume`](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) request instead + '201': + description: created + headers: + Location: + schema: + type: string + format: url + example: /api/v1/videos/upload-resumable?upload_id=471e97554f21dec3b8bb5d4602939c51 + Content-Length: + schema: + type: number + example: 0 + '400': + description: invalid file field, schedule date or parameter + '413': + description: video file too large, due to quota, absolute max file size or concurrent partial upload limit + '415': + description: video type unsupported + put: + summary: Send chunk for the resumable upload of a video + description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the upload of a video + security: + - OAuth2: [] + tags: + - Video + - Video Upload + parameters: + - name: upload_id + in: path + required: true + description: | + Created session id to proceed with. If you didn't send chunks in the last 12 hours, it is + not valid anymore and you need to initialize a new upload. + schema: + type: string + - name: Content-Range + in: header + schema: + type: string + example: bytes 0-262143/2469036 + required: true + description: | + Specifies the bytes in the file that the request is uploading. + + For example, a value of `bytes 0-262143/1000000` shows that the request is sending the first + 262144 bytes (256 x 1024) in a 2,469,036 byte file. + - name: Content-Length + in: header + schema: + type: number + example: 262144 + required: true + description: | + Size of the chunk that the request is sending. + + The chunk size __must be a multiple of 256 KB__, and unlike [Google Resumable](https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol) + doesn't mandate for chunks to have the same size throughout the upload sequence. + + Remember that larger chunks are more efficient. PeerTube's web client uses chunks varying from + 1048576 bytes (~1MB) and increases or reduces size depending on connection health. + requestBody: + content: + application/octet-stream: + schema: + type: string + format: binary + responses: + '200': + description: last chunk received + headers: + Content-Length: + schema: + type: number + content: + application/json: + schema: + $ref: '#/components/schemas/VideoUploadResponse' + '308': + description: resume incomplete + headers: + Range: + schema: + type: string + example: bytes=0-262143 + Content-Length: + schema: + type: number + example: 0 + '403': + description: video didn't pass upload filter + '413': + description: video file too large, due to quota or max body size limit set by the reverse-proxy + '422': + description: video unreadable + delete: + summary: Cancel the resumable upload of a video, deleting any data uploaded so far + description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the upload of a video + security: + - OAuth2: [] + tags: + - Video + - Video Upload + parameters: + - name: upload_id + in: path + required: true + description: | + Created session id to proceed with. If you didn't send chunks in the last 12 hours, it is + not valid anymore and the upload session has already been deleted with its data ;-) + schema: + type: string + - name: Content-Length + in: header + required: true + schema: + type: number + example: 0 + responses: + '204': + description: upload cancelled + headers: + Content-Length: + schema: + type: number + example: 0 /videos/imports: post: summary: Import a video @@ -1498,6 +1614,7 @@ paths: - OAuth2: [] tags: - Video + - Video Upload requestBody: content: multipart/form-data: @@ -1688,7 +1805,7 @@ paths: /videos/live/{id}: get: - summary: Get a live information + summary: Get information about a live security: - OAuth2: [] tags: @@ -1704,7 +1821,7 @@ paths: schema: $ref: '#/components/schemas/LiveVideoResponse' put: - summary: Update a live information + summary: Update information about a live security: - OAuth2: [] tags: @@ -3940,6 +4057,7 @@ components: oneOf: - type: string - type: array + maxItems: 5 items: type: string style: form @@ -4636,7 +4754,7 @@ components: message: type: string minLength: 2 - maxLength: 3000 + maxLength: 3000 byModerator: type: boolean createdAt: @@ -5229,6 +5347,7 @@ components: PredefinedAbuseReasons: description: Reason categories that help triage reports type: array + maxItems: 8 items: type: string enum: @@ -5298,6 +5417,103 @@ components: id: type: integer example: 37 + VideoUploadRequestCommon: + properties: + name: + description: Video name + type: string + channelId: + description: Channel id that will contain this video + type: integer + privacy: + $ref: '#/components/schemas/VideoPrivacySet' + category: + description: Video category + type: integer + example: 4 + licence: + description: Video licence + type: integer + example: 2 + language: + description: Video language + type: string + description: + description: Video description + type: string + waitTranscoding: + description: Whether or not we wait transcoding before publish the video + type: boolean + support: + description: A text tell the audience how to support the video creator + example: Please support my work on ! <3 + type: string + nsfw: + description: Whether or not this video contains sensitive content + type: boolean + tags: + description: Video tags (maximum 5 tags each between 2 and 30 characters) + type: array + minItems: 1 + maxItems: 5 + uniqueItems: true + items: + type: string + minLength: 2 + maxLength: 30 + commentsEnabled: + description: Enable or disable comments for this video + type: boolean + downloadEnabled: + description: Enable or disable downloading for this video + type: boolean + originallyPublishedAt: + description: Date when the content was originally published + type: string + format: date-time + scheduleUpdate: + $ref: '#/components/schemas/VideoScheduledUpdate' + thumbnailfile: + description: Video thumbnail file + type: string + format: binary + previewfile: + description: Video preview file + type: string + format: binary + required: + - channelId + - name + VideoUploadRequestLegacy: + allOf: + - $ref: '#/components/schemas/VideoUploadRequestCommon' + - type: object + required: + - videofile + properties: + videofile: + description: Video file + type: string + format: binary + VideoUploadRequestResumable: + allOf: + - $ref: '#/components/schemas/VideoUploadRequestCommon' + - type: object + required: + - filename + properties: + filename: + description: Video filename including extension + type: string + format: filename + thumbnailfile: + description: Video thumbnail file + type: string + format: binary + previewfile: + description: Video preview file + type: string + format: binary VideoUploadResponse: properties: video: diff --git a/support/nginx/peertube b/support/nginx/peertube index 00ce1d0dc..385acac24 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -78,6 +78,13 @@ server { try_files /dev/null @api; } + location = /api/v1/videos/upload-resumable { + client_max_body_size 0; + proxy_request_buffering off; + + try_files /dev/null @api; + } + location = /api/v1/videos/upload { limit_except POST HEAD { deny all; } diff --git a/yarn.lock b/yarn.lock index b61589fa5..adfb8c912 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1061,6 +1061,15 @@ resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== +"@uploadx/core@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@uploadx/core/-/core-4.4.0.tgz#27ea2b0d28125e81a6bdd65637dc5c7829306cc7" + integrity sha512-dU0oDURYR5RvuAzf63EL9e/fCY4OOQKOs237UTbZDulbRbiyxwEZR+IpRYYr3hKRjjij03EF/Y5j54VGkebAKg== + dependencies: + bytes "^3.1.0" + debug "^4.3.1" + multiparty "^4.2.2" + abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -1794,7 +1803,7 @@ busboy@^0.2.11: dicer "0.2.5" readable-stream "1.1.x" -bytes@3.1.0, bytes@^3.0.0: +bytes@3.1.0, bytes@^3.0.0, bytes@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== @@ -4098,6 +4107,17 @@ http-errors@~1.7.2: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-errors@~1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" + integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + "http-node@github:feross/http-node#webtorrent": version "1.2.0" resolved "https://codeload.github.com/feross/http-node/tar.gz/342ef8624495343ffd050bd0808b3750cf0e3974" @@ -5567,6 +5587,15 @@ multimatch@^5.0.0: arrify "^2.0.1" minimatch "^3.0.4" +multiparty@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.2.tgz#bee5fb5737247628d39dab4979ffd6d57bf60ef6" + integrity sha512-NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q== + dependencies: + http-errors "~1.8.0" + safe-buffer "5.2.1" + uid-safe "2.1.5" + multistream@^4.0.1, multistream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" @@ -6656,6 +6685,11 @@ random-access-storage@^1.1.1: dependencies: inherits "^2.0.3" +random-bytes@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b" + integrity sha1-T2ih3Arli9P7lYSMMDJNt11kNgs= + random-iterate@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/random-iterate/-/random-iterate-1.0.1.tgz#f7d97d92dee6665ec5f6da08c7f963cad4b2ac99" @@ -7040,7 +7074,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7186,6 +7220,11 @@ setprototypeof@1.1.1: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -8139,6 +8178,13 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== +uid-safe@2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/uid-safe/-/uid-safe-2.1.5.tgz#2b3d5c7240e8fc2e58f8aa269e5ee49c0857bd3a" + integrity sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA== + dependencies: + random-bytes "~1.0.0" + uint64be@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/uint64be/-/uint64be-2.0.2.tgz#ef4a179752fe8f9ddaa29544ecfc13490031e8e5" From 30b40713f48f993fac6db8d4dbd712018bbde847 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 10:26:50 +0200 Subject: [PATCH 026/136] fix response in openapi spec for quota and video ratings closes #4064 closes #4065 --- support/doc/api/openapi.yaml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 050ab82f8..a71b571b8 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -50,8 +50,7 @@ info: # Rate limits - We are rate-limiting all endpoints of PeerTube's API. Custom values can be configured - by administrators: + We are rate-limiting all endpoints of PeerTube's API. Custom values can be set by administrators: | Endpoint | Calls | Time frame | |-------------------------|------------------|---------------------------| @@ -723,7 +722,14 @@ paths: content: application/json: schema: - type: number + type: object + properties: + videoQuotaUsed: + type: number + example: 16810141515 + videoQuotaUsedDaily: + type: number + example: 1681014151 '/users/me/videos/{videoId}/rating': get: summary: Get rate of my user for a video @@ -5718,7 +5724,11 @@ components: type: string description: Id of the video rating: - type: number + type: string + enum: + - like + - dislike + - none description: Rating of the video required: - id @@ -5728,8 +5738,12 @@ components: video: $ref: '#/components/schemas/Video' rating: - type: number - description: 'Rating of the video' + type: string + enum: + - like + - dislike + - none + description: Rating of the video required: - video - rating From 5844dde3b880815c4d156681e19c6fb8a2da8f5e Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 11:02:54 +0200 Subject: [PATCH 027/136] fix imports list response in openapi spec closes #4063 --- support/doc/api/openapi.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index a71b571b8..7eec9ec28 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -707,7 +707,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/VideoImport' + $ref: '#/components/schemas/VideoImportsList' /users/me/video-quota-used: get: summary: Get my user used quota @@ -4727,6 +4727,16 @@ components: format: date-time video: $ref: '#/components/schemas/Video' + VideoImportsList: + properties: + total: + type: integer + example: 1 + data: + type: array + maxItems: 100 + items: + $ref: '#/components/schemas/VideoImport' Abuse: properties: id: From 6bd7f0978164d4c74e006619ac016fbbcd049cc9 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 11:20:13 +0200 Subject: [PATCH 028/136] secify username patterns for user create/register in openapi spec closes #4061 --- support/doc/api/openapi.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 7eec9ec28..951d3886f 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -5642,6 +5642,7 @@ components: description: The user username minLength: 1 maxLength: 50 + pattern: '/^[a-z0-9._]{1,50}$/' password: type: string format: password @@ -5661,6 +5662,7 @@ components: channelName: type: string description: The user default channel username + pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' role: $ref: '#/components/schemas/UserRole' adminFlags: From fd5586b33748ecdef1d46af2a7d540ba8c8e55df Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 12:01:40 +0200 Subject: [PATCH 029/136] specify getUserId variant in openapi spec closes #4062 --- support/doc/api/openapi.yaml | 126 ++++++++++++++++++++++------------- 1 file changed, 79 insertions(+), 47 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 951d3886f..059434424 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -618,13 +618,24 @@ paths: tags: - Users operationId: getUserId + parameters: + - name: withStats + in: query + description: include statistics about the user (only available as a moderator/admin) + schema: + type: boolean responses: '200': - description: successful operation + x-summary: successful operation + description: | + As an admin/moderator, you can request a response augmented with statistics about the user's + moderation relations and videos usage, by using the `withStats` parameter. content: application/json: schema: - $ref: '#/components/schemas/User' + oneOf: + - $ref: '#/components/schemas/User' + - $ref: '#/components/schemas/UserWithStats' put: summary: Update a user security: @@ -5566,35 +5577,45 @@ components: $ref: '#/components/schemas/Video' User: properties: - id: - type: integer - readOnly: true - username: + account: + $ref: '#/components/schemas/Account' + autoPlayNextVideo: + type: boolean + description: Automatically start playing the upcoming video after the currently playing video + autoPlayNextVideoPlaylist: + type: boolean + description: Automatically start playing the video on the playlist after the currently playing video + autoPlayVideo: + type: boolean + description: Automatically start playing the video on the watch page + blocked: + type: boolean + blockedReason: + type: string + createdAt: type: string - description: The user username - minLength: 1 - maxLength: 50 email: type: string format: email description: The user email - pluginAuth: - type: string - description: Auth plugin to use to authenticate the user - theme: - type: string - description: Theme enabled by this user emailVerified: type: boolean description: Has the user confirmed their email address? + id: + type: integer + readOnly: true + pluginAuth: + type: string + description: Auth plugin to use to authenticate the user + lastLoginDate: + type: string + format: date-time + noInstanceConfigWarningModal: + type: boolean + noWelcomeModal: + type: boolean nsfwPolicy: $ref: '#/components/schemas/NSFWPolicy' - webtorrentEnabled: - type: boolean - description: Enable P2P in the player - autoPlayVideo: - type: boolean - description: Automatically start playing the video on the watch page role: $ref: '#/components/schemas/UserRole' roleLabel: @@ -5603,38 +5624,49 @@ components: - User - Moderator - Administrator - videoQuota: - type: integer - description: The user video quota - videoQuotaDaily: - type: integer - description: The user daily video quota - videosCount: - type: integer - abusesCount: - type: integer - abusesAcceptedCount: - type: integer - abusesCreatedCount: - type: integer - videoCommentsCount: - type: integer - noInstanceConfigWarningModal: - type: boolean - noWelcomeModal: - type: boolean - blocked: - type: boolean - blockedReason: + theme: type: string - createdAt: + description: Theme enabled by this user + username: type: string - account: - $ref: '#/components/schemas/Account' + description: The user username + minLength: 1 + maxLength: 50 videoChannels: type: array items: $ref: '#/components/schemas/VideoChannel' + videoQuota: + type: integer + description: The user video quota in bytes + example: -1 + videoQuotaDaily: + type: integer + description: The user daily video quota in bytes + example: -1 + webtorrentEnabled: + type: boolean + description: Enable P2P in the player + UserWithStats: + allOf: + - $ref: '#/components/schemas/User' + - properties: + # optionally present fields: they require WITH_STATS scope + videosCount: + type: integer + description: Count of videos published + abusesCount: + type: integer + description: Count of reports/abuses of which the user is a target + abusesAcceptedCount: + type: integer + description: Count of reports/abuses created by the user and accepted/acted upon by the moderation team + abusesCreatedCount: + type: integer + description: Count of reports/abuses created by the user + videoCommentsCount: + type: integer + description: Count of comments published AddUser: properties: username: From 649e812947b1afa1f025f2f3dc833a8cfb772e9c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 10:52:52 +0200 Subject: [PATCH 030/136] Optimize videos feed endpoint --- server/controllers/feeds.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/server/controllers/feeds.ts b/server/controllers/feeds.ts index 921067e65..f0717bbbc 100644 --- a/server/controllers/feeds.ts +++ b/server/controllers/feeds.ts @@ -167,7 +167,7 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { videoChannelId: videoChannel ? videoChannel.id : null } - const resultList = await VideoModel.listForApi({ + const { data } = await VideoModel.listForApi({ start, count: FEEDS.COUNT, sort: req.query.sort, @@ -175,10 +175,11 @@ async function generateVideoFeed (req: express.Request, res: express.Response) { nsfw, filter: req.query.filter as VideoFilter, withFiles: true, + countVideos: false, ...options }) - addVideosToFeed(feed, resultList.data) + addVideosToFeed(feed, data) // Now the feed generation is done, let's send it! return sendFeed(feed, req, res) @@ -198,20 +199,22 @@ async function generateVideoFeedForSubscriptions (req: express.Request, res: exp queryString: new URL(WEBSERVER.URL + req.url).search }) - const resultList = await VideoModel.listForApi({ + const { data } = await VideoModel.listForApi({ start, count: FEEDS.COUNT, sort: req.query.sort, includeLocalVideos: false, nsfw, filter: req.query.filter as VideoFilter, + withFiles: true, + countVideos: false, followerActorId: res.locals.user.Account.Actor.id, user: res.locals.user }) - addVideosToFeed(feed, resultList.data) + addVideosToFeed(feed, data) // Now the feed generation is done, let's send it! return sendFeed(feed, req, res) From 3ec535f72be4fea5c6afa129d40b81b74431f1d2 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 13:56:26 +0200 Subject: [PATCH 031/136] Fix E2E tests --- client/e2e/src/po/video-upload.po.ts | 7 ++++++- server/middlewares/async.ts | 1 - server/tests/api/server/follow-constraints.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/client/e2e/src/po/video-upload.po.ts b/client/e2e/src/po/video-upload.po.ts index 942025b6b..ad2acee7f 100644 --- a/client/e2e/src/po/video-upload.po.ts +++ b/client/e2e/src/po/video-upload.po.ts @@ -26,7 +26,12 @@ export class VideoUploadPage { await elem.sendKeys(fileToUpload) // Wait for the upload to finish - await browser.wait(browser.ExpectedConditions.elementToBeClickable(this.getSecondStepSubmitButton())) + await browser.wait(async () => { + const actionButton = this.getSecondStepSubmitButton().element(by.css('.action-button')) + + const klass = await actionButton.getAttribute('class') + return !klass.includes('disabled') + }) } async validSecondUploadStep (videoName: string) { diff --git a/server/middlewares/async.ts b/server/middlewares/async.ts index 0faa4fb8c..3d6e38809 100644 --- a/server/middlewares/async.ts +++ b/server/middlewares/async.ts @@ -3,7 +3,6 @@ import { NextFunction, Request, RequestHandler, Response } from 'express' import { ValidationChain } from 'express-validator' import { ExpressPromiseHandler } from '@server/types/express' import { retryTransactionWrapper } from '../helpers/database-utils' -import { HttpMethod, HttpStatusCode } from '@shared/core-utils' // Syntactic sugar to avoid try/catch in express controllers // Thanks: https://medium.com/@Abazhenov/using-async-await-in-express-with-node-8-b8af872c0016 diff --git a/server/tests/api/server/follow-constraints.ts b/server/tests/api/server/follow-constraints.ts index 0846b04f4..8a91fbba3 100644 --- a/server/tests/api/server/follow-constraints.ts +++ b/server/tests/api/server/follow-constraints.ts @@ -28,7 +28,7 @@ describe('Test follow constraints', function () { let userAccessToken: string before(async function () { - this.timeout(60000) + this.timeout(90000) servers = await flushAndRunMultipleServers(2) From 40cfb36b9d5a709709995ec8d47c1f057729ff07 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 14:17:26 +0200 Subject: [PATCH 032/136] specify operationId in openapi spec and factorize videoconstant ids --- support/doc/api/openapi.yaml | 144 ++++++++++++++++++++++------------- 1 file changed, 92 insertions(+), 52 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 059434424..a7501c9d3 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -144,8 +144,8 @@ tags: ### Upload - - [_legacy_](#tag/Video-Upload/paths/~1videos~1upload/post), where the video file is sent in a single request - - [_resumable_](#tag/Video-Upload/paths/~1videos~1upload-resumable/post), where the video file is sent in chunks + - [_legacy_](#operation/uploadLegacy), where the video file is sent in a single request + - [_resumable_](#operation/uploadResumableInit), where the video file is sent in chunks You can upload videos more reliably by using the resumable variant. Its protocol lets you resume an upload operation after a network interruption or other transmission failure, @@ -280,7 +280,7 @@ paths: application/json: schema: $ref: '#/components/schemas/VideoListResponse' - x-code-samples: + x-codeSamples: - lang: JavaScript source: | fetch('https://peertube2.cpy.re/api/v1/accounts/{name}/videos') @@ -344,6 +344,9 @@ paths: application/json: schema: $ref: '#/components/schemas/ServerConfig' + examples: + nightly: + externalValue: https://peertube2.cpy.re/api/v1/config /config/about: get: summary: Get instance "About" information @@ -356,6 +359,9 @@ paths: application/json: schema: $ref: '#/components/schemas/ServerConfigAbout' + examples: + nightly: + externalValue: https://peertube2.cpy.re/api/v1/config/about /config/custom: get: summary: Get instance runtime configuration @@ -1179,6 +1185,7 @@ paths: /videos/categories: get: summary: List available video categories + operationId: getCategories tags: - Video responses: @@ -1196,6 +1203,7 @@ paths: /videos/licences: get: summary: List available video licences + operationId: getLicences tags: - Video responses: @@ -1213,6 +1221,7 @@ paths: /videos/languages: get: summary: List available video languages + operationId: getLanguages tags: - Video responses: @@ -1229,7 +1238,8 @@ paths: externalValue: https://peertube2.cpy.re/api/v1/videos/languages /videos/privacies: get: - summary: List available video privacies + summary: List available video privacy policies + operationId: getPrivacyPolicies tags: - Video responses: @@ -1271,16 +1281,11 @@ paths: type: string format: binary category: - description: Video category - type: integer - example: 4 + $ref: '#/components/schemas/VideoCategorySet' licence: - description: Video licence - type: integer - example: 2 + $ref: '#/components/schemas/VideoLicenceSet' language: - description: Video language - type: string + $ref: '#/components/schemas/VideoLanguageSet' privacy: $ref: '#/components/schemas/VideoPrivacySet' description: @@ -1394,6 +1399,7 @@ paths: post: summary: Upload a video description: Uses a single request to upload a video. + operationId: uploadLegacy security: - OAuth2: [] tags: @@ -1436,7 +1442,7 @@ paths: contentType: image/jpeg previewfile: contentType: image/jpeg - x-code-samples: + x-codeSamples: - lang: Shell source: | ## DEPENDENCIES: jq @@ -1469,6 +1475,7 @@ paths: post: summary: Initialize the resumable upload of a video description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to initialize the upload of a video + operationId: uploadResumableInit security: - OAuth2: [] tags: @@ -1519,6 +1526,7 @@ paths: put: summary: Send chunk for the resumable upload of a video description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to continue, pause or resume the upload of a video + operationId: uploadResumable security: - OAuth2: [] tags: @@ -1595,6 +1603,7 @@ paths: delete: summary: Cancel the resumable upload of a video, deleting any data uploaded so far description: Uses [a resumable protocol](https://github.com/kukhariev/node-uploadx/blob/master/proto.md) to cancel the upload of a video + operationId: uploadResumableCancel security: - OAuth2: [] tags: @@ -1627,6 +1636,7 @@ paths: post: summary: Import a video description: Import a torrent or magnetURI or HTTP resource (if enabled by the instance administrator) + operationId: importVideo security: - OAuth2: [] tags: @@ -1662,16 +1672,11 @@ paths: privacy: $ref: '#/components/schemas/VideoPrivacySet' category: - description: Video category - type: integer - example: 4 + $ref: '#/components/schemas/VideoCategorySet' licence: - description: Video licence - type: integer - example: 2 + $ref: '#/components/schemas/VideoLicenceSet' language: - description: Video language - type: string + $ref: '#/components/schemas/VideoLanguageSet' description: description: Video description type: string @@ -1734,6 +1739,7 @@ paths: /videos/live: post: summary: Create a live + operationId: createLive security: - OAuth2: [] tags: @@ -1773,14 +1779,11 @@ paths: privacy: $ref: '#/components/schemas/VideoPrivacySet' category: - description: Live video/replay category - type: string + $ref: '#/components/schemas/VideoCategorySet' licence: - description: Live video/replay licence - type: string + $ref: '#/components/schemas/VideoLicenceSet' language: - description: Live video/replay language - type: string + $ref: '#/components/schemas/VideoLanguageSet' description: description: Live video/replay description type: string @@ -1823,6 +1826,7 @@ paths: /videos/live/{id}: get: summary: Get information about a live + operationId: getLiveId security: - OAuth2: [] tags: @@ -1839,6 +1843,7 @@ paths: $ref: '#/components/schemas/LiveVideoResponse' put: summary: Update information about a live + operationId: updateLiveId security: - OAuth2: [] tags: @@ -2482,7 +2487,8 @@ paths: /video-playlists/privacies: get: - summary: List available playlist privacies + summary: List available playlist privacy policies + operationId: getPlaylistPrivacyPolicies tags: - Video Playlists responses: @@ -2501,6 +2507,7 @@ paths: /video-playlists: get: summary: List video playlists + operationId: getPlaylists tags: - Video Playlists parameters: @@ -2525,6 +2532,7 @@ paths: post: summary: Create a video playlist description: 'If the video playlist is set as public, the videoChannelId is mandatory.' + operationId: createPlaylist security: - OAuth2: [] tags: @@ -4056,7 +4064,7 @@ components: name: categoryOneOf in: query required: false - description: category id of the video (see [/videos/categories](#tag/Video/paths/~1videos~1categories/get)) + description: category id of the video (see [/videos/categories](#operation/getCategories)) schema: oneOf: - type: integer @@ -4096,7 +4104,7 @@ components: name: languageOneOf in: query required: false - description: language id of the video (see [/videos/languages](#tag/Video/paths/~1videos~1languages/get)). Use `_unknown` to filter on videos that don't have a video language + description: language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language schema: oneOf: - type: string @@ -4109,7 +4117,7 @@ components: name: licenceOneOf in: query required: false - description: licence id of the video (see [/videos/licences](#tag/Video/paths/~1videos~1licences/get)) + description: licence id of the video (see [/videos/licences](#operation/getLicences)) schema: oneOf: - type: integer @@ -4222,25 +4230,33 @@ components: minLength: 36 maxLength: 36 + VideoCategorySet: + type: integer + description: category id of the video (see [/videos/categories](#operation/getCategories)) VideoConstantNumber-Category: properties: id: - type: integer - description: category id of the video (see [/videos/categories](#tag/Video/paths/~1videos~1categories/get)) + $ref: '#/components/schemas/VideoCategorySet' label: type: string + + VideoLicenceSet: + type: integer + description: licence id of the video (see [/videos/licences](#operation/getLicences)) VideoConstantNumber-Licence: properties: id: - type: integer - description: licence id of the video (see [/videos/licences](#tag/Video/paths/~1videos~1licences/get)) + $ref: '#/components/schemas/VideoLicenceSet' label: type: string + + VideoLanguageSet: + type: string + description: language id of the video (see [/videos/languages](#operation/getLanguages)) VideoConstantString-Language: properties: id: - type: string - description: language id of the video (see [/videos/languages](#tag/Video/paths/~1videos~1languages/get)) + $ref: '#/components/schemas/VideoLanguageSet' label: type: string @@ -4250,7 +4266,7 @@ components: - 1 - 2 - 3 - description: 'The video playlist privacy (Public = `1`, Unlisted = `2`, Private = `3`)' + description: Video playlist privacy policy (see [/video-playlists/privacies]) VideoPlaylistPrivacyConstant: properties: id: @@ -4263,7 +4279,7 @@ components: enum: - 1 - 2 - description: 'The video playlist type (Regular = `1`, Watch Later = `2`)' + description: The video playlist type (Regular = `1`, Watch Later = `2`) VideoPlaylistTypeConstant: properties: id: @@ -4278,7 +4294,7 @@ components: - 2 - 3 - 4 - description: 'The video privacy (Public = `1`, Unlisted = `2`, Private = `3`, Internal = `4`)' + description: privacy id of the video (see [/videos/privacies](#operation/getPrivacyPolicies)) VideoPrivacyConstant: properties: id: @@ -4349,12 +4365,17 @@ components: - captions example: [spamOrMisleading] + VideoResolutionSet: + type: integer + description: | + Video resolution (`0`, `240`, `360`, `720`, `1080`, `1440` or `2160`) + + `0` is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos. + example: 240 VideoResolutionConstant: properties: id: - type: integer - description: 'Video resolution (240, 360, 720, 1080, 1440 or 2160)' - example: 240 + $ref: '#/components/schemas/VideoResolutionSet' label: type: string example: 240p @@ -5072,7 +5093,7 @@ components: enabledResolutions: type: array items: - type: integer + $ref: '#/components/schemas/VideoResolutionSet' import: type: object properties: @@ -5273,6 +5294,7 @@ components: type: boolean user: type: object + description: Settings that apply to new users, if registration is enabled properties: videoQuota: type: integer @@ -5280,18 +5302,34 @@ components: type: integer transcoding: type: object + description: Settings pertaining to transcoding jobs properties: enabled: type: boolean allowAdditionalExtensions: type: boolean + description: Allow your users to upload .mkv, .mov, .avi, .wmv, .flv, .f4v, .3g2, .3gp, .mts, m2ts, .mxf, .nut videos allowAudioFiles: type: boolean + description: If a user uploads an audio file, PeerTube will create a video by merging the preview file and the audio file threads: type: integer + description: Amount of threads used by ffmpeg for 1 transcoding job + concurrency: + type: number + description: Amount of transcoding jobs to execute in parallel + profile: + type: string + enum: + - default + description: | + New profiles can be added by plugins ; available in core PeerTube: 'default'. resolutions: type: object + description: Resolutions to transcode _new videos_ to properties: + 0p: + type: boolean 240p: type: boolean 360p: @@ -5306,8 +5344,15 @@ components: type: boolean 2160p: type: boolean + webtorrent: + type: object + description: WebTorrent-specific settings + properties: + enabled: + type: boolean hls: type: object + description: HLS-specific settings properties: enabled: type: boolean @@ -5455,16 +5500,11 @@ components: privacy: $ref: '#/components/schemas/VideoPrivacySet' category: - description: Video category - type: integer - example: 4 + $ref: '#/components/schemas/VideoCategorySet' licence: - description: Video licence - type: integer - example: 2 + $ref: '#/components/schemas/VideoLicenceSet' language: - description: Video language - type: string + $ref: '#/components/schemas/VideoLanguageSet' description: description: Video description type: string From 985ece57551515e3b10a83c4a826bf35913a992a Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 14:26:17 +0200 Subject: [PATCH 033/136] refactor abuses response list to totalDataList in openapi spec closes #4066 --- support/doc/api/openapi.yaml | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index a7501c9d3..bfe3c6da4 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -1867,6 +1867,7 @@ paths: /users/me/abuses: get: summary: List my abuses + operationId: getMyAbuses security: - OAuth2: [] tags: @@ -1882,22 +1883,29 @@ paths: in: query schema: $ref: '#/components/schemas/AbuseStateSet' + - $ref: '#/components/parameters/abusesSort' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/count' - - $ref: '#/components/parameters/abusesSort' responses: '200': description: successful operation content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/Abuse' + type: object + properties: + total: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/Abuse' /abuses: get: summary: List abuses + operationId: getAbuses security: - OAuth2: - admin @@ -1970,9 +1978,15 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/Abuse' + type: object + properties: + total: + type: integer + example: 1 + data: + type: array + items: + $ref: '#/components/schemas/Abuse' post: summary: Report an abuse From 045bcd0d18a13e8d2e0bdaf8ae2ebc83f2a7e7fc Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 14:39:01 +0200 Subject: [PATCH 034/136] refactor subscriptions response from list to totalDataList in openapi spec closes #4067 --- support/doc/api/openapi.yaml | 40 ++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index bfe3c6da4..4fbf5b055 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -804,6 +804,10 @@ paths: responses: '200': description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/VideoChannelList' post: tags: - My Subscriptions @@ -2301,15 +2305,7 @@ paths: content: application/json: schema: - type: object - properties: - total: - type: integer - example: 1 - data: - type: array - items: - $ref: '#/components/schemas/VideoChannel' + $ref: '#/components/schemas/VideoChannelList' post: summary: Create a video channel security: @@ -2846,14 +2842,7 @@ paths: content: application/json: schema: - properties: - total: - type: integer - example: 1 - data: - type: array - items: - $ref: '#/components/schemas/VideoChannel' + $ref: '#/components/schemas/VideoChannelList' '/accounts/{name}/ratings': get: summary: List ratings of an account @@ -3111,9 +3100,7 @@ paths: content: application/json: schema: - type: array - items: - $ref: '#/components/schemas/VideoChannel' + $ref: '#/components/schemas/VideoChannelList' '500': description: search index unavailable /blocklist/accounts: @@ -4993,6 +4980,8 @@ components: host: type: string format: hostname + hostRedundancyAllowed: + type: boolean followingCount: type: integer followersCount: @@ -5919,6 +5908,17 @@ components: bulkVideosSupportUpdate: type: boolean description: 'Update the support field for all videos of this channel' + VideoChannelList: + properties: + total: + type: integer + example: 1 + data: + type: array + items: + allOf: + - $ref: '#/components/schemas/VideoChannel' + - $ref: '#/components/schemas/Actor' MRSSPeerLink: type: object From 66615377644fc71a0f38e1b1edc31865e7d7427a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:16:53 +0200 Subject: [PATCH 035/136] Fix miniature overflow --- .../shared-video-miniature/video-miniature.component.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/client/src/app/shared/shared-video-miniature/video-miniature.component.scss b/client/src/app/shared/shared-video-miniature/video-miniature.component.scss index 5df89d019..0bbdff1e6 100644 --- a/client/src/app/shared/shared-video-miniature/video-miniature.component.scss +++ b/client/src/app/shared/shared-video-miniature/video-miniature.component.scss @@ -95,6 +95,7 @@ my-actor-avatar { .video-bottom { display: flex; width: 100%; + min-width: 1px; } .video-miniature-name { @@ -145,6 +146,7 @@ my-actor-avatar { .video-bottom { display: flex; + min-width: 1px; } // We don't display avatar in row mode From f2b5aa590ea3ff7ab24415df5c5ce7fcb73c5acc Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:27:29 +0200 Subject: [PATCH 036/136] Update nginx config for resumable upload --- support/nginx/peertube | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/support/nginx/peertube b/support/nginx/peertube index 385acac24..d03f14613 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -79,8 +79,10 @@ server { } location = /api/v1/videos/upload-resumable { - client_max_body_size 0; - proxy_request_buffering off; + if ($request_method = 'PUT') { + client_max_body_size 0; + proxy_request_buffering off; + } try_files /dev/null @api; } From ff0497fee85db13e81c90224d75e491faea0d0e3 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:31:18 +0200 Subject: [PATCH 037/136] Fix button icon in admin plugins --- client/src/app/shared/shared-main/buttons/button.component.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/shared/shared-main/buttons/button.component.scss b/client/src/app/shared/shared-main/buttons/button.component.scss index 09b5f95d7..22b24c853 100644 --- a/client/src/app/shared/shared-main/buttons/button.component.scss +++ b/client/src/app/shared/shared-main/buttons/button.component.scss @@ -30,7 +30,7 @@ span[class$=-button] { .action-button { @include peertube-button-link; - @include button-with-icon(21px, 0, -1px); + @include button-with-icon(21px); } .orange-button { From 1fa23d6f5e487f3c149e1f0001beadd919ee82fc Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:48:10 +0200 Subject: [PATCH 038/136] Fix video update --- client/src/app/helpers/utils.ts | 41 ++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/client/src/app/helpers/utils.ts b/client/src/app/helpers/utils.ts index d6ac5b9b4..94f6def26 100644 --- a/client/src/app/helpers/utils.ts +++ b/client/src/app/helpers/utils.ts @@ -1,4 +1,4 @@ -import { map } from 'rxjs/operators' +import { first, map } from 'rxjs/operators' import { SelectChannelItem } from 'src/types/select-options-item.model' import { DatePipe } from '@angular/common' import { HttpErrorResponse } from '@angular/common/http' @@ -23,26 +23,29 @@ function getParameterByName (name: string, url: string) { function listUserChannels (authService: AuthService) { return authService.userInformationLoaded - .pipe(map(() => { - const user = authService.getUser() - if (!user) return undefined + .pipe( + first(), + map(() => { + const user = authService.getUser() + if (!user) return undefined - const videoChannels = user.videoChannels - if (Array.isArray(videoChannels) === false) return undefined + const videoChannels = user.videoChannels + if (Array.isArray(videoChannels) === false) return undefined - return videoChannels - .sort((a, b) => { - if (a.updatedAt < b.updatedAt) return 1 - if (a.updatedAt > b.updatedAt) return -1 - return 0 - }) - .map(c => ({ - id: c.id, - label: c.displayName, - support: c.support, - avatarPath: c.avatar?.path - }) as SelectChannelItem) - })) + return videoChannels + .sort((a, b) => { + if (a.updatedAt < b.updatedAt) return 1 + if (a.updatedAt > b.updatedAt) return -1 + return 0 + }) + .map(c => ({ + id: c.id, + label: c.displayName, + support: c.support, + avatarPath: c.avatar?.path + }) as SelectChannelItem) + }) + ) } function getAbsoluteAPIUrl () { From 55c6111e3519c4862f5ddadb28028dab2c8105b4 Mon Sep 17 00:00:00 2001 From: Laurent Ettouati Date: Sun, 9 May 2021 20:19:40 +0000 Subject: [PATCH 039/136] Translated using Weblate (French (France) (fr_FR)) Currently translated at 99.6% (1839 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/fr_FR/ --- client/src/locale/angular.fr-FR.xlf | 1722 +++++++++++++-------------- 1 file changed, 850 insertions(+), 872 deletions(-) diff --git a/client/src/locale/angular.fr-FR.xlf b/client/src/locale/angular.fr-FR.xlf index 6fab22f14..bddb49196 100644 --- a/client/src/locale/angular.fr-FR.xlf +++ b/client/src/locale/angular.fr-FR.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Vous n'avez pas de notifications. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - vous a mentionné sur la vidéo + mentioned you on video + vous a mentionné sur la vidéo src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Une nouvelle version du plugin/thème est disponible : + A new version of the plugin/theme is available: + Une nouvelle version du plugin/thème est disponible : src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Une nouvelle version de PeerTube est disponible : + A new version of PeerTube is available: + Une nouvelle version de PeerTube est disponible : src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Changez votre avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Enlever l'avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history Mon historique de visionnage - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Enregistrer vers @@ -185,8 +183,8 @@ Options Options - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Démarrer à @@ -358,8 +356,10 @@ Annuler src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + Pas de résultats. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -422,7 +422,7 @@ - + src/app/shared/shared-video/video-views-counter.component.html 3,4 @@ -438,7 +438,7 @@ - + src/app/shared/shared-video/video-views-counter.component.html 7,8 @@ -455,15 +455,15 @@ Blocked Bloquée - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Sensible - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Aucune vidéo} =1 {1 video} other { vidéos} } @@ -489,10 +489,10 @@ Deleted Supprimée - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Modifier le début / la fin à @@ -516,16 +516,15 @@ No results. Aucun résultat. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Meilleur @@ -540,10 +539,12 @@ Delete Supprimer - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + uniquement les vidéos en direct src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -584,8 +585,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible qui supporte : + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible qui supporte : src/app/shared/shared-main/misc/help.component.ts75 @@ -837,8 +838,8 @@ User Utilisateur·rice - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Bannir @@ -932,16 +933,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Cette instance permet l'enregistrement. Toutefois, il faut veiller à vérifier les conditions d'utilisationconditions d'utilisation avant de créer un compte. Vous pouvez également rechercher une autre instance correspondant exactement à vos besoins sur : https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Cette instance permet l'enregistrement. Toutefois, il faut veiller à vérifier les conditions d'utilisationconditions d'utilisation avant de créer un compte. Vous pouvez également rechercher une autre instance correspondant exactement à vos besoins sur : https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actuellement, cette instance ne permet pas l'enregistrement des utilisateurs, vous pouvez vérifier les conditions d'utilisation pour plus de détails ou trouvez une instance qui vous donne la possibilité de créer un compte et d'y télécharger vos vidéos. Trouvez la vôtre parmi plusieurs instances à l'adresse suivante : https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actuellement, cette instance ne permet pas l'enregistrement des utilisateurs, vous pouvez vérifier les conditions d'utilisation pour plus de détails ou trouvez une instance qui vous donne la possibilité de créer un compte et d'y télécharger vos vidéos. Trouvez la vôtre parmi plusieurs instances à l'adresse suivante : https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1018,8 +1019,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Un courrier électronique contenant les instructions de réinitialisation du mot de passe sera envoyé à . Le lien expirera dans 1 heure. src/app/+login/login.component.ts121 @@ -1057,8 +1057,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - pour + for + pour src/app/+search/search.component.html 10 @@ -1130,8 +1130,8 @@ The link will expire within 1 hour. abonné·e·s - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Bienvenue sur PeerTube, cher·e administrateur·rice ! @@ -1387,9 +1387,9 @@ The link will expire within 1 hour. My videos Mes vidéos - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Mes importations de vidéos @@ -1889,48 +1889,54 @@ The link will expire within 1 hour. extensions les extensions - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Cette image est trop grande. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Téléverser une nouvelle bannière - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Changer votre bannière - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Supprimer la bannière - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: rapport 6/1, taille recommandée : 1600x266, taille maximale : , extensions : - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Avatar du compte src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Avatar de la chaîne src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Filtres avancés src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2019,14 +2025,15 @@ The link will expire within 1 hour. Contains sensitive content Contient du contenu sensible src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Certaines instances masquent par défaut les vidéos contenant un contenu mature ou explicite. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Publier après transcodage @@ -2053,7 +2060,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Déjà téléversé ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2172,7 +2179,7 @@ The link will expire within 1 hour. - + src/app/+video-channels/video-channels.component.html 76,77 @@ -2297,9 +2304,9 @@ The link will expire within 1 hour. Total video quota Total du quota vidéo - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. Félicitations ! Votre vidéo est à présent disponible dans votre bibliothèque personnelle. @@ -2421,8 +2428,8 @@ The link will expire within 1 hour. Report this comment Signaler ce commentaire - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Partager @@ -2670,23 +2677,22 @@ The link will expire within 1 hour. More information Plus d'informations - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos La vidéo a été bloquée à cause du blocage automatique des nouvelles vidéos - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Obtenir plus d'informations @@ -2727,7 +2733,7 @@ The link will expire within 1 hour. {VAR_PLURAL, plural, =1 {1 reply} other { replies}} - {VAR_PLURAL, plural, =1 {1 reply} other { replies}} + {VAR_PLURAL, plural, =1 {1 reply} other { réponses}} src/app/+videos/+video-watch/comment/video-comments.component.html 80 @@ -2877,18 +2883,18 @@ The link will expire within 1 hour. Highlighted comment Commentaire mis en exergue - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Répondre - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Ce commentaire a été supprimé - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Redondances des vidéos @@ -2985,41 +2991,18 @@ The link will expire within 1 hour. Filter... Filtrage... - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Réinitialiser les filtres - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Vidéo/Commentaire/Compte - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3028,8 +3011,8 @@ The link will expire within 1 hour. Follower handle Identifiant d'abonné·e - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Statut @@ -3039,57 +3022,57 @@ The link will expire within 1 hour. Created Créé - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Ouvrir l'acteur dans un nouvel onglet - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Accepté - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending En attente - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Accepter - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Refuser - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Aucun·e abonné·e n'a pu être trouvé·e avec les filtres actuels. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Votre instance n'a aucun·e abonné·e. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Affiche les instances à sur vous suivant - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3100,60 +3083,60 @@ The link will expire within 1 hour. Host Hôte - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redondance autorisée - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Arrêter de suivre - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Ouvrir l'instance dans une nouvelle fenêtre - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Impossible de trouver un hôte correspondant aux critères actuels. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Votre instance n'en suit aucune autre. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Affiche à sur hôtes - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Suivre des domaines - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Suivre les instances - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Action - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Redondances des vidéos @@ -3177,18 +3160,18 @@ The link will expire within 1 hour. Table parameters Paramètres des tables - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Sélectionnez les colonnes - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Mettre en évidence les utilisateurs bannis - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Identifiant @@ -3296,60 +3279,59 @@ The link will expire within 1 hour. Hide Cacher - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Actions en lot - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned L'utilisateur a été banni - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Ouvrir le compte dans un nouvel onglet - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Compte supprimé - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login L'adresse de courriel de l'utilisateur·rice doit être vérifiée afin de se connecter - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification L'adresse de courriel de l'utilisateur·rice est vérifié / L'utilisateur·rice peut se connecter sans vérification par courriel - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Quota vidéo quotidien total - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Raison du bannissement : - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Utilisateurs interdits src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3425,15 +3407,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Vidéo - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Taille totale @@ -3467,57 +3446,61 @@ The link will expire within 1 hour. Sensitive Sensible - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Non fédéré - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Date - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Sélectionner cette ligne - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Actions - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Vidéo commenté - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Aucun commentaire trouvé correspondant aux filtres actuels. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Pas de commentaires trouvés. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Commentaires locaux src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Commentaires distants src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3526,38 +3509,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Aucun abus trouvé correspondant aux filtres actuels. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Aucun abus constaté. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Rapports non résolus src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Rapports acceptés src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Rapports refusés src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Rapports avec des vidéos bloquées src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Rapports avec des vidéos supprimées src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3566,25 +3559,29 @@ The link will expire within 1 hour. Block reason: Raison du blocage : - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Aucune vidéo bloquée correspondant aux filtres actuels n'a été trouvée. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Aucune vidéo bloquée trouvée. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Blocages automatiques src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Blocages manuels src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3593,8 +3590,8 @@ The link will expire within 1 hour. Showing to of blocked videos Montrant de vidéos bloqués - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Rapports @@ -3618,21 +3615,15 @@ The link will expire within 1 hour. Modifier ce commentaire src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Rapporteur - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3643,41 +3634,41 @@ The link will expire within 1 hour. Video Vidéo - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Commentaire - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Cette vidéo a été signalée plusieurs fois. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked La vidéo a été bloquée - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on par sur - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted La vidéo a été supprimée - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Compte supprimé - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Ouvrir la vidéo dans un nouvel onglet @@ -3686,38 +3677,38 @@ The link will expire within 1 hour. State État - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Messages - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Note interne - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Score - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Affiche les signalements à sur - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Cible du rapport src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3733,81 +3724,81 @@ The link will expire within 1 hour. Mute domain Masquer un domaine - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Instance - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Silencé le - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Rétablir - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Aucun serveur ne correspond aux critères actuels. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Aucun serveur trouvé. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Affiche les instances à sur silencées - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Il semblerait que votre serveur n'utilise par le protocole HTTPS. Vous devez activer TLS sur votre serveur pour pouvoir en suivre d'autres. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Masquer des domaines - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Comptes - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Aucun compte ne correspond aux critères. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Aucun compte trouvé. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Liste des plugins installés @@ -3867,10 +3858,10 @@ The link will expire within 1 hour. Settings Paramètres - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Paramètres d'affichage @@ -3879,8 +3870,8 @@ The link will expire within 1 hour. Uninstall Désinstaller - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot "Hot" @@ -3972,33 +3963,33 @@ The link will expire within 1 hour. Delete this comment Supprimer ce commentaire - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Supprimer tous les commentaires de ce compte - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Les commentaires sont supprimés après quelques minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. commentaires supprimés. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Voulez-vous vraiment supprimer tous les commentaires de ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Les commentaires de seront supprimés dans quelques minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Les commentaires des vidéos @@ -4015,17 +4006,14 @@ The link will expire within 1 hour. Showing to of comments Montrant à de commentaires - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Sélectionner toutes les lignes - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type type de tâche @@ -4056,8 +4044,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Priorité (1 = plus haute priorité) + Priority (1 = highest priority) + Priorité (1 = plus haute priorité) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4077,8 +4065,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Pas de tâches trouvées. + No jobs found. + Pas de tâches trouvées. src/app/+admin/system/jobs/jobs.component.html108 @@ -4108,8 +4096,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Par -> + By -> + Par -> src/app/+admin/system/logs/logs.component.html46 @@ -4180,8 +4168,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Gérer les utilisateurs to build a moderation team. + Manage users to build a moderation team. + Gérer les utilisateurs to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4193,8 +4181,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Le fait de l'activer permettra aux autres administrateurs de savoir que vous fédérez principalement des contenus sensibles. En outre, la case à cocher NSFW sur le téléchargement des vidéos sera automatiquement cochée par défaut. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Le fait de l'activer permettra aux autres administrateurs de savoir que vous fédérez principalement des contenus sensibles. En outre, la case à cocher NSFW sur le téléchargement des vidéos sera automatiquement cochée par défaut. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4204,15 +4192,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Politique concernant les vidéos ayant du contenu sensible src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Avec cache ou floute les vignettes, une confirmation sera demandée pour regarder la vidéo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Flouter les miniatures @@ -4329,8 +4317,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Utiliser greffons & thèmes pour des changements plus importants, ou ajouter de légères personnalisations. + Use plugins & themes for more involved changes, or add slight customizations. + Utiliser greffons & thèmes pour des changements plus importants, ou ajouter de légères personnalisations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4442,8 +4430,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Gérer les utilisateurs pour qu'ils fixent leur quota individuellement. + Manage users to set their quota individually. + Gérer les utilisateurs pour qu'ils fixent leur quota individuellement. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4614,8 +4602,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Vous ne devez utiliser que des index de recherche modérés en production, ou héberger le vôtre. + You should only use moderated search indexes in production, or host your own. + Vous ne devez utiliser que des index de recherche modérés en production, ou héberger le vôtre. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4652,8 +4640,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Gérer relations avec d’autres instances. + Manage relations with other instances. + Gérer relations avec d’autres instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4692,8 +4680,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Voir la documentation pour plus d’informations sur l’URL prévue + See the documentation for more information about the expected URL + Voir la documentation pour plus d’informations sur l’URL prévue src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4707,8 +4695,8 @@ The link will expire within 1 hour. Administrator Administrateur - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Courriel de l'administrateur.ice @@ -4753,8 +4741,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Si votre instance est explicitement autorisée par Twitter, un lecteur vidéo sera intégré au flux Twitter sur le partage vidéo PeerTube. Si l'instance ne l'est pas, nous utilisons une carte de lien d'image qui redirigera vers votre instance PeerTube. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Si votre instance est explicitement autorisée par Twitter, un lecteur vidéo sera intégré au flux Twitter sur le partage vidéo PeerTube. Si l'instance ne l'est pas, nous utilisons une carte de lien d'image qui redirigera vers votre instance PeerTube. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4801,8 +4789,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Maximum de lives simultanées créées sur votre instance (-1 pour "illimité") + Max simultaneous lives created on your instance (-1 for "unlimited") + Maximum de lives simultanées créées sur votre instance (-1 pour "illimité") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4814,8 +4802,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Nombre maximal de lives simultanées créées par utilisateur (-1 pour "illimité") + Max simultaneous lives created per user (-1 for "unlimited") + Nombre maximal de lives simultanées créées par utilisateur (-1 pour "illimité") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4911,14 +4899,15 @@ The link will expire within 1 hour. Allow additional extensions Permettre des extensions additionnelles src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Permet les utilisateurs de téléverser les vidéos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Autorise l'envoi de fichier audio @@ -4958,8 +4947,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Nécessite ffmpeg >= 4.1Génère des listes de lecture HLS et des fichiers MP4 fragmentés, ce qui permet une meilleure lecture qu'avec WebTorrent :Le changement de résolution est plus fluideLecture plus rapide, surtout pour les vidéos de longue duréeLecture plus stable (moins de bugs/chargement infinie)Si vous avez également activé la prise en charge de WebTorrent, le stockage des vidéos sera multiplié par 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Nécessite ffmpeg >= 4.1Génère des listes de lecture HLS et des fichiers MP4 fragmentés, ce qui permet une meilleure lecture qu'avec WebTorrent :Le changement de résolution est plus fluideLecture plus rapide, surtout pour les vidéos de longue duréeLecture plus stable (moins de bugs/chargement infinie)Si vous avez également activé la prise en charge de WebTorrent, le stockage des vidéos sera multiplié par 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5096,19 +5085,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Écrivez directement du code JavaScript.Exemple : console.log('mon instance est super'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Écrivez directement du code JavaScript.Exemple : console.log('mon instance est super'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Écrivez directement du code CSS. Exemple :#custom-css color: red; Ajoutez au début du code #custom-css pour forcer le style. Exemple : #custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Écrivez directement du code CSS. Exemple :#custom-css color: red; Ajoutez au début du code #custom-css pour forcer le style. Exemple : #custom-css .logged-in-email color : red ; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5122,8 +5105,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Il y a des erreurs dans le formulaire : + There are errors in the form: + Il y a des erreurs dans le formulaire : src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5237,14 +5220,15 @@ color: red; Default policy on videos containing sensitive content Politique par défaut concernant les vidéos à caractère sensible src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Avec cacher ou flouter les vignettes, une confirmation sera demandée pour regarder la vidéo. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Politique concernant les vidéos sensibles @@ -5308,32 +5292,31 @@ color: red; Sélectionner la·e prochain·e propriétaire src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Dernier publié en premier - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Dernier créé en premier - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Le plus vu en premier - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Le plus apprécié en premier - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Le plus long en premier - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Accepter le transfert de propriété @@ -5406,9 +5389,11 @@ color: red; Create video channel Créer une chaîne vidéo - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + Pas de chaîne trouvée. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5419,8 +5404,8 @@ color: red; abonné·e·s - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Exemple : ma_chaîne @@ -5446,9 +5431,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Court texte décrivant les moyens de soutien à disposition (plateforme de dons, médias...).<br /><br /> Quand vous mettrez en ligne une vidéo dans cette chaîne, son champ de support sera automatiquement rempli par celui-ci. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Court texte décrivant les moyens de soutien à disposition (plateforme de dons, médias...).<br /><br /> Quand vous mettrez en ligne une vidéo dans cette chaîne, son champ de support sera automatiquement rempli par celui-ci. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5463,14 +5447,14 @@ color: red; abonné·e·s - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Envoyez un nouvel avatar - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Cible @@ -5504,25 +5488,25 @@ color: red; Channel page Page de la chaîne - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Créée par - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Page du compte du propriétaire - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Supprimer l'historique - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Vous n'avez pas encore de vidéo dans votre historique de visionnage. @@ -5594,8 +5578,8 @@ color: red; Create playlist Créer une liste de lecture - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Mes chaînes vidéos @@ -5609,15 +5593,14 @@ color: red; Playlist } deleted. Liste de lecture } supprimée. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Vignette de liste de lecture src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Aucune vidéo dans cette liste de lecture. @@ -5653,7 +5636,7 @@ color: red; {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} - {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} + {VAR_PLURAL, plural, =1 {1 playlist} other { listes de lectures}} src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html 3 @@ -5690,14 +5673,15 @@ color: red; Video channel playlists Listes de lecture d'une chaîne de vidéos src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Gérer la chaîne src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification @@ -5771,7 +5755,7 @@ color: red; - + src/app/+accounts/accounts.component.html 41,42 @@ -5815,37 +5799,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 abonné·e} other { abonné·e·s} } - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 videos} other { vidéos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Montrer cette chaîne - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { vidéos} } - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Voulez-vous vraiment supprimer ? Cela supprimera les vidéos mises en ligne sur cette chaîne, et vous ne pourrez pas créer une autre chaine avec le même nom () ! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Mes chaînes @@ -5861,19 +5843,19 @@ channel with the same name ()! See this video channel Voir cette chaîne vidéo - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Cette chaîne n’a pas de vidéos. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - MONTRER CETTE CHAÎNE > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + MONTRER CETTE CHAÎNE > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Statistiques @@ -6124,8 +6106,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Les pairs Web ne sont pas accessibles au public : comme nous utilisons le transport par websocket, le protocole est différent du traqueur BitTorrent classique. Lorsque vous êtes dans un navigateur web, vous envoyez un signal contenant votre adresse IP au tracker qui choisira au hasard d'autres pairs auxquels il transmettra les informations. Voir ce document pour plus d'information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Les pairs Web ne sont pas accessibles au public : comme nous utilisons le transport par websocket, le protocole est différent du traqueur BitTorrent classique. Lorsque vous êtes dans un navigateur web, vous envoyez un signal contenant votre adresse IP au tracker qui choisira au hasard d'autres pairs auxquels il transmettra les informations. Voir ce document pour plus d'information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6455,8 +6437,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> qui conserve le son original, sans la vidéo + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> qui conserve le son original, sans la vidéo src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6527,9 +6509,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, visant une compatibilité maximale des appareils - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Estimer la capacité d'un serveur pour transcoder et diffuser des vidéos n'est pas simple et nous ne pouvons régler PeerTube automatiquement. @@ -6752,39 +6734,39 @@ channel with the same name ()! Delete Supprimer - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + viewers spectateurs - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views vues - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + removed from instance followers @@ -6888,158 +6870,158 @@ channel with the same name ()! Violent or Repulsive VIolent ou répugnant - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Haineux ou abusif - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam ou trompeur - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Visibilité - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Droit d'auteur - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Règles du serveur - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Vignettes - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Actions internes - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Supprimer le signalement - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Actions pour le compte marqué - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Marquer comme accepté - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Marquer comme rejeté - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Ajouter une note interne - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Actions pour cette vidéo - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Bloquer la vidéo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Vidéo bloquée. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Débloquer la vidéo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Vidéo débloquée. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Voulez-vous vraiment supprimer ce signalement ? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Signalement supprimé. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Commentaire supprimé - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Messages avec la personne qui a signalé - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Messages avec modérateurs - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Mise à jour de la note interne - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Passage du blocage vidéo au mode manuel - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. La vidéo est passé en blocage manuel. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Voulez-vous réellement débloquer cette vidéo ? Elle sera à nouveau disponible dans la liste des vidéos. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Débloquer - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Vidéo débloquée. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes oui @@ -7183,8 +7165,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube pense que l'IP publique de votre navigateur web est . + PeerTube thinks your web browser public IP is . + PeerTube pense que l'IP publique de votre navigateur web est . src/app/+admin/system/debug/debug.component.html 4 @@ -7231,16 +7213,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Vérifier la trust_proxy clé de configuration + Check the trust_proxy configuration key + Vérifier la trust_proxy clé de configuration src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Si vous exécutez PeerTube à l'aide de Docker, vérifiez que vous exécutez la commande reverse-proxy avec network_mode : "host" (voir issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7400,77 +7382,77 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Les vidéos seront supprimées, les commentaires seront marqués supprimés. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Bannir - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. L'utilisateur ne pourra plus se connecter, mais les vidéos et commentaires seront gardés tels quels. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Rétablir - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Définir l'adresse de courriel comme vérifiée - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Vous ne pouvez pas bannir l'utilisateur root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Voulez-vous vraiment rétablir utilisateur·ices ? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. utilisateur·rices rétablis. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Vous ne pouvez pas supprimer l'utilisateur·rice root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Si vous supprimez ces utilisateur·rices, vous ne pourrez plus en créer de nouveau avec le même nom ! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. utilisateur·ices supprimé·e·s. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. adresses de courriel d'utilisateurs.ices ont été vérifié.es. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Compte réactivé. @@ -7486,28 +7468,28 @@ channel with the same name ()! Videos history is enabled Historique de vidéos activé - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Historique de vidéos désactivé - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Supprimer l'historique de vidéos - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Êtes vous sur de vouloir supprimer toutes les vidéos de votre historique ? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Historique de vidéos supprimé - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Mon historique de visionnage @@ -7516,12 +7498,11 @@ channel with the same name ()!3 - Track watch history Garder trace des visionnages - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Changement de propriété accepté @@ -7538,8 +7519,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Votre adresse de courrier électronique actuelle est . Elle n'est jamais montrée au public. + Your current email is . It is never shown to the public. + Votre adresse de courrier électronique actuelle est . Elle n'est jamais montrée au public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7718,24 +7699,23 @@ channel with the same name ()! Unknown language Langue inconnue - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Trop de langues sont activées. Veuillez les activer toutes ou rester en dessous de 20 langues activées. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Paramètres vidéo mis à jour. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Mise à jour des paramètres d'affichage et de vidéo. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Chaîne vidéo créée. @@ -7753,7 +7733,7 @@ channel with the same name ()! Banner changed. - Banner changed. + La bannière a été changée. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 137 @@ -7761,7 +7741,7 @@ channel with the same name ()! banner - banner + bannière src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 144 @@ -7769,7 +7749,7 @@ channel with the same name ()! Banner deleted. - Banner deleted. + Bannière supprimée. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 154 @@ -7778,18 +7758,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Merci de saisir le nom de la chaîne vidéo ( ) pour confirmer - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Chaîne vidéo supprimée. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Vues pour la journée - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Mettre à jour une chaîne de vidéos @@ -7866,15 +7846,15 @@ channel with the same name ()! Do you really want to delete ? Souhaitez-vous vraiment supprimer ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Changer de propriétaire - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Liste de lecture supprimée. @@ -7893,15 +7873,15 @@ channel with the same name ()! Do you really want to delete videos? Souhaitez-vous vraiment supprimer vidéos ? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. vidéos supprimées. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Souhaitez-vous vraiment supprimer @@ -7915,9 +7895,9 @@ channel with the same name ()! Video deleted. La vidéo a été supprimée. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Requête de changement de propriété envoyée. @@ -7926,9 +7906,8 @@ channel with the same name ()! My channels Mes chaînes - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Mes listes de lecture @@ -7939,12 +7918,11 @@ channel with the same name ()!Mes abonnements src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Vous n'avez pas encore d'abonnement. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Mes signalements @@ -7978,9 +7956,9 @@ channel with the same name ()! max size taille max - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Agrandir l'éditeur @@ -8026,12 +8004,12 @@ channel with the same name ()! Subscribe to the account S'abonner à ce compte - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS - PLAYLISTS + LISTES DE LECTURE src/app/+video-channels/video-channels.component.ts 77 @@ -8093,8 +8071,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Impossible de récupérer les identifiants du Client OAuth : . Assurez-vous d'avoir correctement configuré PeerTube (dossier config/), en particulier la section "serveur web". src/app/core/auth/auth.service.ts99 @@ -8126,8 +8103,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language toute langue - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON SUR @@ -8136,23 +8113,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide cacher - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur flouter - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display afficher - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Inconnu - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Votre mot de passe a été réinitialisé avec succès ! @@ -8232,8 +8209,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Longue (> 10 min) + Long (> 10 min) + Longue (> 10 min) src/app/+search/search-filters.component.ts73 @@ -8255,21 +8232,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. L'index de recherche n'est pas disponible. Essayez plutôt avec les résultats de l'instance. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Erreur de recherche - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Recherche - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8432,7 +8409,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Signup limit must be greater than 1. Use -1 to disable it. - Signup limit must be greater than 1. Use -1 to disable it. + La limite d'inscription doit être supérieure à 1. Utilisez -1 pour la désactiver. src/app/shared/form-validators/custom-config-validators.ts 47 @@ -8865,8 +8842,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Voir la documentation pour apprendre à utiliser la fonctionnalité de direct de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Voir la documentation pour apprendre à utiliser la fonctionnalité de direct de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9366,17 +9343,18 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (page de la chaîne) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (page du compte) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis L'emphase @@ -9404,7 +9382,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Close search - Close search + Recherche approchée src/app/shared/shared-main/misc/simple-search-input.component.html 14 @@ -9466,19 +9444,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Compte rendu muet par votre instance. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Masquer le serveur - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Serveur masqué par votre instance. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Ajouter un message pour communiquer avec la personne qui a signalé @@ -9707,9 +9685,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Légendes - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Ce qui précède ne peut être vu que dans les légendes (veuillez décrire lesquelles). @@ -9783,8 +9761,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Modérateur - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Vidéo supprimée de @@ -9830,29 +9808,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Supprimer la vidéo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Actions pour le commentaire - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Supprimer le commentaire - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Souhaitez-vous vraiment supprimer ce commentaire ? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Commentaire supprimé. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Encodeur @@ -9899,26 +9877,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? Êtes-vous bien sûr·e de vouloir supprimer cette vidéo ? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Vidéo supprimée. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Actions pour le rapporteur - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Rendre silencieux le rapporteur - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Cette vidéo sera dupliquée par votre instance. @@ -9932,9 +9910,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Afficher les propriétés du direct - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Mise à jour @@ -9956,10 +9934,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Vous devez être <a href="/login">enregistré</a> pour évaluer cette vidéo. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Vous devez être <a href="/login">enregistré</a> pour évaluer cette vidéo. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Dupliquer @@ -9973,16 +9951,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Suppression - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Suppression & réécriture - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} - {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} + {VAR_PLURAL, plural, =0 {Commentaires} =1 {1 Comment} other { Commentaires}} src/app/+videos/+video-watch/comment/video-comments.component.html 4 @@ -9991,9 +9969,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Rendre muet le compte - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Ouvrir les actions vidéo @@ -10009,8 +9987,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Rendre muet le compte du serveur - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Signalement @@ -10059,29 +10037,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Publiée - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Publication prévue le - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding En attente de transcodage - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode À transcoder - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import À importer - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10105,23 +10085,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Seul moi peut voir cette vidéo - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Partageable uniquement via un lien privé - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Tout le monde peut voir cette vidéo - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Seuls les utilisateurs de cette instance peuvent voir cette vidéo - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + Close Fermer @@ -10331,14 +10311,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Votre quota vidéo est dépassé avec cette vidéo ( taille de la vidéo : , utilisé : , quota : ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Votre quota vidéo journalier est dépassé avec cette vidéo ( taille de la vidéo : , utilisé : , quota : ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10360,23 +10338,23 @@ video size: , used: Stop autoplaying next video Arrêter la lecture automatique de la prochaine vidéo - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Lecture automatique de la prochaine vidéo - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Arrêter la lecture en boucle des vidéos de la liste de lecture - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Lire en boucle les vidéos de la liste de lecture - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Image de remplacement @@ -10386,105 +10364,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Cette vidéo n'est pas disponible sur cette instance ? Voulez-vous être redirigé sur l'instance d'origine : <a href=""></a> ? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Cette vidéo n'est pas disponible sur cette instance ? Voulez-vous être redirigé sur l'instance d'origine : <a href=""></a> ? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Redirection - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Cette vidéo contient du contenu sensible. Êtes-vous sûr·e de vouloir la regarder ? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Contenu explicite ou sensible - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Suivant - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Annuler - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended La lecture automatique est suspendue - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Entrer/sortir du mode plein écran (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Lecture/Pause de la vidéo (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Désactiver/Activer le son de la vidéo (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Sauter à un pourcentage de la vidéo : 0 est 0 % et 9 est 90 % (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Augmenter le volume (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Diminuer le volume (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Avancer la vidéo (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Reculer la vidéo (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Augmenter la vitesse de lecture (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Diminuer la vitesse de lecture (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Naviguer dans la vidéo image par image (nécessite le focus sur le lecteur) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video J’aime cette vidéo - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Je n’aime pas cette vidéo - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Lorsque activée, la vidéo suivante est automatiquement lue après la vidéo en cours. From 38a564559a3d8f0736befc373755edecffdc8566 Mon Sep 17 00:00:00 2001 From: Berto Te Date: Thu, 6 May 2021 07:31:04 +0000 Subject: [PATCH 040/136] Translated using Weblate (Spanish) Currently translated at 100.0% (1846 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/es/ --- client/src/locale/angular.es-ES.xlf | 1698 +++++++++++++-------------- 1 file changed, 838 insertions(+), 860 deletions(-) diff --git a/client/src/locale/angular.es-ES.xlf b/client/src/locale/angular.es-ES.xlf index 1a1e65f6c..336bdaf66 100644 --- a/client/src/locale/angular.es-ES.xlf +++ b/client/src/locale/angular.es-ES.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. No tienes notificaciones. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - te menciona en el video + mentioned you on video + te menciona en el video src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Una nueva versión del complemento / temaestá disponible: + A new version of the plugin/theme is available: + Una nueva versión del complemento / temaestá disponible: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Una nueva versión de PeerTubeestá disponible: + A new version of PeerTube is available: + Una nueva versión de PeerTubeestá disponible: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Cambia tu avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Borrar avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history Mi historial de visionados - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Guardar a @@ -185,8 +183,8 @@ Options Opciones - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Empezar en @@ -358,8 +356,10 @@ Cancelar src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + No hay resultados. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -455,15 +455,15 @@ Blocked Bloqueado - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Sensible - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { vídeos}} @@ -489,10 +489,10 @@ Deleted Borrado - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at La edición comienza/termina en @@ -516,16 +516,15 @@ No results. Sin resultados. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Mejor @@ -540,10 +539,12 @@ Delete Eliminar - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Solo videos en vivo src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -584,8 +585,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que admite: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que admite: src/app/shared/shared-main/misc/help.component.ts75 @@ -837,8 +838,8 @@ User Usuario - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Expulsar @@ -934,16 +935,16 @@ Iniciar sesión src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Esta instancia permite el registro. Sin embargo, tenga cuidado de comprobar las CondicionesCondicionesantes de crear una cuenta. También puede buscar otra instancia que coincida con sus necesidades exactas en: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Esta instancia permite el registro. Sin embargo, tenga cuidado de comprobar las CondicionesCondicionesantes de crear una cuenta. También puede buscar otra instancia que coincida con sus necesidades exactas en: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actualmente, esta instancia no permite el registro de usuarios, puede marcar la Termspara obtener más detalles o busque una instancia que le brinde la posibilidad de registrarse para obtener una cuenta y cargar sus videos allí. Encuentre el suyo entre varias instancias en:https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actualmente, esta instancia no permite el registro de usuarios, puede marcar la Termspara obtener más detalles o busque una instancia que le brinde la posibilidad de registrarse para obtener una cuenta y cargar sus videos allí. Encuentre el suyo entre varias instancias en:https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1020,8 +1021,7 @@ Iniciar sesión src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Se enviará un correo electrónico con las instrucciones para restablecer la contraseña a . El enlace caducará en 1 hora. src/app/+login/login.component.ts121 @@ -1059,8 +1059,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - Para + for + Para src/app/+search/search.component.html 10 @@ -1132,8 +1132,8 @@ The link will expire within 1 hour. suscriptores - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! ¡Bienvenido a PeerTube, querido administrador! @@ -1387,9 +1387,9 @@ The link will expire within 1 hour. My videos Mis videos - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports EN MI BIBLIOTECA @@ -1887,48 +1887,54 @@ The link will expire within 1 hour. extensions extensiones - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Esta imagen es demasiado grande. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Subir un nuevo banner - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Cambia tu banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Quitar banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: relación 6/1, tamaño recomendado: 1600x266, tamaño máximo:, extensiones: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Avatar de la cuenta src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Avatar de canal src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Filtros avanzados src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2015,14 +2021,15 @@ The link will expire within 1 hour. Contains sensitive content Contiene contenido sensible src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Algunas instancias ocultan videos que contienen contenido explícito o para adultos de forma predeterminada. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Publicar después de la transcodificación @@ -2049,7 +2056,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Ya ha sido subido ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2293,9 +2300,9 @@ The link will expire within 1 hour. Total video quota Cuota total de vídeo - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. ¡Bien! Tu video ahora está disponible en tu biblioteca privada. @@ -2416,8 +2423,8 @@ The link will expire within 1 hour. Report this comment Informar sbre este comentario - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Compartir @@ -2663,23 +2670,22 @@ The link will expire within 1 hour. More information Más información - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos El video fue bloqueado debido al bloqueo automático de nuevos videos - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Ver más información @@ -2868,18 +2874,18 @@ The link will expire within 1 hour. Highlighted comment Comentario destacado - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Responder - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Este comentario ha sido eliminado - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Redundancias del vídeo @@ -2976,41 +2982,18 @@ The link will expire within 1 hour. Filter... Filtrar... - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Limpiar filtros - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Video/Comentario/Cuenta - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3019,8 +3002,8 @@ The link will expire within 1 hour. Follower handle Control de seguidor - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Estado @@ -3030,57 +3013,57 @@ The link will expire within 1 hour. Created Creado - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Abrir la página del actor en una pestaña nueva - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Aceptado - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Pendiente - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Aceptar - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Rechazar - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. No se han encontrado seguidores que coincidan con los filtros actuales. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Tu instancia no tiene ningún seguidor. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Mostrando a de seguidores - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3091,60 +3074,60 @@ The link will expire within 1 hour. Host Host - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redundancia permitida - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Dejar de seguir - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Abrir instancia en una pestaña nueva - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. No se ha encontrado ningún host que coincida con los filtros actuales. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Tu instancia no sigue a nadie. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Mostrando a de hosts - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Seguir dominios - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Seguir instancias - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Acción - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Vídeos redundantes @@ -3168,18 +3151,18 @@ The link will expire within 1 hour. Table parameters Parámetros de la tabla - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Seleccionar columnas - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Destacar a los usuarios prohibidos - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Nombre de usuario @@ -3287,60 +3270,59 @@ The link will expire within 1 hour. Hide Ocultar - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Acciones masivas - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned El usuario ha sido expulsado - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Abrir cuenta en una pestaña nueva - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Cuenta eliminada - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login Los usuarios deben validar su dirección de correo electrónico del usuario antes de conectarse - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification La dirección de correo electrónico del usuario ha sido verificada / El usuario puede conectarse sin verificación de dirección de correo electrónico - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Cuota de video diaria total - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Razón de la expulsión: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Usuarios prohibidos src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3416,15 +3398,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Vídeo - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Tamaño total @@ -3458,57 +3437,61 @@ The link will expire within 1 hour. Sensitive Sensible - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated No federado - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Fecha - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Seleccione esta fila - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Acciones - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Video comentado - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. No se encontraron comentarios que coincidan con los filtros actuales. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. No se encontraron comentarios. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Comentarios locales src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Comentarios remotos src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3517,38 +3500,48 @@ The link will expire within 1 hour. No abuses found matching current filters. No se encontraron abusos que coincidan con los filtros actuales. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. No se encontraron abusos. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Informes sin resolver src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Informes aceptados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Informes rechazados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Informes con videos bloqueados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Informes con videos eliminados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3557,25 +3550,29 @@ The link will expire within 1 hour. Block reason: Razón de bloqueo: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. No se encontraron videos bloqueados que coincidan con los filtros actuales. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. No se ha encontrado ningún video bloqueado. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Bloques automáticos src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Bloques manuales src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3584,8 +3581,8 @@ The link will expire within 1 hour. Showing to of blocked videos Mostrando a de vídeos bloqueados - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Informes @@ -3607,21 +3604,15 @@ The link will expire within 1 hour. Actualizar este comentario src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Notificador - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3632,41 +3623,41 @@ The link will expire within 1 hour. Video Vídeo - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Comentario - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Este video ha sido reportado varias veces. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked El vídeo ha sido bloqueado - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on por en - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted El vídeo ha sido eliminado - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Cuenta borrada - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Abrir vídeo en una pestaña nueva @@ -3675,38 +3666,38 @@ The link will expire within 1 hour. State Estado - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Mensajes - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Puntuación - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Mostrando a de informes - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Reportado src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3722,81 +3713,81 @@ The link will expire within 1 hour. Mute domain Silenciar dominio - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Instancia - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Silenciado en - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Dejar de silenciar - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. No se ha encontrado ningún servidor que coincida con los filtros actuales. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. No se ha encontrado ningún servidor. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Mostrando a de instancias silenciadas - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Parece que no estás en un servidor HTTPS. Su servidor web necesita tener TLS activado para seguir otros servidores. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Dominios silenciados - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Cuenta - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. No se ha encontrado ninguna cuenta que coincida con los filtros actuales. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. No se ha encontrado ninguna cuenta. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Lista de complementos instalados @@ -3856,10 +3847,10 @@ The link will expire within 1 hour. Settings Configuración - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Configuraciones de pantalla @@ -3868,8 +3859,8 @@ The link will expire within 1 hour. Uninstall Desinstalar - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Caliente @@ -3959,33 +3950,33 @@ The link will expire within 1 hour. Delete this comment Eliminar este comentario - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Eliminar todos los comentarios de esta cuenta - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Los comentarios se eliminan después de unos minutos - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. comentarios eliminados. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? ¿Realmente desea eliminar todos los comentarios de ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Los comlentarios de se eliminarán en unos minutos - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Comentarios de video @@ -4002,17 +3993,14 @@ The link will expire within 1 hour. Showing to of comments Mostrando del al de cmentarios - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Seleccionar todas las filas - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Tipo de trabajo @@ -4043,8 +4031,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioridad(1 =más alta prioridad) + Priority (1 = highest priority) + Prioridad(1 =más alta prioridad) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4064,8 +4052,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Ningún trabajo encontrado. + No jobs found. + Ningún trabajo encontrado. src/app/+admin/system/jobs/jobs.component.html108 @@ -4095,8 +4083,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Por-> + By -> + Por-> src/app/+admin/system/logs/logs.component.html46 @@ -4167,8 +4155,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Administrarusuariospara construir un equipo de moderación. + Manage users to build a moderation team. + Administrarusuariospara construir un equipo de moderación. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4180,8 +4168,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Habilitarlo permitirá que otros administradores sepan que principalmente está federando contenido sensible. Además, la casilla de verificación NSFW en la carga de video se marcará automáticamente de forma predeterminada. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Habilitarlo permitirá que otros administradores sepan que principalmente está federando contenido sensible. Además, la casilla de verificación NSFW en la carga de video se marcará automáticamente de forma predeterminada. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4191,15 +4179,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Política para los vídeos que contengan material sensible src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + ConOcultar o Desenfocar miniaturas, se solicitará una confirmación para ver el video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Difuminar miniaturas @@ -4316,8 +4304,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Utilizaplugins & temaspara cambios más complejos, o agregar ligeras personalizaciones. + Use plugins & themes for more involved changes, or add slight customizations. + Utilizaplugins & temaspara cambios más complejos, o agregar ligeras personalizaciones. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4429,8 +4417,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Gestionarusuariospara establecer su cuota individualmente. + Manage users to set their quota individually. + Gestionarusuariospara establecer su cuota individualmente. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4601,8 +4589,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Solo debe usar índices de búsqueda moderados en producción, o aloja tu propio. + You should only use moderated search indexes in production, or host your own. + Solo debe usar índices de búsqueda moderados en producción, o aloja tu propio. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4639,8 +4627,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Aministrarrelaciones con otras instancias. + Manage relations with other instances. + Aministrarrelaciones con otras instancias. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4679,8 +4667,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Verla documentaciónpara obtener más información sobre la URL esperada. + See the documentation for more information about the expected URL + Verla documentaciónpara obtener más información sobre la URL esperada. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4694,8 +4682,8 @@ The link will expire within 1 hour. Administrator Administrador - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Correo del administrador @@ -4740,8 +4728,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Si Twitter permite explícitamente su instancia, se incrustará un reproductor de video en el feed de Twitter en el video compartido de PeerTube.Si la instancia no lo es, usamos una tarjeta de enlace de imagen que lo redireccionará a su instancia de PeerTube.Marque esta casilla de verificación, guarde la configuración y pruebe con una URL de video de su instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver si su instancia está permitida. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Si Twitter permite explícitamente su instancia, se incrustará un reproductor de video en el feed de Twitter en el video compartido de PeerTube.Si la instancia no lo es, usamos una tarjeta de enlace de imagen que lo redireccionará a su instancia de PeerTube.Marque esta casilla de verificación, guarde la configuración y pruebe con una URL de video de su instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver si su instancia está permitida. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4788,8 +4776,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Máximo de vidas simultáneas creadas en su instancia (-1 para 'ilimitado') + Max simultaneous lives created on your instance (-1 for "unlimited") + Máximo de vidas simultáneas creadas en su instancia (-1 para 'ilimitado') src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4801,8 +4789,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - (-1 para 'ilimitado') (-1 para 'ilimitado') + Max simultaneous lives created per user (-1 for "unlimited") + (-1 para 'ilimitado') (-1 para 'ilimitado') src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4898,14 +4886,15 @@ The link will expire within 1 hour. Allow additional extensions Autorizar extensiones adicionales src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Permite a los usuarios subir vídeos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Permitir subir archivos de audio @@ -4945,8 +4934,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Requiere ffmpeg >= 4.1Genere listas de reproducción HLS y archivos MP4 fragmentados, lo que resulta en una mejor reproducción que con WebTorrent simple:Resolution change is smootherReproducción más rápida, especialmente con videos largosReproducción más estable (menos errores / carga infinita)Si también habilitó la compatibilidad con WebTorrent, multiplicará el almacenamiento de videos por 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requiere ffmpeg >= 4.1Genere listas de reproducción HLS y archivos MP4 fragmentados, lo que resulta en una mejor reproducción que con WebTorrent simple:Resolution change is smootherReproducción más rápida, especialmente con videos largosReproducción más estable (menos errores / carga infinita)Si también habilitó la compatibilidad con WebTorrent, multiplicará el almacenamiento de videos por 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5083,19 +5072,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Escribe código JavaScript directamente.Ejempo: console.log ('mi instancia es asombrosa'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Escribe código JavaScript directamente.Ejempo: console.log ('mi instancia es asombrosa'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - console.log ('mi instancia es asombrosa');:# custom-csscolor rojo; Anteponer con# custom-csspara anular estilos. Ejemplo:# custom-css .logged-in-email color rojo; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + console.log ('mi instancia es asombrosa');:# custom-csscolor rojo; Anteponer con# custom-csspara anular estilos. Ejemplo:# custom-css .logged-in-email color rojo; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5109,8 +5092,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Hay errores en el formulario: + There are errors in the form: + Hay errores en el formulario: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5224,14 +5207,15 @@ color: red; Default policy on videos containing sensitive content Política por defecto para vídeos que contengan material sensible src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + ConOcultar o Desenfocar miniaturasx , Se solicitará una confirmación para ver el video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Política para videos sensibles @@ -5295,32 +5279,31 @@ color: red; Seleccionar el próxima titular src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Última publicación primero - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Última creación primero - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Los más vistos primero - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Los más gustados primero - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first El más largo primero - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Aceptar la titularidad @@ -5393,9 +5376,11 @@ color: red; Create video channel Crear canal de video - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + No se encontró ningún canal. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5406,8 +5391,8 @@ color: red; suscriptores - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Por ejemplo: mi_canal @@ -5433,9 +5418,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Texto breve para decirle a las personas cómo pueden apoyar su canal (plataforma de membresía ...).<br /><br /> Cuando cargue un video en este canal, el campo de soporte de video se completará automáticamente con este texto. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Texto breve para decirle a las personas cómo pueden apoyar su canal (plataforma de membresía ...).<br /><br /> Cuando cargue un video en este canal, el campo de soporte de video se completará automáticamente con este texto. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5450,14 +5434,14 @@ color: red; suscriptores - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Subir un nuevo avatar - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Objetivo @@ -5491,25 +5475,25 @@ color: red; Channel page Página del canal - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Creado por - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Página de cuenta del propietario - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history - >Borrar historial - - src/app/+my-library/my-history/my-history.component.html17 + >Borrar historial + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Aún no tienes ningún video en tu historial de reproducciones. @@ -5581,8 +5565,8 @@ color: red; Create playlist Crear lista de reproducción - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Mis canales de video @@ -5596,15 +5580,14 @@ color: red; Playlist } deleted. Se eliminó la lista de reproducción } . - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Miniatura de la lista de reproducción src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. No hay videos en esta lista de reproducción. @@ -5677,14 +5660,15 @@ color: red; Video channel playlists Listas de reproducción de canales de video src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Administrar canal src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification @@ -5802,37 +5786,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 subscriber} other { suscriptores} } - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 video} other { videos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Mostrar este canal - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Ningún video} =1 {1 video} other { videos} } - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! ¿Realmente quieres eliminar ? Se eliminaránvideos subidos en este canal ¡y no podrás crear otro canal con el mismo nombre ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Mis Canales @@ -5848,19 +5830,19 @@ channel with the same name ()! See this video channel Ver este canal de vídeo - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Este canal no tiene videos. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - MOSTRAR ESTE CANAL > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + MOSTRAR ESTE CANAL > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Estadísticas @@ -6111,8 +6093,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Las coparticipaciones web (peers) no son de acceso público: debido a que usamos el transporte websocket, el protocolo es diferente del rastreador clásico de BitTorrent. Cuando está en un navegador web, envía una señal que contiene su dirección IP al rastreador que elegirá aleatoriamente a otros pares para reenviar la información. Ver este documento para obtener mas información + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Las coparticipaciones web (peers) no son de acceso público: debido a que usamos el transporte websocket, el protocolo es diferente del rastreador clásico de BitTorrent. Cuando está en un navegador web, envía una señal que contiene su dirección IP al rastreador que elegirá aleatoriamente a otros pares para reenviar la información. Ver este documento para obtener mas información src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6329,7 +6311,7 @@ channel with the same name ()! I am at least 16 years old and agree to the Terms and to the Code of Conduct of this instance - Tengo al menos 16 años y estoy de acuerdo con >Condicionesy a la Código de Conducta de esta instancia + Tengo al menos 16 años y estoy de acuerdo con >Condicionesy a la Código de Conducta de esta instancia src/app/+signup/+register/register-step-terms.component.html6 @@ -6436,8 +6418,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> que mantiene la pista de audio original, sin video + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> que mantiene la pista de audio original, sin video src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6508,9 +6490,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, apuntando a la máxima compatibilidad del dispositivo - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Calcular la capacidad de un servidor para transcodificar y transmitir videos no es fácil y no podemos sintonizar PeerTube automáticamente. @@ -6735,39 +6717,39 @@ channel with the same name ()! Delete Eliminar - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + viewers visores - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views vistas - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + removed from instance followers @@ -6871,158 +6853,158 @@ channel with the same name ()! Violent or Repulsive Violento o repulsivo - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Odioso o abusivo - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam o engañoso - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Privacidad - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Copyright - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Reglas del servidor - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Miniaturas - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Acciones internas - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Eliminar informe - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Acciones para la cuenta marcada - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Marcar como aceptado - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Marcar como rechazado - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Agregar nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Acciones para el video - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Bloquear video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Video bloqueado. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Desbloquear video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Video desbloqueado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? ¿Confirma la eliminación del reporte de abuso? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Reporte de abuso eliminado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Comentario eliminado - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Mensajes con reportero - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Mensajes con moderadores - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Actualizar nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Cambiar el bloqueo de video a manual - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Video cambiado a bloqueo manual. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. ¿De verdad quieres desbloquear este video? Estará disponible nuevamente en la lista de videos. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Desbloquear - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Video desbloqueado. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes Si @@ -7166,8 +7148,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube cree que la IP pública de su navegador web es. + PeerTube thinks your web browser public IP is . + PeerTube cree que la IP pública de su navegador web es. src/app/+admin/system/debug/debug.component.html 4 @@ -7214,16 +7196,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Comprobar eltrust_proxyclave de configuración + Check the trust_proxy configuration key + Comprobar eltrust_proxyclave de configuración src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Si ejecuta PeerTube con Docker, compruebe que ejecuta elreverse-proxy connetwork_mode: "host" (verasunto 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Si ejecuta PeerTube con Docker, compruebe que ejecuta elreverse-proxy connetwork_mode: "host" (verasunto 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7383,77 +7365,77 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Los videos serán eliminados, los comentarios serán destruidos. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Prohibición - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. El usuario ya no podrá iniciar sesión, pero los videos y comentarios se mantendrán tal cual. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Dejar sin efecto la expulsión - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Establecer la dirección de correo electrónico como Verificada - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. No puede expulsar al root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? ¿Confirma dejar sin efecto la expulsión de usuarios? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. usuarios expulsados. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. No puedes eliminar al root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! ¡Si elimina estos usuarios, no será posible crear otros con el mismo nombre de usuario! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. usuarios eliminados. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. direcciones de correo electrónico de usuarios establecidas como verificadas. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. La cuenta ya no está silenciada. @@ -7469,28 +7451,28 @@ channel with the same name ()! Videos history is enabled El historial de vídeos está habilitado - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled El historial de vídeos está deshabilitado - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Eliminar el historial de vídeos - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? ¿Confirma la eliminación de todo su historial de vídeos? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Historial de vídeos eliminado - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Mi historial de visionado @@ -7499,12 +7481,11 @@ channel with the same name ()!3 - Track watch history Seguimiento del historial de visionados - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Titularidad aceptada @@ -7521,8 +7502,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is .Nunca se muestra al público. + Your current email is . It is never shown to the public. + Your current email is .Nunca se muestra al público. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7701,24 +7682,23 @@ channel with the same name ()! Unknown language Idioma desconocido - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Hay demasiados idiomas habilitados. Habilítelos todos o permanezca por debajo de los 20 idiomas habilitados. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Configuración de video actualizada. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Configuración de pantalla/ video actualizada. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Canal de vídeo creado. @@ -7761,18 +7741,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Escriba el nombre para mostrar del canal de video ( ) para confirmar - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Canal de vídeo eliminado. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Vistas para el día - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Actualizar canal de video @@ -7849,15 +7829,15 @@ channel with the same name ()! Do you really want to delete ? ¿De verdad quieres eliminar ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Cambiar propietario - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Lista de reproducción eliminada. @@ -7876,15 +7856,15 @@ channel with the same name ()! Do you really want to delete videos? ¿De verdad quieres eliminar vídeos? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. vídeos eliminados. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? ¿De verdad quieres eliminar @@ -7898,9 +7878,9 @@ channel with the same name ()! Video deleted. Vídeo eliminado. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Solicitud de cambio de titularidad enviada. @@ -7909,9 +7889,8 @@ channel with the same name ()! My channels Mis canales - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Mis listas de reproducción @@ -7922,12 +7901,11 @@ channel with the same name ()!Mis suscripciones src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Aún no tienes ninguna suscripción. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Mis informes de abuso @@ -7961,9 +7939,9 @@ channel with the same name ()! max size tamaño máximo - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Maximizar editor @@ -8009,9 +7987,9 @@ channel with the same name ()! Subscribe to the account Suscribirse a la cuenta - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS LISTAS DE REPRODUCCIÓN @@ -8076,8 +8054,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. No se pueden recuperar las credenciales del cliente OAuth: . Asegúrese de haber configurado correctamente PeerTube (config / directorio), en particular la sección "servidor web". src/app/core/auth/auth.service.ts99 @@ -8109,8 +8086,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language cualquier idioma - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON EN @@ -8119,23 +8096,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide esconder - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur difuminar - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display monitor - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Desconocido - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! ¡Tu contraseña ha sido restablecida con éxito! @@ -8215,8 +8192,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Largo (> 10 min) + Long (> 10 min) + Largo (> 10 min) src/app/+search/search-filters.component.ts73 @@ -8238,21 +8215,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. El índice de búsqueda no está disponible. Reintentando con resultados de instancia en su lugar. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Error de búsqueda - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Buscar - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8850,8 +8827,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See la documentaciónpara aprender a usar la función de transmisión en vivo de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + See la documentaciónpara aprender a usar la función de transmisión en vivo de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9351,17 +9328,18 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (página del canal) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (página de cuenta) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Énfasis @@ -9451,19 +9429,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Cuenta silenciada por la instancia. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Servidor silenciado - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Servidor silenciado por la instancia. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Agrega un mensaje para comunicarte con el reportero @@ -9692,9 +9670,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Subtítulos - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Lo anterior solo se puede ver en subtítulos (describa cuál). @@ -9768,8 +9746,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Moderador - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Video eliminado de @@ -9815,29 +9793,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Eliminar video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Acciones para el comentario - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Eliminar comentario - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? ¿Realmente quieres eliminar este comentario? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Comentario borrado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Codificador @@ -9884,26 +9862,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? ¿De verdad quieres eliminar este vídeo? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Video eliminado. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Acciones para el reportero - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Silenciar el reportero - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Este video será duplicado por su instancia. @@ -9917,9 +9895,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Mostrar información en vivo - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Actualizar @@ -9941,10 +9919,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Debes <a href="/login"> iniciar sesión </a> para calificar este video. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Debes <a href="/login"> iniciar sesión </a> para calificar este video. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Espejo @@ -9958,13 +9936,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Eliminar - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Eliminar & volver a redactar - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Comentarios} =1 {1 Comentario} other { Comentarios}} @@ -9976,9 +9954,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Silenciar cuenta - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Abrir acciones de video @@ -9994,8 +9972,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Silenciar la cuenta del servidor - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Reportar @@ -10044,29 +10022,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Publicado - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Publicación programada para - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Esperando transcodificación - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Para transcodificar - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Importar - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10090,23 +10070,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Soy el único que pueda ver este vídeo - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Solo se puede compartir a través de un enlace privado - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Todos pueden ver este vídeo - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Solo los usuarios de esta instancia pueden ver este video - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + Close Cerrar @@ -10316,14 +10296,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Su cuota de video se excedió con este video (tamaño de video:, usado: , cuota: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Su cuota de video diaria se excede con este video (tamaño de video:, usado: , cuota: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10345,23 +10323,23 @@ video size: , used: Stop autoplaying next video Dejar de reproducir automáticamente el siguiente video - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Reproducción automática del siguiente video - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Deja de reproducir videos de la lista de reproducción - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Videos del bucle de reproducción - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Imagen de marcador de posición @@ -10371,105 +10349,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Este video no está disponible en esta instancia. ¿Quieres ser redirigido a la instancia de origen: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Este video no está disponible en esta instancia. ¿Quieres ser redirigido a la instancia de origen: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Redirección - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Este vídeo contiene material para adultos o explícito. ¿Seguro que lo quieres ver? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Contenido para adultos o explícito - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Hasta la siguiente - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Cancelar - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended La reproducción automática está suspendida - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Entrar/salir de pantalla completa (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Reproducir / Pausar el video (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Silenciar / activar el video (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Salte a un porcentaje del video: 0 es 0% y 9 es 90% (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Aumenta el volumen (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Disminuye el volumen (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Buscar el video hacia adelante (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Busque el video hacia atrás (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Aumentar la velocidad de reproducción (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Disminuir la velocidad de reproducción (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Navegue en el video cuadro por cuadro (requiere foco en el reproductor) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Colocar Me gusta a este vídeo - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Eliminar Me gusta de este vídeo - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Cuando está activo, el siguiente video se reproduce automáticamente después del actual. From c5742bcaf997fb4c1b2c55a28a48ef01df3307bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?jos=C3=A9=20m?= Date: Thu, 6 May 2021 04:01:41 +0000 Subject: [PATCH 041/136] Translated using Weblate (Galician) Currently translated at 100.0% (1846 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/gl/ --- client/src/locale/angular.gl-ES.xlf | 1694 +++++++++++++-------------- 1 file changed, 836 insertions(+), 858 deletions(-) diff --git a/client/src/locale/angular.gl-ES.xlf b/client/src/locale/angular.gl-ES.xlf index 3c299d81e..4f22740ee 100644 --- a/client/src/locale/angular.gl-ES.xlf +++ b/client/src/locale/angular.gl-ES.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Non tes notificacións. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - mencionoute en vídeo + mentioned you on video + mencionoute en vídeo src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Unha nova versión do complemento/decorado está dispoñible: + A new version of the plugin/theme is available: + Unha nova versión do complemento/decorado está dispoñible: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Nova versión de PeerTube dispoñible: + A new version of PeerTube is available: + Nova versión de PeerTube dispoñible: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Cambiar o avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Eliminar avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history Historial de visualizacións - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Gardar en @@ -185,8 +183,8 @@ Options Opcións - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Iniciar en @@ -358,8 +356,10 @@ Cancelar src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + Sen resultados. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -455,15 +455,15 @@ Blocked Bloqueado - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Sensible - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 vídeo} other { vídeos}} @@ -489,10 +489,10 @@ Deleted Eliminado - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at A edición inicia/para en @@ -516,16 +516,15 @@ No results. Sin resultados. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best A mellor @@ -540,10 +539,12 @@ Delete Eliminar - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Só vídeos en directo src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -584,8 +585,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que soporta: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que soporta: src/app/shared/shared-main/misc/help.component.ts75 @@ -837,8 +838,8 @@ User Usuaria - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Vetar @@ -935,16 +936,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Esta instancia ten o rexistro aberto. Non obstante, pon tino en comprobar TermosOs Termos antes de crear unha conta. Podes atopar outra instancia máis acorde ás túas necesidades en: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Esta instancia ten o rexistro aberto. Non obstante, pon tino en comprobar TermosOs Termos antes de crear unha conta. Podes atopar outra instancia máis acorde ás túas necesidades en: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actualmente esta instancia non permite abrir unha conta, podes ler os Termos para saber máis ou atopar outra instancia co rexistro aberto e poder subir alí os teus vídeos. Atopa a túa entre varias opcións en: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actualmente esta instancia non permite abrir unha conta, podes ler os Termos para saber máis ou atopar outra instancia co rexistro aberto e poder subir alí os teus vídeos. Atopa a túa entre varias opcións en: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1021,8 +1022,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Enviaremos un email con instruccións para o restablecemento a . A ligazón caduca nunha hora. src/app/+login/login.component.ts121 @@ -1060,8 +1060,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - para + for + para src/app/+search/search.component.html 10 @@ -1133,8 +1133,8 @@ The link will expire within 1 hour. subscritoras - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Benvida administradora de PeerTube! @@ -1390,9 +1390,9 @@ The link will expire within 1 hour. My videos Vídeos - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Vídeos importados @@ -1892,48 +1892,54 @@ The link will expire within 1 hour. extensions extensións - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Esta imaxe é demasiado grande. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Subir unha nova cabeceira - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Cambia a túa cabeceira - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Elimina a cabeceira - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: proporción 6/1, tamaño recomendable: 1600x266, tamaño máx: , extensións: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Avatar da conta src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Avatar da canle src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Filtros avanzados src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2020,14 +2026,15 @@ The link will expire within 1 hour. Contains sensitive content Contén contido sensible src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Algunhas instancias agochan por defecto os vídeos que teñen contido adulto ou explícito. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Publicar tras transcodificar @@ -2054,7 +2061,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Xa subido ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2298,9 +2305,9 @@ The link will expire within 1 hour. Total video quota Cota total de vídeo - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. Parabéns! O vídeo xa está dispoñible na túa biblioteca privada. @@ -2421,8 +2428,8 @@ The link will expire within 1 hour. Report this comment Denuncia este comentario - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Comparte @@ -2673,23 +2680,22 @@ The link will expire within 1 hour. More information Máis información - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Este vídeo foi bloqueado pola función de bloqueo automático de novos vídeos - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Máis información @@ -2878,18 +2884,18 @@ The link will expire within 1 hour. Highlighted comment Comentario destacado - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Responde - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Eliminouse o comentario - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Redundancias do vídeo @@ -2986,41 +2992,18 @@ The link will expire within 1 hour. Filter... Filtrar... - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Eliminar filtros - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Vídeo/Comentario/Conta - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3029,8 +3012,8 @@ The link will expire within 1 hour. Follower handle Xestión da seguidora - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Estado @@ -3040,57 +3023,57 @@ The link will expire within 1 hour. Created Creado - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Abrir páxina do actor noutra lapela - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Aceptado - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Pendente - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Aceptar - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Rexeitar - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Non hai seguidoras que concorden cos filtros actuais. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. A túa instancia non ten seguidoras. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Mostrando a de seguidoras - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3099,60 +3082,60 @@ The link will expire within 1 hour. Host Servidor - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redundancia permitida - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Deixar de seguir - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Abrir instancia en nova lapela - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Non se atoparon servidores co criterio do filtro. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. A túa instancia non segue a ninguén. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Mostrando a de servidores - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Seguir dominios - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Seguir instancias - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Acción - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Redundancias de vídeos @@ -3176,18 +3159,18 @@ The link will expire within 1 hour. Table parameters Parámetros da táboa - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Escoller columnas - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Resaltar usuarias bloqueadas - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Nome de usuaria @@ -3295,60 +3278,59 @@ The link will expire within 1 hour. Hide Agochar - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Accións en grupo - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned Esta usuaria foi bloqueada - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Abrir conta nunha nova lapela - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Conta eliminada - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login O email da usuaria debe ser verificado para conectarse - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification Email da usuaria verificado / A usuaria pode conectar sen verificar o email - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Cota diaria total de vídeo - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Razón do bloqueo: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Usuarias bloqueadas src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3424,15 +3406,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Vídeo - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Tamaño total @@ -3466,57 +3445,61 @@ The link will expire within 1 hour. Sensitive Sensible - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Non federado - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Data - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Escoller esta fila - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Accións - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Vídeo comentado - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Sen comentarios que cumpran cos filtros actuais. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Non hai comentarios. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Comentarios locais src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Comentarios remotos src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3525,38 +3508,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Non se atoparon abusos concordantes cos filtros establecidos. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Sen abusos atopados. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Denuncias non resoltas src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Denunicas aceptadas src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Denuncias rexeitadas src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Denuncias con vídeos bloqueados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Denuncias con vídeos eliminados src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3565,25 +3558,29 @@ The link will expire within 1 hour. Block reason: Razón do bloqueo: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Sen videos bloqueados atopados que cumpran cos filtros actuais. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Sen vídeo bloqueado atopado. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Bloqueos automáticos src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Bloqueos manuais src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3592,8 +3589,8 @@ The link will expire within 1 hour. Showing to of blocked videos Mostrando a de vídeos bloqueados - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Denuncias @@ -3615,21 +3612,15 @@ The link will expire within 1 hour. Actualiza este comentario src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Denunciante - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3640,41 +3631,41 @@ The link will expire within 1 hour. Video Vídeo - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Comentar - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Este vídeo foi denunciado en múltiples ocasións. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked O vídeo foi bloqueado - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on por o - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted O vídeo foi eliminado - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Conta eliminada - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Abir vídeo nunha nova lapela @@ -3683,38 +3674,38 @@ The link will expire within 1 hour. State Estado - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Mensaxes - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Valoración - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Mostrando to de denuncias - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Denunciante src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3730,81 +3721,81 @@ The link will expire within 1 hour. Mute domain Acalar dominio - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Instancia - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Acalado o - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Reactivar - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Sen servidores que pasen os filtros actuais. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Non se atopa servidor. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Mostrando a de instancias acaladas - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Semella que non estás nun servidor HTTPS. O teu servidor web precisa ter TLS activado para poder seguir servidores. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Acalar dominios - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Conta - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Sen contas que cumpran cos filtros establecidos. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Non se atopan contas. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Lista de plugins instalados @@ -3864,10 +3855,10 @@ The link will expire within 1 hour. Settings Axustes - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Axustes da visualización @@ -3876,8 +3867,8 @@ The link will expire within 1 hour. Uninstall Desinstalar - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot En voga @@ -3967,33 +3958,33 @@ The link will expire within 1 hour. Delete this comment Elimina este comentario - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Elimina tódolos comentarios desta conta - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Os comentarios son eliminados após poucos minutos - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. comentarios eliminados. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Queres eliminar tódolos comentarios de ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Os comentarios de eliminaranse nuns minutos - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Comentarios do vídeo @@ -4010,17 +4001,14 @@ The link will expire within 1 hour. Showing to of comments Mostrando a de comentarios - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Escoller tódalas filas - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Tipo de tarefa @@ -4051,8 +4039,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioridade (1 = a prioridade máis alta) + Priority (1 = highest priority) + Prioridade (1 = a prioridade máis alta) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4072,8 +4060,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Non se atoparon tarefas. + No jobs found. + Non se atoparon tarefas. src/app/+admin/system/jobs/jobs.component.html108 @@ -4103,8 +4091,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Por -> + By -> + Por -> src/app/+admin/system/logs/logs.component.html46 @@ -4175,8 +4163,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Xestionar usuarias para crear equipo de moderación. + Manage users to build a moderation team. + Xestionar usuarias para crear equipo de moderación. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4188,8 +4176,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Activándoo permitirás que outras administradoras saiban que principalmente federas contido sensible. Ademáis, incluirá automáticamente a marca NSFW na subida do vídeo. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Activándoo permitirás que outras administradoras saiban que principalmente federas contido sensible. Ademáis, incluirá automáticamente a marca NSFW na subida do vídeo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4199,15 +4187,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Política para os vídeos con contido sensible src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Emborrar icona @@ -4324,8 +4312,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Usa complementos & decorados para cambios máis relevantes, ou engade pequenas personalizacións. + Use plugins & themes for more involved changes, or add slight customizations. + Usa complementos & decorados para cambios máis relevantes, ou engade pequenas personalizacións. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4437,8 +4425,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Xestionar usuarias para establecer a súa cota individualmente. + Manage users to set their quota individually. + Xestionar usuarias para establecer a súa cota individualmente. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4609,8 +4597,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Só deberías usar índices de busca moderados en produción, ou hospedar o teu propio. + You should only use moderated search indexes in production, or host your own. + Só deberías usar índices de busca moderados en produción, ou hospedar o teu propio. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4647,8 +4635,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Xestionar relacións con outras instancias. + Manage relations with other instances. + Xestionar relacións con outras instancias. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4687,8 +4675,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Le a documentación para saber máis acerca do URL agardado. + See the documentation for more information about the expected URL + Le a documentación para saber máis acerca do URL agardado. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4702,8 +4690,8 @@ The link will expire within 1 hour. Administrator Administración - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Correo-e da Admin @@ -4748,8 +4736,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Se a túa instancia está explícitamente aprobada por Twitter, aparecerá un reprodutor incrustado na cronoloxía de Twitter cando se comparta un vídeo de PeerTube. Se a instancia non o está, usamos unha imaxe tipo tarxeta que redirixe á túa instancia PeerTube. Marca este cadro, garda a configuración e comproba se funciona cun vídeo da túa instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver se a túa instancia está permitida. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Se a túa instancia está explícitamente aprobada por Twitter, aparecerá un reprodutor incrustado na cronoloxía de Twitter cando se comparta un vídeo de PeerTube. Se a instancia non o está, usamos unha imaxe tipo tarxeta que redirixe á túa instancia PeerTube. Marca este cadro, garda a configuración e comproba se funciona cun vídeo da túa instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver se a túa instancia está permitida. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4796,8 +4784,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Número máximo de directos simultáneos permitidos na túa instancia (-1 para "sen límite") + Max simultaneous lives created on your instance (-1 for "unlimited") + Número máximo de directos simultáneos permitidos na túa instancia (-1 para "sen límite") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4809,8 +4797,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Número máximo de directos simultáneos por usuaria (-1 para "sen límite") + Max simultaneous lives created per user (-1 for "unlimited") + Número máximo de directos simultáneos por usuaria (-1 para "sen límite") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4906,14 +4894,15 @@ The link will expire within 1 hour. Allow additional extensions Permitir extensións adicionais src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Permitir que as usuarias suban vídeos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Permitir a subida de ficheiros de audio @@ -4953,8 +4942,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Require ffmpeg >= 4.1Crear listas HLS e ficheiros MP4 fragmentados resultando nunha mellor reprodución que con WebTorrent plano:O cambio de resolución é máis suaveReprodución máis rápida especialmente cos vídeos longosReprodución máis estable (menos fallos/carga infinita)Se tamén activaches o soporte WebTorrent, multiplicarás a almacenaxe dos vídeos por 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Require ffmpeg >= 4.1Crear listas HLS e ficheiros MP4 fragmentados resultando nunha mellor reprodución que con WebTorrent plano:O cambio de resolución é máis suaveReprodución máis rápida especialmente cos vídeos longosReprodución máis estable (menos fallos/carga infinita)Se tamén activaches o soporte WebTorrent, multiplicarás a almacenaxe dos vídeos por 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5091,19 +5080,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Escribir código JavaScript directamente.Examplo: console.log('teño unha instancia que é un primor'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Escribir código JavaScript directamente.Examplo: console.log('teño unha instancia que é un primor'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Escribir código CSS directamente. Examplo:#custom-css color: red; Anteceder con #custom-css para sobrescribir estilos. Exemplo:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Escribir código CSS directamente. Examplo:#custom-css color: red; Anteceder con #custom-css para sobrescribir estilos. Exemplo:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5117,8 +5100,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Hai erros no formulario: + There are errors in the form: + Hai erros no formulario: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5232,14 +5215,15 @@ color: red; Default policy on videos containing sensitive content Política por defecto para vídeos con contido sensible src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Política para vídeos sensibles @@ -5303,32 +5287,31 @@ color: red; Elixe a nova propietaria src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Primeiro últimos publicados - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Primeiro últimos creados - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Primeiro os máis vistos - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Primeiro os máis gustados - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Primeiro os máis longos - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Aceptar a propiedade @@ -5399,9 +5382,11 @@ color: red; Create video channel Crear canle de vídeo - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + Non se atopan canles. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5412,8 +5397,8 @@ color: red; suscritoras - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Exemplo: a_miña_canle @@ -5439,9 +5424,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Texto curto para dar a coñecer o xeito en que poden apoiar a túa canle (plataformas de mebresía...).<br /><br /> Cando subas un vídeo a esta canle, o campo de apoio ó vídeo completarase automáticamente co texto aquí escrito. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Texto curto para dar a coñecer o xeito en que poden apoiar a túa canle (plataformas de mebresía...).<br /><br /> Cando subas un vídeo a esta canle, o campo de apoio ó vídeo completarase automáticamente co texto aquí escrito. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5454,14 +5438,14 @@ color: red; subscribers subscritoras - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Subir un novo avatar - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Obxetivo @@ -5495,25 +5479,25 @@ color: red; Channel page Páxina da canle - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Creada por - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Páxina da dona da conta - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Borrar historial - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Aínda non tes vídeos no teu historial de visualización. @@ -5585,8 +5569,8 @@ color: red; Create playlist Crear listaxe - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels As miñas canles @@ -5600,15 +5584,14 @@ color: red; Playlist } deleted. Lista } eliminada. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Miniatura da lista src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Sen vídeos nesta listaxe. @@ -5674,14 +5657,15 @@ color: red; Video channel playlists Listas da canle src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Xestionar canle src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification Solicita un email para verificar a conta @@ -5797,37 +5781,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 subscritora} other { subscritoras}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 vídeo} other { vídeos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Mostrar esta canle - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Sen vídeos} =1 {1 vídeo} other { vídeos}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Desexas eliminar ? Así eliminarás vídeos subidos a esta canle, e non poderás volver a crear outra canle co mesmo nome ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels As miñas Canles @@ -5843,19 +5825,19 @@ channel with the same name ()! See this video channel Ver esta canle de vídeo - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Esta canle non ten vídeos. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - MOSTRAR ESTA CANLE > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + MOSTRAR ESTA CANLE > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Estatísticas @@ -6106,8 +6088,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Os parceiros da web non son públicamente accesibles: porque usamos websocket transport, o protocolo é diferente ó clásico rastrexador BitTorrent. Cando usas un navegador web, envías ó rastrexador un sinal que contén o teu enderezo IP que escollerá aleatoriamente outros parceiros ós que enviar a información. Le este documento para ter máis información + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Os parceiros da web non son públicamente accesibles: porque usamos websocket transport, o protocolo é diferente ó clásico rastrexador BitTorrent. Cando usas un navegador web, envías ó rastrexador un sinal que contén o teu enderezo IP que escollerá aleatoriamente outros parceiros ós que enviar a información. Le este documento para ter máis información src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6431,8 +6413,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> que mantén o audio orixinal, sen vídeo + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> que mantén o audio orixinal, sen vídeo src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6503,9 +6485,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, co obxectivo da mellor compatibilidade con dispositivos - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Non é doado estimar as capacidades do servidor para transcodificar e retransmitir vídeos e non podemos axustar PeerTube automáticamente. @@ -6724,39 +6706,39 @@ channel with the same name ()! Delete Eliminar - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + viewers espectadoras - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views visualizacións - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + removed from instance followers eliminada das seguidoras da instancia @@ -6856,158 +6838,158 @@ channel with the same name ()! Violent or Repulsive Violento ou Desagradable - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Odioso ou Abusivo - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam ou Enganoso - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Privacidade - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Copyright - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Regras do servidor - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Miniaturas - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Accións internas - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Eliminar denuncia - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Accións para a conta marcada - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Marcar como aceptada - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Marcar como rexeitada - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Engadir nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Accións para o vídeo - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Bloquear vídeo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Vídeo bloqueado. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Desbloquear vídeo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Vídeo desbloqueado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Desexas eliminar esta denuncia por abuso? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Abuso eliminado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Comentario eliminado - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Mensaxes por denunciante - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Mensaxe con moderadoras - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Actualizar nota interna - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Cambiar bloqueo do vídeo a manual - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Vídeo cambiado a bloqueo manual. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Queres desbloquear este vídeo? Volverá a estar dispoñible na lista de vídeos. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Desbloquear - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Vídeo desbloqueado. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes si @@ -7143,8 +7125,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube cre que o IP do teu navegador é . + PeerTube thinks your web browser public IP is . + PeerTube cre que o IP do teu navegador é . src/app/+admin/system/debug/debug.component.html 4 @@ -7191,16 +7173,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Comproba a chave de configuración do trust_proxy + Check the trust_proxy configuration key + Comproba a chave de configuración do trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Se instalaches PeerTube usando Docker, executa o reverse-proxy con network_mode: "host" (ler issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Se instalaches PeerTube usando Docker, executa o reverse-proxy con network_mode: "host" (ler issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7360,71 +7342,71 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Os vídeos serán eliminados, os comentarios serán soterrados. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Vetar - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. A usuaria non poderá conectarse, pero os vídeos e comentarios permanecerán visibles. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Levantar veto - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Establecer email como Verificado - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Non podes vetar a root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Quéreslle levantar o veto a usuarias? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. usuarias sen veto. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Non podes eliminar a root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Se eliminas estas usuarias, non poderás crear outras co mesmo nome de usuaria! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. usuarias eliminadas. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. email de usuaria marcado como verificado. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Conta xa non está acalada. @@ -7440,28 +7422,28 @@ channel with the same name ()! Videos history is enabled O historial dos vídeos está activado - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled O historial dos vídeos está desactivado - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Eliminar historial dos vídeos - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Queres eliminar todo o historial dos teus vídeos? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Historial dos vídeos eliminado - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history O meu historial @@ -7470,12 +7452,11 @@ channel with the same name ()!3 - Track watch history Seguir historial de visualización - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Propiedade aceptada @@ -7492,8 +7473,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - O teu email actual . Non se mostra públicamente. + Your current email is . It is never shown to the public. + O teu email actual . Non se mostra públicamente. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7672,24 +7653,23 @@ channel with the same name ()! Unknown language Idioma descoñecido - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Hai demasiados idiomas activados. Por favor, actívaos todos ou deixa menos de 20 idiomas activos. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Actualizados os axustes de vídeo. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Axustes Reprodución/Vídeo gardados. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Creada a canle de vídeo . @@ -7732,18 +7712,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Escribe o nome a mostrar para a canle de vídeo () para confirmar - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Eliminada a canle de vídeo . - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Visualizacións do día - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Actualizar canle de vídeo @@ -7820,15 +7800,15 @@ channel with the same name ()! Do you really want to delete ? Desexas eliminar ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Cambiar a propiedade - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Lista eliminada. @@ -7847,13 +7827,13 @@ channel with the same name ()! Do you really want to delete videos? Desexas eliminar vídeos? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. vídeos eliminados. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Desexas eliminar ? @@ -7865,9 +7845,9 @@ channel with the same name ()! Video deleted. Vídeo eliminado. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Enviouse a solicitude de cambio de propiedade. @@ -7876,9 +7856,8 @@ channel with the same name ()! My channels Canles - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Listaxes @@ -7889,12 +7868,11 @@ channel with the same name ()!Subscricións src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Aínda non tes subscricións. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Denuncias por abuso @@ -7928,9 +7906,9 @@ channel with the same name ()! max size Tamaño máx. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Maximizar editor @@ -7976,9 +7954,9 @@ channel with the same name ()! Subscribe to the account Subscribirse á conta - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS LISTAXES @@ -8043,8 +8021,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Non se poden obter as credenciais OAuth Client: . Asegúrate de ter configurado correctamente PeerTube (config/ directory), en particular a sección "webserver". src/app/core/auth/auth.service.ts99 @@ -8076,8 +8053,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language tódolos idiomas - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON EN @@ -8086,23 +8063,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide agochar - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur esborranchar - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display mostrar - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Descoñecido - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Restableceuse correctamente o contrasinal! @@ -8182,8 +8159,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Longo (> 10 min) + Long (> 10 min) + Longo (> 10 min) src/app/+search/search-filters.component.ts73 @@ -8205,21 +8182,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. Non está dispoñible a busca no índice, intentándoo cos resultados na instancia. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Erro na busca - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Buscar - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8793,8 +8770,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Le a documentación para saber cómo utilizar a función de retransmisión en directo de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Le a documentación para saber cómo utilizar a función de retransmisión en directo de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9286,15 +9263,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (channel page) (páxina da canle) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (páxina da conta) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Énfase @@ -9380,19 +9358,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Conta acalada pola instancia. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Acalar servidor - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Servidor acalado pola instancia. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Engade unha mensaxe para comunicarte coa denunciante @@ -9621,9 +9599,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Subtítulos - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). O de arriba só se pode ver nos subtítulos (describe o que). @@ -9693,8 +9671,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Moderadora - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Vídeo eliminado de @@ -9736,29 +9714,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Eliminar vídeo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Accións para o comentario - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Eliminar comentario - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Desexas eliminar este comentario? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Comentario eliminado. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Codificador @@ -9805,26 +9783,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? Queres eliminar este vídeo? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Vídeo eliminado. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Accións para a denunciante - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Acalar denunciante - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Este vídeo estará duplicado na túa instancia. @@ -9838,9 +9816,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Mostrar información do directo - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Actualizar @@ -9862,10 +9840,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Tes que estar <a href="/login">conectada</a> para valorar este vídeo. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Tes que estar <a href="/login">conectada</a> para valorar este vídeo. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Replicar @@ -9879,13 +9857,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Eliminar - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Eliminar & volver a escribir - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comentario} other { Comentarios}} @@ -9897,9 +9875,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Acalar conta - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Abrir accións para o vídeo @@ -9915,8 +9893,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Acalar conta do servidor - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Denunciar @@ -9965,29 +9943,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Publicado - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Publicación programada para - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Agardando transcodificación - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Transcodificar - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Importar - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10011,23 +9991,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Só eu podo ver o vídeo - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Compartido só a través de ligazón privada - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Calquera pode ver o vídeo - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Só as usuarias desta instancia poden ver o vídeo - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + Close Pechar @@ -10235,14 +10215,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Con este vídeo estás a sobrepasa a cota de vídeo ( tamaño do vídeo: , utilizado: , cota: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Con este vídeo excedeches a cota diaria de vídeo ( tamaño: , utilizado: , cota: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10264,23 +10242,23 @@ video size: , used: Stop autoplaying next video Non reproducir automáticamente o seguinte vídeo - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Reprodución automática do seg. vídeo - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Deter a reprodución en bucle - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Reproduce en bucle a lista - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Imaxe como marcador @@ -10290,105 +10268,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Este vídeo non está dispoñible na túa instancia. Queres ser redirixida á instancia orixinal: <a href="">/a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Este vídeo non está dispoñible na túa instancia. Queres ser redirixida á instancia orixinal: <a href="">/a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Redirección - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Este vídeo contén contido explicito ou adulto. Tes certeza de querer velo? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Contido explícito ou adulto - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next A seguir - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Cancelar - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Reprodución automática suspendida - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Entrar/Saír da pantalla completa (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Reproducir/Pausar o vídeo (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Acalar/Restablecer o vídeo (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Saltar a unha porcentaxe do vídeo: 0 é 0% e 9 é 90% (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Aumentar volume (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Diminuír volume (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Saltar adiante no vídeo (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Saltar atrás no vídeo (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Aumentar taxa de reprodución (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Diminuir taxa de reprodución (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Navegar fotograma a fotograma (require foco no reprodutor) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Gústame o vídeo - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Retirar o gústame - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Se está activo, o seguinte vídeo reprodúcese automáticamente tras o actual. From 3c097b5c18f2d84b7e79ffdc8c57fcaebcbd9da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Mesk=C3=B3?= Date: Mon, 10 May 2021 11:07:35 +0000 Subject: [PATCH 042/136] Translated using Weblate (Hungarian) Currently translated at 80.0% (1477 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/hu/ --- client/src/locale/angular.hu-HU.xlf | 3713 ++++++++++++++------------- 1 file changed, 1906 insertions(+), 1807 deletions(-) diff --git a/client/src/locale/angular.hu-HU.xlf b/client/src/locale/angular.hu-HU.xlf index 6933b8f38..b4440090e 100644 --- a/client/src/locale/angular.hu-HU.xlf +++ b/client/src/locale/angular.hu-HU.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Nincsenek értesítései. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - megemlítette Önt a következő videónál: + mentioned you on video + megemlítette Önt a következő videónál: src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,14 +131,18 @@ Your instance automatically followed Az Ön példánya automatikusa követ: src/app/shared/shared-main/users/user-notifications.component.html190 - - A new version of the plugin/theme is available: A new version of the plugin/theme is available: + + + A new version of the plugin/theme is available: + A new version of the plugin/theme is available: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - - A new version of PeerTube is available: A new version of PeerTube is available: + + + A new version of PeerTube is available: + A new version of PeerTube is available: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -149,18 +151,18 @@ The notification points to content now unavailable Az értesítés egy már nem elérhető tartalomra mutat - - src/app/shared/shared-main/users/user-notifications.component.html214 + src/app/shared/shared-main/users/user-notifications.component.html214 + Change your avatar Kép megváltoztatása - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Profilkép eltávolítása - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -171,8 +173,8 @@ My watch history Saját megtekintési előzmények - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Mentés ide @@ -181,8 +183,8 @@ Options Beállítások - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Kezdés itt @@ -224,14 +226,14 @@ Display name Megjelenített név - - - - - - - - src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html17src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33src/app/+signup/+register/register-step-user.component.html8src/app/shared/shared-video-playlist/video-add-to-playlist.component.html71 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html17 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33 + src/app/+signup/+register/register-step-user.component.html8 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html71 + Create Létrehozás @@ -247,14 +249,18 @@ video videó src/app/shared/shared-video-miniature/video-download.component.html12 - - The following link contains a private token and should not be shared with anyone. The following link contains a private token and should not be shared with anyone. + + + The following link contains a private token and should not be shared with anyone. + The following link contains a private token and should not be shared with anyone. src/app/shared/shared-video-miniature/video-download.component.html 21,22 - - + + + + src/app/shared/shared-video-miniature/video-download.component.html 39 @@ -268,44 +274,48 @@ Format Formátum - - src/app/shared/shared-video-miniature/video-download.component.html61 + src/app/shared/shared-video-miniature/video-download.component.html61 + - - - - src/app/shared/shared-video-miniature/video-download.component.html65src/app/shared/shared-video-miniature/video-download.component.html76src/app/shared/shared-video-miniature/video-download.component.html88 + src/app/shared/shared-video-miniature/video-download.component.html65 + src/app/shared/shared-video-miniature/video-download.component.html76 + src/app/shared/shared-video-miniature/video-download.component.html88 + Video stream Video-adatfolyam - - src/app/shared/shared-video-miniature/video-download.component.html72 + src/app/shared/shared-video-miniature/video-download.component.html72 + Audio stream Hangadatfolyam - - src/app/shared/shared-video-miniature/video-download.component.html84 + src/app/shared/shared-video-miniature/video-download.component.html84 + Direct download Közvetlen letöltés - - src/app/shared/shared-video-miniature/video-download.component.html101 + src/app/shared/shared-video-miniature/video-download.component.html101 + Torrent (.torrent file) Torrent (.torrent fájl) - - src/app/shared/shared-video-miniature/video-download.component.html105 - Advanced Advanced + src/app/shared/shared-video-miniature/video-download.component.html105 + + + Advanced + Advanced src/app/shared/shared-video-miniature/video-download.component.html 117,118 - - Simple Simple + + + Simple + Simple src/app/shared/shared-video-miniature/video-download.component.html 125,126 @@ -314,16 +324,14 @@ video videó - - - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 - + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 + src/app/shared/shared-video-miniature/video-download.component.ts54 + subtitles feliratok - - src/app/shared/shared-video-miniature/video-download.component.ts55 + src/app/shared/shared-video-miniature/video-download.component.ts55 + Cancel Mégse @@ -332,9 +340,9 @@ Download Letöltés - - - src/app/shared/shared-video-miniature/video-download.component.html4src/app/shared/shared-video-miniature/video-download.component.html138 + src/app/shared/shared-video-miniature/video-download.component.html4 + src/app/shared/shared-video-miniature/video-download.component.html138 + Reason... Indok… @@ -343,9 +351,11 @@ Cancel Mégse - - src/app/shared/shared-video-miniature/videos-selection.component.html19 - No results.No results. + src/app/shared/shared-video-miniature/videos-selection.component.html19 + + + No results. + No results. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -354,13 +364,13 @@ Submit Elküldés - - - - - - - src/app/+about/about-instance/contact-admin-modal.component.html52src/app/+my-library/my-videos/modals/video-change-ownership.component.html27src/app/shared/shared-moderation/report-modals/report.component.html58src/app/shared/shared-moderation/report-modals/report.component.html58src/app/shared/shared-moderation/report-modals/video-report.component.html96src/app/shared/shared-moderation/video-block.component.html42 + src/app/+about/about-instance/contact-admin-modal.component.html52 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html27 + src/app/shared/shared-moderation/report-modals/report.component.html58 + src/app/shared/shared-moderation/report-modals/report.component.html58 + src/app/shared/shared-moderation/report-modals/video-report.component.html96 + src/app/shared/shared-moderation/video-block.component.html42 + Report video "" A(z) „” videó jelentése @@ -407,8 +417,8 @@ src/app/shared/shared-video/video-views-counter.component.html3 - - + + src/app/shared/shared-video/video-views-counter.component.html 3,4 @@ -423,8 +433,8 @@ - - + + src/app/shared/shared-video/video-views-counter.component.html 7,8 @@ -441,13 +451,13 @@ Blocked Letiltva - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Érzékeny - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Nincs videó} =1 {1 videó} other { videó} } @@ -473,10 +483,10 @@ Deleted Törölve - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at A szerkesztés itt kezdődik vagy végződik @@ -500,34 +510,35 @@ No results. Nincs találat. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Best - A variant of Trending videos based on the number of recent interactions, minus user history - src/app/+videos/video-list/trending/video-trending-header.component.ts40 + src/app/+videos/video-list/trending/video-trending-header.component.ts40 + Videos with the most interactions for recent videos, minus user history Videos with the most interactions for recent videos, minus user history - - src/app/+videos/video-list/trending/video-trending-header.component.ts43 + src/app/+videos/video-list/trending/video-trending-header.component.ts43 + Delete Törlés - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Only live videos src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -568,8 +579,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a>-kompatibilis, és a következőket támogatja: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a>-kompatibilis, és a következőket támogatja: src/app/shared/shared-main/misc/help.component.ts75 @@ -603,8 +614,8 @@ Published videos matching "" Published videos matching "" - - src/app/+accounts/account-search/account-search.component.ts94 + src/app/+accounts/account-search/account-search.component.ts94 + The live stream will be automatically terminated. Az élő közvetítés automatikusan véget fog érni. @@ -821,8 +832,8 @@ User Felhasználó - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Kitiltás @@ -836,30 +847,29 @@ Cancel Mégse - - - - - - - - - - - - - - - - - - - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48 + src/app/+login/login.component.html117 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 + src/app/+videos/+video-watch/comment/video-comment-add.component.html70 + src/app/modal/confirm.component.html20 + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 + src/app/shared/shared-moderation/batch-domains-modal.component.html31 + src/app/shared/shared-moderation/report-modals/report.component.html54 + src/app/shared/shared-moderation/report-modals/report.component.html54 + src/app/shared/shared-moderation/report-modals/video-report.component.html92 + src/app/shared/shared-moderation/user-ban-modal.component.html26 + src/app/shared/shared-moderation/video-block.component.html38 + src/app/shared/shared-video-miniature/video-download.component.html134 + Ban this user Felhasználó kitiltása - - src/app/shared/shared-moderation/user-ban-modal.component.html30 + src/app/shared/shared-moderation/user-ban-modal.component.html30 + Block video "" A(z) „” videó letiltása @@ -918,16 +928,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -980,9 +990,9 @@ Login Bejelentkezés - - - src/app/+login/login.component.html44src/app/menu/menu.component.html94 + src/app/+login/login.component.html44 + src/app/menu/menu.component.html94 + Or sign in with Vagy jelentkezzen be ezzel: @@ -1004,11 +1014,10 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. - A jelszó-visszaállítási utasítások erre a címre lesznek elküldve: . A hivatkozás 1 órán belül lejár. - - src/app/+login/login.component.ts121 + An email with the reset password instructions will be sent to . The link will expire within 1 hour. + A jelszó-visszaállítási utasítások erre a címre lesznek elküldve: . A hivatkozás 1 órán belül lejár. + src/app/+login/login.component.ts121 + Email E-mail @@ -1032,7 +1041,6 @@ The link will expire within 1 hour. Password reset button src/app/+login/login.component.html122 - on this instance ezen a példányon @@ -1042,8 +1050,10 @@ The link will expire within 1 hour. on the vidiverse a vidiverzumon src/app/+search/search.component.html8 - - for for + + + for + for src/app/+search/search.component.html 10 @@ -1096,26 +1106,25 @@ The link will expire within 1 hour. Button on the registration form to finalize the account and channel creation - Filters Szűrők - - src/app/+search/search.component.html19 + src/app/+search/search.component.html19 + No results found Nincs találat - - src/app/+search/search.component.html31 + src/app/+search/search.component.html31 + subscribers feliratkozó - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Üdvözöli a PeerTube, kedves rendszergazda! @@ -1220,14 +1229,15 @@ The link will expire within 1 hour. How long you plan to maintain your instance Meddig tervezi fenntartani a példányát src/app/modal/instance-config-warning-modal.component.html17 - - How you plan to pay for keeping your instance runningHow you plan to pay for keeping your instance running + + + How you plan to pay for keeping your instance running + How you plan to pay for keeping your instance running src/app/modal/instance-config-warning-modal.component.html 18 - How you will moderate your instance Hogyan fogja moderálni a példányát @@ -1241,9 +1251,9 @@ The link will expire within 1 hour. My settings My settings - - - src/app/menu/menu.component.html152src/app/modal/quick-settings-modal.component.html3 + src/app/menu/menu.component.html152 + src/app/modal/quick-settings-modal.component.html3 + These settings apply only to your session on this instance. These settings apply only to your session on this instance. @@ -1265,19 +1275,19 @@ The link will expire within 1 hour. Close Bezárás - - - src/app/modal/instance-config-warning-modal.component.html38src/app/shared/shared-video-live/live-stream-information.component.html33 + src/app/modal/instance-config-warning-modal.component.html38 + src/app/shared/shared-video-live/live-stream-information.component.html33 + Update live settings Elő közvetítés beállításainak frissítése - - src/app/shared/shared-video-live/live-stream-information.component.html36 + src/app/shared/shared-video-live/live-stream-information.component.html36 + Configure Beállítás - - src/app/modal/instance-config-warning-modal.component.html44 + src/app/modal/instance-config-warning-modal.component.html44 + Change the language Nyelv megváltoztatása @@ -1306,71 +1316,71 @@ The link will expire within 1 hour. Sensitive: Érzékeny: - - src/app/menu/menu.component.html47 + src/app/menu/menu.component.html47 + Help share videos Segítség videók megosztásában - - src/app/menu/menu.component.html53 + src/app/menu/menu.component.html53 + Keyboard shortcuts Gyorsbillentyűk - - - src/app/menu/menu.component.html62src/app/menu/menu.component.html174 + src/app/menu/menu.component.html62 + src/app/menu/menu.component.html174 + powered by PeerTube - CopyLeft 2015-2021 powered by PeerTube - CopyLeft 2015-2021 - - src/app/menu/menu.component.html179 + src/app/menu/menu.component.html179 + Help Súgó - - src/app/menu/menu.component.html170 + src/app/menu/menu.component.html170 + Get help using PeerTube Segítségkérés a PeerTube használatához - - src/app/menu/menu.component.html170 + src/app/menu/menu.component.html170 + powered by PeerTube a gépházban: PeerTube - - src/app/menu/menu.component.html180 + src/app/menu/menu.component.html180 + Log out Kijelentkezés - - src/app/menu/menu.component.html67 + src/app/menu/menu.component.html67 + My account My account - - src/app/menu/menu.component.html78 + src/app/menu/menu.component.html78 + My library My library - - src/app/menu/menu.component.html83 + src/app/menu/menu.component.html83 + Create an account Fiók létrehozása - - - src/app/+login/login.component.html50src/app/menu/menu.component.html95 + src/app/+login/login.component.html50 + src/app/menu/menu.component.html95 + IN MY LIBRARY IN MY LIBRARY - - src/app/menu/menu.component.html99 + src/app/menu/menu.component.html99 + My videos Saját videók - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports My video imports @@ -1394,28 +1404,28 @@ The link will expire within 1 hour. Videos Videók - - src/app/menu/menu.component.html103 + src/app/menu/menu.component.html103 + Interface: Interface: - - src/app/menu/menu.component.html165 + src/app/menu/menu.component.html165 + Playlists Lejátszási listák - - src/app/menu/menu.component.html108 + src/app/menu/menu.component.html108 + Subscriptions Feliratkozások - - src/app/menu/menu.component.html113 + src/app/menu/menu.component.html113 + History Előzmények - - src/app/menu/menu.component.html118 + src/app/menu/menu.component.html118 + VIDEOS VIDEÓK @@ -1457,35 +1467,34 @@ The link will expire within 1 hour. Discover Felfedezés - - - src/app/+videos/video-list/overview/video-overview.component.html1src/app/menu/menu.component.html128 + src/app/+videos/video-list/overview/video-overview.component.html1 + src/app/menu/menu.component.html128 + Trending Felkapott - - src/app/menu/menu.component.html133 + src/app/menu/menu.component.html133 + Recently added Legutóbb hozzáadott - - src/app/menu/menu.component.html138 + src/app/menu/menu.component.html138 + Administration Adminisztráció - - src/app/menu/menu.component.html88 + src/app/menu/menu.component.html88 + About Névjegy - - - src/app/menu/menu.component.html157 + src/app/menu/menu.component.html157 + Contact Partner - - src/app/menu/menu.component.html169 + src/app/menu/menu.component.html169 + View your notifications Értesítések megtekintése @@ -1528,79 +1537,88 @@ The link will expire within 1 hour. src/app/+page-not-found/page-not-found.component.html 4 - - We couldn't find any video tied to the URL you were looking for.We couldn't find any video tied to the URL you were looking for. + + + We couldn't find any video tied to the URL you were looking for. + We couldn't find any video tied to the URL you were looking for. src/app/+page-not-found/page-not-found.component.html 7 - - We couldn't find any resource tied to the URL you were looking for.We couldn't find any resource tied to the URL you were looking for. + + + We couldn't find any resource tied to the URL you were looking for. + We couldn't find any resource tied to the URL you were looking for. src/app/+page-not-found/page-not-found.component.html 8 - Possible reasons: Possible reasons: - Possible reasons preceding a list of reasons a `Not Found` error page may occur - src/app/+page-not-found/page-not-found.component.html12 + src/app/+page-not-found/page-not-found.component.html12 + You may have used an outdated or broken link You may have used an outdated or broken link - - src/app/+page-not-found/page-not-found.component.html15 - The video may have been moved or deletedThe video may have been moved or deleted + src/app/+page-not-found/page-not-found.component.html15 + + + The video may have been moved or deleted + The video may have been moved or deleted src/app/+page-not-found/page-not-found.component.html 17 - - The resource may have been moved or deletedThe resource may have been moved or deleted + + + The resource may have been moved or deleted + The resource may have been moved or deleted src/app/+page-not-found/page-not-found.component.html 18 - You may have typed the address or URL incorrectly You may have typed the address or URL incorrectly - - src/app/+page-not-found/page-not-found.component.html20 + src/app/+page-not-found/page-not-found.component.html20 + You are not authorized here. You are not authorized here. - - src/app/+page-not-found/page-not-found.component.html27 - You might need to check your account is allowed by the video or instance owner.You might need to check your account is allowed by the video or instance owner. + src/app/+page-not-found/page-not-found.component.html27 + + + You might need to check your account is allowed by the video or instance owner. + You might need to check your account is allowed by the video or instance owner. src/app/+page-not-found/page-not-found.component.html 30 - - You might need to check your account is allowed by the resource or instance owner.You might need to check your account is allowed by the resource or instance owner. + + + You might need to check your account is allowed by the resource or instance owner. + You might need to check your account is allowed by the resource or instance owner. src/app/+page-not-found/page-not-found.component.html 31 - The requested entity body blends sweet bits with a mellow earthiness. The requested entity body blends sweet bits with a mellow earthiness. Description of a tea flavour, keeping the 'requested entity body' as a technical expression referring to a web request - - src/app/+page-not-found/page-not-found.component.html40 + src/app/+page-not-found/page-not-found.component.html40 + Sepia seems to like it. Sepia seems to like it. This is about Sepia's tea - - src/app/+page-not-found/page-not-found.component.html42 + src/app/+page-not-found/page-not-found.component.html42 + Media is too large for the server. Please contact you administrator if you want to increase the limit size. A média túl nagy ehhez a kiszolgálóhoz. Lépjen kapcsolatba a rendszergazdával, ha növelni szeretné a méretkorlátot. @@ -1625,8 +1643,10 @@ The link will expire within 1 hour. Results will be augmented with those of a third-party index. Only data necessary to make the query will be sent. A találatok ki lesznek egészítve a harmadik féltől származó indexekkel. Csak a lekérdezés elkészítéséhez szükséges adatok kerülnek elküldésre. src/app/header/search-typeahead.component.html32 - - Your query will be matched against video names or descriptions, channel names.Your query will be matched against video names or descriptions, channel names. + + + Your query will be matched against video names or descriptions, channel names. + Your query will be matched against video names or descriptions, channel names. src/app/header/search-typeahead.component.html 37 @@ -1635,35 +1655,34 @@ The link will expire within 1 hour. ADVANCED SEARCH SPECIÁLIS KERESÉS - - src/app/header/search-typeahead.component.html39 + src/app/header/search-typeahead.component.html39 + any instance bármely példány - - src/app/header/search-typeahead.component.html42 + src/app/header/search-typeahead.component.html42 + only followed instances csak követett példányok - - src/app/header/search-typeahead.component.html43 + src/app/header/search-typeahead.component.html43 + Determines whether you can resolve any distant content, or if this instance only allows doing so for instances it follows. Meghatározza, hogy feloldhat-e bármilyen távoli tartalmat, vagy hogy ez a példány csak azoknál a példányoknál teheti ezt meg, amelyeket követ. - - src/app/header/search-typeahead.component.html41 + src/app/header/search-typeahead.component.html41 + will list the matching channel az egyező csatornát listázza - - - src/app/header/search-typeahead.component.html50src/app/header/search-typeahead.component.html53 + src/app/header/search-typeahead.component.html50 + src/app/header/search-typeahead.component.html53 + will list the matching video az egyező videót listázza - - src/app/header/search-typeahead.component.html56 - + src/app/header/search-typeahead.component.html56 + Search... Keresés… @@ -1716,9 +1735,9 @@ The link will expire within 1 hour. Duration Időtartam - - - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html89 + src/app/+videos/+video-watch/video-watch.component.html280 + Display sensitive content Érzékeny tartalom megjelenítése @@ -1737,10 +1756,10 @@ The link will expire within 1 hour. Category Kategória - - - - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html102 + src/app/+videos/+video-edit/shared/video-edit.component.html63 + src/app/+videos/+video-watch/video-watch.component.html245 + Reset Visszaállítás @@ -1758,10 +1777,10 @@ The link will expire within 1 hour. Licence Licenc - - - - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html115 + src/app/+videos/+video-edit/shared/video-edit.component.html74 + src/app/+videos/+video-watch/video-watch.component.html254 + Display all licenses Összes licenc megjelenítése @@ -1770,11 +1789,11 @@ The link will expire within 1 hour. Language Nyelv - - - - - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html128 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 + src/app/+videos/+video-edit/shared/video-edit.component.html94 + src/app/+videos/+video-watch/video-watch.component.html263 + Display all languages Összes nyelv megjelenítése @@ -1843,9 +1862,9 @@ The link will expire within 1 hour. Tags Címkék - - - src/app/+videos/+video-edit/shared/video-edit.component.html19src/app/+videos/+video-watch/video-watch.component.html272 + src/app/+videos/+video-edit/shared/video-edit.component.html19 + src/app/+videos/+video-watch/video-watch.component.html272 + Tags could be used to suggest relevant recommendations. There is a maximum of 5 tags. Press Enter to add a new tag. A címkék releváns ajánlások javaslatához használhatók. Legfeljebb 5 címke lehet. Kattintson az Enterre egy új címke hozzáadásához. @@ -1859,39 +1878,54 @@ The link will expire within 1 hour. extensions extensions - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. This image is too large. - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 - Upload a new bannerUpload a new banner - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 - Change your bannerChange your banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 - Remove bannerRemove banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 - ratio 6/1, recommended size: 1600x266, max size: , extensions: ratio 6/1, recommended size: 1600x266, max size: , extensions: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + + + Upload a new banner + Upload a new banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + + + Change your banner + Change your banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + + + Remove banner + Remove banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + + + ratio 6/1, recommended size: 1600x266, max size: , extensions: + ratio 6/1, recommended size: 1600x266, max size: , extensions: + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Account avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Channel avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Advanced filters src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -1905,15 +1939,15 @@ The link will expire within 1 hour. Description Leírás - - - - - - - - - src/app/+about/about-instance/about-instance.component.html113src/app/+admin/config/edit-custom-config/edit-instance-information.component.html35src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html28src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44src/app/+videos/+video-edit/shared/video-edit.component.html38 + src/app/+about/about-instance/about-instance.component.html113 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html35 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html28 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44 + src/app/+videos/+video-edit/shared/video-edit.component.html38 + Video descriptions are truncated by default and require manual action to expand them. A videók leírásai alapértelmezetten meg lesznek vágva, és kézi művelet szükséges a kinyitásukhoz. @@ -1940,35 +1974,35 @@ The link will expire within 1 hour. Privacy Adatvédelem - - - - - - - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 + src/app/+videos/+video-edit/shared/video-edit.component.html106 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 + src/app/+videos/+video-watch/video-watch.component.html230 + FAQ GYIK - - src/app/menu/menu.component.html171 + src/app/menu/menu.component.html171 + Frequently asked questions about PeerTube Gyakori kérdések a PeerTube szoftverrel kapcsolatban - - src/app/menu/menu.component.html171 + src/app/menu/menu.component.html171 + API API - - src/app/menu/menu.component.html173 + src/app/menu/menu.component.html173 + API documentation API dokumentáció - - src/app/menu/menu.component.html173 + src/app/menu/menu.component.html173 + Schedule publication () Közzététel ütemezése ( ) @@ -1978,14 +2012,15 @@ The link will expire within 1 hour. Contains sensitive content Érzékeny tartalmat tartalmaz src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Some instances hide videos containing mature or explicit content by default. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Közzététel átkódolás után @@ -2012,7 +2047,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Már fel van töltve ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2079,52 +2114,67 @@ The link will expire within 1 hour. Support Támogatás - - src/app/+video-channels/video-channels.component.html17src/app/+videos/+video-edit/shared/video-edit.component.html276 - View accountView account - - - src/app/+video-channels/video-channels.component.html30 - View account View account + src/app/+video-channels/video-channels.component.html17 + src/app/+videos/+video-edit/shared/video-edit.component.html276 + + + View account + View account + src/app/+video-channels/video-channels.component.html30 + + + View account + View account src/app/+video-channels/video-channels.component.html 42,43 - - View owner account View owner account + + + View owner account + View owner account src/app/+video-channels/video-channels.component.html 46,47 - - VIDEO CHANNELVIDEO CHANNEL + + + VIDEO CHANNEL + VIDEO CHANNEL src/app/+video-channels/video-channels.component.html 55 - - Copy channel handleCopy channel handle + + + Copy channel handle + Copy channel handle src/app/+video-channels/video-channels.component.html 66 - - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} src/app/+video-channels/video-channels.component.html 76 - - + + + + src/app/+video-channels/video-channels.component.html 76,77 - - OWNER ACCOUNTOWNER ACCOUNT - - - src/app/+video-channels/video-channels.component.html23 + + + OWNER ACCOUNT + OWNER ACCOUNT + src/app/+video-channels/video-channels.component.html23 + Short text to tell people how they can support you (membership platform...). Rövid szöveg, amely ismerteti az embereknek, hogy hogyan támogathatják Önt (tagsági platform…). @@ -2203,13 +2253,13 @@ The link will expire within 1 hour. Scheduled Ütemezett - - src/app/+videos/+video-edit/shared/video-edit.component.ts184 + src/app/+videos/+video-edit/shared/video-edit.component.ts184 + Hide the video until a specific date A videó elrejtése egy megadott dátumig - - src/app/+videos/+video-edit/shared/video-edit.component.ts185 + src/app/+videos/+video-edit/shared/video-edit.component.ts185 + Video background image Videó háttérképe @@ -2239,9 +2289,9 @@ The link will expire within 1 hour. Total video quota Teljes videokvóta - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. Gratulálunk! A videó most már elérhető a személyes könyvtárában. @@ -2292,18 +2342,18 @@ The link will expire within 1 hour. Cannot create live because this instance have too many created lives Több élő közvetítés nem hozható létre, mert a példányon már túl sok lett létrehozva - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts96 + Cannot create live because you created too many lives Nem hozható létre élő közvetítés, mert már túl sokat hozott létre - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts98 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts98 + Live published. Élő közvetítés közzétéve. - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts128 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts128 + Go Live Élő közvetítés @@ -2362,8 +2412,8 @@ The link will expire within 1 hour. Report this comment Hozzászólás jelentése - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Megosztás @@ -2417,8 +2467,10 @@ The link will expire within 1 hour. Less customization Kevesebb személyre szabás src/app/shared/shared-share-modal/video-share.component.html231 - - Support Support + + + Support + Support src/app/shared/shared-support-modal/support-modal.component.html 3 @@ -2429,18 +2481,17 @@ The link will expire within 1 hour. Automatikus lejátszás src/app/shared/shared-share-modal/video-share.component.html159 - Maybe later Talán később - - src/app/shared/shared-support-modal/support-modal.component.html11 + src/app/shared/shared-support-modal/support-modal.component.html11 + Muted Némítva - - - src/app/+accounts/accounts.component.html22src/app/shared/shared-share-modal/video-share.component.html166 + src/app/+accounts/accounts.component.html22 + src/app/shared/shared-share-modal/video-share.component.html166 + Loop Ismétlés @@ -2479,79 +2530,79 @@ The link will expire within 1 hour. The video is being imported, it will be available when the import is finished. A videó importálás alatt van, akkor lesz elérhető, ha az importálás befejeződött. - - src/app/+videos/+video-watch/video-watch.component.html25 + src/app/+videos/+video-watch/video-watch.component.html25 + The video is being transcoded, it may not work properly. A videó átkódolás alatt van, előfordulhat, hogy nem működik megfelelően. - - src/app/+videos/+video-watch/video-watch.component.html29 + src/app/+videos/+video-watch/video-watch.component.html29 + This video will be published on . Ez a videó ekkor lesz közzétéve: - - src/app/+videos/+video-watch/video-watch.component.html32 + src/app/+videos/+video-watch/video-watch.component.html32 + This live has not started yet. Ez az élő közvetítés még nem indult el. - - src/app/+videos/+video-watch/video-watch.component.html37 + src/app/+videos/+video-watch/video-watch.component.html37 + This live has ended. This live has ended. - - src/app/+videos/+video-watch/video-watch.component.html41 + src/app/+videos/+video-watch/video-watch.component.html41 + This video is blocked. Ez a videó le van tiltva. - - src/app/+videos/+video-watch/video-watch.component.html45 + src/app/+videos/+video-watch/video-watch.component.html45 + Published Published - - - src/app/+videos/+video-watch/video-watch.component.html59src/app/+videos/+video-watch/video-watch.component.html72 + src/app/+videos/+video-watch/video-watch.component.html59 + src/app/+videos/+video-watch/video-watch.component.html72 + SUPPORT TÁMOGATÁS - - src/app/+videos/+video-watch/video-watch.component.html108 + src/app/+videos/+video-watch/video-watch.component.html108 + SHARE MEGOSZTÁS - - src/app/+videos/+video-watch/video-watch.component.html113 + src/app/+videos/+video-watch/video-watch.component.html113 + SAVE MENTÉS - - src/app/+videos/+video-watch/video-watch.component.html124 + src/app/+videos/+video-watch/video-watch.component.html124 + DOWNLOAD LETÖLTÉS - - src/app/+videos/+video-watch/video-watch.component.html138 + src/app/+videos/+video-watch/video-watch.component.html138 + Like this video Videó kedvelése - - src/app/+videos/+video-watch/video-watch.component.ts158 + src/app/+videos/+video-watch/video-watch.component.ts158 + Dislike this video Videó nem kedvelése - - src/app/+videos/+video-watch/video-watch.component.ts159 + src/app/+videos/+video-watch/video-watch.component.ts159 + Support options for this video A videó támogatási lehetőségei - - src/app/+videos/+video-watch/video-watch.component.ts160 + src/app/+videos/+video-watch/video-watch.component.ts160 + By által - - src/app/+videos/+video-watch/video-watch.component.html190 + src/app/+videos/+video-watch/video-watch.component.html190 + Subscribe Feliratkozás @@ -2575,95 +2626,96 @@ The link will expire within 1 hour. Show more Több megjelenítése - - src/app/+videos/+video-watch/video-watch.component.html217 + src/app/+videos/+video-watch/video-watch.component.html217 + Show less Kevesebb megjelenítése - - src/app/+videos/+video-watch/video-watch.component.html223 - OriginOrigin + src/app/+videos/+video-watch/video-watch.component.html223 + + + Origin + Origin src/app/+videos/+video-watch/video-watch.component.html 235 - Originally published Eredetileg közzétéve - - src/app/+videos/+video-watch/video-watch.component.html240 + src/app/+videos/+video-watch/video-watch.component.html240 + Friendly Reminder: Baráti emlékeztető: - - src/app/+videos/+video-watch/video-watch.component.html304 + src/app/+videos/+video-watch/video-watch.component.html304 + the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. a videóhoz használt megosztási rendszer azt vonja maga után, hogy néhány technikai információ a rendszeréről (mint például egy nyilvános IP-cím) elküldésre kerülhet más partnereknek. - - src/app/+videos/+video-watch/video-watch.component.html306 + src/app/+videos/+video-watch/video-watch.component.html306 + More information További információk - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Ez a videó le lett tiltva, mert az új videók automatikusan letiltásra kerülnek - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information További információk szerzése - - src/app/+videos/+video-watch/video-watch.component.html309 + src/app/+videos/+video-watch/video-watch.component.html309 + OK Rendben - - src/app/+videos/+video-watch/video-watch.component.html313 - - - + src/app/+videos/+video-watch/video-watch.component.html313 + SORT BY RENDEZÉSI SZEMPONT - - src/app/+videos/+video-watch/comment/video-comments.component.html11 + src/app/+videos/+video-watch/comment/video-comments.component.html11 + Most recent first (default) Legújabb először (alapértelmezett) - - src/app/+videos/+video-watch/comment/video-comments.component.html14 + src/app/+videos/+video-watch/comment/video-comments.component.html14 + Most replies first Legtöbb válasz először - - src/app/+videos/+video-watch/comment/video-comments.component.html15 + src/app/+videos/+video-watch/comment/video-comments.component.html15 + No comments. Nincsenek hozzászólások. - - src/app/+videos/+video-watch/comment/video-comments.component.html28 - View from and others View from and others + src/app/+videos/+video-watch/comment/video-comments.component.html28 + + + View from and others + View from and others src/app/+videos/+video-watch/comment/video-comments.component.html 80,81 - - {VAR_PLURAL, plural, =1 {1 reply} other { replies}}{VAR_PLURAL, plural, =1 {1 reply} other { replies}} + + + {VAR_PLURAL, plural, =1 {1 reply} other { replies}} + {VAR_PLURAL, plural, =1 {1 reply} other { replies}} src/app/+videos/+video-watch/comment/video-comments.component.html 80 @@ -2676,47 +2728,48 @@ The link will expire within 1 hour. src/app/+videos/+video-watch/comment/video-comments.component.html 87 - - View from View from + + + View from + View from src/app/+videos/+video-watch/comment/video-comments.component.html 83,84 - - View View + + + View + View src/app/+videos/+video-watch/comment/video-comments.component.html 87 - - - Comments are disabled. A hozzászólások le vannak tiltva. - - src/app/+videos/+video-watch/comment/video-comments.component.html98 + src/app/+videos/+video-watch/comment/video-comments.component.html98 + The deletion will be sent to remote instances so they can reflect the change. A törlés el lesz küldve a távoli példányokhoz, így azok is reagálhatnak a változtatásra. - - src/app/+videos/+video-watch/comment/video-comments.component.ts175 + src/app/+videos/+video-watch/comment/video-comments.component.ts175 + It is a remote comment, so the deletion will only be effective on your instance. Ez egy távoli hozzászólás, ezért a törlés csak az Ön példányán lesz hatással. - - src/app/+videos/+video-watch/comment/video-comments.component.ts177 + src/app/+videos/+video-watch/comment/video-comments.component.ts177 + Delete and re-draft Törlés és újraírás - - src/app/+videos/+video-watch/comment/video-comments.component.ts203 + src/app/+videos/+video-watch/comment/video-comments.component.ts203 + Do you really want to delete and re-draft this comment? Biztos, hogy törli és újraírja ezt a hozzászólást? - - src/app/+videos/+video-watch/comment/video-comments.component.ts203 + src/app/+videos/+video-watch/comment/video-comments.component.ts203 + Add comment... Hozzászólás hozzáadása… @@ -2780,23 +2833,23 @@ The link will expire within 1 hour. You are one step away from commenting Egy lépésre van a hozzászólástól - - src/app/+videos/+video-watch/comment/video-comment-add.component.html56 + src/app/+videos/+video-watch/comment/video-comment-add.component.html56 + You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). - - src/app/+videos/+video-watch/comment/video-comment-add.component.html62 + src/app/+videos/+video-watch/comment/video-comment-add.component.html62 + Login to comment Bejelentkezés a hozzászóláshoz - - src/app/+videos/+video-watch/comment/video-comment-add.component.html75 + src/app/+videos/+video-watch/comment/video-comment-add.component.html75 + Markdown Emoji List Markdown emodzsi lista - - src/app/+videos/+video-watch/comment/video-comment-add.component.html83 + src/app/+videos/+video-watch/comment/video-comment-add.component.html83 + Comment Hozzászólás @@ -2810,18 +2863,18 @@ The link will expire within 1 hour. Highlighted comment Kiemelt hozzászólás - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Válasz - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Ezt a hozzászólást törölték - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Videoredundanciák @@ -2918,41 +2971,18 @@ The link will expire within 1 hour. Filter... Szűrő… - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Szűrők törlése - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Videó/hozzászólás/fiók - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID Azonosító @@ -2961,8 +2991,8 @@ The link will expire within 1 hour. Follower handle Követőkezelő - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Állapot @@ -2972,57 +3002,57 @@ The link will expire within 1 hour. Created Létrehozva: - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Szereplő oldalának megnyitása új lapon - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Elfogadva - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Függőben - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Elfogadás - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Visszautasítás - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Nem található a jelenlegi szűrőkre illeszkedő követő. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Az Ön példányának nincs egyetlen követője sem. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers 6 követő megjelenítése - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3033,58 +3063,60 @@ The link will expire within 1 hour. Host Gép - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redundancia megengedett - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Unfollow - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Példány megnyitása új lapon - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Nem található a jelenlegi szűrőkre illeszkedő gép. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Az Ön példánya nem követ senkit sem. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts / gép megjelenítése - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Tartományok követése - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Follow instances - - src/app/+admin/follows/following-list/following-list.component.html18 - ActionAction - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html18 + + + Action + Action + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Videók redundanciája @@ -3108,18 +3140,18 @@ The link will expire within 1 hour. Table parameters Táblázat paraméterei - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Válasszon oszlopokat - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Kitiltott felhasználók kiemelése - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Felhasználónév @@ -3227,62 +3259,59 @@ The link will expire within 1 hour. Hide Elrejtés - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Kötegelt műveletek - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned A felhasználó ki lett tiltva - - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Fiók megnyitása új lapon - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Törölt fiók - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login A felhasználó e-mail-címét ellenőrizni kell a bejelentkezéshez - - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification A felhasználó e-mail-címe ellenőrzött / A felhasználó be tud jelentkezni e-mail ellenőrzés nélkül - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Napi videókvóta - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Kitiltás indoka: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Banned users src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3358,15 +3387,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Videó - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Teljes méret @@ -3400,56 +3426,61 @@ The link will expire within 1 hour. Sensitive Érzékeny - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Nincs föderálva - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Dátum - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Select this row - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Műveletek - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Commented video - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. No comments found matching current filters. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. No comments found. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Local comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Remote comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3458,38 +3489,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Nem található a jelenlegi szűrőnek megfelelő visszaélési jelentés. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Nem található visszaélési jelentés. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Unsolved reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Accepted reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Refused reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Reports with blocked videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Reports with deleted videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3498,25 +3539,29 @@ The link will expire within 1 hour. Block reason: Tiltás oka: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Nem található letiltott videó a jelenlegi szűrőkkel. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Nem található letiltott videó. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Automatic blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Manual blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3525,8 +3570,8 @@ The link will expire within 1 hour. Showing to of blocked videos / tiltott videó megjelenítése - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Jelentések @@ -3546,70 +3591,62 @@ The link will expire within 1 hour. Update this comment Hozzászólás frissítése - - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 + Reporter Bejelentő - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - - - src/app/shared/shared-abuse-list/abuse-details.component.html22 + + + src/app/shared/shared-abuse-list/abuse-details.component.html22 + {VAR_PLURAL, plural, =1 {1 report} other { reports}} {VAR_PLURAL, plural, =1 {1 jelentés} other { jelentés}} - - src/app/shared/shared-abuse-list/abuse-details.component.html22 + src/app/shared/shared-abuse-list/abuse-details.component.html22 + Video Videó - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Comment - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Ezt a videót többször jelentették. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked Ez a videó le lett tiltva - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on készítette: , itt: - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted A videó törölve lett - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Fiók törölve - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Videó megnyitása új lapon @@ -3618,128 +3655,128 @@ The link will expire within 1 hour. State Állapot - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Üzenetek - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Belső jegyzet - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Pontszám - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports / jelentés megjelenítése - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Jelentett - - src/app/shared/shared-abuse-list/abuse-details.component.html28 + src/app/shared/shared-abuse-list/abuse-details.component.html28 + - - - - src/app/shared/shared-abuse-list/abuse-details.component.html42 + + + src/app/shared/shared-abuse-list/abuse-details.component.html42 + {VAR_PLURAL, plural, =1 {1 report} other { reports}} {VAR_PLURAL, plural, =1 {1 jelentés} other { jelentés} } - - src/app/shared/shared-abuse-list/abuse-details.component.html42 + src/app/shared/shared-abuse-list/abuse-details.component.html42 + Updated Frissítve - - src/app/shared/shared-abuse-list/abuse-details.component.html48 + src/app/shared/shared-abuse-list/abuse-details.component.html48 + Mute domain Tartomány némítása - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Példány - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Némítás ideje - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Némítás visszavonása - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Nem található a jelenlegi szűrőkre illeszkedő kiszolgáló. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Nem található kiszolgáló. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances / némított példány megjelenítése - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Úgy tűnik, hogy nem HTTPS kiszolgálón van. A TLS-nek bekapcsolva kell lennie a webkiszolgálóján, hogy kiszolgálókat követhessen. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Tartományok némítása - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Fiók - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Nem található a jelenlegi szűrőkre illeszkedő fiók. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Nem található fiók. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Telepített bővítmények felsorolása @@ -3799,10 +3836,10 @@ The link will expire within 1 hour. Settings Beállítások - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Megjelenítési beállítások @@ -3811,35 +3848,35 @@ The link will expire within 1 hour. Uninstall Eltávolítás - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Hot A variant of Trending videos based on the number of recent interactions - - src/app/+videos/video-list/trending/video-trending-header.component.ts47 + src/app/+videos/video-list/trending/video-trending-header.component.ts47 + Videos with the most interactions for recent videos Videos with the most interactions for recent videos - - src/app/+videos/video-list/trending/video-trending-header.component.ts50 + src/app/+videos/video-list/trending/video-trending-header.component.ts50 + Videos with the most views during the last 24 hours Videos with the most views during the last 24 hours - - src/app/+videos/video-list/trending/video-trending-header.component.ts57 + src/app/+videos/video-list/trending/video-trending-header.component.ts57 + Likes Likes A variant of Trending videos based on the number of likes - - src/app/+videos/video-list/trending/video-trending-header.component.ts60 + src/app/+videos/video-list/trending/video-trending-header.component.ts60 + Videos that have the most likes Videos that have the most likes - - src/app/+videos/video-list/trending/video-trending-header.component.ts63 + src/app/+videos/video-list/trending/video-trending-header.component.ts63 + To load your new installed plugins or themes, refresh the page. Az új telepített bővítmények vagy témák betöltéséhez frissítse az oldalt. @@ -3849,14 +3886,15 @@ The link will expire within 1 hour. Popular Népszerű src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + + for " + for " src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 - {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {találat} other {találat} } @@ -3901,39 +3939,41 @@ The link will expire within 1 hour. Delete this comment Delete this comment - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Delete all comments of this account - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Comments are deleted after a few minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. comments deleted. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Do you really want to delete all comments of ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Comments of will be deleted in a few minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Video comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.html3 - - This view also shows comments from muted accounts.This view also shows comments from muted accounts. + + + This view also shows comments from muted accounts. + This view also shows comments from muted accounts. src/app/+admin/moderation/video-comment-list/video-comment-list.component.html 8 @@ -3942,17 +3982,14 @@ The link will expire within 1 hour. Showing to of comments Showing to of comments - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Select all rows - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Feladat típusa @@ -3983,8 +4020,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Priority (1 = highest priority) + Priority (1 = highest priority) + Priority (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4004,8 +4041,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - No jobs found. + No jobs found. + No jobs found. src/app/+admin/system/jobs/jobs.component.html108 @@ -4035,7 +4072,7 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> + By -> Szerző: src/app/+admin/system/logs/logs.component.html46 @@ -4047,10 +4084,10 @@ The link will expire within 1 hour. Name Név - - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html13src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html13 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + Short description Rövid leírás @@ -4107,8 +4144,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Manage users to build a moderation team. + Manage users to build a moderation team. + Manage users to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4120,8 +4157,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4131,15 +4168,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Érzékeny tartalmú videókkal kapcsolatos irányelv src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Bélyegképek elhomályosítása @@ -4256,8 +4293,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4327,9 +4364,9 @@ The link will expire within 1 hour. Local videos Helyi videók - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html42src/app/menu/menu.component.html143 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html42 + src/app/menu/menu.component.html143 + BROADCAST MESSAGE ÜZENETSZÓRÁS @@ -4369,8 +4406,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Manage users to set their quota individually. + Manage users to set their quota individually. + Manage users to set their quota individually. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4541,8 +4578,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4579,8 +4616,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Manage relations with other instances. + Manage relations with other instances. + Manage relations with other instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4619,8 +4656,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - See the documentation for more information about the expected URL + See the documentation for more information about the expected URL + See the documentation for more information about the expected URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4634,8 +4671,8 @@ The link will expire within 1 hour. Administrator Rendszergazda - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Rendszergazda e-mail @@ -4680,8 +4717,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4728,8 +4765,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4741,8 +4778,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4838,14 +4875,15 @@ The link will expire within 1 hour. Allow additional extensions További kiterjesztések engedélyezése src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Allows users to upload videos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Hangfájlok feltöltésének engedélyezése @@ -4885,8 +4923,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5023,25 +5061,19 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Write CSS code directly. Example:#custom-css + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5055,8 +5087,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - There are errors in the form: + There are errors in the form: + There are errors in the form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5102,38 +5134,38 @@ color: red; Profile Profil - - src/app/shared/shared-video-miniature/video-download.component.ts185 + src/app/shared/shared-video-miniature/video-download.component.ts185 + Resolution Felbontás - - src/app/shared/shared-video-miniature/video-download.component.ts194 + src/app/shared/shared-video-miniature/video-download.component.ts194 + Aspect ratio Méretarány - - src/app/shared/shared-video-miniature/video-download.component.ts195 + src/app/shared/shared-video-miniature/video-download.component.ts195 + Average frame rate Átlagos képkockasebesség - - src/app/shared/shared-video-miniature/video-download.component.ts196 + src/app/shared/shared-video-miniature/video-download.component.ts196 + Pixel format Képpontformátum - - src/app/shared/shared-video-miniature/video-download.component.ts197 + src/app/shared/shared-video-miniature/video-download.component.ts197 + Sample rate Mintavételi arány - - src/app/shared/shared-video-miniature/video-download.component.ts201 + src/app/shared/shared-video-miniature/video-download.component.ts201 + Channel Layout Csatorna elrendezése - - src/app/shared/shared-video-miniature/video-download.component.ts202 + src/app/shared/shared-video-miniature/video-download.component.ts202 + Video settings Videobeállítások @@ -5170,14 +5202,15 @@ color: red; Default policy on videos containing sensitive content Érzékeny tartalmú videókkal kapcsolatos alapértelmezett irányelv src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Érzékeny videók irányelve @@ -5242,21 +5275,30 @@ color: red; src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published firstLast published first - - src/app/+my-library/my-videos/my-videos.component.html27 - Last created firstLast created first - - src/app/+my-library/my-videos/my-videos.component.html28 - Most viewed firstMost viewed first - - src/app/+my-library/my-videos/my-videos.component.html29 - Most liked firstMost liked first - - src/app/+my-library/my-videos/my-videos.component.html30 - Longest firstLongest first - - src/app/+my-library/my-videos/my-videos.component.html31 + Last published first + Last published first + src/app/+my-library/my-videos/my-videos.component.html27 + + + Last created first + Last created first + src/app/+my-library/my-videos/my-videos.component.html28 + + + Most viewed first + Most viewed first + src/app/+my-library/my-videos/my-videos.component.html29 + + + Most liked first + Most liked first + src/app/+my-library/my-videos/my-videos.component.html30 + + + Longest first + Longest first + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Tulajdonjog elfogadása @@ -5295,19 +5337,19 @@ color: red; Account page Fiókoldal - - - src/app/+videos/+video-watch/video-watch.component.html189src/app/+videos/+video-watch/video-watch.component.html195 + src/app/+videos/+video-watch/video-watch.component.html189 + src/app/+videos/+video-watch/video-watch.component.html195 + - - src/app/+videos/+video-watch/video-watch.component.html196 + src/app/+videos/+video-watch/video-watch.component.html196 + No ownership change request found. Nem található tulajdonos-változtatási kérelem. - - src/app/+my-library/my-ownership/my-ownership.component.html78 + src/app/+my-library/my-ownership/my-ownership.component.html78 + Account settings Fiókbeállítások @@ -5327,9 +5369,11 @@ color: red; Create video channel Videocsatorna létrehozása - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + No channel found. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5340,21 +5384,23 @@ color: red; feliratkozó - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Példa: en_csatornam - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + CHANNEL CSATORNA src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26 - - Banner image of your channelBanner image of your channel + + + Banner image of your channel + Banner image of your channel src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html 30 @@ -5365,31 +5411,30 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Rövid szöveg, amely ismerteti az embereknek, hogy hogyan támogathatják a csatornáját (tagsági platform…).<br /><br /> Ha feltölt egy videót ebbe a csatornába, akkor a videó támogatási mezője automatikusan ki lesz töltve ezzel a szöveggel. - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Rövid szöveg, amely ismerteti az embereknek, hogy hogyan támogathatják a csatornáját (tagsági platform…).<br /><br /> Ha feltölt egy videót ebbe a csatornába, akkor a videó támogatási mezője automatikusan ki lesz töltve ezzel a szöveggel. + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + Overwrite support field of all videos of this channel A csatorna összes videója támogatási mezőjének felülírása - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + subscribers feliratkozó - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Upload a new avatar - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Cél @@ -5423,26 +5468,25 @@ color: red; Channel page Csatornaoldal - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Létrehozta: - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Tulajdonos fiókoldala - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 - + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Előzmények törlése - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. You don't have any video in your watch history yet. @@ -5514,8 +5558,8 @@ color: red; Create playlist Lejátszási lista létrehozása - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels My video channels @@ -5529,15 +5573,14 @@ color: red; Playlist } deleted. } lejátszólista törölve. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Lejátszási lista bélyegképe src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Nincsenek videók ebben a lejátszási listában. @@ -5562,14 +5605,18 @@ color: red; If you need help to use PeerTube, you can have a look at the documentation. Ha segítségre van szüksége a PeerTube használatához, akkor megnézheti a dokumentációt. src/app/+signup/shared/signup-success.component.html14 - - Created Created + + + Created + Created src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html 3,4 - - {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}}{VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} + + + {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} + {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html 3 @@ -5598,20 +5645,21 @@ color: red; Video channel videos Videócsatorna videói - - src/app/+video-channels/video-channels-routing.module.ts24 + src/app/+video-channels/video-channels-routing.module.ts24 + Video channel playlists Videócsatorna lejátszólistái - - src/app/+video-channels/video-channels-routing.module.ts37 - Manage channel Manage channel + src/app/+video-channels/video-channels-routing.module.ts37 + + + Manage channel + Manage channel src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification E-mail kérése a fiók ellenőrzéséhez @@ -5640,101 +5688,122 @@ color: red; Banned Kitiltva - - src/app/+accounts/accounts.component.html21 + src/app/+accounts/accounts.component.html21 + Instance muted Példány némítva - - src/app/+accounts/accounts.component.html23 + src/app/+accounts/accounts.component.html23 + Muted by your instance Némítva az Ön példánya által - - src/app/+accounts/accounts.component.html24 + src/app/+accounts/accounts.component.html24 + Instance muted by your instance Példány némítva az Ön példánya által - - src/app/+accounts/accounts.component.html25 - Copy account handleCopy account handle + src/app/+accounts/accounts.component.html25 + + + Copy account handle + Copy account handle src/app/+accounts/accounts.component.html 31 - - {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}}{VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} + + + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} src/app/+accounts/accounts.component.html 38 - - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} src/app/+accounts/accounts.component.html 41 - - + + + + src/app/+accounts/accounts.component.html 41,42 - - Show the complete descriptionShow the complete description - - - src/app/+accounts/accounts.component.html55src/app/+video-channels/video-channels.component.html94 - Show more... Show more... - - - src/app/+accounts/accounts.component.html57src/app/+video-channels/video-channels.component.html96 - Manage account Manage account - - src/app/+accounts/accounts.component.html62 - Search account videosSearch account videos - - src/app/+accounts/accounts.component.html80 - CHANNELSCHANNELS + + + Show the complete description + Show the complete description + src/app/+accounts/accounts.component.html55 + src/app/+video-channels/video-channels.component.html94 + + + Show more... + Show more... + src/app/+accounts/accounts.component.html57 + src/app/+video-channels/video-channels.component.html96 + + + Manage account + Manage account + src/app/+accounts/accounts.component.html62 + + + Search account videos + Search account videos + src/app/+accounts/accounts.component.html80 + + + CHANNELS + CHANNELS src/app/+accounts/accounts.component.ts 82 - This account does not have channels. Ennek a fióknak nincsenek csatornái. - - src/app/+accounts/account-video-channels/account-video-channels.component.html5 + src/app/+accounts/account-video-channels/account-video-channels.component.html5 + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 feliratkozó} other { feliratkozó} } - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 - - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 - Show this channelShow this channel - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + + + + + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + + + Show this channel + Show this channel + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Nincs videó} other { videó} } - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! - Biztos, hogy törli a(z) csatornát? Ez törli a csatornára feltöltött videót, és nem hozhat létre még egy csatornát ugyanezzel a névvel ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Biztos, hogy törli a(z) csatornát? Ez törli a csatornára feltöltött videót, és nem hozhat létre még egy csatornát ugyanezzel a névvel ()! + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Saját csatornák @@ -5750,30 +5819,24 @@ channel with the same name ()! See this video channel Videocsatorna megtekintése - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Ennek a csatornának nincs egyetlen videója sem. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL >SHOW THIS CHANNEL > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 - - - + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + + + SHOW THIS CHANNEL > + SHOW THIS CHANNEL > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Statisztikák - - src/app/menu/menu.component.html172 - - - - - - + src/app/menu/menu.component.html172 + This channel does not have playlists. Ennek a csatornának nincsenek lejátszási listái. @@ -5793,14 +5856,15 @@ channel with the same name ()!Follows Követők src/app/+about/about-follows/about-follows.component.html2 - - Follower instances ()Follower instances () + + + Follower instances () + Follower instances () src/app/+about/about-follows/about-follows.component.html 4 - Following instances () Following instances () @@ -5868,14 +5932,15 @@ channel with the same name ()!How long we plan to maintain this instance Meddig tervezzük fenntartani ezt a példányt src/app/+about/about-instance/about-instance.component.html72 - - How we will pay for keeping our instance runningHow we will pay for keeping our instance running + + + How we will pay for keeping our instance running + How we will pay for keeping our instance running src/app/+about/about-instance/about-instance.component.html 86 - INFORMATION INFORMÁCIÓK @@ -6017,8 +6082,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6255,18 +6320,19 @@ channel with the same name ()!Már nemrég elküldte ezt az űrlapot src/app/+about/about-instance/contact-admin-modal.component.ts83 - Account videos Fiók videói - - src/app/+accounts/accounts-routing.module.ts38 + src/app/+accounts/accounts-routing.module.ts38 + Search videos within account Search videos within account - - src/app/+accounts/accounts-routing.module.ts51 - PEERTUBE ACCOUNTPEERTUBE ACCOUNT + src/app/+accounts/accounts-routing.module.ts51 + + + PEERTUBE ACCOUNT + PEERTUBE ACCOUNT src/app/+accounts/accounts.component.html 8 @@ -6275,64 +6341,58 @@ channel with the same name ()! Account video channels Fiók videócsatornái - - src/app/+accounts/accounts-routing.module.ts29 - + src/app/+accounts/accounts-routing.module.ts29 + Published videos videó közzétéve - - - - src/app/+accounts/account-search/account-search.component.ts95 + src/app/+accounts/account-search/account-search.component.ts95 + Display all videos (private, unlisted or not yet published) Display all videos (private, unlisted or not yet published) - - - - - - - - src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + direct account followers közvetlen fiókkövető - - src/app/+accounts/accounts.component.ts155 + src/app/+accounts/accounts.component.ts155 + Report this account Fiók jelentése - - src/app/+accounts/accounts.component.ts196 - - + src/app/+accounts/accounts.component.ts196 + VIDEOS VIDEÓK - - - src/app/+accounts/accounts.component.ts83src/app/+video-channels/video-channels.component.ts76 - + src/app/+accounts/accounts.component.ts83 + src/app/+video-channels/video-channels.component.ts76 + Username copied Felhasználónév lemásolva - - - src/app/+accounts/accounts.component.ts121src/app/+video-channels/video-channels.component.ts103 + src/app/+accounts/accounts.component.ts121 + src/app/+video-channels/video-channels.component.ts103 + 1 subscriber 1 feliratkozó - - src/app/+accounts/accounts.component.ts125 + src/app/+accounts/accounts.component.ts125 + subscribers feliratkozó - - src/app/+accounts/accounts.component.ts127 + src/app/+accounts/accounts.component.ts127 + Instances you follow Példányok, amiket követ @@ -6349,8 +6409,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Egy <code>.mp4</code>, amely megtartja az eredeti hangsávot videó nélkül + A <code>.mp4</code> that keeps the original audio track, with no video + Egy <code>.mp4</code>, amely megtartja az eredeti hangsávot videó nélkül src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6396,34 +6456,34 @@ channel with the same name ()! No limit No limit - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts34 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts34 + 1 hour 1 hour - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts35 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts35 + 3 hours 3 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts36 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts36 + 5 hours 5 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts37 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts37 + 10 hours 10 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts38 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts38 + x264, targeting maximum device compatibility x264, targeting maximum device compatibility - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. @@ -6519,13 +6579,13 @@ channel with the same name ()! Unlimited Korlátlan - - - - - - - src/app/+admin/config/shared/config.service.ts22src/app/+admin/config/shared/config.service.ts36src/app/shared/shared-instance/instance-features-table.component.ts30src/app/shared/shared-instance/instance-features-table.component.ts37src/app/shared/shared-main/users/user-quota.component.ts32src/app/shared/shared-main/users/user-quota.component.ts38 + src/app/+admin/config/shared/config.service.ts22 + src/app/+admin/config/shared/config.service.ts36 + src/app/shared/shared-instance/instance-features-table.component.ts30 + src/app/shared/shared-instance/instance-features-table.component.ts37 + src/app/shared/shared-main/users/user-quota.component.ts32 + src/app/shared/shared-main/users/user-quota.component.ts38 + None - no upload possible Nincs – feltöltés nem lehetséges @@ -6646,29 +6706,29 @@ channel with the same name ()! Delete Törlés - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + removed from instance followers @@ -6746,8 +6806,8 @@ channel with the same name ()! Account unmuted by your instance. A(z) fiók némítását visszavonta az Ön példánya. - - src/app/shared/shared-moderation/account-blocklist.component.ts44 + src/app/shared/shared-moderation/account-blocklist.component.ts44 + Instance unmuted by your instance. A(z) példány némítását visszavonta az Ön példánya. @@ -6756,9 +6816,9 @@ channel with the same name ()! Instance muted. A példány némítva. - - - src/app/shared/shared-moderation/server-blocklist.component.ts68src/app/shared/shared-moderation/user-moderation-dropdown.component.ts148 + src/app/shared/shared-moderation/server-blocklist.component.ts68 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts148 + Instance muted by your instance. A(z) példány némítva az Ön példánya által. @@ -6772,158 +6832,158 @@ channel with the same name ()! Violent or Repulsive Erőszakos vagy visszataszító - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Utálkozó vagy sértő - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam vagy félrevezető - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Adatvédelem - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Szerzői jog - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Kiszolgáló szabályai - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Indexképek - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Belső műveletek - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Jelentés törlése - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Műveletek a megjelölt fiókhoz - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Megjelölés elfogadottként - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Megjelölés visszautasítottként - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Belső jegyzet hozzáadása - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video A videó műveletei - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Videó letiltása - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Videó letiltva. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Videó feloldása - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Video feloldva. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Valóban törölni szeretné ezt a visszaélési jelentést? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Visszaélési jelentés törölve. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Törölt megjegyzés - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Üzenetek a bejelentővel - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Üzenetek moderátorokkal - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Belső jegyzet frissítése - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Videó letiltásának manuálisra állítása - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. A videó kézi letiltásra állítva. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Biztosan feloldja a videó tiltását? Újra elérhető lesz a videólistában. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Feloldás - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. A videó feloldva. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes igen @@ -6939,50 +6999,56 @@ channel with the same name ()! You don't have plugins installed yet. Még nincsenek telepített bővítményei. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts87 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts87 + You don't have themes installed yet. Még nincsenek telepített témái. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts90 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts90 + Update to Frissítés erre: - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts98 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts98 + Do you really want to uninstall ? Valóban el szeretné távolítani a(z) bővítményt? - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts111 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts111 + Uninstall Eltávolítás - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts112 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts112 + uninstalled. eltávolítva. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts119 - This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes.This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts119 + + + This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. + This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 135 - - UpgradeUpgrade + + + Upgrade + Upgrade src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 136 - - Proceed upgradeProceed upgrade + + + Proceed upgrade + Proceed upgrade src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 137 @@ -6993,8 +7059,8 @@ channel with the same name ()! frissítve. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts151 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts151 + Jobs Feladatok @@ -7008,30 +7074,30 @@ channel with the same name ()! The plugin index is not available. Please retry later. A bővítményindex nem érhető el. Próbálja újra később. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts101 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts101 + Please only install plugins or themes you trust, since they can execute any code on your instance. Csak olyan bővítményeket vagy témákat telepítsen, amelyekben megbízik, mivel azok bármilyen kódot végrehajthatnak az Ön példányán. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts135 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts135 + Install ? Telepíti a(z) bővítményt? - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts136 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts136 + installed. telepítve. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts148 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts148 + Settings updated. Beállítások frissítve. - - src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts55 + src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts55 + Plugins Bővítmények @@ -7051,56 +7117,74 @@ channel with the same name ()!theme téma src/app/+admin/plugins/shared/plugin-api.service.ts48 - - IP addressIP address + + + IP address + IP address src/app/+admin/system/debug/debug.component.html 2 - - PeerTube thinks your web browser public IP is .PeerTube thinks your web browser public IP is . + + + PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . src/app/+admin/system/debug/debug.component.html 4 - - If this is not your correct public IP, please consider fixing it because:If this is not your correct public IP, please consider fixing it because: + + + If this is not your correct public IP, please consider fixing it because: + If this is not your correct public IP, please consider fixing it because: src/app/+admin/system/debug/debug.component.html 6 - - Views may not be counted correctly (reduced compared to what they should be)Views may not be counted correctly (reduced compared to what they should be) + + + Views may not be counted correctly (reduced compared to what they should be) + Views may not be counted correctly (reduced compared to what they should be) src/app/+admin/system/debug/debug.component.html 8 - - Anti brute force system could be overzealousAnti brute force system could be overzealous + + + Anti brute force system could be overzealous + Anti brute force system could be overzealous src/app/+admin/system/debug/debug.component.html 9 - - P2P system could not work correctlyP2P system could not work correctly + + + P2P system could not work correctly + P2P system could not work correctly src/app/+admin/system/debug/debug.component.html 10 - - To fix it:To fix it: + + + To fix it: + To fix it: src/app/+admin/system/debug/debug.component.html 13 - - Check the trust_proxy configuration keyCheck the trust_proxy configuration key + + + Check the trust_proxy configuration key + Check the trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643)If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + + + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7260,114 +7344,114 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. A videók törölve lesznek, a hozzászólások el lesznek temetve. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Kitiltás - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. A felhasználó nem lesz képes többé bejelentkezni, de a videók és a hozzászólások meg lesznek tartva, ahogy vannak. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Kitiltás visszavonása - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified E-mail beállítása ellenőrzöttre - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Nem tilthatja ki a rendszergazdát. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Valóban vissza szeretné vonni felhasználó kitiltását? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. felhasználó kitiltása visszavonva. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Nem törölheti a rendszergazdát. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Ha eltávolítja ezeket a felhasználókat, akkor nem fog tudni másokat létrehozni ugyanezzel a felhasználónévvel! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. felhasználó törölve. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. felhasználó e-mail-címe ellenőrzöttre lett állítva. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. A(z) fiók némítása visszavonva. - - - src/app/shared/shared-moderation/account-blocklist.component.ts43src/app/shared/shared-moderation/user-moderation-dropdown.component.ts134 + src/app/shared/shared-moderation/account-blocklist.component.ts43 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts134 + Instance unmuted. A(z) példány némítása visszavonva. - - - src/app/shared/shared-moderation/server-blocklist.component.ts45src/app/shared/shared-moderation/user-moderation-dropdown.component.ts162 + src/app/shared/shared-moderation/server-blocklist.component.ts45 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts162 + Videos history is enabled Videók előzményei engedélyezve - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Videók előzményei letiltva - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Videók előzményeinek törlése - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Biztosan törölni szeretné az összes videója előzményét? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Videók előzményei törölve - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history My watch history @@ -7376,12 +7460,11 @@ channel with the same name ()!3 - Track watch history Track watch history - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Tulajdonjog elfogadva @@ -7398,8 +7481,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html @@ -7517,14 +7600,18 @@ channel with the same name ()!One of your abuse reports has been accepted or rejected by moderators Az egyik visszaélési jelentését elfogadták vagy elutasították a moderátorok src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts45 - - A new PeerTube version is availableA new PeerTube version is available + + + A new PeerTube version is available + A new PeerTube version is available src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts 46 - - One of your plugin/theme has a new available versionOne of your plugin/theme has a new available version + + + One of your plugin/theme has a new available version + One of your plugin/theme has a new available version src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts 47 @@ -7533,8 +7620,8 @@ channel with the same name ()! Preferences saved Beállítások mentve - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts96 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts96 + Profile updated. Profil frissítve. @@ -7575,52 +7662,57 @@ channel with the same name ()! Unknown language Ismeretlen nyelv - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Túl sok nyelv engedélyezett. Engedélyezze az összeset, vagy maradjon 20 engedélyezett nyelv alatt. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Videobeállítások frissítve. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. A megjelenítési és a videobeállítások frissítve. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. A(z) videócsatorna létrehozva. - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts67 + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts67 + This name already exists on this instance. Ez a név már létezik ebben a példányban. - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts73 + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts73 + Video channel updated. A(z) videocsatorna frissítve. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts94 - - Banner changed.Banner changed. + + + Banner changed. + Banner changed. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 137 - - bannerbanner + + + banner + banner src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 144 - - Banner deleted.Banner deleted. + + + Banner deleted. + Banner deleted. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 154 @@ -7629,18 +7721,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Írja be a videócsatorna megjelenített nevét ( ) a megerősítéshez - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. A(z) videócsatorna törölve. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day A nap megtekintései - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Videócsatorna frissítése @@ -7683,9 +7775,9 @@ channel with the same name ()! Create Létrehozás - - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts103src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts89 + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts103 + src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts89 + Update playlist Lejátszólista frissítése @@ -7717,15 +7809,15 @@ channel with the same name ()! Do you really want to delete ? Valóban törölni szeretné a(z) lejátszási listát? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Change ownership - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. A(z) lejátszási lista törölve. @@ -7744,15 +7836,15 @@ channel with the same name ()! Do you really want to delete videos? Valóban törölni szeretne videót? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. videó törölve. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Valóban törölni szeretné a(z) @@ -7766,9 +7858,9 @@ channel with the same name ()! Video deleted. A(z) videó törölve. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Tulajdonjog-változtatási kérelem elküldve. @@ -7777,25 +7869,23 @@ channel with the same name ()! My channels Csatornáim - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Lejátszási listáim - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html3 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html3 + My subscriptions Feliratkozásaim src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. You don't have any subscription yet. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Visszaélési jelentések @@ -7829,9 +7919,9 @@ channel with the same name ()! max size legnagyobb méret - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Maximize editor @@ -7872,22 +7962,22 @@ channel with the same name ()! Published videos Közzétett videók - - src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts56 - + src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts56 + Subscribe to the account Feliratkozás a fiókra - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 - PLAYLISTSPLAYLISTS + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + + + PLAYLISTS + PLAYLISTS src/app/+video-channels/video-channels.component.ts 77 - Focus the search bar Fókuszálás a keresősávra @@ -7944,9 +8034,8 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. - Az OAuth kliens hitelesítő adatai nem kérhetők le: . Győződjön meg róla, hogy helyesen állította be a PeerTube-ot (konfiguráció / könyvtár), különösképpen a „webserver” szakaszban. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Az OAuth kliens hitelesítő adatai nem kérhetők le: . Győződjön meg róla, hogy helyesen állította be a PeerTube-ot (konfiguráció / könyvtár), különösképpen a „webserver” szakaszban. src/app/core/auth/auth.service.ts99 @@ -7967,43 +8056,43 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Incorrect username or password. Helytelen felhasználónév vagy jelszó. - - src/app/+login/login.component.ts159 + src/app/+login/login.component.ts159 + Your account is blocked. A fiókja le van tiltva. - - src/app/+login/login.component.ts160 + src/app/+login/login.component.ts160 + any language bármely nyelv - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON ON - - src/app/menu/menu.component.html124 + src/app/menu/menu.component.html124 + hide elrejtés - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur homályosítás - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display megjelenítés - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Ismeretlen - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! A jelszava sikeresen vissza lett állítva! @@ -8018,45 +8107,45 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Today Ma - - - - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts42 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 + src/app/shared/shared-video-miniature/abstract-video-list.ts135 + Yesterday Tegnap - - src/app/shared/shared-video-miniature/abstract-video-list.ts136 + src/app/shared/shared-video-miniature/abstract-video-list.ts136 + This week This week - - src/app/shared/shared-video-miniature/abstract-video-list.ts137 + src/app/shared/shared-video-miniature/abstract-video-list.ts137 + This month This month - - src/app/shared/shared-video-miniature/abstract-video-list.ts138 + src/app/shared/shared-video-miniature/abstract-video-list.ts138 + Last month Múlt hónap - - src/app/shared/shared-video-miniature/abstract-video-list.ts139 + src/app/shared/shared-video-miniature/abstract-video-list.ts139 + Older Régebbiek - - src/app/shared/shared-video-miniature/abstract-video-list.ts140 + src/app/shared/shared-video-miniature/abstract-video-list.ts140 + Cannot load more videos. Try again later. Több videó nem tölthető be. Próbálja újra később. - - src/app/shared/shared-video-miniature/abstract-video-list.ts226 + src/app/shared/shared-video-miniature/abstract-video-list.ts226 + function is not implemented function is not implemented - - src/app/shared/shared-video-miniature/abstract-video-list.ts299 + src/app/shared/shared-video-miniature/abstract-video-list.ts299 + Last 7 days Elmúlt 7 nap @@ -8083,8 +8172,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Hosszú (> 10 perc) + Long (> 10 min) + Hosszú (> 10 perc) src/app/+search/search-filters.component.ts73 @@ -8100,27 +8189,30 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Views Megtekintések - - - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts88 + src/app/+videos/video-list/trending/video-trending-header.component.ts54 + Search index is unavailable. Retrying with instance results instead. A keresőindex nem érhető el. Újrapróbálkozás a példány találataival. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Keresési hiba - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Keresés - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 - + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + + + + src/app/+search/search.component.html 5 @@ -8279,14 +8371,15 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Signup limit is required. A regisztrációkorlát megadása kötelező. src/app/shared/form-validators/custom-config-validators.ts46 - - Signup limit must be greater than 1. Use -1 to disable it.Signup limit must be greater than 1. Use -1 to disable it. + + + Signup limit must be greater than 1. Use -1 to disable it. + Signup limit must be greater than 1. Use -1 to disable it. src/app/shared/form-validators/custom-config-validators.ts 47 - Signup limit must be a number. A regisztrációkorlátnak számnak kell lennie. @@ -8714,8 +8807,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. src/app/shared/shared-video-live/live-documentation-link.component.html @@ -8900,332 +8993,334 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Sunday Vasárnap - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts10 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts10 + Monday Hétfő - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts11 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts11 + Tuesday Kedd - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts12 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts12 + Wednesday Szerda - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts13 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts13 + Thursday Csütörtök - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts14 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts14 + Friday Péntek - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts15 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts15 + Saturday Szombat - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts16 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts16 + Sun Vas Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts20 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts20 + Mon Hét Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts21 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts21 + Tue Ked Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts22 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts22 + Wed Sze Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts23 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts23 + Thu Csü Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts24 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts24 + Fri Pén Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts25 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts25 + Sat Szo Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts26 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts26 + Su V Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts30 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts30 + Mo H Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts31 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts31 + Tu K Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts32 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts32 + We Sze Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts33 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts33 + Th Cs Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts34 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts34 + Fr P Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts35 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts35 + Sa Szo Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts36 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts36 + January Január - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts40 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts40 + February Február - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts41 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts41 + March Március - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts42 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts42 + April Április - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts43 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts43 + May Május - - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts44src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts59 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts44 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts59 + June Június - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts45 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts45 + July Július - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts46 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts46 + August Augusztus - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts47 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts47 + September Szeptember - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts48 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts48 + October Október - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts49 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts49 + November November - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts50 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts50 + December December - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts51 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts51 + Jan Jan Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts55 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts55 + Feb Feb Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts56 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts56 + Mar Már Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts57 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts57 + Apr Ápr Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts58 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts58 + Jun Jún Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts60 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts60 + Jul Júl Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts61 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts61 + Aug Aug Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts62 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts62 + Sep Sze Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts63 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts63 + Oct Okt Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts64 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts64 + Nov Nov Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts65 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts65 + Dec Dec Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts66 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts66 + Clear Törlés - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts71 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts71 + yy-mm-dd yyyy. mm. dd. Date format in this locale. - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts83 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts83 + Instance languages Példány nyelvei - - src/app/+videos/+video-edit/shared/video-edit.component.ts172 + src/app/+videos/+video-edit/shared/video-edit.component.ts172 + All languages Összes nyelv - - - src/app/+videos/+video-edit/shared/video-edit.component.ts173src/app/shared/shared-user-settings/user-video-settings.component.ts39 + src/app/+videos/+video-edit/shared/video-edit.component.ts173 + src/app/shared/shared-user-settings/user-video-settings.component.ts39 + Hidden Rejtett - - src/app/shared/shared-instance/instance-features-table.component.ts54 + src/app/shared/shared-instance/instance-features-table.component.ts54 + Blurred with confirmation request Elhomályosítva megerősítő kéréssel - - src/app/shared/shared-instance/instance-features-table.component.ts55 + src/app/shared/shared-instance/instance-features-table.component.ts55 + Displayed Megjelenített - - src/app/shared/shared-instance/instance-features-table.component.ts56 + src/app/shared/shared-instance/instance-features-table.component.ts56 + ~ 1 minute ~ 1 perc - - src/app/shared/shared-instance/instance-features-table.component.ts75 + src/app/shared/shared-instance/instance-features-table.component.ts75 + ~ minutes ~ perc - - src/app/shared/shared-instance/instance-features-table.component.ts77 + src/app/shared/shared-instance/instance-features-table.component.ts77 + of full HD videos teljes HD videó - - src/app/shared/shared-instance/instance-features-table.component.ts93 + src/app/shared/shared-instance/instance-features-table.component.ts93 + of HD videos HD videó - - src/app/shared/shared-instance/instance-features-table.component.ts94 + src/app/shared/shared-instance/instance-features-table.component.ts94 + of average quality videos átlagos minőségű videó - - src/app/shared/shared-instance/instance-features-table.component.ts95 + src/app/shared/shared-instance/instance-features-table.component.ts95 + (channel page) (csatornaoldal) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (fiókoldal) - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Nyomaték @@ -9250,8 +9345,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Images Képek src/app/shared/shared-main/misc/help.component.ts85 - - Close searchClose search + + + Close search + Close search src/app/shared/shared-main/misc/simple-search-input.component.html 14 @@ -9272,34 +9369,34 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to unban ? Valóban vissza szeretné vonni kitiltását? - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + User unbanned. felhasználó kitiltása visszavonva. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts77 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts77 + If you remove this user, you will not be able to create another with the same username! Ha eltávolítja ezt a felhasználót, akkor nem fog tudni másikat létrehozni ugyanezzel a felhasználónévvel! - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts91 + User deleted. felhasználó törölve. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts97 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts97 + User email set as verified felhasználó e-mail-címe ellenőrzöttre lett állítva - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts108 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts108 + Account muted. A(z) fiók némítva. - - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts120src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts240 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts120 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts240 + Instance muted. A(z) @@ -9313,19 +9410,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. A(z) fiókot némította a példány. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Kiszolgáló némítása - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. A(z) kiszolgálót némította a példány. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Üzenet hozzáadása a bejelentővel történő kommunikációhoz @@ -9339,158 +9436,158 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account unmuted by the instance. A(z) fiók némítását visszavonta a példány. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts190 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts190 + Instance muted by the instance. A(z) példányt némította a példány. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts204 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts204 + Instance unmuted by the instance. A(z) példány némítását visszavonta a példány. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts218 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts218 + Are you sure you want to remove all the comments of this account? Biztosan törölni szeretné a fiók összes hozzászólását? - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts229 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts229 + Delete account comments Fiók hozzászólásainak törlése - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts230 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts230 + Will remove comments of this account (may take several minutes). A fiók hozzászólásai törlésre kerülnek (több percbe telhet). - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts236 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts236 + Edit user Felhasználó szerkesztése - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts264 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts264 + Change quota, role, and more. Kvóta, szerep és egyebek megváltoztatása. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts265 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts265 + Delete user Felhasználó törlése - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts269 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts269 + Unban user Felhasználó kitiltásának visszavonása - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts280 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts280 + Allow the user to login and create videos/comments again Lehetővé tétel a felhasználó számára, hogy újra bejelentkezzen és videókat vagy hozzászólásokat hozzon létre - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts281 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts281 + Mute this account A fiók némítása - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts298 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts298 + Hide any content from that user from you. Hide any content from that user from you. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts299 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts299 + Unmute this account A fiók némításának visszavonása - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts304 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts304 + Show back content from that user for you. A felhasználótól származó tartalom újra megjelenítése az Ön számára. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts305 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts305 + Mute the instance A példány némítása - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts310 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts310 + Hide any content from that instance for you. A példányról származó összes tartalom elrejtése az Ön számára. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts311 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts311 + Unmute the instance A példány némításának visszavonása - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts316 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts316 + Show back content from that instance for you. A példányról származó tartalom újra megjelenítése az Ön számára. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts317 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts317 + Remove comments from your videos Hozzászólások törlése a videóiról - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts322 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts322 + Remove comments made by this account on your videos. Remove comments made by this account on your videos. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts323 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts323 + Mute this account by your instance A fiók némítása az Ön példánya által - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts334 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts334 + Hide any content from that user from you, your instance and its users. Hide any content from that user from you, your instance and its users. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts335 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts335 + Unmute this account by your instance A fiók a némításának visszavonása az Ön példánya által - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts340 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts340 + Show this user's content to the users of this instance again. Show this user's content to the users of this instance again. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts341 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts341 + Mute the instance by your instance A példány a némítása az Ön példánya által - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts352 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts352 + Hide any content from that instance from you, your instance and its users. Hide any content from that instance from you, your instance and its users. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts353 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts353 + Unmute the instance by your instance A példány a némításának visszavonása az Ön példánya által - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts358 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts358 + Show back content from that instance for you, your instance and its users. A példányról származó tartalom újra megjelenítése az Ön, a példánya és annak felhasználói számára. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts359 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts359 + Remove comments from your instance Hozzászólások törlése a példányáról - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts369 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts369 + Remove comments made by this account from your instance. Remove comments made by this account from your instance. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts370 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts370 + Violent or repulsive Erőszakos vagy visszataszító @@ -9554,9 +9651,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Feliratok - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). A fenti csak feliratokban látható (kérem írja le, melyik). @@ -9630,8 +9727,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Moderátor - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Videó eltávolítva innen: @@ -9677,61 +9774,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Videó törlése - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Műveletek a hozzászóláshoz - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Hozzászólás törlése - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Biztos, hogy törli ezt a hozzászólást? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Hozzászólás törölve. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Kódoló - - src/app/shared/shared-video-miniature/video-download.component.ts160 + src/app/shared/shared-video-miniature/video-download.component.ts160 + Format name Formátum neve - - src/app/shared/shared-video-miniature/video-download.component.ts161 + src/app/shared/shared-video-miniature/video-download.component.ts161 + Size Méret - - src/app/shared/shared-video-miniature/video-download.component.ts162 + src/app/shared/shared-video-miniature/video-download.component.ts162 + Bitrate Bitsebesség - - - src/app/shared/shared-video-miniature/video-download.component.ts164src/app/shared/shared-video-miniature/video-download.component.ts187 + src/app/shared/shared-video-miniature/video-download.component.ts164 + src/app/shared/shared-video-miniature/video-download.component.ts187 + Codec Kodek - - src/app/shared/shared-video-miniature/video-download.component.ts184 + src/app/shared/shared-video-miniature/video-download.component.ts184 + Copied Másolva - - - src/app/shared/shared-forms/input-toggle-hidden.component.ts47src/app/shared/shared-video-miniature/video-download.component.ts151 + src/app/shared/shared-forms/input-toggle-hidden.component.ts47 + src/app/shared/shared-video-miniature/video-download.component.ts151 + Copy Copy @@ -9741,31 +9838,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Video reported. Videó bejelentve. - - src/app/shared/shared-moderation/report-modals/video-report.component.ts111 + src/app/shared/shared-moderation/report-modals/video-report.component.ts111 + Do you really want to delete this video? Valóban törölni szeretné ezt a videót? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. A videó törölve. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Műveletek a jelentővel kapcsolatban - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Jelentő némítása - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Ezt a videót kettőzni fogja az Ön példánya. @@ -9779,18 +9876,18 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Display live information - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Frissítés - - - - - - src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts176src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts110src/app/shared/shared-main/buttons/edit-button.component.ts17src/app/shared/shared-main/buttons/edit-button.component.ts22src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts284 + src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts176 + src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts110 + src/app/shared/shared-main/buttons/edit-button.component.ts17 + src/app/shared/shared-main/buttons/edit-button.component.ts22 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts284 + Block Letiltás @@ -9799,14 +9896,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Save to playlist Mentés a lejátszási listára - - - src/app/+videos/+video-watch/video-watch.component.ts161src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 + src/app/+videos/+video-watch/video-watch.component.ts161 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 + - You need to be <a href="/login">logged in</a> to rate this video. - You need to be <a href="/login">logged in</a> to rate this video. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Lemásolás @@ -9820,14 +9917,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Eltávolítás - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Eltávolítás és újraírás - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 - {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}}{VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + + + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} src/app/+videos/+video-watch/comment/video-comments.component.html 4 @@ -9836,9 +9935,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Fiók némítása - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Open video actions @@ -9854,33 +9953,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Kiszolgálófiók némítésa - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Jelentés - - src/app/shared/shared-abuse-list/abuse-details.component.html55 + src/app/shared/shared-abuse-list/abuse-details.component.html55 + Reported part Bejelentett rész - - src/app/shared/shared-abuse-list/abuse-details.component.html73 + src/app/shared/shared-abuse-list/abuse-details.component.html73 + Note Jegyzet - - src/app/shared/shared-abuse-list/abuse-details.component.html80 + src/app/shared/shared-abuse-list/abuse-details.component.html80 + The video was deleted A videó törölve lett - - src/app/shared/shared-abuse-list/abuse-details.component.html89 + src/app/shared/shared-abuse-list/abuse-details.component.html89 + Comment: Hozzászólás: - - src/app/shared/shared-abuse-list/abuse-details.component.html95 + src/app/shared/shared-abuse-list/abuse-details.component.html95 + Messages with the reporter Beszélgetés a bejelentővel @@ -9904,29 +10003,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Közzétéve - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Közzététel ütemezve ekkor - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Átkódolásra vár - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Átkódoláshoz - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Importáláshoz - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -9950,33 +10051,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Csak én láthatom ezt a videót - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Csak személyes hivatkozással osztható meg - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Bárki láthatja ezt a videót - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Csak a példány felhasználói nézhetik meg ezt a videót - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + viewers viewers - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views views - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + Close Bezárás @@ -10025,43 +10126,43 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular «« «« - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts182 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts182 + « « - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts186 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts186 + » » - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts194 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts194 + »» »» - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts201 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts201 + First Első - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts208 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts208 + Previous Előző - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts215 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts215 + Next Következő - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts225 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts225 + Last Utolsó - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts232 + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts232 + @@ -10145,58 +10246,56 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Video to import updated. Az importálandó videó frissítve. - - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts135src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts145 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts135 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts145 + Your video was uploaded to your account and is private. A videó fel lett töltve a fiókjába, és személyes. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + But associated data (tags, description...) will be lost, are you sure you want to leave this page? De a kapcsolódó adatok (címkék, leírás, …) el fognak veszni. Biztosan el szeretné hagyni ezt az oldalt? - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + Your video is not uploaded yet, are you sure you want to leave this page? A videó még nincs feltöltve. Biztosan el szeretné hagyni ezt az oldalt? - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + Upload Feltöltés - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + Upload feltöltése - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + Upload cancelled Feltöltés megszakítása - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + Video published. Videó közzétéve. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 + - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Ezzel a videóval túllépte a videókvótáját (videóméret: , felhasznált: , kvóta: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 + Your video quota is exceeded with this video ( video size: , used: , quota: ) + Ezzel a videóval túllépte a videókvótáját (videóméret: , felhasznált: , kvóta: ) + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 + - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Ezzel a videóval túllépte a napi videókvótáját (videóméret: , használt: , kvóta: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) + Ezzel a videóval túllépte a napi videókvótáját (videóméret: , használt: , kvóta: ) + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + You have unsaved changes! If you leave, your changes will be lost. Mentetlen változtatásai vannak. Ha elhagyja ezt az oldalt, akkor a változtatásai el fognak veszni. @@ -10215,23 +10314,23 @@ video size: , used: Stop autoplaying next video Következő videó automatikus lejátszásának leállítása - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Következő videó automatikus lejátszása - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Lejátszási listán lévő videók ismétlésének leállítása - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Lejátszási listán lévő videók ismétlése - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Placeholder image @@ -10241,110 +10340,110 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Ez a videó nem érhető el ezen a példányon. Szeretné, hogy átirányítsuk a forráspéldányhoz: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Ez a videó nem érhető el ezen a példányon. Szeretné, hogy átirányítsuk a forráspéldányhoz: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Átirányítás - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Ez a videó felnőtt vagy korhatáros tartalmat tartalmaz. Biztosan meg szeretné nézni? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Felnőtt vagy korhatáros tartalom - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Legközelebb - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Mégse - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Az automatikus lejátszás fel van függesztve - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Teljes képernyőre váltás vagy normál méret (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) A videó lejátszása vagy szüneteltetése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) A videó némítása vagy a némítás visszavonása (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Kihagyás a videó százalékáig: a 0 jelentése 0%, a 9 jelentése 90% (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) A hangerő növelése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) A hangerő csökkentése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) A videó előretekerése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) A videó visszatekerése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Lejátszási sebesség növelése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Lejátszási sebesség csökkentése (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Navigálás a videóban képkockánként (lejátszófókuszt igényel) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video A videó kedvelése - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video A videó nem kedvelése - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Ha be van kapcsolva, akkor a következő videó automatikusan lejátszásra kerül a jelenlegi után. - - src/app/+videos/+video-watch/recommendations/recommended-videos.component.ts61 + src/app/+videos/+video-watch/recommendations/recommended-videos.component.ts61 + Recently added Nemrég hozzáadott @@ -10353,25 +10452,25 @@ video size: , used: Videos from your subscriptions Videók a feliratkozóitól - - src/app/+videos/video-list/video-user-subscriptions.component.ts42 + src/app/+videos/video-list/video-user-subscriptions.component.ts42 + Copy feed URL Copy feed URL - - src/app/+videos/video-list/video-user-subscriptions.component.ts65 + src/app/+videos/video-list/video-user-subscriptions.component.ts65 + Feed URL copied Feed URL copied - - src/app/+videos/video-list/video-user-subscriptions.component.ts110 + src/app/+videos/video-list/video-user-subscriptions.component.ts110 + Subscriptions Feliratkozások - - - - src/app/+my-library/my-library.component.ts66src/app/+videos/video-list/video-user-subscriptions.component.ts46src/app/+videos/videos-routing.module.ts59 + src/app/+my-library/my-library.component.ts66 + src/app/+videos/video-list/video-user-subscriptions.component.ts46 + src/app/+videos/videos-routing.module.ts59 + History History From 247181f7a04339f2c3a60c8fcc4d79fd3c99419d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80?= Date: Thu, 6 May 2021 06:16:08 +0000 Subject: [PATCH 043/136] Translated using Weblate (Russian) Currently translated at 98.5% (1820 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/ru/ --- client/src/locale/angular.ru-RU.xlf | 1698 +++++++++++++-------------- 1 file changed, 838 insertions(+), 860 deletions(-) diff --git a/client/src/locale/angular.ru-RU.xlf b/client/src/locale/angular.ru-RU.xlf index a90558e5b..a43d55fbc 100644 --- a/client/src/locale/angular.ru-RU.xlf +++ b/client/src/locale/angular.ru-RU.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. У вас нет уведомлений. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - упомянул вас в видео + mentioned you on video + упомянул вас в видео src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Новая версия плагина / темы доступна: + A new version of the plugin/theme is available: + Новая версия плагина / темы доступна: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Новая версия PeerTube доступна: + A new version of PeerTube is available: + Новая версия PeerTube доступна: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Изменить ваше изображение - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Удалить аватар - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -173,8 +171,8 @@ My watch history Моя история просмотров - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Сохранить в @@ -183,8 +181,8 @@ Options Настройки - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Начало в @@ -354,8 +352,10 @@ Отмена src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + No results. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -451,13 +451,13 @@ Blocked Заблокировано - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Чувствительный - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Нет видео} other { видео}} @@ -481,10 +481,10 @@ Deleted Удалено - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Редактировать начало/конец в @@ -508,16 +508,15 @@ No results. Нет результатов. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Лучшее @@ -532,10 +531,12 @@ Delete Удалить - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Only live videos src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -576,8 +577,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://ru.wikipedia.org/wiki/Markdown#Примеры_синтаксиса" target="_blank" rel="noopener noreferrer">Markdown</a> совместимый что поддерживает: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://ru.wikipedia.org/wiki/Markdown#Примеры_синтаксиса" target="_blank" rel="noopener noreferrer">Markdown</a> совместимый что поддерживает: src/app/shared/shared-main/misc/help.component.ts75 @@ -829,8 +830,8 @@ User Пользователь - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Заблокировать @@ -925,16 +926,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Этот экземпляр разрешает регистрацию. Однако будьте осторожны, проверьте Условия пользованияTerms перед созданием учетной записи. Вы также можете найти другой экземпляр, который точно соответствует вашим потребностям, на: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Этот экземпляр разрешает регистрацию. Однако будьте осторожны, проверьте Условия пользованияTerms перед созданием учетной записи. Вы также можете найти другой экземпляр, который точно соответствует вашим потребностям, на: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - В настоящее время этот экземпляр не позволяет регистрировать пользователей, проверьте Условия пользования для получения дополнительных сведений, или найдите экземпляр, который дает вам возможность зарегистрировать учетную запись и загружать туда свои видео. Найдите свой среди множества экземпляров на: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + В настоящее время этот экземпляр не позволяет регистрировать пользователей, проверьте Условия пользования для получения дополнительных сведений, или найдите экземпляр, который дает вам возможность зарегистрировать учетную запись и загружать туда свои видео. Найдите свой среди множества экземпляров на: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1011,8 +1012,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Письмо с инструкцией по сбросу пароля будет отправлено на . Ссылка будет рабочей в течении 1 часа. src/app/+login/login.component.ts121 @@ -1050,8 +1050,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - для + for + для src/app/+search/search.component.html 10 @@ -1123,8 +1123,8 @@ The link will expire within 1 hour. подписчиков - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Добро пожаловать в PeerTube, уважаемый администратор! @@ -1380,9 +1380,9 @@ The link will expire within 1 hour. My videos Мои видео - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Мои добавленные видео @@ -1882,48 +1882,54 @@ The link will expire within 1 hour. extensions расширения - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Это изображение слишком большое. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Загрузите новый баннер - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Измените свой баннер - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Удалить баннер - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: соотношение 6/1, рекомендуемый размер: 1600 x 266, максимальный размер: , расширения: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Account avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Channel avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Advanced filters src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2010,14 +2016,15 @@ The link will expire within 1 hour. Contains sensitive content Содержит чувствительный контент src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Some instances hide videos containing mature or explicit content by default. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Публиковать после обработки @@ -2044,7 +2051,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Уже загружено ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2286,9 +2293,9 @@ The link will expire within 1 hour. Total video quota Общая квота видео - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. @@ -2413,8 +2420,8 @@ The link will expire within 1 hour. Report this comment Пожаловаться на этот комментарий - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Поделиться @@ -2665,23 +2672,22 @@ The link will expire within 1 hour. More information Подробнее - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Видео заблокировано из-за автоматической блокировки новых роликов - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Получить подробную информацию @@ -2872,18 +2878,18 @@ The link will expire within 1 hour. Highlighted comment Выделенный комментарий - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Ответить - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Этот комментарий был удален - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Видео повторы @@ -2980,41 +2986,18 @@ The link will expire within 1 hour. Filter... Фильтр... - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Очистить фильтры - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Видео/Комментарий/Аккаунт - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3023,8 +3006,8 @@ The link will expire within 1 hour. Follower handle Подписчик - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Состояние @@ -3034,57 +3017,57 @@ The link will expire within 1 hour. Created Создано - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Открыть страницу актера в новой вкладке - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Принято - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Ожидается - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Согласиться - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Отклонить - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Не найдено подписчиков, соответствующих текущим фильтрам. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. У вашего экземпляра нет последователей. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Показано to из подписчиков - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3093,60 +3076,60 @@ The link will expire within 1 hour. Host Хост - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Избыточность разрешена - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Отписаться - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Открыть экземпляр в новой вкладке - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Не найдено ни одного хоста, соответствующего текущим фильтрам. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Ваш экземпляр ни за кем не подписан. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Показано по из хостов - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Следить за доменами - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Следить за экземплярами - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Действие - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Видео повторы @@ -3170,18 +3153,18 @@ The link will expire within 1 hour. Table parameters Параметры таблицы - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Выбрать столбцы - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Выбрать заблокированных пользователей - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Имя пользователя @@ -3289,60 +3272,59 @@ The link will expire within 1 hour. Hide Скрыть - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Пакетные действия - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned Пользователь был заблокирован - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Открыть учётную запись в новой вкладке - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Удаленный аккаунт - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login Электронная почта пользователя должна быть подтверждена для авторизации - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification Электронная почта пользователя подтверждена / Пользователь может авторизоваться без подтверждения электронной почты - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Общая дневная квота видео - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Причина блокировки: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Banned users src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3418,15 +3400,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Видео - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Общий размер @@ -3460,57 +3439,61 @@ The link will expire within 1 hour. Sensitive Чувствительный - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Нефедеральный - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Дата - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Выберите эту строку - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Действия - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Прокомментированное видео - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Нет комментариев, соответствующих текущим фильтрам. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Нет комментариев. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Local comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Remote comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3519,38 +3502,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Жалоб на найдено по указанному фильтру. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Жалоб не найдено. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Unsolved reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Accepted reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Refused reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Reports with blocked videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Reports with deleted videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3559,25 +3552,29 @@ The link will expire within 1 hour. Block reason: Причина блокировки: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Не найдено заблокированных видео по данному фильтру. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Заблокированных видео не найдено. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Automatic blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Manual blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3586,8 +3583,8 @@ The link will expire within 1 hour. Showing to of blocked videos Показано по из заблокированных видео - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Отчёты @@ -3611,21 +3608,15 @@ The link will expire within 1 hour. Обновить этот комментарий src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Репортёр - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3636,41 +3627,41 @@ The link will expire within 1 hour. Video Видео - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Комментарий - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Об этом видео сообщалось несколько раз. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked Видео заблокировано - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on по на - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted Видео удалено - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Аккаунт удален - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Открыть видео в новой вкладке @@ -3679,38 +3670,38 @@ The link will expire within 1 hour. State Состояние - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Сообщения - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Внутреннее примечание - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Рейтинг - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Показано с по из отчётов - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Репортер src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3726,81 +3717,81 @@ The link will expire within 1 hour. Mute domain Отключить домен - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Сервер - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Отключено в - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Разглушить - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Не найдено ни одного сервера, соответствующего текущим фильтрам. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Сервер не найден. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Показано с по из отключённых экземпляров - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Похоже, вы не на сервере HTTPS. На вашем веб-сервере должен быть активирован TLS, чтобы следить за серверами. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Отключить домены - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Аккаунт - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Аккаунт, соответствующий текущим фильтрам, не найден. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Аккаунт не найден. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Список установленных плагинов @@ -3860,10 +3851,10 @@ The link will expire within 1 hour. Settings Настройки - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Настройки отображения @@ -3872,8 +3863,8 @@ The link will expire within 1 hour. Uninstall Удалить - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Горячее @@ -3963,33 +3954,33 @@ The link will expire within 1 hour. Delete this comment Удалить этот комментарий - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Удалить все комментарии этого аккаунта - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Комментарии удаляются через несколько минут - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. комментарии удалены. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Вы действительно хотите удалить все комментарии к ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Комментарии к будут удалены через несколько минут - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Комментарии к видео @@ -4006,17 +3997,14 @@ The link will expire within 1 hour. Showing to of comments Показано от до комментариев - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Выбрать все строки - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Тип задания @@ -4047,8 +4035,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Приоритет (1 = наивысший приоритет) + Priority (1 = highest priority) + Приоритет (1 = наивысший приоритет) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4068,8 +4056,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Нет задача не найдена. + No jobs found. + Нет задача не найдена. src/app/+admin/system/jobs/jobs.component.html108 @@ -4099,8 +4087,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - От -> + By -> + От -> src/app/+admin/system/logs/logs.component.html46 @@ -4171,8 +4159,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Управление пользователями чтобы создать команду модераторов. + Manage users to build a moderation team. + Управление пользователями чтобы создать команду модераторов. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4184,8 +4172,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Включение этого параметра позволит другим администраторам узнать, что вы в основном добавляете конфиденциальный контент. Более того, флажок NSFW при загрузке видео будет автоматически установлен по умолчанию. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Включение этого параметра позволит другим администраторам узнать, что вы в основном добавляете конфиденциальный контент. Более того, флажок NSFW при загрузке видео будет автоматически установлен по умолчанию. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4195,15 +4183,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Политика касательно видео, содержащих конфиденциальный контент src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Размыть обложки @@ -4320,8 +4308,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Используйте плагины & темы для дополнительных изменений, или добавьте небольшие настройки. + Use plugins & themes for more involved changes, or add slight customizations. + Используйте плагины & темы для дополнительных изменений, или добавьте небольшие настройки. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4433,8 +4421,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Управление пользователями с целью установки персональной квоты. + Manage users to set their quota individually. + Управление пользователями с целью установки персональной квоты. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4605,8 +4593,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - В рабочей среде следует использовать только модерируемые поисковые индексы, или создать свой собственный. + You should only use moderated search indexes in production, or host your own. + В рабочей среде следует использовать только модерируемые поисковые индексы, или создать свой собственный. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4643,8 +4631,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Управление связями с другими экземплярами. + Manage relations with other instances. + Управление связями с другими экземплярами. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4683,8 +4671,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Ознакомьтесь с документацией для получение информации по ожидаемому URL + See the documentation for more information about the expected URL + Ознакомьтесь с документацией для получение информации по ожидаемому URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4698,8 +4686,8 @@ The link will expire within 1 hour. Administrator Администратор - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Электронная почта администратора @@ -4744,8 +4732,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Если ваш экземпляр явно разрешен Twitter, видеоплейер будет встроен в Twitter feed на PeerTube video share. В противном случае, мы используем ссылку с изображением, которая перенаправит на ваш экземпляр PeerTube. Установить данный флаг, сохраните конфигурацию и проверьте , используя видео URL вашего экземпляра (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator , чтобы убедиться, что ваш экзмепляр разрешен. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Если ваш экземпляр явно разрешен Twitter, видеоплейер будет встроен в Twitter feed на PeerTube video share. В противном случае, мы используем ссылку с изображением, которая перенаправит на ваш экземпляр PeerTube. Установить данный флаг, сохраните конфигурацию и проверьте , используя видео URL вашего экземпляра (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator , чтобы убедиться, что ваш экзмепляр разрешен. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4792,8 +4780,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Максимальное количество одновременных трансляций, созданных на вашем экземпляре (-1 "не ограничено") + Max simultaneous lives created on your instance (-1 for "unlimited") + Максимальное количество одновременных трансляций, созданных на вашем экземпляре (-1 "не ограничено") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4805,8 +4793,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Максимальное количество трансляций на одного пользователя (-1 "не ограничено") + Max simultaneous lives created per user (-1 for "unlimited") + Максимальное количество трансляций на одного пользователя (-1 "не ограничено") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4902,14 +4890,15 @@ The link will expire within 1 hour. Allow additional extensions Разрешить дополнительные расширения src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Allows users to upload videos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Разрешить загрузку аудиофайлов @@ -4949,8 +4938,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Требуется ffmpeg >= 4.1Создание списков воспроизведения HLS и фрагментированных файлов MP4, обеспечивающих лучшее воспроизведение, чем при использовании обычного WebTorrent:Изменение разрешения более плавноеБолее быстрое воспроизведение, особенно для длинных видеоБолее стабильное воспроизведение (меньше ошибок / бесконечной загрузки)Если вы также включили Поддержка WebTorrent, она увеличит объем хранилища видео на 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Требуется ffmpeg >= 4.1Создание списков воспроизведения HLS и фрагментированных файлов MP4, обеспечивающих лучшее воспроизведение, чем при использовании обычного WebTorrent:Изменение разрешения более плавноеБолее быстрое воспроизведение, особенно для длинных видеоБолее стабильное воспроизведение (меньше ошибок / бесконечной загрузки)Если вы также включили Поддержка WebTorrent, она увеличит объем хранилища видео на 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5087,19 +5076,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Используйте код JavaScript напрямую.Пример: console.log('мой экземпляр потрясающий'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Используйте код JavaScript напрямую.Пример: console.log('мой экземпляр потрясающий'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Используйте код CSS напрямую. Пример:#custom-css color: red; Добавить в начале #custom-css t, чтобы переопределить стили. Пример:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Используйте код CSS напрямую. Пример:#custom-css color: red; Добавить в начале #custom-css t, чтобы переопределить стили. Пример:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5113,8 +5096,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Ошибки в форме: + There are errors in the form: + Ошибки в форме: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5228,14 +5211,15 @@ color: red; Default policy on videos containing sensitive content Политика касательно видео, содержащих конфиденциальный контент src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Политика в отношении конфиденциальных видео @@ -5299,32 +5283,31 @@ color: red; Выбрать нового владельца src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Последний опубликованный первым - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Создано первым - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Сначала самые просматриваемые - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Самые понравившиеся первыми - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Самый длинный первым - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Принять владельца @@ -5395,9 +5378,11 @@ color: red; Create video channel Создать видеоканал - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + No channel found. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5408,8 +5393,8 @@ color: red; подписчиков - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Пример: my_channel @@ -5435,9 +5420,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Краткий текст, чтобы рассказать людям, как они могут поддержать ваш канал.<br /><br /> Когда вы загрузите видео на этот канал, поле поддержки видео будет автоматически заполнено этим текстом. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Краткий текст, чтобы рассказать людям, как они могут поддержать ваш канал.<br /><br /> Когда вы загрузите видео на этот канал, поле поддержки видео будет автоматически заполнено этим текстом. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5452,14 +5436,14 @@ color: red; подписчиков - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Загрузить новый аватар - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Цель @@ -5493,25 +5477,25 @@ color: red; Channel page Страница канала - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Создан - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Страница учетной записи владельца - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Удалить историю - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. В вашей истории просмотров еще нет видео. @@ -5583,8 +5567,8 @@ color: red; Create playlist Создать плейлист - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Мои видео каналы @@ -5598,15 +5582,14 @@ color: red; Playlist } deleted. Плейлист } удален. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Миниатюра плейлиста src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Нет видео в этом плейлисте. @@ -5674,14 +5657,15 @@ color: red; Video channel playlists Плейлисты видеоканалов src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Manage channel src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification @@ -5739,7 +5723,7 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} - {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} + {VAR_PLURAL, plural, =1 {1 subscriber} other { подписчиков}} src/app/+accounts/accounts.component.html 38 @@ -5799,37 +5783,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 subscriber} other { подписчиков}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 videos} other { videos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Показать этот канал - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { видео}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Вы действительно хотите удалить ? Будет удалено видео загруженное на этот канал, и вы не сможете создать другой канал с таким же именем ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Мои Каналы @@ -5845,19 +5827,19 @@ channel with the same name ()! See this video channel Посмотреть этот видеоканал - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. На этом канале нет ни одного видео. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - ПОКАЗАТЬ ЭТО КАНАЛ > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + ПОКАЗАТЬ ЭТО КАНАЛ > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Статистика @@ -6108,8 +6090,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Одноранговые веб-узлы не являются общедоступными: поскольку мы используем транспорт веб-сокетов, этот протокол отличается от классического трекера BitTorrent. Когда вы находитесь в веб-браузере, вы отправляете сигнал, содержащий ваш IP-адрес, на трекер, который случайным образом выбирает других одноранговых узлов для пересылки информации. См. этот документ для получения дополнительной информации + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Одноранговые веб-узлы не являются общедоступными: поскольку мы используем транспорт веб-сокетов, этот протокол отличается от классического трекера BitTorrent. Когда вы находитесь в веб-браузере, вы отправляете сигнал, содержащий ваш IP-адрес, на трекер, который случайным образом выбирает других одноранговых узлов для пересылки информации. См. этот документ для получения дополнительной информации src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6414,7 +6396,7 @@ channel with the same name ()! subscribers - подписчики + подписчиков src/app/+accounts/accounts.component.ts127 @@ -6433,8 +6415,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> сохраняет исходную звуковую дорожку без видео + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> сохраняет исходную звуковую дорожку без видео src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6505,9 +6487,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, обеспечивает максимальную совместимость устройств - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Оценить способность сервера транскодировать и транслировать видео непросто, и мы не можем настроить PeerTube автоматически. @@ -6728,29 +6710,29 @@ channel with the same name ()! Delete Удалить - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + removed from instance followers @@ -6854,158 +6836,158 @@ channel with the same name ()! Violent or Repulsive Жестокие или отталкивающие - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Ненавистный или Оскорбительный - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Спам или вводящие в заблуждение - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Приватность - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Авторское право - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Правила сервера - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Миниатюры - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Внутренние действия - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Удалить жалобу - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Действия для отмеченного аккаунта - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Пометить как принято - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Пометить как отклонено - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Добавить внутреннюю заметку - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Действия с видео - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Заблокировать видео - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Видео заблокировано. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Разблокировать видео - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Видео разблокировано. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Вы действительно хотите удалить эту жалобу? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Жалоба удалена. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Комментарий удален - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Сообщения с репортером - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Сообщения с модераторами - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Обновить внутреннюю заметку - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Переключить видеоблок на ручной - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Видео переключено на ручную блокировку. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Вы действительно хотите разблокировать это видео? Оно снова будет доступно в списке видео. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Разблокировать - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Видео разблокировано. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes да @@ -7149,8 +7131,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube считает, что общедоступный IP-адрес вашего веб-браузера . + PeerTube thinks your web browser public IP is . + PeerTube считает, что общедоступный IP-адрес вашего веб-браузера . src/app/+admin/system/debug/debug.component.html 4 @@ -7197,16 +7179,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Проверьте trust_proxy ключ конфигурации + Check the trust_proxy configuration key + Проверьте trust_proxy ключ конфигурации src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Если вы запускаете PeerTube с помощью Docker, убедитесь, что вы запустили reverse-proxy с network_mode: "host" (см. issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Если вы запускаете PeerTube с помощью Docker, убедитесь, что вы запустили reverse-proxy с network_mode: "host" (см. issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7366,77 +7348,77 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Видео будет удалено, комментарии будут заморожены. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Заблокировать - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. Пользователь больше не сможет войти в систему, но видео и комментарии будут сохранены как есть. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Разблокировать - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Пометить электронную почту как подтверждённую - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Вы не можете заблокировать root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Вы действительно хотите разблокировать пользователей? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. пользователей было разблокировано. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Вы не можете удалить root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Если вы удалите этих пользователей, вы не сможете создать других с теми же именами пользователей! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. пользователей было удалено. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. электронных адресов пользователей помечены как подтверждённые. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Аккаунт был разглушен. @@ -7452,28 +7434,28 @@ channel with the same name ()! Videos history is enabled История включена - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled История отключена - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Удалить историю видео - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Вы уверены, что хотите удалить всю историю видео? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted История была удалена - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Моя история просмотров @@ -7482,12 +7464,11 @@ channel with the same name ()!3 - Track watch history Отслеживать историю просмотров - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Владение принято @@ -7504,8 +7485,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Ваш текущий адрес электронной почты: . Он никогда не отображается публично. + Your current email is . It is never shown to the public. + Ваш текущий адрес электронной почты: . Он никогда не отображается публично. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7684,24 +7665,23 @@ channel with the same name ()! Unknown language Неизвестный язык - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Включено слишком много языков. Пожалуйста, включите их все или оставьте менее 20 языков. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Настройки видео обновлены. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Обновлены настройки отображения / видео. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Видеоканал был создан. @@ -7744,18 +7724,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Пожалуйста, напишите название канала ( ) для подтверждения - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Видеоканал был удалён. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Просмотры за день - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Обновить видеоканал @@ -7832,15 +7812,15 @@ channel with the same name ()! Do you really want to delete ? Вы действительно хотите удалить ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Изменить владельца - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Плейлист был удалён. @@ -7859,15 +7839,15 @@ channel with the same name ()! Do you really want to delete videos? Вы действительно хотите удалить видео? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. видео удалено. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Вы действительно хотите удалить @@ -7881,9 +7861,9 @@ channel with the same name ()! Video deleted. Видео было удалено. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Заявка на смена владельца отправлена. @@ -7892,9 +7872,8 @@ channel with the same name ()! My channels Мои каналы - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Мои плейлисты @@ -7905,12 +7884,11 @@ channel with the same name ()!Мои подписки src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. У вас еще нет подписки. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Отчёт о моих жалобах @@ -7944,9 +7922,9 @@ channel with the same name ()! max size максимальный размер - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Развернуть редактор @@ -7992,9 +7970,9 @@ channel with the same name ()! Subscribe to the account Подписаться на аккаунт - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS ПЛЕЙЛИСТЫ @@ -8059,8 +8037,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Не удается получить учетные данные клиента OAuth: . Убедитесь, что вы правильно настроили PeerTube (config / directory), в частности раздел «веб-сервер». src/app/core/auth/auth.service.ts99 @@ -8092,8 +8069,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language любой язык - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON НА @@ -8102,23 +8079,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide скрыть - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur размытие - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display отображение - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Неизвестно - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Ваш пароль был успешно сброшен! @@ -8198,8 +8175,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Длинная (> 10 мин) + Long (> 10 min) + Длинная (> 10 мин) src/app/+search/search-filters.component.ts73 @@ -8221,21 +8198,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. Индекс поиска недоступен. Попытка поиска в экземпляре. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Ошибка поиска - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Поиск - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8829,8 +8806,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - См. документацию, чтобы узнать, как использовать функцию прямой трансляции PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + См. документацию, чтобы узнать, как использовать функцию прямой трансляции PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9322,15 +9299,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (channel page) (страница канала) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (страница аккаунта) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Подчёркивание @@ -9418,19 +9396,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Аккаунт заглушен сервером. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Отключить сервер - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Сервер отключен экземпляром. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Добавьте сообщение для общения с репортером @@ -9659,9 +9637,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Субтитры - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Вышеупомянутое можно увидеть только в заголовках(опишите, пожалуйста, какие). @@ -9733,8 +9711,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Модератор - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Видео удалено с @@ -9780,29 +9758,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Удалить видео - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Действия над комментарием - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Удалить комментарий - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Вы действительно хотите удалить этот комментарий? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Комментарий удален. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Кодировщик @@ -9849,26 +9827,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? Вы действительно хотите удалить это видео? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Видео удалено. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Действия для репортера - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Отключить репортер - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Это видео будет продублировано вашим экземпляром. @@ -9882,9 +9860,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Отображение информации прямой трансляции - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Изменить @@ -9906,10 +9884,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - <a href="/login">Войдите</a> чтобы оценить это видео. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + <a href="/login">Войдите</a> чтобы оценить это видео. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Зеркало @@ -9923,13 +9901,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Удалить - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Удалить & переоформить - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} @@ -9941,9 +9919,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Отключить аккаунт - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Открыть видео события @@ -9959,8 +9937,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Отключить аккаунт сервера - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Пожаловаться @@ -10009,29 +9987,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Опубликовано - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Публикация запланирована на - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Ожидается обработка - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Обработка - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Импорт файла - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10055,33 +10035,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Только я могу видеть это видео - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Можно поделиться только по частной ссылке - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Все могут видеть это видео - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Это видео могут просматривать только пользователи этого экземпляра - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + viewers зрителей - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views просмотров - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + Close Закрыть @@ -10289,14 +10269,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Ваша квота на видео для этого видео превышена ( размер видео: , использовано: , квота: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Ваша дневная квота для этого видео превышена( размер видео: , использовано: , квота: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10318,23 +10296,23 @@ video size: , used: Stop autoplaying next video Прекратить автоматическое воспроизведение следующего видео - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Автозапуск следующего видео - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Остановить зацикливание воспроизведения видео - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Цикличное воспроизведение видео - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Изображение - заполнитель @@ -10344,105 +10322,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Это видео недоступно в этом экземпляре. Вы хотите, чтобы вас перенаправили на исходный экземпляр: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Это видео недоступно в этом экземпляре. Вы хотите, чтобы вас перенаправили на исходный экземпляр: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Перенаправление - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Это видео содержит зрелый или откровенный контент. Вы уверены, что хотите посмотреть его? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Зрелый или откровенный контент - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Следующий - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Отмена - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Автовоспроизведение приостановлено - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Вход / выход в полноэкранный режим (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Воспроизвести / приостановить видео (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Отключить / включить видео (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Переход к проценту от видео: 0 - 0%, 9 - 90% (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Увеличьте громкость (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Уменьшить громкость (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Искать видео вперед(требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Искать видео в обратном направлении (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Увеличить скорость воспроизведения(требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Уменьшить скорость воспроизведения (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Navigate in the video frame by frame (требуется фокус проигрывателя) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Мне понравилось - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Мне не понравилось - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Когда он активен, автоматически воспроизводится следующее видео после текущего. From 2ee38b382515a2fc3e04e9232cd47824829d8c31 Mon Sep 17 00:00:00 2001 From: Jan Prunk Date: Sun, 9 May 2021 14:11:10 +0000 Subject: [PATCH 044/136] Translated using Weblate (Slovenian) Currently translated at 3.9% (73 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sl/ --- client/src/locale/angular.sl-SI.xlf | 10964 ++++++++++++++------------ 1 file changed, 5840 insertions(+), 5124 deletions(-) diff --git a/client/src/locale/angular.sl-SI.xlf b/client/src/locale/angular.sl-SI.xlf index ddc7481bf..74916e8b2 100644 --- a/client/src/locale/angular.sl-SI.xlf +++ b/client/src/locale/angular.sl-SI.xlf @@ -1,412 +1,390 @@ - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Close the left menuClose the left menu + Close the left menu + Zapri levi meni src/app/app.component.ts 109 - - Open the left menuOpen the left menu + + + Open the left menu + Open the left menu src/app/app.component.ts 111 - You don't have notifications. Nimate obvestil. - - src/app/shared/shared-main/users/user-notifications.component.html1 + src/app/shared/shared-main/users/user-notifications.component.html1 + - published a new video: + published a new video: published a new video: - + - + - - src/app/shared/shared-main/users/user-notifications.component.html15 + src/app/shared/shared-main/users/user-notifications.component.html15 + - - The notification concerns a video now unavailable - + The notification concerns a video now unavailable The notification concerns a video now unavailable - - src/app/shared/shared-main/users/user-notifications.component.html24 + src/app/shared/shared-main/users/user-notifications.component.html24 + - Your video has been unblocked + Your video has been unblocked Your video - + - has been unblocked + has been unblocked - - src/app/shared/shared-main/users/user-notifications.component.html33 + src/app/shared/shared-main/users/user-notifications.component.html33 + - Your video has been blocked + Your video has been blocked Your video - + - has been blocked + has been blocked - - src/app/shared/shared-main/users/user-notifications.component.html41 + src/app/shared/shared-main/users/user-notifications.component.html41 + A new video abuse has been created on video - A new video abuse - has been created on video - + A new video abuse + has been created on video + - + - - src/app/shared/shared-main/users/user-notifications.component.html49 + src/app/shared/shared-main/users/user-notifications.component.html49 + A new comment abuse has been created on video - A new comment abuse - has been created on video - + A new comment abuse + has been created on video + - + - - src/app/shared/shared-main/users/user-notifications.component.html53 + src/app/shared/shared-main/users/user-notifications.component.html53 + A new account abuse has been created on account - A new account abuse - has been created on account - + A new account abuse + has been created on account + - + - - src/app/shared/shared-main/users/user-notifications.component.html57 + src/app/shared/shared-main/users/user-notifications.component.html57 + A new abuse has been created - A new abuse - has been created + A new abuse + has been created - - src/app/shared/shared-main/users/user-notifications.component.html62 + src/app/shared/shared-main/users/user-notifications.component.html62 + Your abuse has been acceptedrejected - Your abuse + Your abuse - has been + has been - accepted - - rejected - + accepted + + rejected + - - src/app/shared/shared-main/users/user-notifications.component.html70 + src/app/shared/shared-main/users/user-notifications.component.html70 + Abuse has a new message - Abuse + Abuse - has a new message + has a new message - - src/app/shared/shared-main/users/user-notifications.component.html80 + src/app/shared/shared-main/users/user-notifications.component.html80 + - The recently added video has been automatically blocked + The recently added video has been automatically blocked The recently added video - + - has been - automatically blocked - + has been + automatically blocked + - - src/app/shared/shared-main/users/user-notifications.component.html88 + src/app/shared/shared-main/users/user-notifications.component.html88 + commented your video - + - commented your video - + commented your video + - + - - src/app/shared/shared-main/users/user-notifications.component.html99 + src/app/shared/shared-main/users/user-notifications.component.html99 + - - The notification concerns a comment now unavailable - + The notification concerns a comment now unavailable The notification concerns a comment now unavailable - - src/app/shared/shared-main/users/user-notifications.component.html107src/app/shared/shared-main/users/user-notifications.component.html172 + src/app/shared/shared-main/users/user-notifications.component.html107 + src/app/shared/shared-main/users/user-notifications.component.html172 + - Your video has been published + Your video has been published Your video - + - has been published + has been published - - src/app/shared/shared-main/users/user-notifications.component.html116 + src/app/shared/shared-main/users/user-notifications.component.html116 + Your video import succeeded - Your video import - + Your video import + succeeded - - src/app/shared/shared-main/users/user-notifications.component.html124 + src/app/shared/shared-main/users/user-notifications.component.html124 + Your video import failed - Your video import - + Your video import + failed - - src/app/shared/shared-main/users/user-notifications.component.html132 + src/app/shared/shared-main/users/user-notifications.component.html132 + - User registered on your instance + User registered on your instance User - + - registered on your instance + registered on your instance - - src/app/shared/shared-main/users/user-notifications.component.html140 + src/app/shared/shared-main/users/user-notifications.component.html140 + is following your channel your account - + - is following + is following - your channel + your channel - - your account - + + your account + - - src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video mentioned you on video + src/app/shared/shared-main/users/user-notifications.component.html150 + + + mentioned you on video + mentioned you on video src/app/shared/shared-main/users/user-notifications.component.html 164 - - Your instance has a new follower () awaiting your approval + Your instance has a new follower () awaiting your approval Your instance has - a new follower - ( + a new follower + ( ) - awaiting your approval - + awaiting your approval + - - src/app/shared/shared-main/users/user-notifications.component.html181 + src/app/shared/shared-main/users/user-notifications.component.html181 + - Your instance automatically followed + Your instance automatically followed Your instance automatically followed - + - + - - src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: A new version of the plugin/theme is available: + src/app/shared/shared-main/users/user-notifications.component.html190 + + + A new version of the plugin/theme is available: + A new version of the plugin/theme is available: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - - A new version of PeerTube is available: A new version of PeerTube is available: + + + A new version of PeerTube is available: + A new version of PeerTube is available: src/app/shared/shared-main/users/user-notifications.component.html 206,207 - - The notification points to content now unavailable The notification points to content now unavailable - - src/app/shared/shared-main/users/user-notifications.component.html214 - + + + The notification points to content now unavailable + The notification points to content now unavailable + src/app/shared/shared-main/users/user-notifications.component.html214 + Change your avatar Change your avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 - Remove avatarRemove avatar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + + + Remove avatar + Remove avatar + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + - - - + - - src/app/shared/shared-main/buttons/action-dropdown.component.html22 - My watch historyMy watch history - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/shared/shared-main/buttons/action-dropdown.component.html22 + + + My watch history + My watch history + src/app/+my-library/my-history/my-history.component.ts67 + Save to Shrani v - - src/app/shared/shared-video-playlist/video-add-to-playlist.component.html4 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html4 + Options Nastavitve - - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Začni ob - - - - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html57src/app/shared/shared-share-modal/video-share.component.html113src/app/shared/shared-video-playlist/video-add-to-playlist.component.html34src/app/shared/shared-moderation/report-modals/video-report.component.html47 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html57 + src/app/shared/shared-share-modal/video-share.component.html113 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html34 + src/app/shared/shared-moderation/report-modals/video-report.component.html47 + Stop at Ustavi ob - - - - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html71src/app/shared/shared-share-modal/video-share.component.html144src/app/shared/shared-video-playlist/video-add-to-playlist.component.html35src/app/shared/shared-moderation/report-modals/video-report.component.html62 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html71 + src/app/shared/shared-share-modal/video-share.component.html144 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html35 + src/app/shared/shared-moderation/report-modals/video-report.component.html62 + - Your report will be sent to moderators of and will be forwarded to the video origin () too. + Your report will be sent to moderators of and will be forwarded to the video origin () too. Your report will be sent to moderators of - and will be forwarded to the video origin ( + and will be forwarded to the video origin ( ) too - . + . - - src/app/shared/shared-moderation/report-modals/video-report.component.html74 + src/app/shared/shared-moderation/report-modals/video-report.component.html74 + Please describe the issue... Please describe the issue... - - - - src/app/shared/shared-moderation/report-modals/report.component.html42src/app/shared/shared-moderation/report-modals/video-report.component.html80src/app/shared/shared-moderation/report-modals/report.component.html42 + src/app/shared/shared-moderation/report-modals/report.component.html42 + src/app/shared/shared-moderation/report-modals/video-report.component.html80 + src/app/shared/shared-moderation/report-modals/report.component.html42 + Search playlists Search playlists - - src/app/shared/shared-video-playlist/video-add-to-playlist.component.html9 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html9 + Create a private playlist Create a private playlist - - src/app/shared/shared-video-playlist/video-add-to-playlist.component.html66 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html66 + Display name Display name - - - - - - - - src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html17src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33src/app/+signup/+register/register-step-user.component.html8src/app/shared/shared-video-playlist/video-add-to-playlist.component.html71 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html17 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html60 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html33 + src/app/+signup/+register/register-step-user.component.html8 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html71 + Create Ustvari - - - - - - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html8src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html8src/app/shared/shared-video-playlist/video-add-to-playlist.component.html81src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html8src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html8src/app/+admin/users/user-edit/user-edit.component.html8src/app/+admin/users/user-edit/user-edit.component.html8 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html8 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html8 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.html81 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html8 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html8 + src/app/+admin/users/user-edit/user-edit.component.html8 + src/app/+admin/users/user-edit/user-edit.component.html8 + video video - - src/app/shared/shared-video-miniature/video-download.component.html12 - The following link contains a private token and should not be shared with anyone. The following link contains a private token and should not be shared with anyone. + src/app/shared/shared-video-miniature/video-download.component.html12 + + + The following link contains a private token and should not be shared with anyone. + The following link contains a private token and should not be shared with anyone. src/app/shared/shared-video-miniature/video-download.component.html 21,22 - - + + + + src/app/shared/shared-video-miniature/video-download.component.html 39 @@ -415,92 +393,97 @@ subtitles subtitles - - src/app/shared/shared-video-miniature/video-download.component.html11 + src/app/shared/shared-video-miniature/video-download.component.html11 + Format Format - - src/app/shared/shared-video-miniature/video-download.component.html61 + src/app/shared/shared-video-miniature/video-download.component.html61 + - - - + - - - - src/app/shared/shared-video-miniature/video-download.component.html65src/app/shared/shared-video-miniature/video-download.component.html76src/app/shared/shared-video-miniature/video-download.component.html88 + src/app/shared/shared-video-miniature/video-download.component.html65 + src/app/shared/shared-video-miniature/video-download.component.html76 + src/app/shared/shared-video-miniature/video-download.component.html88 + Video stream Video stream - - src/app/shared/shared-video-miniature/video-download.component.html72 + src/app/shared/shared-video-miniature/video-download.component.html72 + Audio stream Audio stream - - src/app/shared/shared-video-miniature/video-download.component.html84 + src/app/shared/shared-video-miniature/video-download.component.html84 + Direct download Direct download - - src/app/shared/shared-video-miniature/video-download.component.html101 + src/app/shared/shared-video-miniature/video-download.component.html101 + Torrent (.torrent file) Torrent (.torrent file) - - src/app/shared/shared-video-miniature/video-download.component.html105 - Advanced Advanced + src/app/shared/shared-video-miniature/video-download.component.html105 + + + Advanced + Advanced src/app/shared/shared-video-miniature/video-download.component.html 117,118 - - Simple Simple + + + Simple + Simple src/app/shared/shared-video-miniature/video-download.component.html 125,126 - - videovideo - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 - subtitlessubtitles - - src/app/shared/shared-video-miniature/video-download.component.ts55 + + + video + video + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 + src/app/shared/shared-video-miniature/video-download.component.ts54 + + + subtitles + subtitles + src/app/shared/shared-video-miniature/video-download.component.ts55 + - - Cancel - + Cancel Prekliči - - src/app/+videos/+video-watch/comment/video-comment-add.component.html45 + src/app/+videos/+video-watch/comment/video-comment-add.component.html45 + Download Download - - - src/app/shared/shared-video-miniature/video-download.component.html4src/app/shared/shared-video-miniature/video-download.component.html138 + src/app/shared/shared-video-miniature/video-download.component.html4 + src/app/shared/shared-video-miniature/video-download.component.html138 + Reason... Razlog... - - src/app/shared/shared-moderation/user-ban-modal.component.html12 + src/app/shared/shared-moderation/user-ban-modal.component.html12 + - - Cancel - + Cancel Prekliči - - src/app/shared/shared-video-miniature/videos-selection.component.html19 - No results.No results. + src/app/shared/shared-video-miniature/videos-selection.component.html19 + + + No results. + No results. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -509,81 +492,89 @@ Submit Pošlji - - - - - - - src/app/+about/about-instance/contact-admin-modal.component.html52src/app/+my-library/my-videos/modals/video-change-ownership.component.html27src/app/shared/shared-moderation/report-modals/report.component.html58src/app/shared/shared-moderation/report-modals/report.component.html58src/app/shared/shared-moderation/report-modals/video-report.component.html96src/app/shared/shared-moderation/video-block.component.html42 + src/app/+about/about-instance/contact-admin-modal.component.html52 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html27 + src/app/shared/shared-moderation/report-modals/report.component.html58 + src/app/shared/shared-moderation/report-modals/report.component.html58 + src/app/shared/shared-moderation/report-modals/video-report.component.html96 + src/app/shared/shared-moderation/video-block.component.html42 + Report video "" Report video " " - - src/app/shared/shared-moderation/report-modals/video-report.component.html3 + src/app/shared/shared-moderation/report-modals/video-report.component.html3 + What is the issue? What is the issue? - - - - src/app/shared/shared-moderation/report-modals/report.component.html13src/app/shared/shared-moderation/report-modals/video-report.component.html13src/app/shared/shared-moderation/report-modals/report.component.html13 + src/app/shared/shared-moderation/report-modals/report.component.html13 + src/app/shared/shared-moderation/report-modals/video-report.component.html13 + src/app/shared/shared-moderation/report-modals/report.component.html13 + This will ask remote instances to delete it This will ask remote instances to delete it - - src/app/shared/shared-moderation/video-block.component.html27 - Blocking this live will automatically terminate the live stream. Blocking this live will automatically terminate the live stream. - - src/app/shared/shared-moderation/video-block.component.html33 + src/app/shared/shared-moderation/video-block.component.html27 + + + Blocking this live will automatically terminate the live stream. + Blocking this live will automatically terminate the live stream. + src/app/shared/shared-moderation/video-block.component.html33 + Unfederate the video Unfederate the video - - src/app/shared/shared-moderation/video-block.component.html24 + src/app/shared/shared-moderation/video-block.component.html24 + Unlisted Unlisted - - - src/app/shared/shared-video-miniature/video-miniature.component.html6src/app/+videos/+video-watch/video-watch-playlist.component.html9 + src/app/shared/shared-video-miniature/video-miniature.component.html6 + src/app/+videos/+video-watch/video-watch-playlist.component.html9 + Private Zasebno - - - - src/app/shared/shared-video-miniature/video-miniature.component.html7src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html33src/app/+videos/+video-watch/video-watch-playlist.component.html10 + src/app/shared/shared-video-miniature/video-miniature.component.html7 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html33 + src/app/+videos/+video-watch/video-watch-playlist.component.html10 + {VAR_PLURAL, plural, =1 {1 view} other { views}} {VAR_PLURAL, plural, =1 {1 view} other { views} } - - src/app/shared/shared-video/video-views-counter.component.html3 - + src/app/shared/shared-video/video-views-counter.component.html3 + + + + src/app/shared/shared-video/video-views-counter.component.html 3,4 - - {VAR_PLURAL, plural, =1 {1 viewer} other { viewers}}{VAR_PLURAL, plural, =1 {1 viewer} other { viewers}} + + + {VAR_PLURAL, plural, =1 {1 viewer} other { viewers}} + {VAR_PLURAL, plural, =1 {1 viewer} other { viewers}} src/app/shared/shared-video/video-views-counter.component.html 7 - - + + + + src/app/shared/shared-video/video-views-counter.component.html 7,8 - - Cannot fetch information of this remote accountCannot fetch information of this remote account + + + Cannot fetch information of this remote account + Cannot fetch information of this remote account src/app/shared/shared-user-subscription/remote-subscribe.component.ts 60 @@ -592,100 +583,102 @@ Blocked Blocked - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + - - Sensitive - + Sensitive Občutljivo - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Ni videoposnetkov} =1 {1 videoposnetek} other { videoposnetkov} } - - src/app/shared/shared-video-playlist/video-playlist-miniature.component.html9 + src/app/shared/shared-video-playlist/video-playlist-miniature.component.html9 + - - - + - - src/app/shared/shared-video-playlist/video-playlist-miniature.component.html22 + src/app/shared/shared-video-playlist/video-playlist-miniature.component.html22 + Updated Posodobljeno - - src/app/shared/shared-video-playlist/video-playlist-miniature.component.html29 + src/app/shared/shared-video-playlist/video-playlist-miniature.component.html29 + Unavailable Unavailable - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html32 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html32 + Deleted Deleted - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Edit starts/stops at - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html50 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html50 + Save Shrani - - - - - src/app/shared/shared-user-settings/user-interface-settings.component.html16src/app/shared/shared-user-settings/user-interface-settings.component.html16src/app/shared/shared-user-settings/user-video-settings.component.html77src/app/shared/shared-user-settings/user-video-settings.component.html77src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html82src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html38 + src/app/shared/shared-user-settings/user-interface-settings.component.html16 + src/app/shared/shared-user-settings/user-interface-settings.component.html16 + src/app/shared/shared-user-settings/user-video-settings.component.html77 + src/app/shared/shared-user-settings/user-video-settings.component.html77 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html82 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html38 + Delete from Izbriši iz - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html88 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html88 + No results. Ni rezultatov. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 - BestBest - + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + + + Best + Best A variant of Trending videos based on the number of recent interactions, minus user history - src/app/+videos/video-list/trending/video-trending-header.component.ts40 - Videos with the most interactions for recent videos, minus user historyVideos with the most interactions for recent videos, minus user history - - src/app/+videos/video-list/trending/video-trending-header.component.ts43 + src/app/+videos/video-list/trending/video-trending-header.component.ts40 + + + Videos with the most interactions for recent videos, minus user history + Videos with the most interactions for recent videos, minus user history + src/app/+videos/video-list/trending/video-trending-header.component.ts43 + Delete Izbriši - - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Only live videos src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -694,48 +687,55 @@ Edit Edit - - - - - - - - - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 + src/app/+videos/+video-edit/shared/video-edit.component.html270 + src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11 + Truncated preview Skrajšan predogled - - src/app/shared/shared-forms/markdown-textarea.component.html11 - HideHide - - src/app/shared/shared-forms/input-toggle-hidden.component.ts38 - ShowShow - - src/app/shared/shared-forms/input-toggle-hidden.component.ts39 + src/app/shared/shared-forms/markdown-textarea.component.html11 + + + Hide + Hide + src/app/shared/shared-forms/input-toggle-hidden.component.ts38 + + + Show + Show + src/app/shared/shared-forms/input-toggle-hidden.component.ts39 + Complete preview Popoln predogled - - src/app/shared/shared-forms/markdown-textarea.component.html19 + src/app/shared/shared-forms/markdown-textarea.component.html19 + - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports:<a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - - src/app/shared/shared-main/misc/help.component.ts75 + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + src/app/shared/shared-main/misc/help.component.ts75 + Recommended Recommended - - src/app/shared/shared-forms/peertube-checkbox.component.html33 + src/app/shared/shared-forms/peertube-checkbox.component.html33 + Using an ActivityPub account Using an ActivityPub account - - src/app/shared/shared-user-subscription/subscribe-button.component.html54 - Subscribe with a remote account:Subscribe with a remote account: + src/app/shared/shared-user-subscription/subscribe-button.component.html54 + + + Subscribe with a remote account: + Subscribe with a remote account: src/app/shared/shared-user-subscription/subscribe-button.component.html 62 @@ -744,333 +744,364 @@ Subscribe with an account on this instance Subscribe with an account on this instance - - src/app/shared/shared-user-subscription/subscribe-button.component.html57 + src/app/shared/shared-user-subscription/subscribe-button.component.html57 + Subscribe with your local account Naroči se z lokalnim računom - - src/app/shared/shared-user-subscription/subscribe-button.component.html58 - Published videos matching ""Published videos matching "" - - src/app/+accounts/account-search/account-search.component.ts94 - The live stream will be automatically terminated.The live stream will be automatically terminated. - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts205 - + src/app/shared/shared-user-subscription/subscribe-button.component.html58 + + + Published videos matching "" + Published videos matching "" + src/app/+accounts/account-search/account-search.component.ts94 + + + The live stream will be automatically terminated. + The live stream will be automatically terminated. + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts205 + Using a syndication feed Using a syndication feed - - src/app/shared/shared-user-subscription/subscribe-button.component.html68 + src/app/shared/shared-user-subscription/subscribe-button.component.html68 + Subscribe via RSS Naroči se na RSS vir - - src/app/shared/shared-user-subscription/subscribe-button.component.html69 + src/app/shared/shared-user-subscription/subscribe-button.component.html69 + PROFILE SETTINGS PROFILE SETTINGS - - src/app/+my-account/my-account-settings/my-account-settings.component.html12 + src/app/+my-account/my-account-settings/my-account-settings.component.html12 + Remote subscribeRemote interact - Remote subscribe - - Remote interact - + Remote subscribe + + Remote interact + - - src/app/shared/shared-user-subscription/remote-subscribe.component.html11 - You can subscribe to the channel via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). You can subscribe to the channel via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). + src/app/shared/shared-user-subscription/remote-subscribe.component.html11 + + + You can subscribe to the channel via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). + You can subscribe to the channel via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). src/app/shared/shared-user-subscription/remote-subscribe.component.html 18,19 - - You can interact with this via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). You can interact with this via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). + + + You can interact with this via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). + You can interact with this via any ActivityPub-capable fediverse instance (PeerTube, Mastodon or Pleroma for example). src/app/shared/shared-user-subscription/remote-subscribe.component.html 26,27 - - PeerTube version PeerTube version - - src/app/shared/shared-instance/instance-features-table.component.html6 + src/app/shared/shared-instance/instance-features-table.component.html6 + Default NSFW/sensitive videos policycan be redefined by the users - Default NSFW/sensitive videos policy - - can be redefined by the users - + Default NSFW/sensitive videos policy + + can be redefined by the users + - - src/app/shared/shared-instance/instance-features-table.component.html13 + src/app/shared/shared-instance/instance-features-table.component.html13 + User registration allowed User registration allowed - - src/app/shared/shared-instance/instance-features-table.component.html21 + src/app/shared/shared-instance/instance-features-table.component.html21 + Video uploads Video uploads - - - src/app/shared/shared-instance/instance-features-table.component.html28src/app/shared/shared-instance/instance-features-table.component.html39 + src/app/shared/shared-instance/instance-features-table.component.html28 + src/app/shared/shared-instance/instance-features-table.component.html39 + Transcoding in multiple resolutions Transcoding in multiple resolutions - - src/app/shared/shared-instance/instance-features-table.component.html32 - Live streaming enabledLive streaming enabled - - src/app/shared/shared-instance/instance-features-table.component.html71 - Transcode live video in multiple resolutionsTranscode live video in multiple resolutions - - src/app/shared/shared-instance/instance-features-table.component.html78 - Max parallel livesMax parallel lives - - src/app/shared/shared-instance/instance-features-table.component.html85 - per user / per instance per user / per instance - - src/app/shared/shared-instance/instance-features-table.component.html86 + src/app/shared/shared-instance/instance-features-table.component.html32 + + + Live streaming enabled + Live streaming enabled + src/app/shared/shared-instance/instance-features-table.component.html71 + + + Transcode live video in multiple resolutions + Transcode live video in multiple resolutions + src/app/shared/shared-instance/instance-features-table.component.html78 + + + Max parallel lives + Max parallel lives + src/app/shared/shared-instance/instance-features-table.component.html85 + + + per user / per instance + per user / per instance + src/app/shared/shared-instance/instance-features-table.component.html86 + Requires manual validation by moderators Requires manual validation by moderators - - src/app/shared/shared-instance/instance-features-table.component.html41 + src/app/shared/shared-instance/instance-features-table.component.html41 + Automatically published Automatically published - - src/app/shared/shared-instance/instance-features-table.component.html42 + src/app/shared/shared-instance/instance-features-table.component.html42 + Video quota Video quota - - - - src/app/shared/shared-instance/instance-features-table.component.html47src/app/+admin/users/user-edit/user-edit.component.html151src/app/+admin/users/user-edit/user-edit.component.html151 + src/app/shared/shared-instance/instance-features-table.component.html47 + src/app/+admin/users/user-edit/user-edit.component.html151 + src/app/+admin/users/user-edit/user-edit.component.html151 + - Unlimited ( per day) + Unlimited ( per day) Unlimited - ( + ( per day) - + - - src/app/shared/shared-instance/instance-features-table.component.html61 + src/app/shared/shared-instance/instance-features-table.component.html61 + Import Uvozi - - - - src/app/shared/shared-instance/instance-features-table.component.html92src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html44src/app/+videos/+video-edit/video-add-components/video-import-url.component.html36 - You can import any torrent file that points to a media 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. You can import any torrent file that points to a media 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. - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html20 + src/app/shared/shared-instance/instance-features-table.component.html92 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html44 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html36 + + + You can import any torrent file that points to a media 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. + You can import any torrent file that points to a media 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. + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html20 + HTTP import (YouTube, Vimeo, direct URL...) HTTP import (YouTube, Vimeo, direct URL...) - - src/app/shared/shared-instance/instance-features-table.component.html96 + src/app/shared/shared-instance/instance-features-table.component.html96 + Torrent import Torrent import - - src/app/shared/shared-instance/instance-features-table.component.html103 + src/app/shared/shared-instance/instance-features-table.component.html103 + Player Player - - src/app/shared/shared-instance/instance-features-table.component.html111 + src/app/shared/shared-instance/instance-features-table.component.html111 + P2P enabled P2P enabled - - src/app/shared/shared-instance/instance-features-table.component.html115 + src/app/shared/shared-instance/instance-features-table.component.html115 + Loading instance statistics... Loading instance statistics... - - src/app/shared/shared-instance/instance-statistics.component.html1 + src/app/shared/shared-instance/instance-statistics.component.html1 + Local Lokalno - - - src/app/shared/shared-instance/instance-statistics.component.html4 + src/app/shared/shared-instance/instance-statistics.component.html4 + users users - - src/app/shared/shared-instance/instance-statistics.component.html11 + src/app/shared/shared-instance/instance-statistics.component.html11 + videos videos - - - src/app/shared/shared-instance/instance-statistics.component.html21src/app/shared/shared-instance/instance-statistics.component.html65 + src/app/shared/shared-instance/instance-statistics.component.html21 + src/app/shared/shared-instance/instance-statistics.component.html65 + video views video views - - src/app/shared/shared-instance/instance-statistics.component.html31 + src/app/shared/shared-instance/instance-statistics.component.html31 + video comments video comments - - - src/app/shared/shared-instance/instance-statistics.component.html41src/app/shared/shared-instance/instance-statistics.component.html75 + src/app/shared/shared-instance/instance-statistics.component.html41 + src/app/shared/shared-instance/instance-statistics.component.html75 + of hosted video of hosted video - - src/app/shared/shared-instance/instance-statistics.component.html51 + src/app/shared/shared-instance/instance-statistics.component.html51 + Federation Federation - - src/app/shared/shared-instance/instance-statistics.component.html58 + src/app/shared/shared-instance/instance-statistics.component.html58 + followers followers - - src/app/shared/shared-instance/instance-statistics.component.html85 + src/app/shared/shared-instance/instance-statistics.component.html85 + following following - - src/app/shared/shared-instance/instance-statistics.component.html95 - The upload failedThe upload failed - - src/app/helpers/utils.ts177 - The connection was interruptedThe connection was interrupted - - src/app/helpers/utils.ts181 - Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - - src/app/helpers/utils.ts184 - Your file was too large (max. size: )Your file was too large (max. size: ) - - src/app/helpers/utils.ts188 - UserUser - - src/app/core/users/user.service.ts405 + src/app/shared/shared-instance/instance-statistics.component.html95 + + + The upload failed + The upload failed + src/app/helpers/utils.ts177 + + + The connection was interrupted + The connection was interrupted + src/app/helpers/utils.ts181 + + + Your file couldn't be transferred before the set timeout (usually 10min) + Your file couldn't be transferred before the set timeout (usually 10min) + src/app/helpers/utils.ts184 + + + Your file was too large (max. size: ) + Your file was too large (max. size: ) + src/app/helpers/utils.ts188 + + + User + User + src/app/core/users/user.service.ts405 + Ban Ban - - src/app/shared/shared-moderation/user-ban-modal.component.html3 + src/app/shared/shared-moderation/user-ban-modal.component.html3 + - - A banned user will no longer be able to login. - + A banned user will no longer be able to login. A banned user will no longer be able to login. - - src/app/shared/shared-moderation/user-ban-modal.component.html21 + src/app/shared/shared-moderation/user-ban-modal.component.html21 + Cancel Prekliči - - - - - - - - - - - - - - - - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48 + src/app/+login/login.component.html117 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 + src/app/+videos/+video-watch/comment/video-comment-add.component.html70 + src/app/modal/confirm.component.html20 + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 + src/app/shared/shared-moderation/batch-domains-modal.component.html31 + src/app/shared/shared-moderation/report-modals/report.component.html54 + src/app/shared/shared-moderation/report-modals/report.component.html54 + src/app/shared/shared-moderation/report-modals/video-report.component.html92 + src/app/shared/shared-moderation/user-ban-modal.component.html26 + src/app/shared/shared-moderation/video-block.component.html38 + src/app/shared/shared-video-miniature/video-download.component.html134 + Ban this user Ban this user - - src/app/shared/shared-moderation/user-ban-modal.component.html30 + src/app/shared/shared-moderation/user-ban-modal.component.html30 + Block video "" Block video " " - - src/app/shared/shared-moderation/video-block.component.html3 - Block live ""Block live "" - - src/app/shared/shared-moderation/video-block.component.html4 + src/app/shared/shared-moderation/video-block.component.html3 + + + Block live "" + Block live "" + src/app/shared/shared-moderation/video-block.component.html4 + Please describe the reason... Please describe the reason... - - src/app/shared/shared-moderation/video-block.component.html13 + src/app/shared/shared-moderation/video-block.component.html13 + - - - + - - - src/app/shared/shared-main/misc/top-menu-dropdown.component.html14src/app/shared/shared-main/misc/top-menu-dropdown.component.html24 - hh - - src/app/shared/shared-main/angular/duration-formatter.pipe.ts14 - minmin - - src/app/shared/shared-main/angular/duration-formatter.pipe.ts16src/app/shared/shared-main/angular/duration-formatter.pipe.ts23 - secsec - - src/app/shared/shared-main/angular/duration-formatter.pipe.ts17 + src/app/shared/shared-main/misc/top-menu-dropdown.component.html14 + src/app/shared/shared-main/misc/top-menu-dropdown.component.html24 + + + h + h + src/app/shared/shared-main/angular/duration-formatter.pipe.ts14 + + + min + min + src/app/shared/shared-main/angular/duration-formatter.pipe.ts16 + src/app/shared/shared-main/angular/duration-formatter.pipe.ts23 + + + sec + sec + src/app/shared/shared-main/angular/duration-formatter.pipe.ts17 + - - Login - + Login Prijava - - src/app/+login/login.component.html3 + src/app/+login/login.component.html3 + - Sorry but there was an issue with the external login process. Please contact an administrator. + Sorry but there was an issue with the external login process. Please contact an administrator. Sorry but there was an issue with the external login process. Please - contact an administrator - . + contact an administrator + . - - src/app/+login/login.component.html7 - - + src/app/+login/login.component.html7 + Request new verification email. Naroči novo potrditveno e-sporočilo - - - src/app/+login/login.component.html12src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + src/app/+login/login.component.html12 + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 + + + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + + + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1079,39 +1110,42 @@ User User - - - src/app/+login/login.component.html21src/app/+signup/+register/register.component.html26 + src/app/+login/login.component.html21 + src/app/+signup/+register/register.component.html26 + Username or email address Uporabniško ime ali e-poštni naslov - - src/app/+login/login.component.html23 - + src/app/+login/login.component.html23 + Password Geslo - - - - - - - - - src/app/+login/login.component.html34src/app/+login/login.component.html36src/app/+reset-password/reset-password.component.html8src/app/+reset-password/reset-password.component.html10src/app/+signup/+register/register-step-user.component.html56src/app/+signup/+register/register-step-user.component.html58src/app/+admin/users/user-edit/user-edit.component.html117src/app/+admin/users/user-edit/user-edit.component.html117 + src/app/+login/login.component.html34 + src/app/+login/login.component.html36 + src/app/+reset-password/reset-password.component.html8 + src/app/+reset-password/reset-password.component.html10 + src/app/+signup/+register/register-step-user.component.html56 + src/app/+signup/+register/register-step-user.component.html58 + src/app/+admin/users/user-edit/user-edit.component.html117 + src/app/+admin/users/user-edit/user-edit.component.html117 + Click here to reset your password Click here to reset your password - - src/app/+login/login.component.html47 - I forgot my passwordI forgot my password + src/app/+login/login.component.html47 + + + I forgot my password + I forgot my password src/app/+login/login.component.html 47 - - Logging into an account lets you publish content Logging into an account lets you publish content + + + Logging into an account lets you publish content + Logging into an account lets you publish content src/app/+login/login.component.html 56,57 @@ -1120,492 +1154,517 @@ Login Prijava - - - src/app/+login/login.component.html44src/app/menu/menu.component.html94 + src/app/+login/login.component.html44 + src/app/menu/menu.component.html94 + Or sign in with Or sign in with - - src/app/+login/login.component.html72 + src/app/+login/login.component.html72 + Forgot your password Ste pozabili geslo? - - src/app/+login/login.component.html91 + src/app/+login/login.component.html91 + - - We are sorry, you cannot recover your password because your instance administrator did not configure the PeerTube email system. - + We are sorry, you cannot recover your password because your instance administrator did not configure the PeerTube email system. We are sorry, you cannot recover your password because your instance administrator did not configure the PeerTube email system. - - src/app/+login/login.component.html99 - Enter your email address and we will send you a link to reset your password. Enter your email address and we will send you a link to reset your password. - - src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour.An email with the reset password instructions will be sent to . + src/app/+login/login.component.html99 + + + Enter your email address and we will send you a link to reset your password. + Enter your email address and we will send you a link to reset your password. + src/app/+login/login.component.html103 + + + An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. - - src/app/+login/login.component.ts121 + src/app/+login/login.component.ts121 + Email E-poštni naslov - - - - - - - - src/app/+login/login.component.html107src/app/+signup/+register/register-step-user.component.html45src/app/+signup/+register/register-step-user.component.html47src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html8src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html4src/app/+admin/users/user-edit/user-edit.component.html105src/app/+admin/users/user-edit/user-edit.component.html105 + src/app/+login/login.component.html107 + src/app/+signup/+register/register-step-user.component.html45 + src/app/+signup/+register/register-step-user.component.html47 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html8 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html4 + src/app/+admin/users/user-edit/user-edit.component.html105 + src/app/+admin/users/user-edit/user-edit.component.html105 + Email address E-poštni naslov - - - src/app/+login/login.component.html109src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html10 - ResetReset - + src/app/+login/login.component.html109 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html10 + + + Reset + Reset Password reset button - src/app/+login/login.component.html122 - - + src/app/+login/login.component.html122 + on this instance on this instance - - src/app/+search/search.component.html7 + src/app/+search/search.component.html7 + on the vidiverse on the vidiverse - - src/app/+search/search.component.html8 - for for + src/app/+search/search.component.html8 + + + for + for src/app/+search/search.component.html 10 - - Reset my password - + Reset my password Ponastavi moje geslo - - src/app/+reset-password/reset-password.component.html3 + src/app/+reset-password/reset-password.component.html3 + Confirm password Potrdite geslo - - src/app/+reset-password/reset-password.component.html19 + src/app/+reset-password/reset-password.component.html19 + Confirmed password Potrditev gesla - - src/app/+reset-password/reset-password.component.html21 + src/app/+reset-password/reset-password.component.html21 + Reset my password Ponastavi moje geslo - - src/app/+reset-password/reset-password.component.html29 - BackBack + src/app/+reset-password/reset-password.component.html29 + + + Back + Back src/app/+signup/+register/register.component.ts 41 Button on the registration form to go to the previous step - - NextNext + + + Next + Next src/app/+signup/+register/register.component.ts 42 Button on the registration form to go to the previous step - - SignupSignup + + + Signup + Signup src/app/+signup/+register/register.component.ts 64 Button on the registration form to finalize the account and channel creation - - Filters + Filters Filtri - + - + - - src/app/+search/search.component.html19 + src/app/+search/search.component.html19 + - - No results found - + No results found No results found - - src/app/+search/search.component.html31 + src/app/+search/search.component.html31 + - - subscribers - + subscribers subscribers - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Welcome to PeerTube, dear administrator! - - src/app/modal/welcome-modal.component.html3 + src/app/modal/welcome-modal.component.html3 + CLI documentation CLI documentation - - src/app/modal/welcome-modal.component.html12 + src/app/modal/welcome-modal.component.html12 + Upload or import videos, parse logs, prune storage directories, reset user password... Upload or import videos, parse logs, prune storage directories, reset user password... - - src/app/modal/welcome-modal.component.html15 + src/app/modal/welcome-modal.component.html15 + Administer documentation Administer documentation - - src/app/modal/welcome-modal.component.html19 + src/app/modal/welcome-modal.component.html19 + Managing users, following other instances, dealing with spammers... Managing users, following other instances, dealing with spammers... - - src/app/modal/welcome-modal.component.html22 + src/app/modal/welcome-modal.component.html22 + Use documentation Use documentation - - src/app/modal/welcome-modal.component.html26 + src/app/modal/welcome-modal.component.html26 + Setup your account, managing video playlists, discover third-party applications... Setup your account, managing video playlists, discover third-party applications... - - src/app/modal/welcome-modal.component.html29 + src/app/modal/welcome-modal.component.html29 + Useful links Useful links - - src/app/modal/welcome-modal.component.html39 + src/app/modal/welcome-modal.component.html39 + Official PeerTube website (news, support, contribute...): https://joinpeertube.org Official PeerTube website (news, support, contribute...): - https://joinpeertube.org - + https://joinpeertube.org + - - src/app/modal/welcome-modal.component.html42 + src/app/modal/welcome-modal.component.html42 + Put your instance on the public PeerTube index: https://instances.joinpeertube.org/instances Put your instance on the public PeerTube index: - https://instances.joinpeertube.org/instances - + https://instances.joinpeertube.org/instances + - - src/app/modal/welcome-modal.component.html45 + src/app/modal/welcome-modal.component.html45 + It's time to configure your instance! It's time to configure your instance! - - src/app/modal/welcome-modal.component.html55 + src/app/modal/welcome-modal.component.html55 + - Choosing your instance name, setting up a description, specifying who you are, why you created your instance and how long you plan to maintain your it is very important for visitors to understand on what type of instance they are. + Choosing your instance name, setting up a description, specifying who you are, why you created your instance and how long you plan to maintain your it is very important for visitors to understand on what type of instance they are. Choosing your - instance name - , - setting up a description - , specifying - who you are - , + instance name + , + setting up a description + , specifying + who you are + , why - you created your instance - and - how long - you plan to - maintain your it - + you created your instance + and + how long + you plan to + maintain your it + is very important for visitors to understand on what type of instance they are. - - src/app/modal/welcome-modal.component.html58 - If you want to open registrations, please decide what your moderation rules and instance terms of service are, as well as specify the categories and languages and your moderators speak. This way, you will help users to register on the appropriate PeerTube instance. If you want to open registrations, please decide what your moderation rules and instance terms of service are, as well as specify the categories and languages and your moderators speak. This way, you will help users to register on the appropriate PeerTube instance. - - src/app/modal/welcome-modal.component.html64 - + src/app/modal/welcome-modal.component.html58 + + + If you want to open registrations, please decide what your moderation rules and instance terms of service are, as well as specify the categories and languages and your moderators speak. This way, you will help users to register on the appropriate PeerTube instance. + If you want to open registrations, please decide what your moderation rules and instance terms of service are, as well as specify the categories and languages and your moderators speak. This way, you will help users to register on the appropriate PeerTube instance. + src/app/modal/welcome-modal.component.html64 + Remind me later Remind me later - - src/app/modal/welcome-modal.component.html74 + src/app/modal/welcome-modal.component.html74 + - - Configure my instance - + Configure my instance Configure my instance - - src/app/modal/welcome-modal.component.html81 + src/app/modal/welcome-modal.component.html81 + Configuration warning! Configuration warning! - - src/app/modal/instance-config-warning-modal.component.html3 + src/app/modal/instance-config-warning-modal.component.html3 + You enabled user registration on your instance but did not configure the following fields: You enabled user registration on your instance but did not configure the following fields: - - src/app/modal/instance-config-warning-modal.component.html10 + src/app/modal/instance-config-warning-modal.component.html10 + Instance name Instance name - - src/app/modal/instance-config-warning-modal.component.html13 + src/app/modal/instance-config-warning-modal.component.html13 + Instance short description Instance short description - - src/app/modal/instance-config-warning-modal.component.html14 + src/app/modal/instance-config-warning-modal.component.html14 + Who you are Who you are - - src/app/modal/instance-config-warning-modal.component.html16 + src/app/modal/instance-config-warning-modal.component.html16 + How long you plan to maintain your instance How long you plan to maintain your instance - - src/app/modal/instance-config-warning-modal.component.html17 - How you plan to pay for keeping your instance runningHow you plan to pay for keeping your instance running + src/app/modal/instance-config-warning-modal.component.html17 + + + How you plan to pay for keeping your instance running + How you plan to pay for keeping your instance running src/app/modal/instance-config-warning-modal.component.html 18 - How you will moderate your instance How you will moderate your instance - - src/app/modal/instance-config-warning-modal.component.html20 + src/app/modal/instance-config-warning-modal.component.html20 + Instance terms Instance terms - - src/app/modal/instance-config-warning-modal.component.html21 - My settingsMy settings - - - src/app/menu/menu.component.html152src/app/modal/quick-settings-modal.component.html3 - These settings apply only to your session on this instance.These settings apply only to your session on this instance. + src/app/modal/instance-config-warning-modal.component.html21 + + + My settings + My settings + src/app/menu/menu.component.html152 + src/app/modal/quick-settings-modal.component.html3 + + + These settings apply only to your session on this instance. + These settings apply only to your session on this instance. src/app/modal/quick-settings-modal.component.html 8 - Please consider configuring these fields to help people to choose the appropriate instance. Without them, your instance may not be referenced on the JoinPeerTube website. + Please consider configuring these fields to help people to choose the appropriate instance. Without them, your instance may not be referenced on the JoinPeerTube website. Please consider configuring these fields to help people to choose - the appropriate instance - . + the appropriate instance + . Without them, your instance may not be referenced on the - JoinPeerTube website - . + JoinPeerTube website + . - - src/app/modal/instance-config-warning-modal.component.html25 + src/app/modal/instance-config-warning-modal.component.html25 + Don't show me this warning anymore Don't show me this warning anymore - - src/app/modal/instance-config-warning-modal.component.html33 + src/app/modal/instance-config-warning-modal.component.html33 + Close Close - - src/app/modal/instance-config-warning-modal.component.html38src/app/shared/shared-video-live/live-stream-information.component.html33 - Update live settingsUpdate live settings - - src/app/shared/shared-video-live/live-stream-information.component.html36 + src/app/modal/instance-config-warning-modal.component.html38 + src/app/shared/shared-video-live/live-stream-information.component.html33 + + + Update live settings + Update live settings + src/app/shared/shared-video-live/live-stream-information.component.html36 + - - Configure - + Configure Configure - - src/app/modal/instance-config-warning-modal.component.html44 + src/app/modal/instance-config-warning-modal.component.html44 + Change the language Change the language - - src/app/menu/language-chooser.component.html3 + src/app/menu/language-chooser.component.html3 + - - Help to translate PeerTube! - + Help to translate PeerTube! Help to translate PeerTube! - - src/app/menu/language-chooser.component.html9 + src/app/menu/language-chooser.component.html9 + Public profile Public profile - - src/app/menu/menu.component.html23 - - + src/app/menu/menu.component.html23 + Interface: Interface: - - src/app/menu/menu.component.html30 + src/app/menu/menu.component.html30 + Videos: Videos: - - src/app/menu/menu.component.html37 + src/app/menu/menu.component.html37 + Sensitive: Sensitive: - - src/app/menu/menu.component.html47 - + src/app/menu/menu.component.html47 + Help share videos Help share videos - - src/app/menu/menu.component.html53 - + src/app/menu/menu.component.html53 + Keyboard shortcuts Keyboard shortcuts - - src/app/menu/menu.component.html62src/app/menu/menu.component.html174 - powered by PeerTube - CopyLeft 2015-2021powered by PeerTube - CopyLeft 2015-2021 - - src/app/menu/menu.component.html179 + src/app/menu/menu.component.html62 + src/app/menu/menu.component.html174 + + + powered by PeerTube - CopyLeft 2015-2021 + powered by PeerTube - CopyLeft 2015-2021 + src/app/menu/menu.component.html179 + Help Help - - src/app/menu/menu.component.html170 + src/app/menu/menu.component.html170 + Get help using PeerTube Get help using PeerTube - - src/app/menu/menu.component.html170 - + src/app/menu/menu.component.html170 + powered by PeerTube powered by PeerTube - - src/app/menu/menu.component.html180 - + src/app/menu/menu.component.html180 + Log out Odjava - - src/app/menu/menu.component.html67 - My accountMy account - - src/app/menu/menu.component.html78 - My libraryMy library - - src/app/menu/menu.component.html83 + src/app/menu/menu.component.html67 + + + My account + My account + src/app/menu/menu.component.html78 + + + My library + My library + src/app/menu/menu.component.html83 + Create an account Ustvari račun - - src/app/+login/login.component.html50src/app/menu/menu.component.html95 - IN MY LIBRARYIN MY LIBRARY - - src/app/menu/menu.component.html99 - + src/app/+login/login.component.html50 + src/app/menu/menu.component.html95 + + + IN MY LIBRARY + IN MY LIBRARY + src/app/menu/menu.component.html99 + - My videosMy videos - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 - My video importsMy video imports - - src/app/+my-library/my-library-routing.module.ts90 - My playlistsMy playlists - - src/app/+my-library/my-library-routing.module.ts40 - Create a new playlistCreate a new playlist - - src/app/+my-library/my-library-routing.module.ts49 - My subscriptionsMy subscriptions - - src/app/+my-library/my-library-routing.module.ts99 + My videos + My videos + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + + + My video imports + My video imports + src/app/+my-library/my-library-routing.module.ts90 + + + My playlists + My playlists + src/app/+my-library/my-library-routing.module.ts40 + + + Create a new playlist + Create a new playlist + src/app/+my-library/my-library-routing.module.ts49 + + + My subscriptions + My subscriptions + src/app/+my-library/my-library-routing.module.ts99 + Videos Videoposnetki - - src/app/menu/menu.component.html103 - Interface: Interface: - - src/app/menu/menu.component.html165 + src/app/menu/menu.component.html103 + + + Interface: + Interface: + src/app/menu/menu.component.html165 + Playlists Playlists - - src/app/menu/menu.component.html108 + src/app/menu/menu.component.html108 + Subscriptions Subscriptions - - src/app/menu/menu.component.html113 + src/app/menu/menu.component.html113 + History History - - src/app/menu/menu.component.html118 + src/app/menu/menu.component.html118 + VIDEOS VIDEOS - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html210 - Import jobs concurrencyImport jobs concurrency + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html210 + + + Import jobs concurrency + Import jobs concurrency src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 220 - - allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart.allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart. + + + allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart. + allows to import multiple videos in parallel. ⚠️ Requires a PeerTube restart. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 221 - - jobs in paralleljobs in parallel + + + jobs in parallel + jobs in parallel src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 225 @@ -1614,162 +1673,197 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 171 - - Allow import with HTTP URL (e.g. YouTube)Allow import with HTTP URL (e.g. YouTube) - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html234 + + + Allow import with HTTP URL (e.g. YouTube) + Allow import with HTTP URL (e.g. YouTube) + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html234 + Discover Discover - - - src/app/+videos/video-list/overview/video-overview.component.html1src/app/menu/menu.component.html128 + src/app/+videos/video-list/overview/video-overview.component.html1 + src/app/menu/menu.component.html128 + Trending Popularno - - src/app/menu/menu.component.html133 - + src/app/menu/menu.component.html133 + Recently added Nedavno dodano - - src/app/menu/menu.component.html138 + src/app/menu/menu.component.html138 + Administration Administracija - - src/app/menu/menu.component.html88 + src/app/menu/menu.component.html88 + About About - - - src/app/menu/menu.component.html157 + src/app/menu/menu.component.html157 + Contact Contact - - src/app/menu/menu.component.html169 + src/app/menu/menu.component.html169 + View your notifications Obvestila - - src/app/menu/notification.component.html3src/app/menu/notification.component.html11src/app/menu/notification.component.html11 + src/app/menu/notification.component.html3 + src/app/menu/notification.component.html11 + src/app/menu/notification.component.html11 + Notifications Obvestila - - - src/app/menu/notification.component.html22src/app/+my-account/my-account-notifications/my-account-notifications.component.html1 + src/app/menu/notification.component.html22 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html1 + Mark all as read Mark all as read - - - src/app/menu/notification.component.html27src/app/menu/notification.component.html27src/app/+my-account/my-account-notifications/my-account-notifications.component.html20 + src/app/menu/notification.component.html27 + src/app/menu/notification.component.html27 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html20 + Update your notification preferences Posodobi obveščevalne nastavitve - - src/app/menu/notification.component.html31 + src/app/menu/notification.component.html31 + See all your notifications Vsa obvestila - - src/app/menu/notification.component.html49 - I'm a teapotI'm a teapot - - src/app/+page-not-found/page-not-found.component.ts27 - That's an error.That's an error. + src/app/menu/notification.component.html49 + + + I'm a teapot + I'm a teapot + src/app/+page-not-found/page-not-found.component.ts27 + + + That's an error. + That's an error. src/app/+page-not-found/page-not-found.component.html 4 - - We couldn't find any video tied to the URL you were looking for.We couldn't find any video tied to the URL you were looking for. + + + We couldn't find any video tied to the URL you were looking for. + We couldn't find any video tied to the URL you were looking for. src/app/+page-not-found/page-not-found.component.html 7 - - We couldn't find any resource tied to the URL you were looking for.We couldn't find any resource tied to the URL you were looking for. + + + We couldn't find any resource tied to the URL you were looking for. + We couldn't find any resource tied to the URL you were looking for. src/app/+page-not-found/page-not-found.component.html 8 - - Possible reasons:Possible reasons: - + + + Possible reasons: + Possible reasons: Possible reasons preceding a list of reasons a `Not Found` error page may occur - src/app/+page-not-found/page-not-found.component.html12 - You may have used an outdated or broken linkYou may have used an outdated or broken link - - src/app/+page-not-found/page-not-found.component.html15 - The video may have been moved or deletedThe video may have been moved or deleted + src/app/+page-not-found/page-not-found.component.html12 + + + You may have used an outdated or broken link + You may have used an outdated or broken link + src/app/+page-not-found/page-not-found.component.html15 + + + The video may have been moved or deleted + The video may have been moved or deleted src/app/+page-not-found/page-not-found.component.html 17 - - The resource may have been moved or deletedThe resource may have been moved or deleted + + + The resource may have been moved or deleted + The resource may have been moved or deleted src/app/+page-not-found/page-not-found.component.html 18 - - You may have typed the address or URL incorrectlyYou may have typed the address or URL incorrectly - - src/app/+page-not-found/page-not-found.component.html20 - You are not authorized here.You are not authorized here. - - src/app/+page-not-found/page-not-found.component.html27 - You might need to check your account is allowed by the video or instance owner.You might need to check your account is allowed by the video or instance owner. + + + You may have typed the address or URL incorrectly + You may have typed the address or URL incorrectly + src/app/+page-not-found/page-not-found.component.html20 + + + You are not authorized here. + You are not authorized here. + src/app/+page-not-found/page-not-found.component.html27 + + + You might need to check your account is allowed by the video or instance owner. + You might need to check your account is allowed by the video or instance owner. src/app/+page-not-found/page-not-found.component.html 30 - - You might need to check your account is allowed by the resource or instance owner.You might need to check your account is allowed by the resource or instance owner. + + + You might need to check your account is allowed by the resource or instance owner. + You might need to check your account is allowed by the resource or instance owner. src/app/+page-not-found/page-not-found.component.html 31 - - The requested entity body blends sweet bits with a mellow earthiness. The requested entity body blends sweet bits with a mellow earthiness. - + + + The requested entity body blends sweet bits with a mellow earthiness. + The requested entity body blends sweet bits with a mellow earthiness. Description of a tea flavour, keeping the 'requested entity body' as a technical expression referring to a web request - src/app/+page-not-found/page-not-found.component.html40 - Sepia seems to like it.Sepia seems to like it. - + src/app/+page-not-found/page-not-found.component.html40 + + + Sepia seems to like it. + Sepia seems to like it. This is about Sepia's tea - src/app/+page-not-found/page-not-found.component.html42 - Media is too large for the server. Please contact you administrator if you want to increase the limit size.Media is too large for the server. Please contact you administrator if you want to increase the limit size. - - src/app/core/rest/rest-extractor.service.ts62 + src/app/+page-not-found/page-not-found.component.html42 + + + Media is too large for the server. Please contact you administrator if you want to increase the limit size. + Media is too large for the server. Please contact you administrator if you want to increase the limit size. + src/app/core/rest/rest-extractor.service.ts62 + Search videos, channels… Search videos, channels… - - src/app/header/search-typeahead.component.html3 + src/app/header/search-typeahead.component.html3 + GLOBAL SEARCH GLOBAL SEARCH - - src/app/header/search-typeahead.component.html26 + src/app/header/search-typeahead.component.html26 + using using - - src/app/header/search-typeahead.component.html28 + src/app/header/search-typeahead.component.html28 + Results will be augmented with those of a third-party index. Only data necessary to make the query will be sent. Results will be augmented with those of a third-party index. Only data necessary to make the query will be sent. - - src/app/header/search-typeahead.component.html32 - Your query will be matched against video names or descriptions, channel names.Your query will be matched against video names or descriptions, channel names. + src/app/header/search-typeahead.component.html32 + + + Your query will be matched against video names or descriptions, channel names. + Your query will be matched against video names or descriptions, channel names. src/app/header/search-typeahead.component.html 37 @@ -1778,286 +1872,294 @@ The link will expire within 1 hour. ADVANCED SEARCH ADVANCED SEARCH - - src/app/header/search-typeahead.component.html39 + src/app/header/search-typeahead.component.html39 + any instance any instance - - src/app/header/search-typeahead.component.html42 + src/app/header/search-typeahead.component.html42 + only followed instances only followed instances - - src/app/header/search-typeahead.component.html43 + src/app/header/search-typeahead.component.html43 + Determines whether you can resolve any distant content, or if this instance only allows doing so for instances it follows. Determines whether you can resolve any distant content, or if this instance only allows doing so for instances it follows. - - src/app/header/search-typeahead.component.html41 + src/app/header/search-typeahead.component.html41 + will list the matching channel will list the matching channel - - - src/app/header/search-typeahead.component.html50src/app/header/search-typeahead.component.html53 + src/app/header/search-typeahead.component.html50 + src/app/header/search-typeahead.component.html53 + will list the matching video will list the matching video - - src/app/header/search-typeahead.component.html56 - + src/app/header/search-typeahead.component.html56 + Search... Iskanje... - - src/app/+admin/plugins/plugin-search/plugin-search.component.html6 - + src/app/+admin/plugins/plugin-search/plugin-search.component.html6 + In this instance's network In this instance's network - - src/app/header/suggestion.component.html14 + src/app/header/suggestion.component.html14 + In the vidiverse In the vidiverse - - src/app/header/suggestion.component.html15 + src/app/header/suggestion.component.html15 + Sort Razvrsti - - src/app/+search/search-filters.component.html7 + src/app/+search/search-filters.component.html7 + - - Reset - + Reset Reset - - - - - - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9 + src/app/+search/search-filters.component.html23 + src/app/+search/search-filters.component.html42 + src/app/+search/search-filters.component.html56 + src/app/+search/search-filters.component.html91 + Published date Datum objave - - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html40 + Original publication year Original publication year - - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html54 + After... Po... - - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html66 + Before... Pred... - - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html76 + Duration Trajanje - - - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html89 + src/app/+videos/+video-watch/video-watch.component.html280 + Display sensitive content Prikaži občutljivo vsebino - - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html21 + Yes Da - - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html29 + No Ne - - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html34 + Category Kategorija - - - - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html102 + src/app/+videos/+video-edit/shared/video-edit.component.html63 + src/app/+videos/+video-watch/video-watch.component.html245 + - - Reset - + Reset Reset - - - - - - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html104 + src/app/+search/search-filters.component.html117 + src/app/+search/search-filters.component.html130 + src/app/+search/search-filters.component.html145 + src/app/+search/search-filters.component.html153 + Display all categories Display all categories - - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html108 + Licence Dovoljenje - - - - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html115 + src/app/+videos/+video-edit/shared/video-edit.component.html74 + src/app/+videos/+video-watch/video-watch.component.html254 + Display all licenses Display all licenses - - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html121 + Language Jezik - - - - - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html128 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 + src/app/+videos/+video-edit/shared/video-edit.component.html94 + src/app/+videos/+video-watch/video-watch.component.html263 + Display all languages Display all languages - - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html134 + All of these tags All of these tags - - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html143 + One of these tags One of these tags - - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html151 + Search target Search target - - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html160 + Vidiverse Vidiverse - - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html170 + - - Reset - + Reset Reset - - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html178 + Filter Filtriraj - - src/app/+search/search-filters.component.html181 - + src/app/+search/search-filters.component.html181 + Video channels Video channels - - src/app/+accounts/account-video-channels/account-video-channels.component.html1 + src/app/+accounts/account-video-channels/account-video-channels.component.html1 + Add caption Add caption - - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html5 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html5 + Select the caption file Select the caption file - - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html24 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html24 + - - This will replace an existing caption! - + This will replace an existing caption! This will replace an existing caption! - - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html31 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html31 + Add this caption Add this caption - - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html42 + src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html42 + Title Title - - src/app/+videos/+video-edit/shared/video-edit.component.html11 + src/app/+videos/+video-edit/shared/video-edit.component.html11 + Tags Tags - - - src/app/+videos/+video-edit/shared/video-edit.component.html19src/app/+videos/+video-watch/video-watch.component.html272 + src/app/+videos/+video-edit/shared/video-edit.component.html19 + src/app/+videos/+video-watch/video-watch.component.html272 + - Tags could be used to suggest relevant recommendations. There is a maximum of 5 tags. Press Enter to add a new tag. + Tags could be used to suggest relevant recommendations. There is a maximum of 5 tags. Press Enter to add a new tag. Tags could be used to suggest relevant recommendations. - + There is a maximum of 5 tags. - + Press - Enter - to add a new tag. + Enter + to add a new tag. - - src/app/+videos/+video-edit/shared/video-edit.component.html24 + src/app/+videos/+video-edit/shared/video-edit.component.html24 + Enter a new tag Enter a new tag - - src/app/shared/shared-forms/select/select-tags.component.html5 - extensionsextensions - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 - This image is too large.This image is too large. - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 - Upload a new bannerUpload a new banner - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 - Change your bannerChange your banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 - Remove bannerRemove banner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 - ratio 6/1, recommended size: 1600x266, max size: , extensions: ratio 6/1, recommended size: 1600x266, max size: , extensions: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-forms/select/select-tags.component.html5 + + + extensions + extensions + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + + + This image is too large. + This image is too large. + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + + + Upload a new banner + Upload a new banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + + + Change your banner + Change your banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + + + Remove banner + Remove banner + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + + + ratio 6/1, recommended size: 1600x266, max size: , extensions: + ratio 6/1, recommended size: 1600x266, max size: , extensions: + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Account avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Channel avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Advanced filters src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2066,818 +2168,856 @@ The link will expire within 1 hour. No items found No items found - - src/app/shared/shared-forms/select/select-checkbox.component.html14 + src/app/shared/shared-forms/select/select-checkbox.component.html14 + Description Description - - - - - - - - - src/app/+about/about-instance/about-instance.component.html113src/app/+admin/config/edit-custom-config/edit-instance-information.component.html35src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html28src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44src/app/+videos/+video-edit/shared/video-edit.component.html38 + src/app/+about/about-instance/about-instance.component.html113 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html35 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html28 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html71 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html44 + src/app/+videos/+video-edit/shared/video-edit.component.html38 + - - Video descriptions are truncated by default and require manual action to expand them. - + Video descriptions are truncated by default and require manual action to expand them. Video descriptions are truncated by default and require manual action to expand them. - - src/app/+videos/+video-edit/shared/video-edit.component.html43 - Choose the appropriate license for your work. Choose the appropriate license for your work. - - src/app/+videos/+video-edit/shared/video-edit.component.html79 + src/app/+videos/+video-edit/shared/video-edit.component.html43 + + + Choose the appropriate license for your work. + Choose the appropriate license for your work. + src/app/+videos/+video-edit/shared/video-edit.component.html79 + Channel Channel - - - - - - - - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+signup/+register/register.component.html33 + src/app/+signup/+register/register.component.html33 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 + src/app/+videos/+video-edit/shared/video-edit.component.html58 + Privacy Privacy - - - - - - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 + src/app/+videos/+video-edit/shared/video-edit.component.html106 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 + src/app/+videos/+video-watch/video-watch.component.html230 + FAQ FAQ - - src/app/menu/menu.component.html171 + src/app/menu/menu.component.html171 + Frequently asked questions about PeerTube Frequently asked questions about PeerTube - - src/app/menu/menu.component.html171 + src/app/menu/menu.component.html171 + API API - - src/app/menu/menu.component.html173 + src/app/menu/menu.component.html173 + API documentation API documentation - - src/app/menu/menu.component.html173 + src/app/menu/menu.component.html173 + Schedule publication () Schedule publication ( ) - - src/app/+videos/+video-edit/shared/video-edit.component.html117 + src/app/+videos/+video-edit/shared/video-edit.component.html117 + Contains sensitive content Contains sensitive content - - src/app/+videos/+video-edit/shared/video-edit.component.html131 - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + src/app/+videos/+video-edit/shared/video-edit.component.html131 + + + Some instances hide videos containing mature or explicit content by default. + Some instances hide videos containing mature or explicit content by default. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Publish after transcoding - - src/app/+videos/+video-edit/shared/video-edit.component.html141 + src/app/+videos/+video-edit/shared/video-edit.component.html141 + If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends. If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends. - - src/app/+videos/+video-edit/shared/video-edit.component.html145 + src/app/+videos/+video-edit/shared/video-edit.component.html145 + Basic info Osnovni podatki - - src/app/+videos/+video-edit/shared/video-edit.component.html5 + src/app/+videos/+video-edit/shared/video-edit.component.html5 + Add another caption Add another caption - - src/app/+videos/+video-edit/shared/video-edit.component.html163 + src/app/+videos/+video-edit/shared/video-edit.component.html163 + See the subtitle file See the subtitle file - - src/app/+videos/+video-edit/shared/video-edit.component.html172 + src/app/+videos/+video-edit/shared/video-edit.component.html172 + - Already uploaded ✔ + Already uploaded ✔ Already uploaded ✔ - - src/app/+videos/+video-edit/shared/video-edit.component.html176 + src/app/+videos/+video-edit/shared/video-edit.component.html176 + Will be created on update Will be created on update - - src/app/+videos/+video-edit/shared/video-edit.component.html184 + src/app/+videos/+video-edit/shared/video-edit.component.html184 + Cancel create Cancel create - - src/app/+videos/+video-edit/shared/video-edit.component.html186 + src/app/+videos/+video-edit/shared/video-edit.component.html186 + Will be deleted on update Will be deleted on update - - src/app/+videos/+video-edit/shared/video-edit.component.html192 + src/app/+videos/+video-edit/shared/video-edit.component.html192 + Cancel deletion Cancel deletion - - src/app/+videos/+video-edit/shared/video-edit.component.html194 + src/app/+videos/+video-edit/shared/video-edit.component.html194 + - - No captions for now. - + No captions for now. No captions for now. - - src/app/+videos/+video-edit/shared/video-edit.component.html200 - Live settingsLive settings - - src/app/+videos/+video-edit/shared/video-edit.component.html208 - You can stream multiple times in a permanent live. The URL for your viewers won't change but you cannot save replays of your livesYou can stream multiple times in a permanent live. The URL for your viewers won't change but you cannot save replays of your lives - - src/app/+videos/+video-edit/shared/video-edit.component.html236 - This is a permanent liveThis is a permanent live - - src/app/+videos/+video-edit/shared/video-edit.component.html232 - ⚠️ If you enable this option, your live will be terminated if you exceed your video quota⚠️ If you enable this option, your live will be terminated if you exceed your video quota - - src/app/+videos/+video-edit/shared/video-edit.component.html248 - Automatically publish a replay when your live endsAutomatically publish a replay when your live ends - - src/app/+videos/+video-edit/shared/video-edit.component.html244 + src/app/+videos/+video-edit/shared/video-edit.component.html200 + + + Live settings + Live settings + src/app/+videos/+video-edit/shared/video-edit.component.html208 + + + You can stream multiple times in a permanent live. The URL for your viewers won't change but you cannot save replays of your lives + You can stream multiple times in a permanent live. The URL for your viewers won't change but you cannot save replays of your lives + src/app/+videos/+video-edit/shared/video-edit.component.html236 + + + This is a permanent live + This is a permanent live + src/app/+videos/+video-edit/shared/video-edit.component.html232 + + + ⚠️ If you enable this option, your live will be terminated if you exceed your video quota + ⚠️ If you enable this option, your live will be terminated if you exceed your video quota + src/app/+videos/+video-edit/shared/video-edit.component.html248 + + + Automatically publish a replay when your live ends + Automatically publish a replay when your live ends + src/app/+videos/+video-edit/shared/video-edit.component.html244 + Captions Captions - - src/app/+videos/+video-edit/shared/video-edit.component.html155 + src/app/+videos/+video-edit/shared/video-edit.component.html155 + Video preview Video preview - - src/app/+videos/+video-edit/shared/video-edit.component.html267 + src/app/+videos/+video-edit/shared/video-edit.component.html267 + Support Support - - src/app/+video-channels/video-channels.component.html17src/app/+videos/+video-edit/shared/video-edit.component.html276 - View accountView account - - - src/app/+video-channels/video-channels.component.html30 - View account View account + src/app/+video-channels/video-channels.component.html17 + src/app/+videos/+video-edit/shared/video-edit.component.html276 + + + View account + View account + src/app/+video-channels/video-channels.component.html30 + + + View account + View account src/app/+video-channels/video-channels.component.html 42,43 - - View owner account View owner account + + + View owner account + View owner account src/app/+video-channels/video-channels.component.html 46,47 - - VIDEO CHANNELVIDEO CHANNEL + + + VIDEO CHANNEL + VIDEO CHANNEL src/app/+video-channels/video-channels.component.html 55 - - Copy channel handleCopy channel handle + + + Copy channel handle + Copy channel handle src/app/+video-channels/video-channels.component.html 66 - - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} src/app/+video-channels/video-channels.component.html 76 - - + + + + src/app/+video-channels/video-channels.component.html 76,77 - - OWNER ACCOUNTOWNER ACCOUNT - - - src/app/+video-channels/video-channels.component.html23 + + + OWNER ACCOUNT + OWNER ACCOUNT + src/app/+video-channels/video-channels.component.html23 + - - Short text to tell people how they can support you (membership platform...). - + Short text to tell people how they can support you (membership platform...). Short text to tell people how they can support you (membership platform...). - - src/app/+videos/+video-edit/shared/video-edit.component.html280 + src/app/+videos/+video-edit/shared/video-edit.component.html280 + Original publication date Original publication date - - src/app/+videos/+video-edit/shared/video-edit.component.html296 + src/app/+videos/+video-edit/shared/video-edit.component.html296 + - - This is the date when the content was originally published (e.g. the release date for a film) - + This is the date when the content was originally published (e.g. the release date for a film) This is the date when the content was originally published (e.g. the release date for a film) - - src/app/+videos/+video-edit/shared/video-edit.component.html300 - Plugin settingsPlugin settings - - src/app/+videos/+video-edit/shared/video-edit.component.html330 + src/app/+videos/+video-edit/shared/video-edit.component.html300 + + + Plugin settings + Plugin settings + src/app/+videos/+video-edit/shared/video-edit.component.html330 + Enable video comments Enable video comments - - src/app/+videos/+video-edit/shared/video-edit.component.html317 + src/app/+videos/+video-edit/shared/video-edit.component.html317 + Enable download Dovoli prenos - - src/app/+videos/+video-edit/shared/video-edit.component.html322 + src/app/+videos/+video-edit/shared/video-edit.component.html322 + Advanced settings Napredne nastavitve - - src/app/+videos/+video-edit/shared/video-edit.component.html260 + src/app/+videos/+video-edit/shared/video-edit.component.html260 + URL URL - - - - src/app/shared/shared-share-modal/video-share.component.html16src/app/shared/shared-share-modal/video-share.component.html71src/app/+videos/+video-edit/video-add-components/video-import-url.component.html6 - You can import any URL supported by youtube-dl or URL that points to a media 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. You can import any URL supported by youtube-dl or URL that points to a media 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. - - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html11 - + src/app/shared/shared-share-modal/video-share.component.html16 + src/app/shared/shared-share-modal/video-share.component.html71 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html6 + + + You can import any URL supported by youtube-dl or URL that points to a media 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. + You can import any URL supported by youtube-dl or URL that points to a media 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. + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html11 + Sorry, but something went wrong Sorry, but something went wrong - - - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + - Congratulations, the video behind will be imported! You can already add information about this video. - + Congratulations, the video behind will be imported! You can already add information about this video. Congratulations, the video behind will be imported! You can already add information about this video. - - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html48 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html48 + Update Posodobi - - - - - src/app/+videos/+video-edit/video-update.component.html3src/app/+videos/+video-edit/video-update.component.html18src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html68src/app/+videos/+video-edit/video-add-components/video-import-url.component.html61src/app/+videos/+video-edit/video-add-components/video-go-live.component.html45 + src/app/+videos/+video-edit/video-update.component.html3 + src/app/+videos/+video-edit/video-update.component.html18 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html68 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.html61 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html45 + Select the file to upload Select the file to upload - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html8 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html6 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html8 + Scheduled Scheduled - - src/app/+videos/+video-edit/shared/video-edit.component.ts184 + src/app/+videos/+video-edit/shared/video-edit.component.ts184 + Hide the video until a specific date Hide the video until a specific date - - src/app/+videos/+video-edit/shared/video-edit.component.ts185 + src/app/+videos/+video-edit/shared/video-edit.component.ts185 + Video background image Ozadje videoposnetka - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + - Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. + Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Image that will be merged with your audio file. - + The chosen image will be definitive and cannot be modified. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - Total video uploadedTotal video uploaded - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + + + Total video uploaded + Total video uploaded + src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + Processing… Processing… - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - RetryRetry - + src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + + + Retry + Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + Total video quota Total video quota - - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + - - Congratulations! Your video is now available in your private library. - + Congratulations! Your video is now available in your private library. Congratulations! Your video is now available in your private library. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + Publish will be available when upload is finished Publish will be available when upload is finished - - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + Publish Objavi - - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/header/header.component.html5 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. - - src/app/+videos/+video-edit/video-add.component.html3 + src/app/+videos/+video-edit/video-add.component.html3 + Read instance rules for help Read instance rules for help - - src/app/+videos/+video-edit/video-add.component.html4 + src/app/+videos/+video-edit/video-add.component.html4 + Select the torrent to import Select the torrent to import - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html8 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html6 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html8 + OR OR - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html13 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html13 + Paste magnet URI Paste magnet URI - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html16 - + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html16 + - - Congratulations, the video will be imported with BitTorrent! You can already add information about this video. - + Congratulations, the video will be imported with BitTorrent! You can already add information about this video. Congratulations, the video will be imported with BitTorrent! You can already add information about this video. - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html56 - Cannot create live because this instance have too many created livesCannot create live because this instance have too many created lives - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts96 - Cannot create live because you created too many livesCannot create live because you created too many lives - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts98 - Live published.Live published. - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts128 - Go LiveGo Live - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html20 - Max live duration is . If your live reaches this limit, it will be automatically terminated. - Max live duration is . If your live reaches this limit, it will be automatically terminated. + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html56 + + + Cannot create live because this instance have too many created lives + Cannot create live because this instance have too many created lives + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts96 + + + Cannot create live because you created too many lives + Cannot create live because you created too many lives + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts98 + + + Live published. + Live published. + src/app/+videos/+video-edit/video-add-components/video-go-live.component.ts128 + + + Go Live + Go Live + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html20 + + + Max live duration is . If your live reaches this limit, it will be automatically terminated. + Max live duration is . If your live reaches this limit, it will be automatically terminated. - - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html30 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html30 + - We recommend you to not use the root user to publish your videos, since it's the super-admin account of your instance. Instead, create a dedicated account to upload your videos. + We recommend you to not use the root user to publish your videos, since it's the super-admin account of your instance. Instead, create a dedicated account to upload your videos. We recommend you to not use the - root - user to publish your videos, since it's the super-admin account of your instance. + root + user to publish your videos, since it's the super-admin account of your instance. - + Instead, - create a dedicated account - to upload your videos. + create a dedicated account + to upload your videos. - - src/app/+videos/+video-edit/video-add.component.html11 + src/app/+videos/+video-edit/video-add.component.html11 + Import Import - - src/app/+videos/+video-edit/video-add.component.html19 + src/app/+videos/+video-edit/video-add.component.html19 + Upload Upload - - src/app/+videos/+video-edit/video-add.component.html20 + src/app/+videos/+video-edit/video-add.component.html20 + Upload a file Naloži datoteko - - src/app/+videos/+video-edit/video-add.component.html26 + src/app/+videos/+video-edit/video-add.component.html26 + Import with URL Import with URL - - src/app/+videos/+video-edit/video-add.component.html36 + src/app/+videos/+video-edit/video-add.component.html36 + Import with torrent Uvozi iz torrenta - - src/app/+videos/+video-edit/video-add.component.html46 - Go liveGo live - - src/app/+videos/+video-edit/video-add.component.html56 + src/app/+videos/+video-edit/video-add.component.html46 + + + Go live + Go live + src/app/+videos/+video-edit/video-add.component.html56 + - - Other videos - + Other videos Other videos - - src/app/+videos/+video-watch/recommendations/recommended-videos.component.html5 + src/app/+videos/+video-watch/recommendations/recommended-videos.component.html5 + AUTOPLAY AUTOPLAY - - src/app/+videos/+video-watch/recommendations/recommended-videos.component.html10 - Report this commentReport this comment - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/recommendations/recommended-videos.component.html10 + + + Report this comment + Report this comment + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Share - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html12src/app/shared/shared-share-modal/video-share.component.html3 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html12 + src/app/shared/shared-share-modal/video-share.component.html3 + Share the playlist Share the playlist - - src/app/shared/shared-share-modal/video-share.component.html11 + src/app/shared/shared-share-modal/video-share.component.html11 + Share the playlist at this video position Share the playlist at this video position - - src/app/shared/shared-share-modal/video-share.component.html58 + src/app/shared/shared-share-modal/video-share.component.html58 + Share the video Share the video - - src/app/shared/shared-share-modal/video-share.component.html66 + src/app/shared/shared-share-modal/video-share.component.html66 + QR-Code QR-Code - - - src/app/shared/shared-share-modal/video-share.component.html27src/app/shared/shared-share-modal/video-share.component.html81 + src/app/shared/shared-share-modal/video-share.component.html27 + src/app/shared/shared-share-modal/video-share.component.html81 + - - 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). - + 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). 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). - - - src/app/shared/shared-share-modal/video-share.component.html44src/app/shared/shared-share-modal/video-share.component.html98 + src/app/shared/shared-share-modal/video-share.component.html44 + src/app/shared/shared-share-modal/video-share.component.html98 + Embed Embed - - - src/app/shared/shared-share-modal/video-share.component.html37src/app/shared/shared-share-modal/video-share.component.html91 + src/app/shared/shared-share-modal/video-share.component.html37 + src/app/shared/shared-share-modal/video-share.component.html91 + Auto select subtitle Auto select subtitle - - src/app/shared/shared-share-modal/video-share.component.html128 + src/app/shared/shared-share-modal/video-share.component.html128 + - - More customization - + More customization More customization - - src/app/shared/shared-share-modal/video-share.component.html223 + src/app/shared/shared-share-modal/video-share.component.html223 + - - Less customization - + Less customization Less customization - - src/app/shared/shared-share-modal/video-share.component.html231 - Support Support + src/app/shared/shared-share-modal/video-share.component.html231 + + + Support + Support src/app/shared/shared-support-modal/support-modal.component.html 3 - - LoginLogin - - src/app/+login/login-routing.module.ts14 + + + Login + Login + src/app/+login/login-routing.module.ts14 + Autoplay Autoplay - - src/app/shared/shared-share-modal/video-share.component.html159 - + src/app/shared/shared-share-modal/video-share.component.html159 + Maybe later Maybe later - - src/app/shared/shared-support-modal/support-modal.component.html11 + src/app/shared/shared-support-modal/support-modal.component.html11 + Muted Muted - - - src/app/+accounts/accounts.component.html22src/app/shared/shared-share-modal/video-share.component.html166 + src/app/+accounts/accounts.component.html22 + src/app/shared/shared-share-modal/video-share.component.html166 + Loop Loop - - src/app/shared/shared-share-modal/video-share.component.html173 - Use origin instance URLUse origin instance URL - - src/app/shared/shared-share-modal/video-share.component.html180 + src/app/shared/shared-share-modal/video-share.component.html173 + + + Use origin instance URL + Use origin instance URL + src/app/shared/shared-share-modal/video-share.component.html180 + Display video title Display video title - - src/app/shared/shared-share-modal/video-share.component.html189 + src/app/shared/shared-share-modal/video-share.component.html189 + Display privacy warning Display privacy warning - - src/app/shared/shared-share-modal/video-share.component.html196 + src/app/shared/shared-share-modal/video-share.component.html196 + Display player controls Display player controls - - src/app/shared/shared-share-modal/video-share.component.html203 + src/app/shared/shared-share-modal/video-share.component.html203 + Display PeerTube button link Display PeerTube button link - - src/app/shared/shared-share-modal/video-share.component.html210 + src/app/shared/shared-share-modal/video-share.component.html210 + Public Public - - src/app/+videos/+video-watch/video-watch-playlist.component.html11 + src/app/+videos/+video-watch/video-watch-playlist.component.html11 + - - The video is being imported, it will be available when the import is finished. - + The video is being imported, it will be available when the import is finished. The video is being imported, it will be available when the import is finished. - - src/app/+videos/+video-watch/video-watch.component.html25 + src/app/+videos/+video-watch/video-watch.component.html25 + - - The video is being transcoded, it may not work properly. - + The video is being transcoded, it may not work properly. The video is being transcoded, it may not work properly. - - src/app/+videos/+video-watch/video-watch.component.html29 + src/app/+videos/+video-watch/video-watch.component.html29 + - This video will be published on . + This video will be published on . This video will be published on . - - src/app/+videos/+video-watch/video-watch.component.html32 - This live has not started yet. This live has not started yet. - - src/app/+videos/+video-watch/video-watch.component.html37 - This live has ended. This live has ended. - - src/app/+videos/+video-watch/video-watch.component.html41 + src/app/+videos/+video-watch/video-watch.component.html32 + + + This live has not started yet. + This live has not started yet. + src/app/+videos/+video-watch/video-watch.component.html37 + + + This live has ended. + This live has ended. + src/app/+videos/+video-watch/video-watch.component.html41 + This video is blocked. This video is blocked. - - src/app/+videos/+video-watch/video-watch.component.html45 - Published Published - - src/app/+videos/+video-watch/video-watch.component.html59src/app/+videos/+video-watch/video-watch.component.html72 - - + src/app/+videos/+video-watch/video-watch.component.html45 + + + Published + Published + src/app/+videos/+video-watch/video-watch.component.html59 + src/app/+videos/+video-watch/video-watch.component.html72 + SUPPORT SUPPORT - - src/app/+videos/+video-watch/video-watch.component.html108 + src/app/+videos/+video-watch/video-watch.component.html108 + SHARE SHARE - - src/app/+videos/+video-watch/video-watch.component.html113 + src/app/+videos/+video-watch/video-watch.component.html113 + SAVE SAVE - - src/app/+videos/+video-watch/video-watch.component.html124 + src/app/+videos/+video-watch/video-watch.component.html124 + DOWNLOAD DOWNLOAD - - src/app/+videos/+video-watch/video-watch.component.html138 + src/app/+videos/+video-watch/video-watch.component.html138 + Like this video Like this video - - src/app/+videos/+video-watch/video-watch.component.ts158 + src/app/+videos/+video-watch/video-watch.component.ts158 + Dislike this video Dislike this video - - src/app/+videos/+video-watch/video-watch.component.ts159 + src/app/+videos/+video-watch/video-watch.component.ts159 + Support options for this video Support options for this video - - src/app/+videos/+video-watch/video-watch.component.ts160 + src/app/+videos/+video-watch/video-watch.component.ts160 + By By - - src/app/+videos/+video-watch/video-watch.component.html190 + src/app/+videos/+video-watch/video-watch.component.html190 + Subscribe Subscribe - - src/app/shared/shared-user-subscription/subscribe-button.component.html9 + src/app/shared/shared-user-subscription/subscribe-button.component.html9 + Subscribe to all channels Subscribe to all channels - - src/app/shared/shared-user-subscription/subscribe-button.component.html11 + src/app/shared/shared-user-subscription/subscribe-button.component.html11 + channels subscribed channels subscribed - - src/app/shared/shared-user-subscription/subscribe-button.component.html13 + src/app/shared/shared-user-subscription/subscribe-button.component.html13 + {VAR_SELECT, select, undefined {Unsubscribe} other {Unsubscribe from all channels} } {VAR_SELECT, select, undefined {Unsubscribe} other {Unsubscribe from all channels} } - - src/app/shared/shared-user-subscription/subscribe-button.component.html34 + src/app/shared/shared-user-subscription/subscribe-button.component.html34 + Show more Show more - - src/app/+videos/+video-watch/video-watch.component.html217 + src/app/+videos/+video-watch/video-watch.component.html217 + Show less Show less - - src/app/+videos/+video-watch/video-watch.component.html223 - OriginOrigin + src/app/+videos/+video-watch/video-watch.component.html223 + + + Origin + Origin src/app/+videos/+video-watch/video-watch.component.html 235 - Originally published Originally published - - src/app/+videos/+video-watch/video-watch.component.html240 + src/app/+videos/+video-watch/video-watch.component.html240 + - Friendly Reminder: + Friendly Reminder: Friendly Reminder: - - src/app/+videos/+video-watch/video-watch.component.html304 + src/app/+videos/+video-watch/video-watch.component.html304 + - - the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. - + the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. - - src/app/+videos/+video-watch/video-watch.component.html306 + src/app/+videos/+video-watch/video-watch.component.html306 + More information More information - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos The video was blocked due to automatic blocking of new videos - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 - NSFWNSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + + + NSFW + NSFW + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Get more information - - src/app/+videos/+video-watch/video-watch.component.html309 + src/app/+videos/+video-watch/video-watch.component.html309 + - - OK - + OK OK - - src/app/+videos/+video-watch/video-watch.component.html313 - - - + src/app/+videos/+video-watch/video-watch.component.html313 + - - SORT BY - + SORT BY SORT BY - - src/app/+videos/+video-watch/comment/video-comments.component.html11 + src/app/+videos/+video-watch/comment/video-comments.component.html11 + Most recent first (default) Most recent first (default) - - src/app/+videos/+video-watch/comment/video-comments.component.html14 + src/app/+videos/+video-watch/comment/video-comments.component.html14 + Most replies first Most replies first - - src/app/+videos/+video-watch/comment/video-comments.component.html15 + src/app/+videos/+video-watch/comment/video-comments.component.html15 + No comments. No comments. - - src/app/+videos/+video-watch/comment/video-comments.component.html28 - View from and others View from and others + src/app/+videos/+video-watch/comment/video-comments.component.html28 + + + View from and others + View from and others src/app/+videos/+video-watch/comment/video-comments.component.html 80,81 - - {VAR_PLURAL, plural, =1 {1 reply} other { replies}}{VAR_PLURAL, plural, =1 {1 reply} other { replies}} + + + {VAR_PLURAL, plural, =1 {1 reply} other { replies}} + {VAR_PLURAL, plural, =1 {1 reply} other { replies}} src/app/+videos/+video-watch/comment/video-comments.component.html 80 @@ -2890,298 +3030,318 @@ The link will expire within 1 hour. src/app/+videos/+video-watch/comment/video-comments.component.html 87 - - View from View from + + + View from + View from src/app/+videos/+video-watch/comment/video-comments.component.html 83,84 - - View View + + + View + View src/app/+videos/+video-watch/comment/video-comments.component.html 87 - - - - - Comments are disabled. - + Comments are disabled. Comments are disabled. - - src/app/+videos/+video-watch/comment/video-comments.component.html98 + src/app/+videos/+video-watch/comment/video-comments.component.html98 + Add comment... Add comment... - - src/app/+videos/+video-watch/comment/video-comment-add.component.html6 - Markdown compatibleMarkdown compatible - - src/app/+videos/+video-watch/comment/video-comment-add.component.html13 - Markdown compatible that supports:Markdown compatible that supports: - - src/app/+videos/+video-watch/comment/video-comment-add.component.html15 - Auto generated linksAuto generated links - - src/app/+videos/+video-watch/comment/video-comment-add.component.html18 - Break linesBreak lines - - src/app/+videos/+video-watch/comment/video-comment-add.component.html19 - ListsLists - - src/app/+videos/+video-watch/comment/video-comment-add.component.html20 - EmphasisEmphasis - - src/app/+videos/+video-watch/comment/video-comment-add.component.html22 - boldbold - - src/app/+videos/+video-watch/comment/video-comment-add.component.html23 - italicitalic - - src/app/+videos/+video-watch/comment/video-comment-add.component.html23 - Emoji shortcutsEmoji shortcuts - - src/app/+videos/+video-watch/comment/video-comment-add.component.html26 - Emoji markupEmoji markup - - src/app/+videos/+video-watch/comment/video-comment-add.component.html30 - See complete listSee complete list - - src/app/+videos/+video-watch/comment/video-comment-add.component.html32 - + src/app/+videos/+video-watch/comment/video-comment-add.component.html6 + + + Markdown compatible + Markdown compatible + src/app/+videos/+video-watch/comment/video-comment-add.component.html13 + + + Markdown compatible that supports: + Markdown compatible that supports: + src/app/+videos/+video-watch/comment/video-comment-add.component.html15 + + + Auto generated links + Auto generated links + src/app/+videos/+video-watch/comment/video-comment-add.component.html18 + + + Break lines + Break lines + src/app/+videos/+video-watch/comment/video-comment-add.component.html19 + + + Lists + Lists + src/app/+videos/+video-watch/comment/video-comment-add.component.html20 + + + Emphasis + Emphasis + src/app/+videos/+video-watch/comment/video-comment-add.component.html22 + + + bold + bold + src/app/+videos/+video-watch/comment/video-comment-add.component.html23 + + + italic + italic + src/app/+videos/+video-watch/comment/video-comment-add.component.html23 + + + Emoji shortcuts + Emoji shortcuts + src/app/+videos/+video-watch/comment/video-comment-add.component.html26 + + + Emoji markup + Emoji markup + src/app/+videos/+video-watch/comment/video-comment-add.component.html30 + + + See complete list + See complete list + src/app/+videos/+video-watch/comment/video-comment-add.component.html32 + You are one step away from commenting You are one step away from commenting - - src/app/+videos/+video-watch/comment/video-comment-add.component.html56 - You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). - - src/app/+videos/+video-watch/comment/video-comment-add.component.html62 - - + src/app/+videos/+video-watch/comment/video-comment-add.component.html56 + + + You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). + You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). + src/app/+videos/+video-watch/comment/video-comment-add.component.html62 + Login to comment Login to comment - - src/app/+videos/+video-watch/comment/video-comment-add.component.html75 - Markdown Emoji ListMarkdown Emoji List - - src/app/+videos/+video-watch/comment/video-comment-add.component.html83 - CommentComment - - src/app/+videos/+video-watch/comment/video-comment-add.component.ts67 - ReplyReply - - src/app/+videos/+video-watch/comment/video-comment-add.component.ts69 + src/app/+videos/+video-watch/comment/video-comment-add.component.html75 + + + Markdown Emoji List + Markdown Emoji List + src/app/+videos/+video-watch/comment/video-comment-add.component.html83 + + + Comment + Comment + src/app/+videos/+video-watch/comment/video-comment-add.component.ts67 + + + Reply + Reply + src/app/+videos/+video-watch/comment/video-comment-add.component.ts69 + Highlighted comment Highlighted comment - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Reply - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted This comment has been deleted - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Video redundancies - - src/app/+admin/admin.component.ts39 + src/app/+admin/admin.component.ts39 + 1 host (without "http://") per line 1 host (without "http://") per line - - src/app/shared/shared-moderation/batch-domains-modal.component.html11 + src/app/shared/shared-moderation/batch-domains-modal.component.html11 + - Your report will be sent to moderators of and will be forwarded to the comment origin () too. + Your report will be sent to moderators of and will be forwarded to the comment origin () too. Your report will be sent to moderators of - and will be forwarded to the comment origin ( + and will be forwarded to the comment origin ( ) too - . + . - - - src/app/shared/shared-moderation/report-modals/report.component.html36src/app/shared/shared-moderation/report-modals/report.component.html36 - Renewing the token will disallow previously configured clients from retrieving the feed until they use the new token. Proceed?Renewing the token will disallow previously configured clients from retrieving the feed until they use the new token. Proceed? + src/app/shared/shared-moderation/report-modals/report.component.html36 + src/app/shared/shared-moderation/report-modals/report.component.html36 + + + Renewing the token will disallow previously configured clients from retrieving the feed until they use the new token. Proceed? + Renewing the token will disallow previously configured clients from retrieving the feed until they use the new token. Proceed? src/app/+my-account/my-account-applications/my-account-applications.component.ts 41 - - Renew tokenRenew token + + + Renew token + Renew token src/app/+my-account/my-account-applications/my-account-applications.component.ts 42 - - Token renewed. Update your client configuration accordingly.Token renewed. Update your client configuration accordingly. + + + Token renewed. Update your client configuration accordingly. + Token renewed. Update your client configuration accordingly. src/app/+my-account/my-account-applications/my-account-applications.component.ts 49 - - ApplicationsApplications + + + Applications + Applications src/app/+my-account/my-account-applications/my-account-applications.component.html 3 - - SUBSCRIPTION FEEDSUBSCRIPTION FEED + + + SUBSCRIPTION FEED + SUBSCRIPTION FEED src/app/+my-account/my-account-applications/my-account-applications.component.html 8 - - Use third-party feed aggregators to retrieve the list of videos from channels you subscribed to. Use third-party feed aggregators to retrieve the list of videos from channels you subscribed to. + + + Use third-party feed aggregators to retrieve the list of videos from channels you subscribed to. + Use third-party feed aggregators to retrieve the list of videos from channels you subscribed to. src/app/+my-account/my-account-applications/my-account-applications.component.html 10,12 - - Feed URLFeed URL + + + Feed URL + Feed URL src/app/+my-account/my-account-applications/my-account-applications.component.html 18 - - Feed TokenFeed Token + + + Feed Token + Feed Token src/app/+my-account/my-account-applications/my-account-applications.component.html 23 - - ⚠️ Never share your feed token with anyone.⚠️ Never share your feed token with anyone. + + + ⚠️ Never share your feed token with anyone. + ⚠️ Never share your feed token with anyone. src/app/+my-account/my-account-applications/my-account-applications.component.html 26 - - Renew tokenRenew token - - src/app/+my-account/my-account-applications/my-account-applications.component.html35 - + + + Renew token + Renew token + src/app/+my-account/my-account-applications/my-account-applications.component.html35 + Filter... Filter... - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Clear filters - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Video/Comment/Account - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID - - src/app/+admin/system/jobs/jobs.component.html45 + src/app/+admin/system/jobs/jobs.component.html45 + Follower handle Follower handle - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State State - - - src/app/+my-library/my-video-imports/my-video-imports.component.html19src/app/+admin/system/jobs/jobs.component.html48 - - - - - + src/app/+my-library/my-video-imports/my-video-imports.component.html19 + src/app/+admin/system/jobs/jobs.component.html48 + Created Created - - + + - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Open actor page in a new tab - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Accepted - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Pending - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Accept - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Refuse - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. No follower found matching current filters. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Your instance doesn't have any follower. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Showing @@ -3189,50 +3349,50 @@ The link will expire within 1 hour. of followers - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + - - - + - - src/app/shared/shared-moderation/batch-domains-modal.component.html3 + src/app/shared/shared-moderation/batch-domains-modal.component.html3 + Host Host - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redundancy allowed - - + + - - src/app/+admin/follows/following-list/following-list.component.html34 - UnfollowUnfollow - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html34 + + + Unfollow + Unfollow + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Open instance in a new tab - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. No host found matching current filters. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Your instance is not following anyone. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Showing @@ -3240,120 +3400,127 @@ The link will expire within 1 hour. of hosts - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Follow domains - - src/app/+admin/follows/following-list/following-list.component.html78 - Follow instancesFollow instances - - src/app/+admin/follows/following-list/following-list.component.html18 - ActionAction - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html78 + + + Follow instances + Follow instances + src/app/+admin/follows/following-list/following-list.component.html18 + + + Action + Action + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Videos redundancies - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html3 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html3 + My videos duplicated by remote instances My videos duplicated by remote instances - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html12 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html12 + Remote videos duplicated by my instance Remote videos duplicated by my instance - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html13 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html13 + Create user Create user - - src/app/+admin/users/user-list/user-list.component.html20 + src/app/+admin/users/user-list/user-list.component.html20 + Table parameters Table parameters - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Select columns - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Highlight banned users - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Username - - - - src/app/+signup/+register/register-step-user.component.html23src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html6src/app/+admin/users/user-edit/user-edit.component.html83src/app/+admin/users/user-edit/user-edit.component.html83 - e.g. jane_doee.g. jane_doe - + src/app/+signup/+register/register-step-user.component.html23 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html6 + src/app/+admin/users/user-edit/user-edit.component.html83 + src/app/+admin/users/user-edit/user-edit.component.html83 + + + e.g. jane_doe + e.g. jane_doe Username choice placeholder in the registration form - src/app/+signup/+register/register-step-user.component.html27 + src/app/+signup/+register/register-step-user.component.html27 + john john - - - src/app/+admin/users/user-edit/user-edit.component.html85src/app/+admin/users/user-edit/user-edit.component.html85 + src/app/+admin/users/user-edit/user-edit.component.html85 + src/app/+admin/users/user-edit/user-edit.component.html85 + mail@example.com mail@example.com - - - src/app/+admin/users/user-edit/user-edit.component.html107src/app/+admin/users/user-edit/user-edit.component.html107 + src/app/+admin/users/user-edit/user-edit.component.html107 + src/app/+admin/users/user-edit/user-edit.component.html107 + - - If you leave the password empty, an email will be sent to the user. - + If you leave the password empty, an email will be sent to the user. If you leave the password empty, an email will be sent to the user. - - - src/app/+admin/users/user-edit/user-edit.component.html121src/app/+admin/users/user-edit/user-edit.component.html121 + src/app/+admin/users/user-edit/user-edit.component.html121 + src/app/+admin/users/user-edit/user-edit.component.html121 + Role Role - - - src/app/+admin/users/user-edit/user-edit.component.html136src/app/+admin/users/user-edit/user-edit.component.html136 + src/app/+admin/users/user-edit/user-edit.component.html136 + src/app/+admin/users/user-edit/user-edit.component.html136 + - Transcoding is enabled. The video quota only takes into account original video size. At most, this user could upload ~ . + Transcoding is enabled. The video quota only takes into account original video size. At most, this user could upload ~ . Transcoding is enabled. The video quota only takes into account - original - video size. - + original + video size. + At most, this user could upload ~ . - - - src/app/+admin/users/user-edit/user-edit.component.html162src/app/+admin/users/user-edit/user-edit.component.html162 + src/app/+admin/users/user-edit/user-edit.component.html162 + src/app/+admin/users/user-edit/user-edit.component.html162 + Daily video quota Daily video quota - - - - src/app/+admin/users/user-edit/user-edit.component.html172src/app/+admin/users/user-edit/user-edit.component.html172src/app/shared/shared-main/users/user-quota.component.html13 - Auth pluginAuth plugin + src/app/+admin/users/user-edit/user-edit.component.html172 + src/app/+admin/users/user-edit/user-edit.component.html172 + src/app/shared/shared-main/users/user-quota.component.html13 + + + Auth plugin + Auth plugin src/app/+admin/users/user-edit/user-edit.component.html 188 @@ -3362,8 +3529,10 @@ The link will expire within 1 hour. src/app/+admin/users/user-edit/user-edit.component.html 188 - - None (local authentication)None (local authentication) + + + None (local authentication) + None (local authentication) src/app/+admin/users/user-edit/user-edit.component.html 192 @@ -3376,88 +3545,90 @@ The link will expire within 1 hour. Doesn't need review before a video goes public Doesn't need review before a video goes public - - - src/app/+admin/users/user-edit/user-edit.component.html201src/app/+admin/users/user-edit/user-edit.component.html201 + src/app/+admin/users/user-edit/user-edit.component.html201 + src/app/+admin/users/user-edit/user-edit.component.html201 + Send a link to reset the password by email to the user Send a link to reset the password by email to the user - - - src/app/+admin/users/user-edit/user-edit.component.html226src/app/+admin/users/user-edit/user-edit.component.html226 + src/app/+admin/users/user-edit/user-edit.component.html226 + src/app/+admin/users/user-edit/user-edit.component.html226 + Ask for new password Ask for new password - - - src/app/+admin/users/user-edit/user-edit.component.html227src/app/+admin/users/user-edit/user-edit.component.html227 + src/app/+admin/users/user-edit/user-edit.component.html227 + src/app/+admin/users/user-edit/user-edit.component.html227 + Manually set the user password Manually set the user password - - - src/app/+admin/users/user-edit/user-edit.component.html231src/app/+admin/users/user-edit/user-edit.component.html231 + src/app/+admin/users/user-edit/user-edit.component.html231 + src/app/+admin/users/user-edit/user-edit.component.html231 + Show Show - - src/app/+admin/users/user-edit/user-password.component.html10 + src/app/+admin/users/user-edit/user-password.component.html10 + Hide Hide - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Batch actions - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned The user was banned - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Open account in a new tab - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + - - Deleted account - + Deleted account Deleted account - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login User's email must be verified to login - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification User's email is verified / User can login without email verification - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Total daily video quota - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Ban reason: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Banned users src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3470,142 +3641,175 @@ The link will expire within 1 hour. of users - - src/app/+admin/users/user-list/user-list.component.html6 + src/app/+admin/users/user-list/user-list.component.html6 + Moderation Moderation - - src/app/+my-account/my-account.component.ts28src/app/+admin/admin.component.ts47 - ReportsReports - - src/app/+admin/admin.component.ts53src/app/+admin/moderation/moderation.routes.ts37 - Video blocksVideo blocks - - src/app/+admin/admin.component.ts60 - Video commentsVideo comments - - src/app/+admin/admin.component.ts67src/app/+admin/moderation/moderation.routes.ts86 - Muted accountsMuted accounts - - src/app/+my-account/my-account.component.ts31src/app/+my-account/my-account-routing.module.ts86src/app/+admin/admin.component.ts74src/app/+admin/moderation/moderation.routes.ts98 - Muted serversMuted servers - - src/app/+my-account/my-account.component.ts36src/app/+my-account/my-account-routing.module.ts95src/app/+admin/admin.component.ts81 - UsersUsers - - src/app/+admin/admin.component.ts88 - ConfigurationConfiguration - - src/app/+admin/admin.component.ts95 + src/app/+my-account/my-account.component.ts28 + src/app/+admin/admin.component.ts47 + + + Reports + Reports + src/app/+admin/admin.component.ts53 + src/app/+admin/moderation/moderation.routes.ts37 + + + Video blocks + Video blocks + src/app/+admin/admin.component.ts60 + + + Video comments + Video comments + src/app/+admin/admin.component.ts67 + src/app/+admin/moderation/moderation.routes.ts86 + + + Muted accounts + Muted accounts + src/app/+my-account/my-account.component.ts31 + src/app/+my-account/my-account-routing.module.ts86 + src/app/+admin/admin.component.ts74 + src/app/+admin/moderation/moderation.routes.ts98 + + + Muted servers + Muted servers + src/app/+my-account/my-account.component.ts36 + src/app/+my-account/my-account-routing.module.ts95 + src/app/+admin/admin.component.ts81 + + + Users + Users + src/app/+admin/admin.component.ts88 + + + Configuration + Configuration + src/app/+admin/admin.component.ts95 + Video blocks Video blocks - - src/app/+admin/moderation/video-block-list/video-block-list.component.html3 + src/app/+admin/moderation/video-block-list/video-block-list.component.html3 + Muted accounts Muted accounts - - - src/app/shared/shared-moderation/account-blocklist.component.html3src/app/shared/shared-moderation/account-blocklist.component.html3 + src/app/shared/shared-moderation/account-blocklist.component.html3 + src/app/shared/shared-moderation/account-blocklist.component.html3 + Muted servers Muted servers - - - src/app/shared/shared-moderation/server-blocklist.component.html3src/app/shared/shared-moderation/server-blocklist.component.html3 - - - + src/app/shared/shared-moderation/server-blocklist.component.html3 + src/app/shared/shared-moderation/server-blocklist.component.html3 + Video Video - - + + - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Total size - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html30 + List redundancies List redundancies - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html37 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html37 + Your instance doesn't mirror any video. Your instance doesn't mirror any video. - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html81 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html81 + Your instance has no mirrored videos. Your instance has no mirrored videos. - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html82 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html82 + Enabled strategies stats Enabled strategies stats - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html91 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html91 + - - No redundancy strategy is enabled on your instance. - + No redundancy strategy is enabled on your instance. No redundancy strategy is enabled on your instance. - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html96 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html96 + Sensitive Sensitive - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Unfederated - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Date - - + + - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 - Select this rowSelect this row - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + + + Select this row + Select this row + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Actions - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 - Commented videoCommented video - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 - No comments found matching current filters.No comments found matching current filters. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 - No comments found.No comments found. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + + + Commented video + Commented video + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + + + No comments found matching current filters. + No comments found matching current filters. + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + + + No comments found. + No comments found. + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Local comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Remote comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3614,38 +3818,48 @@ The link will expire within 1 hour. No abuses found matching current filters. No abuses found matching current filters. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. No abuses found. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Unsolved reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Accepted reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Refused reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Reports with blocked videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Reports with deleted videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3654,25 +3868,29 @@ The link will expire within 1 hour. Block reason: Block reason: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. No blocked video found matching current filters. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. No blocked video found. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Automatic blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Manual blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3685,136 +3903,129 @@ The link will expire within 1 hour. of blocked videos - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Reports - - - src/app/+my-account/my-account-abuses/my-account-abuses-list.component.html3src/app/+admin/moderation/abuse-list/abuse-list.component.html3 + src/app/+my-account/my-account-abuses/my-account-abuses-list.component.html3 + src/app/+admin/moderation/abuse-list/abuse-list.component.html3 + Moderation comment Moderation comment - - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html3 + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html3 + - - This comment can only be seen by you or the other moderators. - + This comment can only be seen by you or the other moderators. This comment can only be seen by you or the other moderators. - - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html21 + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html21 + Update this comment Update this comment - - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - + src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 + Reporter Reporter - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - + - - + + - - src/app/shared/shared-abuse-list/abuse-details.component.html22 + src/app/shared/shared-abuse-list/abuse-details.component.html22 + {VAR_PLURAL, plural, =1 {1 report} other { reports}} {VAR_PLURAL, plural, =1 {1 report} other { reports} } - - src/app/shared/shared-abuse-list/abuse-details.component.html22 + src/app/shared/shared-abuse-list/abuse-details.component.html22 + Video Video - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 - CommentComment - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + + + Comment + Comment + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. This video has been reported multiple times. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked The video was blocked - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on by on - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted Video was deleted - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + - - Account deleted - + Account deleted Account deleted - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Open video in a new tab - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html49 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html49 + State State - - + + - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Messages - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Internal note - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Score - - + + - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Showing @@ -3822,79 +4033,79 @@ The link will expire within 1 hour. of reports - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Reportee - - src/app/shared/shared-abuse-list/abuse-details.component.html28 + src/app/shared/shared-abuse-list/abuse-details.component.html28 + - + - - + + - - src/app/shared/shared-abuse-list/abuse-details.component.html42 + src/app/shared/shared-abuse-list/abuse-details.component.html42 + {VAR_PLURAL, plural, =1 {1 report} other { reports}} {VAR_PLURAL, plural, =1 {1 report} other { reports} } - - src/app/shared/shared-abuse-list/abuse-details.component.html42 + src/app/shared/shared-abuse-list/abuse-details.component.html42 + Updated Updated - - src/app/shared/shared-abuse-list/abuse-details.component.html48 + src/app/shared/shared-abuse-list/abuse-details.component.html48 + Mute domain Mute domain - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Instance - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Muted at - - + + - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Unmute - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. No server found matching current filters. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. No server found. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Showing @@ -3902,51 +4113,56 @@ The link will expire within 1 hour. of muted instances - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + - - It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. - + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Mute domains - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Account - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. No account found matching current filters. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. No account found. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 - List installed pluginsList installed plugins - - src/app/+admin/plugins/plugins.routes.ts28 - Search pluginsSearch plugins - - src/app/+admin/plugins/plugins.routes.ts37 - Show pluginShow plugin - - src/app/+admin/plugins/plugins.routes.ts46 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + + + List installed plugins + List installed plugins + src/app/+admin/plugins/plugins.routes.ts28 + + + Search plugins + Search plugins + src/app/+admin/plugins/plugins.routes.ts37 + + + Show plugin + Show plugin + src/app/+admin/plugins/plugins.routes.ts46 + Showing to of muted accounts Showing @@ -3954,500 +4170,553 @@ The link will expire within 1 hour. of muted accounts - - - src/app/shared/shared-moderation/account-blocklist.component.html10src/app/shared/shared-moderation/account-blocklist.component.html10 + src/app/shared/shared-moderation/account-blocklist.component.html10 + src/app/shared/shared-moderation/account-blocklist.component.html10 + Plugins/Themes Plugins/Themes - - src/app/+admin/admin.component.ts99 + src/app/+admin/admin.component.ts99 + Installed Installed - - src/app/+admin/plugins/plugins.component.html3 + src/app/+admin/plugins/plugins.component.html3 + Plugin homepage (new window) Plugin homepage (new window) - - - - src/app/+admin/plugins/plugin-search/plugin-search.component.html40src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html17src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html21 + src/app/+admin/plugins/plugin-search/plugin-search.component.html40 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html17 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html21 + Search Search - - - src/app/header/search-typeahead.component.html8src/app/shared/shared-instance/instance-features-table.component.html122src/app/+admin/plugins/plugins.component.html5 + src/app/header/search-typeahead.component.html8 + src/app/shared/shared-instance/instance-features-table.component.html122 + src/app/+admin/plugins/plugins.component.html5 + Users can resolve distant content Users can resolve distant content - - src/app/shared/shared-instance/instance-features-table.component.html126 + src/app/shared/shared-instance/instance-features-table.component.html126 + Close this message Close this message - - src/app/app.component.html34src/app/app.component.html34 + src/app/app.component.html34 + src/app/app.component.html34 + Settings Settings - - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Display settings - - src/app/modal/quick-settings-modal.component.html10 + src/app/modal/quick-settings-modal.component.html10 + Uninstall Uninstall - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 - HotHot - + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + + + Hot + Hot A variant of Trending videos based on the number of recent interactions - src/app/+videos/video-list/trending/video-trending-header.component.ts47 - Videos with the most interactions for recent videosVideos with the most interactions for recent videos - - src/app/+videos/video-list/trending/video-trending-header.component.ts50 - Videos with the most views during the last 24 hoursVideos with the most views during the last 24 hours - - src/app/+videos/video-list/trending/video-trending-header.component.ts57 - LikesLikes - + src/app/+videos/video-list/trending/video-trending-header.component.ts47 + + + Videos with the most interactions for recent videos + Videos with the most interactions for recent videos + src/app/+videos/video-list/trending/video-trending-header.component.ts50 + + + Videos with the most views during the last 24 hours + Videos with the most views during the last 24 hours + src/app/+videos/video-list/trending/video-trending-header.component.ts57 + + + Likes + Likes A variant of Trending videos based on the number of likes - src/app/+videos/video-list/trending/video-trending-header.component.ts60 - Videos that have the most likesVideos that have the most likes - - src/app/+videos/video-list/trending/video-trending-header.component.ts63 + src/app/+videos/video-list/trending/video-trending-header.component.ts60 + + + Videos that have the most likes + Videos that have the most likes + src/app/+videos/video-list/trending/video-trending-header.component.ts63 + - - To load your new installed plugins or themes, refresh the page. - + To load your new installed plugins or themes, refresh the page. To load your new installed plugins or themes, refresh the page. - - src/app/+admin/plugins/plugin-search/plugin-search.component.html10 + src/app/+admin/plugins/plugin-search/plugin-search.component.html10 + Popular Popular - - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + + + for " + for " src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 - {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } - - - src/app/+search/search.component.html5src/app/+admin/plugins/plugin-search/plugin-search.component.html23 + src/app/+search/search.component.html5 + src/app/+admin/plugins/plugin-search/plugin-search.component.html23 + - - No results. - + No results. No results. - - src/app/+admin/plugins/plugin-search/plugin-search.component.html29 + src/app/+admin/plugins/plugin-search/plugin-search.component.html29 + Plugin npm package (new window) Plugin npm package (new window) - - src/app/+admin/plugins/plugin-search/plugin-search.component.html44 + src/app/+admin/plugins/plugin-search/plugin-search.component.html44 + - This does not have settings. + This does not have settings. This does not have settings. - - src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.html16 + src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.html16 + System System - - src/app/+admin/admin.component.ts103 + src/app/+admin/admin.component.ts103 + Jobs Jobs - - src/app/+admin/system/system.component.html3 + src/app/+admin/system/system.component.html3 + Logs Logs - - src/app/+admin/system/system.component.html5 + src/app/+admin/system/system.component.html5 + Debug Debug - - src/app/+admin/system/system.component.html7 - Delete this commentDelete this comment - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 - Delete all comments of this accountDelete all comments of this account - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 - Comments are deleted after a few minutesComments are deleted after a few minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 - comments deleted. comments deleted. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 - Do you really want to delete all comments of ?Do you really want to delete all comments of ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 - Comments of will be deleted in a few minutesComments of will be deleted in a few minutes - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 - Video commentsVideo comments - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html3 - This view also shows comments from muted accounts.This view also shows comments from muted accounts. + src/app/+admin/system/system.component.html7 + + + Delete this comment + Delete this comment + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + + + Delete all comments of this account + Delete all comments of this account + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + + + Comments are deleted after a few minutes + Comments are deleted after a few minutes + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + + + comments deleted. + comments deleted. + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + + + Do you really want to delete all comments of ? + Do you really want to delete all comments of ? + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + + + Comments of will be deleted in a few minutes + Comments of will be deleted in a few minutes + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + + + Video comments + Video comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html3 + + + This view also shows comments from muted accounts. + This view also shows comments from muted accounts. src/app/+admin/moderation/video-comment-list/video-comment-list.component.html 8 - - Showing to of commentsShowing to of comments - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - Select all rowsSelect all rows - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + + + Showing to of comments + Showing to of comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + + + Select all rows + Select all rows + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Job type - - src/app/+admin/system/jobs/jobs.component.html3 + src/app/+admin/system/jobs/jobs.component.html3 + Job state Job state - - src/app/+admin/system/jobs/jobs.component.html12 - anyany + src/app/+admin/system/jobs/jobs.component.html12 + + + any + any src/app/+admin/system/jobs/jobs.component.html 21 Selector for the list displaying jobs, filtering by their state - - Showing to of jobsShowing to of jobs - - src/app/+admin/system/jobs/jobs.component.html39 + + + Showing to of jobs + Showing to of jobs + src/app/+admin/system/jobs/jobs.component.html39 + Type Type - - src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority)Priority (1 = highest priority) + src/app/+admin/system/jobs/jobs.component.html46 + + + Priority (1 = highest priority) + Priority (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 - - ProgressProgress + + + Progress + Progress src/app/+admin/system/jobs/jobs.component.html 49 - - No jobs found.No jobs found. - - src/app/+admin/system/jobs/jobs.component.html107 - No jobs found.No jobs found. - - src/app/+admin/system/jobs/jobs.component.html108 - No jobs found.No jobs found. - - src/app/+admin/system/jobs/jobs.component.html111 - No jobs found that are .No jobs found that are . - - src/app/+admin/system/jobs/jobs.component.html112 + + + No jobs found. + No jobs found. + src/app/+admin/system/jobs/jobs.component.html107 + + + No jobs found. + No jobs found. + src/app/+admin/system/jobs/jobs.component.html108 + + + No jobs found. + No jobs found. + src/app/+admin/system/jobs/jobs.component.html111 + + + No jobs found that are . + No jobs found that are . + src/app/+admin/system/jobs/jobs.component.html112 + Refresh Refresh - - src/app/+admin/system/jobs/jobs.component.html30src/app/+admin/system/logs/logs.component.html34 - nownow - - src/app/+admin/system/logs/logs.component.html15 + src/app/+admin/system/jobs/jobs.component.html30 + src/app/+admin/system/logs/logs.component.html34 + + + now + now + src/app/+admin/system/logs/logs.component.html15 + Loading... Loading... - - src/app/+admin/system/logs/logs.component.html38 + src/app/+admin/system/logs/logs.component.html38 + - By -> + By -> By - -> + -> - - src/app/+admin/system/logs/logs.component.html46 + src/app/+admin/system/logs/logs.component.html46 + INSTANCE INSTANCE - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html7 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html7 + Name Name - - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html13src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html13 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html44 + Short description Short description - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html24 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html24 + Main instance categories Main instance categories - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html46 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html46 + Add a new category Add a new category - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html53 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html53 + The sharing system implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. The - sharing system - implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. + sharing system + implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. - - src/app/shared/shared-user-settings/user-video-settings.component.html50 + src/app/shared/shared-user-settings/user-video-settings.component.html50 + Help share videos being played Help share videos being played - - src/app/shared/shared-user-settings/user-video-settings.component.html47 + src/app/shared/shared-user-settings/user-video-settings.component.html47 + When on a video page, directly start playing the video. When on a video page, directly start playing the video. - - src/app/shared/shared-user-settings/user-video-settings.component.html61 + src/app/shared/shared-user-settings/user-video-settings.component.html61 + Automatically play videos Automatically play videos - - src/app/shared/shared-user-settings/user-video-settings.component.html58 + src/app/shared/shared-user-settings/user-video-settings.component.html58 + When a video ends, follow up with the next suggested video. When a video ends, follow up with the next suggested video. - - src/app/shared/shared-user-settings/user-video-settings.component.html72 + src/app/shared/shared-user-settings/user-video-settings.component.html72 + Automatically start playing the next video Automatically start playing the next video - - src/app/shared/shared-user-settings/user-video-settings.component.html69 + src/app/shared/shared-user-settings/user-video-settings.component.html69 + Main languages you/your moderators speak Main languages you/your moderators speak - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html60 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html60 + MODERATION & NSFW MODERATION & NSFW - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. Manage users to build a moderation team. + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 + + + Manage users to build a moderation team. + Manage users to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 - This instance is dedicated to sensitive or NSFW content This instance is dedicated to sensitive or NSFW content - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 + + + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 - Policy on videos containing sensitive content Policy on videos containing sensitive content - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Blur thumbnails - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html116src/app/shared/shared-user-settings/user-video-settings.component.html17 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html116 + src/app/shared/shared-user-settings/user-video-settings.component.html17 + Display Display - - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html117src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html8src/app/shared/shared-user-settings/user-video-settings.component.html18 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html117 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html8 + src/app/shared/shared-user-settings/user-video-settings.component.html18 + Strategy Strategy - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html28 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html28 + Terms Terms - - - - src/app/+about/about-instance/about-instance.component.html168src/app/+admin/config/edit-custom-config/edit-instance-information.component.html125src/app/+signup/+register/register.component.html13src/app/shared/shared-instance/instance-about-accordion.component.html35 + src/app/+about/about-instance/about-instance.component.html168 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html125 + src/app/+signup/+register/register.component.html13 + src/app/shared/shared-instance/instance-about-accordion.component.html35 + Code of conduct Code of conduct - - - - src/app/+about/about-instance/about-instance.component.html154src/app/+admin/config/edit-custom-config/edit-instance-information.component.html136src/app/shared/shared-instance/instance-about-accordion.component.html47 + src/app/+about/about-instance/about-instance.component.html154 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html136 + src/app/shared/shared-instance/instance-about-accordion.component.html47 + Moderation information Moderation information - - - - src/app/+about/about-instance/about-instance.component.html140src/app/+admin/config/edit-custom-config/edit-instance-information.component.html147src/app/shared/shared-instance/instance-about-accordion.component.html41 + src/app/+about/about-instance/about-instance.component.html140 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html147 + src/app/shared/shared-instance/instance-about-accordion.component.html41 + Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc Who moderates the instance? What is the policy regarding NSFW videos? Political videos? etc - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html148 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html148 + YOU AND YOUR INSTANCE YOU AND YOUR INSTANCE - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html163 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html163 + Who is behind the instance? Who is behind the instance? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html169 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html169 + A single person? A non-profit? A company? A single person? A non-profit? A company? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html170 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html170 + Why did you create this instance? Why did you create this instance? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html181 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html181 + To share your personal videos? To open registrations and allow people to upload what they want? To share your personal videos? To open registrations and allow people to upload what they want? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html182 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html182 + How long do you plan to maintain this instance? How long do you plan to maintain this instance? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html193 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html193 + It's important to know for users who want to register on your instance It's important to know for users who want to register on your instance - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html194 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html194 + How will you finance the PeerTube server? How will you finance the PeerTube server? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html205 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html205 + With your own funds? With user donations? Advertising? With your own funds? With user donations? Advertising? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html206 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html206 + OTHER INFORMATION OTHER INFORMATION - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html221 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html221 + What server/hardware does the instance run on? What server/hardware does the instance run on? - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html227 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html227 + i.e. 2vCore 2GB RAM, a direct the link to the server you rent, etc. i.e. 2vCore 2GB RAM, a direct the link to the server you rent, etc. - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html228 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html228 + Instance information Instance information - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html7 + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html7 + APPEARANCE APPEARANCE - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. Use plugins & themes for more involved changes, or add slight customizations. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 + + + Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 - default default - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html18 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html18 + Landing page Landing page - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html27 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html27 + Discover videos Discover videos - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html31 - Trending pagesTrending pages - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html33 - Default trending pageDefault trending page - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html34src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html52 - Best videosBest videos + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html31 + + + Trending pages + Trending pages + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html33 + + + Default trending page + Default trending page + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html34 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html52 + + + Best videos + Best videos src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 35 @@ -4456,89 +4725,100 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 56 - - Hot videosHot videos - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html36src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html57 - Most viewed videosMost viewed videos - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html37src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html58 - + + + Hot videos + Hot videos + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html36 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html57 + + + Most viewed videos + Most viewed videos + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html37 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html58 + Most liked videos Most liked videos - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html38src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html59 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html38 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html59 + Recently added videos Recently added videos - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html41 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html41 + Local videos Local videos - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html42src/app/menu/menu.component.html143 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html42 + src/app/menu/menu.component.html143 + BROADCAST MESSAGE BROADCAST MESSAGE - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html73 - Display a message on your instance Display a message on your instance + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html73 + + + Display a message on your instance + Display a message on your instance src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 75,76 - Enable broadcast message Enable broadcast message - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html86 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html86 + - Allow users to dismiss the broadcast message + Allow users to dismiss the broadcast message Allow users to dismiss the broadcast message - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html93 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html93 + Broadcast message level Broadcast message level - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html98 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html98 + Message Message - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html112 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html112 + NEW USERS NEW USERS - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. Manage users to set their quota individually. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 + + + Manage users to set their quota individually. + Manage users to set their quota individually. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 - Signup requires email verification Signup requires email verification - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html152 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html152 + Signup limit Signup limit - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html156 - {VAR_PLURAL, plural, =1 {user} other {users}}{VAR_PLURAL, plural, =1 {user} other {users}} - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html163 - Signup won't be limited to a fixed number of users.Signup won't be limited to a fixed number of users. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html156 + + + {VAR_PLURAL, plural, =1 {user} other {users}} + {VAR_PLURAL, plural, =1 {user} other {users}} + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html163 + + + Signup won't be limited to a fixed number of users. + Signup won't be limited to a fixed number of users. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 168 @@ -4547,67 +4827,69 @@ The link will expire within 1 hour. Enable Signup Enable Signup - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html141 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html141 + Users Users - - - src/app/+admin/users/user-edit/user-edit.component.html4src/app/+admin/users/user-edit/user-edit.component.html4 + src/app/+admin/users/user-edit/user-edit.component.html4 + src/app/+admin/users/user-edit/user-edit.component.html4 + {VAR_PLURAL, plural, =1 {Video} other {Videos} } {VAR_PLURAL, plural, =1 {Video} other {Videos} } - - - src/app/+admin/users/user-edit/user-edit.component.html24src/app/+admin/users/user-edit/user-edit.component.html24 + src/app/+admin/users/user-edit/user-edit.component.html24 + src/app/+admin/users/user-edit/user-edit.component.html24 + {VAR_PLURAL, plural, =1 {Channel} other {Channels} } {VAR_PLURAL, plural, =1 {Channel} other {Channels} } - - - src/app/+admin/users/user-edit/user-edit.component.html30src/app/+admin/users/user-edit/user-edit.component.html30 + src/app/+admin/users/user-edit/user-edit.component.html30 + src/app/+admin/users/user-edit/user-edit.component.html30 + {VAR_PLURAL, plural, =1 {Subscriber} other {Subscribers} } {VAR_PLURAL, plural, =1 {Subscriber} other {Subscribers} } - - - src/app/+admin/users/user-edit/user-edit.component.html36src/app/+admin/users/user-edit/user-edit.component.html36 + src/app/+admin/users/user-edit/user-edit.component.html36 + src/app/+admin/users/user-edit/user-edit.component.html36 + Incriminated in reports Incriminated in reports - - - src/app/+admin/users/user-edit/user-edit.component.html42src/app/+admin/users/user-edit/user-edit.component.html42 + src/app/+admin/users/user-edit/user-edit.component.html42 + src/app/+admin/users/user-edit/user-edit.component.html42 + Authored reports accepted Authored reports accepted - - - src/app/+admin/users/user-edit/user-edit.component.html48src/app/+admin/users/user-edit/user-edit.component.html48 + src/app/+admin/users/user-edit/user-edit.component.html48 + src/app/+admin/users/user-edit/user-edit.component.html48 + {VAR_PLURAL, plural, =1 {Comment} other {Comments} } {VAR_PLURAL, plural, =1 {Comment} other {Comments} } - - - src/app/+admin/users/user-edit/user-edit.component.html54src/app/+admin/users/user-edit/user-edit.component.html54 + src/app/+admin/users/user-edit/user-edit.component.html54 + src/app/+admin/users/user-edit/user-edit.component.html54 + NEW USER NEW USER - - - src/app/+admin/users/user-edit/user-edit.component.html73src/app/+admin/users/user-edit/user-edit.component.html73 + src/app/+admin/users/user-edit/user-edit.component.html73 + src/app/+admin/users/user-edit/user-edit.component.html73 + Configuration Configuration - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html1 + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html1 + Default video quota per user Default video quota per user - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html177 - bytesbytes + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html177 + + + bytes + bytes src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 183 @@ -4636,130 +4918,134 @@ The link will expire within 1 hour. Default daily upload limit per user Default daily upload limit per user - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html191 - + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html191 + Allow import with a torrent file or a magnet URI Allow import with a torrent file or a magnet URI - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html241 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html241 + Unless a user is marked as trusted, their videos will stay private until a moderator reviews them. Unless a user is marked as trusted, their videos will stay private until a moderator reviews them. - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html258 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html258 + Block new videos automatically Block new videos automatically - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html255 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html255 + SEARCH SEARCH - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html272 - + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html272 + Allow users to do remote URI/handle search Allow users to do remote URI/handle search - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html283 - Allow your users to look up remote videos/actors that may not be federated with your instanceAllow your users to look up remote videos/actors that may not be federated with your instance - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html286 - + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html283 + + + Allow your users to look up remote videos/actors that may not be federated with your instance + Allow your users to look up remote videos/actors that may not be federated with your instance + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html286 + Allow anonymous to do remote URI/handle search Allow anonymous to do remote URI/handle search - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html294 - Allow anonymous users to look up remote videos/actors that may not be federated with your instanceAllow anonymous users to look up remote videos/actors that may not be federated with your instance - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html297 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html294 + + + Allow anonymous users to look up remote videos/actors that may not be federated with your instance + Allow anonymous users to look up remote videos/actors that may not be federated with your instance + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html297 + ⚠️ This functionality depends heavily on the moderation of instances followed by the search index you select. ⚠️ This functionality depends heavily on the moderation of instances followed by the search index you select. - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. You should only use moderated search indexes in production, or host your own. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 + + + You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 - Search index URL Search index URL - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html320 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html320 + Disable local search in search bar Disable local search in search bar - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html333 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html333 + Otherwise the local search stays used by default Otherwise the local search stays used by default - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html343 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html343 + Search bar uses the global search index by default Search bar uses the global search index by default - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html340 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html340 + Enable global search Enable global search - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html308 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html308 + FEDERATION FEDERATION - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. Manage relations with other instances. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 + + + Manage relations with other instances. + Manage relations with other instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 - Other instances can follow yours Other instances can follow yours - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html375 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html375 + Manually approve new instance followers Manually approve new instance followers - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html382 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html382 + Automatically follow back instances Automatically follow back instances - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html395 - + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html395 + ⚠️ This functionality requires a lot of attention and extra moderation. ⚠️ This functionality requires a lot of attention and extra moderation. - - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html144src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html398src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html411 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html144 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html398 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html411 + Index URL Index URL - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html420 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html420 + Automatically follow instances of a public index Automatically follow instances of a public index - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL See the documentation for more information about the expected URL + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 + + + See the documentation for more information about the expected URL + See the documentation for more information about the expected URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4768,227 +5054,278 @@ The link will expire within 1 hour. ADMINISTRATORS ADMINISTRATORS - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html440 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html440 + Administrator Administrator - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Admin email - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html446 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html446 + Enable contact form Enable contact form - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html459 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html459 + Basic configuration Basic configuration - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html16 - VOD TranscodingVOD Transcoding - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html25 + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html16 + + + VOD Transcoding + VOD Transcoding + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html25 + TWITTER TWITTER - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html468 - Provide the Twitter account representing your instance to improve link previews. If you don't have a Twitter account, just leave the default value. Provide the Twitter account representing your instance to improve link previews. If you don't have a Twitter account, just leave the default value. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html468 + + + Provide the Twitter account representing your instance to improve link previews. If you don't have a Twitter account, just leave the default value. + Provide the Twitter account representing your instance to improve link previews. If you don't have a Twitter account, just leave the default value. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 470,472 - Your Twitter username Your Twitter username - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html481 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html481 + Instance allowed by Twitter Instance allowed by Twitter - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 + + + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 - LIVELIVE - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html5src/app/shared/shared-thumbnail/video-thumbnail.component.html31 - Enable users of your instance to stream live. Enable users of your instance to stream live. + LIVE + LIVE + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html5 + src/app/shared/shared-thumbnail/video-thumbnail.component.html31 + + + Enable users of your instance to stream live. + Enable users of your instance to stream live. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 7,8 - - ⚠️ Enabling live streaming requires trust in your users and extra moderation work⚠️ Enabling live streaming requires trust in your users and extra moderation work - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html22 - If enabled, your server needs to accept incoming TCP traffic on port If enabled, your server needs to accept incoming TCP traffic on port + + + ⚠️ Enabling live streaming requires trust in your users and extra moderation work + ⚠️ Enabling live streaming requires trust in your users and extra moderation work + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html22 + + + If enabled, your server needs to accept incoming TCP traffic on port + If enabled, your server needs to accept incoming TCP traffic on port src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 23 - - Allow your users to automatically publish a replay of their liveAllow your users to automatically publish a replay of their live - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html31 - If the user quota is reached, PeerTube will automatically terminate the live streaming If the user quota is reached, PeerTube will automatically terminate the live streaming + + + Allow your users to automatically publish a replay of their live + Allow your users to automatically publish a replay of their live + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html31 + + + If the user quota is reached, PeerTube will automatically terminate the live streaming + If the user quota is reached, PeerTube will automatically terminate the live streaming src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 34,35 - - Max simultaneous lives created on your instance (-1 for "unlimited") Max simultaneous lives created on your instance (-1 for "unlimited") + + + Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 - - {VAR_PLURAL, plural, =1 {live} other {lives}}{VAR_PLURAL, plural, =1 {live} other {lives}} - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") Max simultaneous lives created per user (-1 for "unlimited") + + + {VAR_PLURAL, plural, =1 {live} other {lives}} + {VAR_PLURAL, plural, =1 {live} other {lives}} + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 + + + Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 - - {VAR_PLURAL, plural, =1 {live} other {lives}}{VAR_PLURAL, plural, =1 {live} other {lives}} - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html59 - Max live durationMax live duration - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html66 - Live transcoding threadsLive transcoding threads - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html128 - will claim at most with VOD transcoding will claim at most with VOD transcoding + + + {VAR_PLURAL, plural, =1 {live} other {lives}} + {VAR_PLURAL, plural, =1 {live} other {lives}} + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html59 + + + Max live duration + Max live duration + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html66 + + + Live transcoding threads + Live transcoding threads + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html128 + + + will claim at most with VOD transcoding + will claim at most with VOD transcoding src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 131,133 - - will claim at least with VOD transcoding will claim at least with VOD transcoding + + + will claim at least with VOD transcoding + will claim at least with VOD transcoding src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 135,137 - - Live transcoding profileLive transcoding profile - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html150 - new live transcoding profiles can be added by PeerTube pluginsnew live transcoding profiles can be added by PeerTube plugins - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html151 - Live resolutions to generateLive resolutions to generate - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html107 - Allow live streamingAllow live streaming - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html18 - Transcoding enabled for live streamsTranscoding enabled for live streams - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html101 + + + Live transcoding profile + Live transcoding profile + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html150 + + + new live transcoding profiles can be added by PeerTube plugins + new live transcoding profiles can be added by PeerTube plugins + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html151 + + + Live resolutions to generate + Live resolutions to generate + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html107 + + + Allow live streaming + Allow live streaming + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html18 + + + Transcoding enabled for live streams + Transcoding enabled for live streams + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html101 + - Live streamingLive streaming - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html34src/app/shared/shared-instance/instance-features-table.component.html67 + Live streaming + Live streaming + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html34 + src/app/shared/shared-instance/instance-features-table.component.html67 + TRANSCODING TRANSCODING - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html85src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html26 - Same as VOD transcoding, transcoding live streams so that they are in a streamable form that any device can play. Requires a beefy CPU, and then some. Same as VOD transcoding, transcoding live streams so that they are in a streamable form that any device can play. Requires a beefy CPU, and then some. + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html85 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html26 + + + Same as VOD transcoding, transcoding live streams so that they are in a streamable form that any device can play. Requires a beefy CPU, and then some. + Same as VOD transcoding, transcoding live streams so that they are in a streamable form that any device can play. Requires a beefy CPU, and then some. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 87,88 - Input formatsInput formats - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html46 + Input formats + Input formats + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html46 + Transcoding enabled Transcoding enabled - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html40 - - + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html40 + Allow additional extensions Allow additional extensions - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - Allows users to upload videos.Allows users to upload videos. + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 + + + Allows users to upload videos. + Allows users to upload videos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Allow audio files upload - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html62 - Allows users to upload .mp3, .ogg, .wma, .flac, .aac, or .ac3 audio files.Allows users to upload .mp3, .ogg, .wma, .flac, .aac, or .ac3 audio files. - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html65 - The file will be merged in a still image video with the preview file on upload.The file will be merged in a still image video with the preview file on upload. - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html66 - Output formatsOutput formats - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html73 - WebTorrent enabledWebTorrent enabled - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html79 - If you also enabled HLS support, it will multiply videos storage by 2If you also enabled HLS support, it will multiply videos storage by 2 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html62 + + + Allows users to upload .mp3, .ogg, .wma, .flac, .aac, or .ac3 audio files. + Allows users to upload .mp3, .ogg, .wma, .flac, .aac, or .ac3 audio files. + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html65 + + + The file will be merged in a still image video with the preview file on upload. + The file will be merged in a still image video with the preview file on upload. + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html66 + + + Output formats + Output formats + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html73 + + + WebTorrent enabled + WebTorrent enabled + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html79 + + + If you also enabled HLS support, it will multiply videos storage by 2 + If you also enabled HLS support, it will multiply videos storage by 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 83 - - - HLS with P2P support enabled HLS with P2P support enabled - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 + + + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 - - Resolutions to generate per enabled formatResolutions to generate per enabled format - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html116 - The original file resolution will be the default target if no option is selected. The original file resolution will be the default target if no option is selected. + + + Resolutions to generate per enabled format + Resolutions to generate per enabled format + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html116 + + + The original file resolution will be the default target if no option is selected. + The original file resolution will be the default target if no option is selected. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 132,133 @@ -4997,57 +5334,71 @@ The link will expire within 1 hour. Transcoding threads Transcoding threads - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html144 - will claim at most with live transcoding will claim at most with live transcoding + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html144 + + + will claim at most with live transcoding + will claim at most with live transcoding src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 146,148 - - will claim at least with live transcoding will claim at least with live transcoding + + + will claim at least with live transcoding + will claim at least with live transcoding src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 150,152 - - Transcoding jobs concurrencyTranscoding jobs concurrency + + + Transcoding jobs concurrency + Transcoding jobs concurrency src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 166 - - allows to transcode multiple files in parallel. ⚠️ Requires a PeerTube restartallows to transcode multiple files in parallel. ⚠️ Requires a PeerTube restart + + + allows to transcode multiple files in parallel. ⚠️ Requires a PeerTube restart + allows to transcode multiple files in parallel. ⚠️ Requires a PeerTube restart src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 167 - - Transcoding profileTranscoding profile - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html178 - new transcoding profiles can be added by PeerTube pluginsnew transcoding profiles can be added by PeerTube plugins - - src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html179 - + + + Transcoding profile + Transcoding profile + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html178 + + + new transcoding profiles can be added by PeerTube plugins + new transcoding profiles can be added by PeerTube plugins + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html179 + CACHE CACHE - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html5 - Some files are not federated, and fetched when necessary. Define their caching policies. Some files are not federated, and fetched when necessary. Define their caching policies. + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html5 + + + Some files are not federated, and fetched when necessary. Define their caching policies. + Some files are not federated, and fetched when necessary. Define their caching policies. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html 7,8 - Number of previews to keep in cache Number of previews to keep in cache - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html15 - {VAR_PLURAL, plural, =1 {cached image} other {cached images}}{VAR_PLURAL, plural, =1 {cached image} other {cached images}} + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html15 + + + {VAR_PLURAL, plural, =1 {cached image} other {cached images}} + {VAR_PLURAL, plural, =1 {cached image} other {cached images}} src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html 22 @@ -5056,21 +5407,27 @@ The link will expire within 1 hour. Number of video captions to keep in cache Number of video captions to keep in cache - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html29 - {VAR_PLURAL, plural, =1 {cached caption} other {cached captions}}{VAR_PLURAL, plural, =1 {cached caption} other {cached captions}} + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html29 + + + {VAR_PLURAL, plural, =1 {cached caption} other {cached captions}} + {VAR_PLURAL, plural, =1 {cached caption} other {cached captions}} src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html 36 - - Number of video torrents to keep in cacheNumber of video torrents to keep in cache + + + Number of video torrents to keep in cache + Number of video torrents to keep in cache src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html 43 - - {VAR_PLURAL, plural, =1 {cached torrent} other {cached torrents}}{VAR_PLURAL, plural, =1 {cached torrent} other {cached torrents}} + + + {VAR_PLURAL, plural, =1 {cached torrent} other {cached torrents}} + {VAR_PLURAL, plural, =1 {cached torrent} other {cached torrents}} src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html 50 @@ -5079,60 +5436,47 @@ The link will expire within 1 hour. CUSTOMIZATIONS CUSTOMIZATIONS - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html63 - Slight modifications to your PeerTube instance for when creating a plugin or theme is overkill. Slight modifications to your PeerTube instance for when creating a plugin or theme is overkill. - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html65 - + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html63 + + + Slight modifications to your PeerTube instance for when creating a plugin or theme is overkill. + Slight modifications to your PeerTube instance for when creating a plugin or theme is overkill. + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html65 + JavaScript JavaScript - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); Write JavaScript code directly.Example: console.log('my instance is amazing'); - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 + + + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 + + + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - - src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 - + + + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 + - You cannot allow live replay if you don't enable transcoding. You cannot allow live replay if you don't enable transcoding. - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html69 + You cannot allow live replay if you don't enable transcoding. + You cannot allow live replay if you don't enable transcoding. + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html69 + Advanced configuration Advanced configuration - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: There are errors in the form: + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 + + + There are errors in the form: + There are errors in the form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5141,313 +5485,322 @@ color: red; Update configuration Update configuration - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.html72 - + src/app/+admin/config/edit-custom-config/edit-custom-config.component.html72 + VIDEO SETTINGS VIDEO SETTINGS - - src/app/+my-account/my-account-settings/my-account-settings.component.html26 + src/app/+my-account/my-account-settings/my-account-settings.component.html26 + NOTIFICATIONS NOTIFICATIONS - - src/app/+my-account/my-account-settings/my-account-settings.component.html37 + src/app/+my-account/my-account-settings/my-account-settings.component.html37 + INTERFACE INTERFACE - - src/app/+my-account/my-account-settings/my-account-settings.component.html47 + src/app/+my-account/my-account-settings/my-account-settings.component.html47 + PASSWORD PASSWORD - - src/app/+my-account/my-account-settings/my-account-settings.component.html57 + src/app/+my-account/my-account-settings/my-account-settings.component.html57 + EMAIL EMAIL - - src/app/+my-account/my-account-settings/my-account-settings.component.html67 + src/app/+my-account/my-account-settings/my-account-settings.component.html67 + DANGER ZONE DANGER ZONE - - - - src/app/+admin/users/user-edit/user-edit.component.html219src/app/+admin/users/user-edit/user-edit.component.html219src/app/+my-account/my-account-settings/my-account-settings.component.html77 + src/app/+admin/users/user-edit/user-edit.component.html219 + src/app/+admin/users/user-edit/user-edit.component.html219 + src/app/+my-account/my-account-settings/my-account-settings.component.html77 + Profile Profile - - src/app/shared/shared-video-miniature/video-download.component.ts185 + src/app/shared/shared-video-miniature/video-download.component.ts185 + Resolution Resolution - - src/app/shared/shared-video-miniature/video-download.component.ts194 + src/app/shared/shared-video-miniature/video-download.component.ts194 + Aspect ratio Aspect ratio - - src/app/shared/shared-video-miniature/video-download.component.ts195 + src/app/shared/shared-video-miniature/video-download.component.ts195 + Average frame rate Average frame rate - - src/app/shared/shared-video-miniature/video-download.component.ts196 + src/app/shared/shared-video-miniature/video-download.component.ts196 + Pixel format Pixel format - - src/app/shared/shared-video-miniature/video-download.component.ts197 + src/app/shared/shared-video-miniature/video-download.component.ts197 + Sample rate Sample rate - - src/app/shared/shared-video-miniature/video-download.component.ts201 + src/app/shared/shared-video-miniature/video-download.component.ts201 + Channel Layout Channel Layout - - src/app/shared/shared-video-miniature/video-download.component.ts202 + src/app/shared/shared-video-miniature/video-download.component.ts202 + Video settings Video settings - - src/app/modal/quick-settings-modal.component.html18 + src/app/modal/quick-settings-modal.component.html18 + Interface settings Interface settings - - src/app/modal/quick-settings-modal.component.html22 + src/app/modal/quick-settings-modal.component.html22 + Change password Change password - - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html5src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html33 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html5 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html33 + Current password Current password - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html8src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html28 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html8 + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html28 + New password New password - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html17 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html17 + Confirm new password Confirm new password - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html26 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html26 + Default policy on videos containing sensitive content Default policy on videos containing sensitive content - - src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + src/app/shared/shared-user-settings/user-video-settings.component.html4 + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Policy for sensitive videos - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html114src/app/shared/shared-user-settings/user-video-settings.component.html15 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html114 + src/app/shared/shared-user-settings/user-video-settings.component.html15 + Only display videos in the following languages/subtitles Only display videos in the following languages/subtitles - - src/app/shared/shared-user-settings/user-video-settings.component.html25 + src/app/shared/shared-user-settings/user-video-settings.component.html25 + In Recently added, Trending, Local, Most liked and Search pages In Recently added, Trending, Local, Most liked and Search pages - - src/app/shared/shared-user-settings/user-video-settings.component.html28 + src/app/shared/shared-user-settings/user-video-settings.component.html28 + Add a new language Add a new language - - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html67src/app/shared/shared-user-settings/user-video-settings.component.html36 - + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html67 + src/app/shared/shared-user-settings/user-video-settings.component.html36 + - is awaiting email verification - + is awaiting email verification - + - is awaiting email verification + is awaiting email verification - - src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html10 + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html10 + New email New email - - src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html17 - - - + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html17 + Change email Change email - - src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html36 + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html36 + Theme Theme - - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html14src/app/shared/shared-user-settings/user-interface-settings.component.html4 + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html14 + src/app/shared/shared-user-settings/user-interface-settings.component.html4 + instance default instance default - - src/app/shared/shared-user-settings/user-interface-settings.component.html8 + src/app/shared/shared-user-settings/user-interface-settings.component.html8 + peertube default peertube default - - src/app/shared/shared-user-settings/user-interface-settings.component.html9 + src/app/shared/shared-user-settings/user-interface-settings.component.html9 + Change ownership Change ownership - - - src/app/+my-library/my-videos/modals/video-change-ownership.component.html3 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html3 + Select the next owner Select the next owner - - src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 + src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 + - Last published firstLast published first - - src/app/+my-library/my-videos/my-videos.component.html27 - Last created firstLast created first - - src/app/+my-library/my-videos/my-videos.component.html28 - Most viewed firstMost viewed first - - src/app/+my-library/my-videos/my-videos.component.html29 - Most liked firstMost liked first - - src/app/+my-library/my-videos/my-videos.component.html30 - Longest firstLongest first - - src/app/+my-library/my-videos/my-videos.component.html31 + Last published first + Last published first + src/app/+my-library/my-videos/my-videos.component.html27 + + + Last created first + Last created first + src/app/+my-library/my-videos/my-videos.component.html28 + + + Most viewed first + Most viewed first + src/app/+my-library/my-videos/my-videos.component.html29 + + + Most liked first + Most liked first + src/app/+my-library/my-videos/my-videos.component.html30 + + + Longest first + Longest first + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Accept ownership - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html3 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html3 + Select a channel to receive the video Select a channel to receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 + Channel that will receive the video Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes - - src/app/+my-library/my-ownership/my-ownership.component.html3 + src/app/+my-library/my-ownership/my-ownership.component.html3 + Initiator Initiator - - src/app/+my-library/my-ownership/my-ownership.component.html19 + src/app/+my-library/my-ownership/my-ownership.component.html19 + - Created + Created Created - - + + - - src/app/+my-library/my-ownership/my-ownership.component.html22 + src/app/+my-library/my-ownership/my-ownership.component.html22 + Status Status - - src/app/+my-library/my-ownership/my-ownership.component.html25 + src/app/+my-library/my-ownership/my-ownership.component.html25 + Account page Account page - - - src/app/+videos/+video-watch/video-watch.component.html189src/app/+videos/+video-watch/video-watch.component.html195 + src/app/+videos/+video-watch/video-watch.component.html189 + src/app/+videos/+video-watch/video-watch.component.html195 + - - - + - - src/app/+videos/+video-watch/video-watch.component.html196 + src/app/+videos/+video-watch/video-watch.component.html196 + No ownership change request found. No ownership change request found. - - src/app/+my-library/my-ownership/my-ownership.component.html78 - Account settingsAccount settings - - src/app/+my-account/my-account-routing.module.ts29 - Playlist elementsPlaylist elements - - src/app/+my-library/my-library-routing.module.ts58 + src/app/+my-library/my-ownership/my-ownership.component.html78 + + + Account settings + Account settings + src/app/+my-account/my-account-routing.module.ts29 + + + Playlist elements + Playlist elements + src/app/+my-library/my-library-routing.module.ts58 + My imports My imports - - src/app/+my-library/my-videos/my-videos.component.html11src/app/+my-library/my-video-imports/my-video-imports.component.html3 + src/app/+my-library/my-videos/my-videos.component.html11 + src/app/+my-library/my-video-imports/my-video-imports.component.html3 + Create video channel Create video channel - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + No channel found. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 - - subscribers - + subscribers subscribers - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Example: my_channel - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 + CHANNEL CHANNEL - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26 - Banner image of your channelBanner image of your channel + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html26 + + + Banner image of your channel + Banner image of your channel src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html 30 @@ -5458,47 +5811,46 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Short text to tell people how they can support your channel (membership platform...).<br /><br /> + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 + Overwrite support field of all videos of this channel Overwrite support field of all videos of this channel - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html99 + - - subscribers - + subscribers subscribers - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 - Upload a new avatarUpload a new avatar - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + + + Upload a new avatar + Upload a new avatar + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Target - - src/app/+my-library/my-video-imports/my-video-imports.component.html17 + src/app/+my-library/my-video-imports/my-video-imports.component.html17 + See the error See the error - - src/app/+my-library/my-video-imports/my-video-imports.component.html26 + src/app/+my-library/my-video-imports/my-video-imports.component.html26 + This video was deleted This video was deleted - - src/app/+my-library/my-video-imports/my-video-imports.component.html49 + src/app/+my-library/my-video-imports/my-video-imports.component.html49 + Showing to of imports Showing @@ -5506,58 +5858,58 @@ color: red; of imports - - src/app/+my-library/my-video-imports/my-video-imports.component.html10 + src/app/+my-library/my-video-imports/my-video-imports.component.html10 + Once you delete your account, there is no going back. You will be asked to confirm this action. Once you delete your account, there is no going back. You will be asked to confirm this action. - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html2 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html2 + Delete your account Delete your account - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html4 - + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html4 + Channel page Channel page - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Created by - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Owner account page - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 - - + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history - - + + Delete history - - src/app/+my-library/my-history/my-history.component.html17 - You don't have any video in your watch history yet.You don't have any video in your watch history yet. + src/app/+my-library/my-history/my-history.component.html17 + + + You don't have any video in your watch history yet. + You don't have any video in your watch history yet. src/app/+my-library/my-history/my-history.component.html 30 - Open syndication dropdownOpen syndication dropdown + Open syndication dropdown + Open syndication dropdown src/app/shared/shared-main/feeds/feed.component.html 3 @@ -5570,356 +5922,388 @@ color: red; Notification preferences - - + + Notification preferences - - src/app/+my-account/my-account-notifications/my-account-notifications.component.html4 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html4 + Newest first Newest first - - src/app/+my-account/my-account-notifications/my-account-notifications.component.html11 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html11 + Unread first Unread first - - src/app/+my-account/my-account-notifications/my-account-notifications.component.html12 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html12 + All read All read - - src/app/+my-account/my-account-notifications/my-account-notifications.component.html26 + src/app/+my-account/my-account-notifications/my-account-notifications.component.html26 + Activities Activities - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html2 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html2 + Web Web - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html3 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html3 + My Playlists My Playlists - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html4src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html4 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html4 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html4 + NEW PLAYLIST NEW PLAYLIST - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html25src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html25 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html25 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html25 + PLAYLIST PLAYLIST - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html26src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html26 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html26 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html26 + Create playlist Create playlist - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 - My video channelsMy video channels - - src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts13 - Create a new video channelCreate a new video channel - - src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts22 - Playlist } deleted.Playlist } deleted. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + + + My video channels + My video channels + src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts13 + + + Create a new video channel + Create a new video channel + src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts22 + + + Playlist } deleted. + Playlist } deleted. + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Playlist thumbnail - - - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 + No videos in this playlist. No videos in this playlist. - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html25 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html25 + - - Browse videos on PeerTube to add them in your playlist. - + Browse videos on PeerTube to add them in your playlist. Browse videos on PeerTube to add them in your playlist. - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html28 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html28 + - See the documentation for more information. + See the documentation for more information. See the - documentation - for more information. + documentation + for more information. - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html32 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html32 + Welcome to PeerTube! Welcome to PeerTube! - - src/app/+signup/shared/signup-success.component.html8 + src/app/+signup/shared/signup-success.component.html8 + - If you need help to use PeerTube, you can have a look at the documentation. + If you need help to use PeerTube, you can have a look at the documentation. If you need help to use PeerTube, you can have a look at the - documentation - . + documentation + . - - src/app/+signup/shared/signup-success.component.html14 - Created Created + src/app/+signup/shared/signup-success.component.html14 + + + Created + Created src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html 3,4 - - {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}}{VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} + + + {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} + {VAR_PLURAL, plural, =1 {1 playlist} other { playlists}} src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html 3 - - Verify account email confirmation - + Verify account email confirmation Verify account email confirmation - - src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html3 - + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html3 + - - Email updated. - + Email updated. Email updated. - - src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html10 + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html10 + An error occurred. An error occurred. - - src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html14 - Video channel videosVideo channel videos - - src/app/+video-channels/video-channels-routing.module.ts24 - Video channel playlistsVideo channel playlists - - src/app/+video-channels/video-channels-routing.module.ts37 - Manage channel Manage channel + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html14 + + + Video channel videos + Video channel videos + src/app/+video-channels/video-channels-routing.module.ts24 + + + Video channel playlists + Video channel playlists + src/app/+video-channels/video-channels-routing.module.ts37 + + + Manage channel + Manage channel src/app/+video-channels/video-channels.component.html 10,11 - - Request email for account verification - + Request email for account verification Request email for account verification - - src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html3 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html3 + Send verification email Send verification email - - src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html17 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html17 + This instance does not require email verification. This instance does not require email verification. - - src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html20 - Verify account via emailVerify account via email - - src/app/+signup/+verify-account/verify-account-routing.module.ts17 - Ask to send an email to verify you accountAsk to send an email to verify you account - - src/app/+signup/+verify-account/verify-account-routing.module.ts26 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html20 + + + Verify account via email + Verify account via email + src/app/+signup/+verify-account/verify-account-routing.module.ts17 + + + Ask to send an email to verify you account + Ask to send an email to verify you account + src/app/+signup/+verify-account/verify-account-routing.module.ts26 + Banned Banned - - src/app/+accounts/accounts.component.html21 + src/app/+accounts/accounts.component.html21 + Instance muted Instance muted - - src/app/+accounts/accounts.component.html23 + src/app/+accounts/accounts.component.html23 + Muted by your instance Muted by your instance - - src/app/+accounts/accounts.component.html24 + src/app/+accounts/accounts.component.html24 + Instance muted by your instance Instance muted by your instance - - src/app/+accounts/accounts.component.html25 - Copy account handleCopy account handle + src/app/+accounts/accounts.component.html25 + + + Copy account handle + Copy account handle src/app/+accounts/accounts.component.html 31 - - {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}}{VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} + + + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} src/app/+accounts/accounts.component.html 38 - - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} src/app/+accounts/accounts.component.html 41 - - + + + + src/app/+accounts/accounts.component.html 41,42 - - Show the complete descriptionShow the complete description - - - src/app/+accounts/accounts.component.html55src/app/+video-channels/video-channels.component.html94 - Show more... Show more... - - - src/app/+accounts/accounts.component.html57src/app/+video-channels/video-channels.component.html96 - Manage account Manage account - - src/app/+accounts/accounts.component.html62 - Search account videosSearch account videos - - src/app/+accounts/accounts.component.html80 - CHANNELSCHANNELS + + + Show the complete description + Show the complete description + src/app/+accounts/accounts.component.html55 + src/app/+video-channels/video-channels.component.html94 + + + Show more... + Show more... + src/app/+accounts/accounts.component.html57 + src/app/+video-channels/video-channels.component.html96 + + + Manage account + Manage account + src/app/+accounts/accounts.component.html62 + + + Search account videos + Search account videos + src/app/+accounts/accounts.component.html80 + + + CHANNELS + CHANNELS src/app/+accounts/accounts.component.ts 82 - This account does not have channels. This account does not have channels. - - src/app/+accounts/account-video-channels/account-video-channels.component.html5 + src/app/+accounts/account-video-channels/account-video-channels.component.html5 + {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers} } - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 - {VAR_PLURAL, plural, =1 {1 videos} other { videos}}{VAR_PLURAL, plural, =1 {1 videos} other { videos}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 - - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 - Show this channelShow this channel - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + + + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + + + + + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + + + Show this channel + Show this channel + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos} } - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()!Do you really want to delete ? + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + + + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels My Channels - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html4src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html4 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html4 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html4 + NEW CHANNEL NEW CHANNEL - - - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html25src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html25 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html25 + src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html25 + See this video channel See this video channel - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. This channel doesn't have any videos. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL >SHOW THIS CHANNEL > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 - - - + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + + + SHOW THIS CHANNEL > + SHOW THIS CHANNEL > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Stats - - src/app/menu/menu.component.html172 - - - - - - + src/app/menu/menu.component.html172 + This channel does not have playlists. This channel does not have playlists. - - src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html6 + src/app/+video-channels/video-channel-playlists/video-channel-playlists.component.html6 + PeerTube PeerTube - - src/app/+about/about.component.html7 - NetworkNetwork - - src/app/+about/about.component.html9 + src/app/+about/about.component.html7 + + + Network + Network + src/app/+about/about.component.html9 + Follows Follows - - - src/app/+about/about-follows/about-follows.component.html2 - Follower instances ()Follower instances () + src/app/+about/about-follows/about-follows.component.html2 + + + Follower instances () + Follower instances () src/app/+about/about-follows/about-follows.component.html 4 - - Following instances ()Following instances () + + + Following instances () + Following instances () src/app/+about/about-follows/about-follows.component.html 16 @@ -5930,216 +6314,203 @@ channel with the same name ()! Contact administrator - - src/app/+about/about-instance/contact-admin-modal.component.html3 + src/app/+about/about-instance/contact-admin-modal.component.html3 + Your name Your name - - src/app/+about/about-instance/contact-admin-modal.component.html11 + src/app/+about/about-instance/contact-admin-modal.component.html11 + Your email Your email - - src/app/+about/about-instance/contact-admin-modal.component.html20 + src/app/+about/about-instance/contact-admin-modal.component.html20 + Subject Subject - - src/app/+about/about-instance/contact-admin-modal.component.html29 + src/app/+about/about-instance/contact-admin-modal.component.html29 + Your message Your message - - src/app/+about/about-instance/contact-admin-modal.component.html38 + src/app/+about/about-instance/contact-admin-modal.component.html38 + About About - - src/app/+about/about-instance/about-instance.component.html5 + src/app/+about/about-instance/about-instance.component.html5 + Contact administrator Contact administrator - - src/app/+about/about-instance/about-instance.component.html7 + src/app/+about/about-instance/about-instance.component.html7 + This instance is dedicated to sensitive/NSFW content. This instance is dedicated to sensitive/NSFW content. - - src/app/+about/about-instance/about-instance.component.html19 + src/app/+about/about-instance/about-instance.component.html19 + - - ADMINISTRATORS & SUSTAINABILITY - + ADMINISTRATORS & SUSTAINABILITY ADMINISTRATORS & SUSTAINABILITY - - src/app/+about/about-instance/about-instance.component.html32 + src/app/+about/about-instance/about-instance.component.html32 + Who we are Who we are - - src/app/+about/about-instance/about-instance.component.html44 + src/app/+about/about-instance/about-instance.component.html44 + Why we created this instance Why we created this instance - - src/app/+about/about-instance/about-instance.component.html58 + src/app/+about/about-instance/about-instance.component.html58 + How long we plan to maintain this instance How long we plan to maintain this instance - - src/app/+about/about-instance/about-instance.component.html72 - How we will pay for keeping our instance runningHow we will pay for keeping our instance running + src/app/+about/about-instance/about-instance.component.html72 + + + How we will pay for keeping our instance running + How we will pay for keeping our instance running src/app/+about/about-instance/about-instance.component.html 86 - - - INFORMATION - + INFORMATION INFORMATION - - src/app/+about/about-instance/about-instance.component.html101 + src/app/+about/about-instance/about-instance.component.html101 + - - MODERATION - + MODERATION MODERATION - - src/app/+about/about-instance/about-instance.component.html128 + src/app/+about/about-instance/about-instance.component.html128 + - - OTHER INFORMATION - + OTHER INFORMATION OTHER INFORMATION - - src/app/+about/about-instance/about-instance.component.html183 + src/app/+about/about-instance/about-instance.component.html183 + Hardware information Hardware information - - src/app/+about/about-instance/about-instance.component.html195 + src/app/+about/about-instance/about-instance.component.html195 + FEATURES FEATURES - - src/app/+about/about-instance/about-instance.component.html203 + src/app/+about/about-instance/about-instance.component.html203 + Features found on this instance Features found on this instance - - - src/app/shared/shared-instance/instance-features-table.component.html4src/app/shared/shared-instance/instance-about-accordion.component.html6src/app/shared/shared-instance/instance-about-accordion.component.html6 + src/app/shared/shared-instance/instance-features-table.component.html4 + src/app/shared/shared-instance/instance-about-accordion.component.html6 + src/app/shared/shared-instance/instance-about-accordion.component.html6 + STATISTICS STATISTICS - - src/app/+about/about-instance/about-instance.component.html215 + src/app/+about/about-instance/about-instance.component.html215 + - - What is PeerTube? - + What is PeerTube? What is PeerTube? - - src/app/+about/about-peertube/about-peertube.component.html3 + src/app/+about/about-peertube/about-peertube.component.html3 + - - PeerTube is a self-hosted ActivityPub-federated video streaming platform using P2P directly in your web browser. - + PeerTube is a self-hosted ActivityPub-federated video streaming platform using P2P directly in your web browser. PeerTube is a self-hosted ActivityPub-federated video streaming platform using P2P directly in your web browser. - - src/app/+about/about-peertube/about-peertube.component.html10 - It is free and open-source software, under AGPLv3 licence. It is free and open-source software, under AGPLv3 licence. - - src/app/+about/about-peertube/about-peertube.component.html14 - + src/app/+about/about-peertube/about-peertube.component.html10 + + + It is free and open-source software, under AGPLv3 licence. + It is free and open-source software, under AGPLv3 licence. + src/app/+about/about-peertube/about-peertube.component.html14 + - For more information, please visit joinpeertube.org. + For more information, please visit joinpeertube.org. For more information, please visit - joinpeertube.org - . + joinpeertube.org + . - - src/app/+about/about-peertube/about-peertube.component.html19 + src/app/+about/about-peertube/about-peertube.component.html19 + Use PeerTube documentation Use PeerTube documentation - - src/app/+about/about-peertube/about-peertube.component.html28 + src/app/+about/about-peertube/about-peertube.component.html28 + - - Discover how to setup your account, what is a channel, how to create a playlist and more! - + Discover how to setup your account, what is a channel, how to create a playlist and more! Discover how to setup your account, what is a channel, how to create a playlist and more! - - src/app/+about/about-peertube/about-peertube.component.html33 + src/app/+about/about-peertube/about-peertube.component.html33 + PeerTube Applications PeerTube Applications - - src/app/+about/about-peertube/about-peertube.component.html41 + src/app/+about/about-peertube/about-peertube.component.html41 + - - Discover unofficial Android applications or browser addons! - + Discover unofficial Android applications or browser addons! Discover unofficial Android applications or browser addons! - - src/app/+about/about-peertube/about-peertube.component.html46 + src/app/+about/about-peertube/about-peertube.component.html46 + Contribute on PeerTube Contribute on PeerTube - - src/app/+about/about-peertube/about-peertube.component.html54 + src/app/+about/about-peertube/about-peertube.component.html54 + - - Want to help to improve PeerTube? You can translate the web interface, give your feedback or directly contribute to the code! - + Want to help to improve PeerTube? You can translate the web interface, give your feedback or directly contribute to the code! Want to help to improve PeerTube? You can translate the web interface, give your feedback or directly contribute to the code! - - src/app/+about/about-peertube/about-peertube.component.html59 + src/app/+about/about-peertube/about-peertube.component.html59 + P2P & Privacy P2P & Privacy - - src/app/+about/about-peertube/about-peertube.component.html71 + src/app/+about/about-peertube/about-peertube.component.html71 + - PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, but ultimately leaves you the choice to switch back to regular streaming exclusively from the server of the video. What follows applies only if you want to keep using the P2P mode of PeerTube. + PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, but ultimately leaves you the choice to switch back to regular streaming exclusively from the server of the video. What follows applies only if you want to keep using the P2P mode of PeerTube. PeerTube uses the BitTorrent protocol to share bandwidth between users by default to help lower the load on the server, but ultimately leaves you the choice to switch back to regular streaming exclusively from the server of the video. What follows applies only if you want to keep using the P2P mode of PeerTube. - - src/app/+about/about-peertube/about-peertube.component.html75 - The main threat to your privacy induced by BitTorrent lies in your IP address being stored in the instance's BitTorrent tracker as long as you download or watch the video. The main threat to your privacy induced by BitTorrent lies in your IP address being stored in the instance's BitTorrent tracker as long as you download or watch the video. + src/app/+about/about-peertube/about-peertube.component.html75 + + + The main threat to your privacy induced by BitTorrent lies in your IP address being stored in the instance's BitTorrent tracker as long as you download or watch the video. + The main threat to your privacy induced by BitTorrent lies in your IP address being stored in the instance's BitTorrent tracker as long as you download or watch the video. src/app/+about/about-peertube/about-peertube.component.html 81,83 @@ -6148,147 +6519,144 @@ channel with the same name ()! What are the consequences? What are the consequences? - - src/app/+about/about-peertube/about-peertube.component.html85 + src/app/+about/about-peertube/about-peertube.component.html85 + - In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. In practice, this is much more difficult because: + In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. In practice, this is much more difficult because: In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. In practice, this is much more difficult because: - - src/app/+about/about-peertube/about-peertube.component.html88 + src/app/+about/about-peertube/about-peertube.component.html88 + - An HTTP request has to be sent on each tracker for each video to spy. If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) + An HTTP request has to be sent on each tracker for each video to spy. If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) An HTTP request has to be sent on each tracker for each video to spy. If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) - - src/app/+about/about-peertube/about-peertube.component.html94 + src/app/+about/about-peertube/about-peertube.component.html94 + - For each request sent, the tracker returns random peers at a limited number. 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 peer in the swarm + For each request sent, the tracker returns random peers at a limited number. 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 peer in the swarm For each request sent, the tracker returns random peers at a limited number. 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 peer in the swarm - - src/app/+about/about-peertube/about-peertube.component.html99 + src/app/+about/about-peertube/about-peertube.component.html99 + - - Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour - + Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour - - src/app/+about/about-peertube/about-peertube.component.html105 + src/app/+about/about-peertube/about-peertube.component.html105 + - 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 + 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 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 - - src/app/+about/about-peertube/about-peertube.component.html109 + src/app/+about/about-peertube/about-peertube.component.html109 + - - The IP address is a vague information: usually, it regularly changes and can represent many persons or entities - + The IP address is a vague information: usually, it regularly changes and can represent many persons or entities The IP address is a vague information: usually, it regularly changes and can represent many persons or entities - - src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + src/app/+about/about-peertube/about-peertube.component.html114 + + + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information src/app/+about/about-peertube/about-peertube.component.html 118,122 - - The worst-case scenario of an average person spying on their friends is quite unlikely. There are much more effective ways to get that kind of information. + The worst-case scenario of an average person spying on their friends is quite unlikely. There are much more effective ways to get that kind of information. The worst-case scenario of an average person spying on their friends is quite unlikely. There are much more effective ways to get that kind of information. - - src/app/+about/about-peertube/about-peertube.component.html126 + src/app/+about/about-peertube/about-peertube.component.html126 + How does PeerTube compare with YouTube? How does PeerTube compare with YouTube? - - src/app/+about/about-peertube/about-peertube.component.html130 + src/app/+about/about-peertube/about-peertube.component.html130 + - The threats to privacy with YouTube are different from PeerTube's. In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). + The threats to privacy with YouTube are different from PeerTube's. In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). The threats to privacy with YouTube are different from PeerTube's. In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). - - src/app/+about/about-peertube/about-peertube.component.html133 + src/app/+about/about-peertube/about-peertube.component.html133 + What can I do to limit the exposure of my IP address? What can I do to limit the exposure of my IP address? - - src/app/+about/about-peertube/about-peertube.component.html138 + src/app/+about/about-peertube/about-peertube.component.html138 + - 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. 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. Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. + 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. 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. Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. 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. 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. Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. - - src/app/+about/about-peertube/about-peertube.component.html141 + src/app/+about/about-peertube/about-peertube.component.html141 + What will be done to mitigate this problem? What will be done to mitigate this problem? - - src/app/+about/about-peertube/about-peertube.component.html147 + src/app/+about/about-peertube/about-peertube.component.html147 + - PeerTube wants to deliver the best countermeasures possible, to give you more choice and render attacks less likely. Here is what we put in place so far: + PeerTube wants to deliver the best countermeasures possible, to give you more choice and render attacks less likely. Here is what we put in place so far: PeerTube wants to deliver the best countermeasures possible, to give you more choice and render attacks less likely. Here is what we put in place so far: - - src/app/+about/about-peertube/about-peertube.component.html150 + src/app/+about/about-peertube/about-peertube.component.html150 + We set a limit to the number of peers sent by the tracker We set a limit to the number of peers sent by the tracker - - src/app/+about/about-peertube/about-peertube.component.html155 + src/app/+about/about-peertube/about-peertube.component.html155 + We set a limit on the request frequency received by the tracker We set a limit on the request frequency received by the tracker - - src/app/+about/about-peertube/about-peertube.component.html156 + src/app/+about/about-peertube/about-peertube.component.html156 + Allow instance admins to disable P2P from the administration interface Allow instance admins to disable P2P from the administration interface - - src/app/+about/about-peertube/about-peertube.component.html157 - + src/app/+about/about-peertube/about-peertube.component.html157 + - Ultimately, remember you can always disable P2P by toggling it in the video player, or just by disabling WebRTC in your browser. + Ultimately, remember you can always disable P2P by toggling it in the video player, or just by disabling WebRTC in your browser. Ultimately, remember you can always disable P2P by toggling it in the video player, or just by disabling WebRTC in your browser. - - src/app/+about/about-peertube/about-peertube.component.html161 - + src/app/+about/about-peertube/about-peertube.component.html161 + This instance does not have instances followers. This instance does not have instances followers. - - src/app/+about/about-follows/about-follows.component.html6 - Show full listShow full list + src/app/+about/about-follows/about-follows.component.html6 + + + Show full list + Show full list src/app/+about/about-follows/about-follows.component.html 12 @@ -6297,466 +6665,523 @@ channel with the same name ()! src/app/+about/about-follows/about-follows.component.html 24 - - This instance is not following any other.This instance is not following any other. - - src/app/+about/about-follows/about-follows.component.html18 - + + + This instance is not following any other. + This instance is not following any other. + src/app/+about/about-follows/about-follows.component.html18 + - About this instanceAbout this instance - - src/app/+about/about-routing.module.ts26 - About PeerTubeAbout PeerTube - - src/app/+about/about-routing.module.ts38 - About this instance's networkAbout this instance's network - - src/app/+about/about-routing.module.ts47 - Link copiedLink copied - - src/app/+about/about-instance/about-instance.component.ts91 + About this instance + About this instance + src/app/+about/about-routing.module.ts26 + + + About PeerTube + About PeerTube + src/app/+about/about-routing.module.ts38 + + + About this instance's network + About this instance's network + src/app/+about/about-routing.module.ts47 + + + Link copied + Link copied + src/app/+about/about-instance/about-instance.component.ts91 + Developed with ❤ by Framasoft Developed with ❤ by - Framasoft - + Framasoft + - - src/app/+about/about-peertube/about-peertube-contributors.component.html3 + src/app/+about/about-peertube/about-peertube-contributors.component.html3 + - - Create an account - + Create an account Create an account - - src/app/+signup/+register/register.component.html4 + src/app/+signup/+register/register.component.html4 + - Get helpGet help - - src/app/shared/shared-main/misc/help.component.ts16 + Get help + Get help + src/app/shared/shared-main/misc/help.component.ts16 + - - Create my account - + Create my account Create my account - - src/app/+signup/+register/register.component.html38 + src/app/+signup/+register/register.component.html38 + PeerTube is creating your account... PeerTube is creating your account... - - src/app/+signup/+register/register.component.html46 + src/app/+signup/+register/register.component.html46 + Done Done - - src/app/+signup/+register/register.component.html42 + src/app/+signup/+register/register.component.html42 + Who are we? Who are we? - - src/app/shared/shared-instance/instance-about-accordion.component.html19 + src/app/shared/shared-instance/instance-about-accordion.component.html19 + How long do we plan to maintain this instance? How long do we plan to maintain this instance? - - src/app/shared/shared-instance/instance-about-accordion.component.html24 + src/app/shared/shared-instance/instance-about-accordion.component.html24 + How will we finance this instance? How will we finance this instance? - - src/app/shared/shared-instance/instance-about-accordion.component.html29 + src/app/shared/shared-instance/instance-about-accordion.component.html29 + Administrators & Sustainability Administrators & Sustainability - - src/app/shared/shared-instance/instance-about-accordion.component.html15src/app/shared/shared-instance/instance-about-accordion.component.html15 + src/app/shared/shared-instance/instance-about-accordion.component.html15 + src/app/shared/shared-instance/instance-about-accordion.component.html15 + Step Step - - src/app/+signup/+register/custom-stepper.component.html9 + src/app/+signup/+register/custom-stepper.component.html9 + - A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. + A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. - + For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. - - src/app/+signup/+register/register-step-channel.component.html5 + src/app/+signup/+register/register-step-channel.component.html5 + - - Other users can decide to subscribe any channel they want, to be notified when you publish a new video. - + Other users can decide to subscribe any channel they want, to be notified when you publish a new video. Other users can decide to subscribe any channel they want, to be notified when you publish a new video. - - src/app/+signup/+register/register-step-channel.component.html10 + src/app/+signup/+register/register-step-channel.component.html10 + Channel display name Channel display name - - src/app/+signup/+register/register-step-channel.component.html15 + src/app/+signup/+register/register-step-channel.component.html15 + Channel name Channel name - - - - src/app/+signup/+register/register-step-channel.component.html30src/app/+admin/users/user-edit/user-edit.component.html94src/app/+admin/users/user-edit/user-edit.component.html94 + src/app/+signup/+register/register-step-channel.component.html30 + src/app/+admin/users/user-edit/user-edit.component.html94 + src/app/+admin/users/user-edit/user-edit.component.html94 + john_channel john_channel - - - src/app/+admin/users/user-edit/user-edit.component.html96src/app/+admin/users/user-edit/user-edit.component.html96 + src/app/+admin/users/user-edit/user-edit.component.html96 + src/app/+admin/users/user-edit/user-edit.component.html96 + Example: my_super_channel Example: my_super_channel - - src/app/+signup/+register/register-step-channel.component.html34 + src/app/+signup/+register/register-step-channel.component.html34 + - - The channel name is a unique identifier of your channel on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. - + The channel name is a unique identifier of your channel on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. The channel name is a unique identifier of your channel on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. - - src/app/+signup/+register/register-step-channel.component.html43 - Channel name cannot be the same as your account name. You can click on the first step to update your account name. Channel name cannot be the same as your account name. You can click on the first step to update your account name. - - src/app/+signup/+register/register-step-channel.component.html51 - - + src/app/+signup/+register/register-step-channel.component.html43 + + + Channel name cannot be the same as your account name. You can click on the first step to update your account name. + Channel name cannot be the same as your account name. You can click on the first step to update your account name. + src/app/+signup/+register/register-step-channel.component.html51 + - - The username is a unique identifier of your account on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. - + The username is a unique identifier of your account on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. The username is a unique identifier of your account on this and all the other instances. It's as unique as an email address, which makes it easy for other people to interact with it. - - src/app/+signup/+register/register-step-user.component.html36 - Video uploads are disabled on this instance, hence your account won't be able to upload videos. Video uploads are disabled on this instance, hence your account won't be able to upload videos. + src/app/+signup/+register/register-step-user.component.html36 + + + Video uploads are disabled on this instance, hence your account won't be able to upload videos. + Video uploads are disabled on this instance, hence your account won't be able to upload videos. src/app/+signup/+register/register-step-user.component.html 4,5 - I am at least 16 years old and agree to the Terms and to the Code of Conduct of this instance + I am at least 16 years old and agree to the Terms and to the Code of Conduct of this instance I am at least 16 years old and agree to the - Terms - - and to the - Code of Conduct - - + Terms + + and to the + Code of Conduct + + of this instance - - src/app/+signup/+register/register-step-terms.component.html6 - RegisterRegister - - src/app/+signup/+register/register-routing.module.ts14 - + src/app/+signup/+register/register-step-terms.component.html6 + + + Register + Register + src/app/+signup/+register/register-routing.module.ts14 + Your message has been sent. Your message has been sent. - - src/app/+about/about-instance/contact-admin-modal.component.ts77 + src/app/+about/about-instance/contact-admin-modal.component.ts77 + You already sent this form recently You already sent this form recently - - src/app/+about/about-instance/contact-admin-modal.component.ts83 + src/app/+about/about-instance/contact-admin-modal.component.ts83 + - Account videosAccount videos - - src/app/+accounts/accounts-routing.module.ts38 - Search videos within accountSearch videos within account - - src/app/+accounts/accounts-routing.module.ts51 - PEERTUBE ACCOUNTPEERTUBE ACCOUNT + Account videos + Account videos + src/app/+accounts/accounts-routing.module.ts38 + + + Search videos within account + Search videos within account + src/app/+accounts/accounts-routing.module.ts51 + + + PEERTUBE ACCOUNT + PEERTUBE ACCOUNT src/app/+accounts/accounts.component.html 8 - - Account video channelsAccount video channels - - src/app/+accounts/accounts-routing.module.ts29 + + + Account video channels + Account video channels + src/app/+accounts/accounts-routing.module.ts29 + Published videos Published videos - - src/app/+accounts/account-search/account-search.component.ts95 - Display all videos (private, unlisted or not yet published)Display all videos (private, unlisted or not yet published) - - src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/+accounts/account-search/account-search.component.ts95 + + + Display all videos (private, unlisted or not yet published) + Display all videos (private, unlisted or not yet published) + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + src/app/shared/shared-video-miniature/abstract-video-list.html36 + - - direct account followers - + direct account followers direct account followers - - src/app/+accounts/accounts.component.ts155 - Report this accountReport this account - - src/app/+accounts/accounts.component.ts196 - + src/app/+accounts/accounts.component.ts155 + + + Report this account + Report this account + src/app/+accounts/accounts.component.ts196 + - VIDEOSVIDEOS - - src/app/+accounts/accounts.component.ts83src/app/+video-channels/video-channels.component.ts76 - + VIDEOS + VIDEOS + src/app/+accounts/accounts.component.ts83 + src/app/+video-channels/video-channels.component.ts76 + Username copied Username copied - - - src/app/+accounts/accounts.component.ts121src/app/+video-channels/video-channels.component.ts103 - 1 subscriber1 subscriber - - src/app/+accounts/accounts.component.ts125 - subscribers subscribers - - src/app/+accounts/accounts.component.ts127 - + src/app/+accounts/accounts.component.ts121 + src/app/+video-channels/video-channels.component.ts103 + + + 1 subscriber + 1 subscriber + src/app/+accounts/accounts.component.ts125 + + + subscribers + subscribers + src/app/+accounts/accounts.component.ts127 + Instances you follow Instances you follow - - src/app/+admin/follows/following-list/following-list.component.html3 + src/app/+admin/follows/following-list/following-list.component.html3 + Instances following you Instances following you - - src/app/+admin/follows/followers-list/followers-list.component.html3 + src/app/+admin/follows/followers-list/followers-list.component.html3 + Audio-only Audio-only - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 + - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> that keeps the original audio track, with no video - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> that keeps the original audio track, with no video + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 + 240p 240p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts22 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts22 + 360p 360p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts26 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts26 + 480p 480p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts30 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts30 + 720p 720p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts34 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts34 + 1080p 1080p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts38 - 1440p1440p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts42 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts38 + + + 1440p + 1440p + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts42 + 2160p 2160p - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts46 + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts46 + Auto (via ffmpeg) Auto (via ffmpeg) - - src/app/+admin/config/shared/config.service.ts50 - No limitNo limit - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts34 - 1 hour1 hour - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts35 - 3 hours3 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts36 - 5 hours5 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts37 - 10 hours10 hours - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts38 - x264, targeting maximum device compatibilityx264, targeting maximum device compatibility - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 - Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. + src/app/+admin/config/shared/config.service.ts50 + + + No limit + No limit + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts34 + + + 1 hour + 1 hour + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts35 + + + 3 hours + 3 hours + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts36 + + + 5 hours + 5 hours + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts37 + + + 10 hours + 10 hours + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts38 + + + x264, targeting maximum device compatibility + x264, targeting maximum device compatibility + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + + + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 9,10 - - However, you may want to read our guidelines before tweaking the following values. However, you may want to read our guidelines before tweaking the following values. + + + However, you may want to read our guidelines before tweaking the following values. + However, you may want to read our guidelines before tweaking the following values. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 12,13 - - Read guidelines Read guidelines + + + Read guidelines + Read guidelines src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 17,18 - - Process uploaded videos so that they are in a streamable form that any device can play. Though costly in resources, this is a critical part of PeerTube, so tread carefully. Process uploaded videos so that they are in a streamable form that any device can play. Though costly in resources, this is a critical part of PeerTube, so tread carefully. + + + Process uploaded videos so that they are in a streamable form that any device can play. Though costly in resources, this is a critical part of PeerTube, so tread carefully. + Process uploaded videos so that they are in a streamable form that any device can play. Though costly in resources, this is a critical part of PeerTube, so tread carefully. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 28,30 - - threadsthreads - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts86 - threadthread - - src/app/+admin/config/edit-custom-config/edit-configuration.service.ts87 + + + threads + threads + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts86 + + + thread + thread + src/app/+admin/config/edit-custom-config/edit-configuration.service.ts87 + Configuration updated. Configuration updated. - - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts265 - You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below.You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below. - - src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts81 - Edit custom configurationEdit custom configuration - - src/app/+admin/config/config.routes.ts26 - - + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts265 + + + You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below. + You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below. + src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts81 + + + Edit custom configuration + Edit custom configuration + src/app/+admin/config/config.routes.ts26 + Process domains Process domains - - src/app/shared/shared-moderation/batch-domains-modal.component.ts28 + src/app/shared/shared-moderation/batch-domains-modal.component.ts28 + - Report - - + Report Report - - src/app/shared/shared-moderation/report-modals/account-report.component.ts51 + src/app/shared/shared-moderation/report-modals/account-report.component.ts51 + Account reported. Account reported. - - src/app/shared/shared-moderation/report-modals/account-report.component.ts82 + src/app/shared/shared-moderation/report-modals/account-report.component.ts82 + Comment reported. Comment reported. - - src/app/shared/shared-moderation/report-modals/comment-report.component.ts82 + src/app/shared/shared-moderation/report-modals/comment-report.component.ts82 + Domain is required. Domain is required. - - src/app/shared/form-validators/batch-domains-validators.ts56 + src/app/shared/form-validators/batch-domains-validators.ts56 + Domains entered are invalid. Domains entered are invalid. - - src/app/shared/form-validators/batch-domains-validators.ts57 + src/app/shared/form-validators/batch-domains-validators.ts57 + Domains entered contain duplicates. Domains entered contain duplicates. - - src/app/shared/form-validators/batch-domains-validators.ts58 + src/app/shared/form-validators/batch-domains-validators.ts58 + Unlimited Unlimited - - - - - src/app/+admin/config/shared/config.service.ts22src/app/+admin/config/shared/config.service.ts36src/app/shared/shared-instance/instance-features-table.component.ts30src/app/shared/shared-instance/instance-features-table.component.ts37src/app/shared/shared-main/users/user-quota.component.ts32src/app/shared/shared-main/users/user-quota.component.ts38 + src/app/+admin/config/shared/config.service.ts22 + src/app/+admin/config/shared/config.service.ts36 + src/app/shared/shared-instance/instance-features-table.component.ts30 + src/app/shared/shared-instance/instance-features-table.component.ts37 + src/app/shared/shared-main/users/user-quota.component.ts32 + src/app/shared/shared-main/users/user-quota.component.ts38 + None - no upload possible None - no upload possible - - - src/app/+admin/config/shared/config.service.ts23src/app/+admin/config/shared/config.service.ts37 + src/app/+admin/config/shared/config.service.ts23 + src/app/+admin/config/shared/config.service.ts37 + 100MB 100MB - - - src/app/+admin/config/shared/config.service.ts24src/app/+admin/config/shared/config.service.ts40 + src/app/+admin/config/shared/config.service.ts24 + src/app/+admin/config/shared/config.service.ts40 + 500MB 500MB - - - src/app/+admin/config/shared/config.service.ts25src/app/+admin/config/shared/config.service.ts41 + src/app/+admin/config/shared/config.service.ts25 + src/app/+admin/config/shared/config.service.ts41 + 1GB 1GB - - src/app/+admin/config/shared/config.service.ts26 + src/app/+admin/config/shared/config.service.ts26 + 5GB 5GB - - - src/app/+admin/config/shared/config.service.ts27src/app/+admin/config/shared/config.service.ts43 + src/app/+admin/config/shared/config.service.ts27 + src/app/+admin/config/shared/config.service.ts43 + 20GB 20GB - - src/app/+admin/config/shared/config.service.ts28src/app/+admin/config/shared/config.service.ts45 + src/app/+admin/config/shared/config.service.ts28 + src/app/+admin/config/shared/config.service.ts45 + 50GB 50GB - - src/app/+admin/config/shared/config.service.ts29src/app/+admin/config/shared/config.service.ts46 - 100GB100GB + src/app/+admin/config/shared/config.service.ts29 + src/app/+admin/config/shared/config.service.ts46 + + + 100GB + 100GB src/app/+admin/config/shared/config.service.ts 30 - - 200GB200GB + + + 200GB + 200GB src/app/+admin/config/shared/config.service.ts 31 - - 500GB500GB + + + 500GB + 500GB src/app/+admin/config/shared/config.service.ts 32 @@ -6765,515 +7190,560 @@ channel with the same name ()! 10MB 10MB - - src/app/+admin/config/shared/config.service.ts38 + src/app/+admin/config/shared/config.service.ts38 + 50MB 50MB - - src/app/+admin/config/shared/config.service.ts39 + src/app/+admin/config/shared/config.service.ts39 + 2GB 2GB - - src/app/+admin/config/shared/config.service.ts42 - 10GB10GB + src/app/+admin/config/shared/config.service.ts42 + + + 10GB + 10GB src/app/+admin/config/shared/config.service.ts 44 - - accepted in instance followers - + accepted in instance followers accepted in instance followers - - src/app/+admin/follows/followers-list/followers-list.component.ts41 + src/app/+admin/follows/followers-list/followers-list.component.ts41 + Do you really want to reject this follower? Do you really want to reject this follower? - - src/app/+admin/follows/followers-list/followers-list.component.ts52 + src/app/+admin/follows/followers-list/followers-list.component.ts52 + Reject Reject - - src/app/+admin/follows/followers-list/followers-list.component.ts53 + src/app/+admin/follows/followers-list/followers-list.component.ts53 + - - rejected from instance followers - + rejected from instance followers rejected from instance followers - - src/app/+admin/follows/followers-list/followers-list.component.ts60 + src/app/+admin/follows/followers-list/followers-list.component.ts60 + Do you really want to delete this follower? Do you really want to delete this follower? - - src/app/+admin/follows/followers-list/followers-list.component.ts73 - DeleteDelete - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts73 + + + Delete + Delete + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + - - removed from instance followers - + removed from instance followers removed from instance followers - - src/app/+admin/follows/followers-list/followers-list.component.ts81 + src/app/+admin/follows/followers-list/followers-list.component.ts81 + - - is not valid - + is not valid is not valid - - src/app/shared/form-validators/batch-domains-validators.ts19 + src/app/shared/form-validators/batch-domains-validators.ts19 + Follow request(s) sent! Follow request(s) sent! - - src/app/+admin/follows/following-list/following-list.component.ts47 + src/app/+admin/follows/following-list/following-list.component.ts47 + Do you really want to unfollow ? Do you really want to unfollow ? - - src/app/+admin/follows/following-list/following-list.component.ts57 + src/app/+admin/follows/following-list/following-list.component.ts57 + Unfollow Unfollow - - src/app/+admin/follows/following-list/following-list.component.ts58 + src/app/+admin/follows/following-list/following-list.component.ts58 + You are not following anymore. You are not following anymore. - - src/app/+admin/follows/following-list/following-list.component.ts64 + src/app/+admin/follows/following-list/following-list.component.ts64 + enabled enabled - - src/app/+admin/follows/shared/redundancy-checkbox.component.ts23 + src/app/+admin/follows/shared/redundancy-checkbox.component.ts23 + disabled disabled - - src/app/+admin/follows/shared/redundancy-checkbox.component.ts23 + src/app/+admin/follows/shared/redundancy-checkbox.component.ts23 + Redundancy for is Redundancy for is - - src/app/+admin/follows/shared/redundancy-checkbox.component.ts25 + src/app/+admin/follows/shared/redundancy-checkbox.component.ts25 + Used Used - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts101 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts101 + Available Available - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts101 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts101 + Do you really want to remove this video redundancy? Do you really want to remove this video redundancy? - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts140 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts140 + Remove redundancy Remove redundancy - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts141 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts141 + Video redundancies removed! Video redundancies removed! - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts147 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.ts147 + Account unmuted by your instance. Account unmuted by your instance. - - src/app/shared/shared-moderation/account-blocklist.component.ts44 + src/app/shared/shared-moderation/account-blocklist.component.ts44 + Instance unmuted by your instance. Instance unmuted by your instance. - - src/app/shared/shared-moderation/server-blocklist.component.ts46 + src/app/shared/shared-moderation/server-blocklist.component.ts46 + Instance muted. Instance muted. - - src/app/shared/shared-moderation/server-blocklist.component.ts68src/app/shared/shared-moderation/user-moderation-dropdown.component.ts148 + src/app/shared/shared-moderation/server-blocklist.component.ts68 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts148 + Instance muted by your instance. Instance muted by your instance. - - src/app/shared/shared-moderation/server-blocklist.component.ts69 + src/app/shared/shared-moderation/server-blocklist.component.ts69 + Comment updated. Comment updated. - - src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts58 + src/app/shared/shared-abuse-list/moderation-comment-modal.component.ts58 + Violent or Repulsive Violent or Repulsive - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Hateful or Abusive - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam or Misleading - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 - PrivacyPrivacy - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + + + Privacy + Privacy + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Copyright - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Server rules - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Thumbnails - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Internal actions - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Delete report - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Actions for the flagged account - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Mark as accepted - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Mark as rejected - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Add internal note - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Actions for the video - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Block video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Video blocked. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Unblock video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Video unblocked. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Do you really want to delete this abuse report? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Abuse deleted. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Deleted comment - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Messages with reporter - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Messages with moderators - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Update internal note - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Switch video block to manual - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Video switched to manual block. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Do you really want to unblock this video? It will be available again in the videos list. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Unblock - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Video unblocked. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes yes - - src/app/shared/shared-instance/feature-boolean.component.html1src/app/shared/shared-instance/feature-boolean.component.html1 + src/app/shared/shared-instance/feature-boolean.component.html1 + src/app/shared/shared-instance/feature-boolean.component.html1 + no no - - src/app/shared/shared-instance/feature-boolean.component.html2src/app/shared/shared-instance/feature-boolean.component.html2 + src/app/shared/shared-instance/feature-boolean.component.html2 + src/app/shared/shared-instance/feature-boolean.component.html2 + You don't have plugins installed yet. You don't have plugins installed yet. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts87 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts87 + You don't have themes installed yet. You don't have themes installed yet. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts90 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts90 + - Update to - - + Update to Update to - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts98 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts98 + Do you really want to uninstall ? Do you really want to uninstall ? - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts111 - UninstallUninstall - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts112 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts111 + + + Uninstall + Uninstall + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts112 + - - uninstalled. - + uninstalled. uninstalled. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts119 - This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes.This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts119 + + + This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. + This is a major plugin upgrade. Please go on the plugin homepage to check potential release notes. src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 135 - - UpgradeUpgrade + + + Upgrade + Upgrade src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 136 - - Proceed upgradeProceed upgrade + + + Proceed upgrade + Proceed upgrade src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts 137 - - updated. - + updated. updated. - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts151 - JobsJobs - - src/app/+admin/system/system.routes.ts26 - LogsLogs - - src/app/+admin/system/system.routes.ts37 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts151 + + + Jobs + Jobs + src/app/+admin/system/system.routes.ts26 + + + Logs + Logs + src/app/+admin/system/system.routes.ts37 + The plugin index is not available. Please retry later. The plugin index is not available. Please retry later. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts101 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts101 + Please only install plugins or themes you trust, since they can execute any code on your instance. Please only install plugins or themes you trust, since they can execute any code on your instance. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts135 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts135 + Install ? Install ? - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts136 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts136 + - - installed. - + installed. installed. - - src/app/+admin/plugins/plugin-search/plugin-search.component.ts148 + src/app/+admin/plugins/plugin-search/plugin-search.component.ts148 + Settings updated. Settings updated. - - src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts55 + src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts55 + Plugins Plugins - - src/app/+admin/plugins/shared/plugin-api.service.ts33 + src/app/+admin/plugins/shared/plugin-api.service.ts33 + Themes Themes - - src/app/+admin/plugins/shared/plugin-api.service.ts37 + src/app/+admin/plugins/shared/plugin-api.service.ts37 + plugin plugin - - src/app/+admin/plugins/shared/plugin-api.service.ts45 + src/app/+admin/plugins/shared/plugin-api.service.ts45 + theme theme - - src/app/+admin/plugins/shared/plugin-api.service.ts48 - IP addressIP address + src/app/+admin/plugins/shared/plugin-api.service.ts48 + + + IP address + IP address src/app/+admin/system/debug/debug.component.html 2 - - PeerTube thinks your web browser public IP is .PeerTube thinks your web browser public IP is . + + + PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . src/app/+admin/system/debug/debug.component.html 4 - - If this is not your correct public IP, please consider fixing it because:If this is not your correct public IP, please consider fixing it because: + + + If this is not your correct public IP, please consider fixing it because: + If this is not your correct public IP, please consider fixing it because: src/app/+admin/system/debug/debug.component.html 6 - - Views may not be counted correctly (reduced compared to what they should be)Views may not be counted correctly (reduced compared to what they should be) + + + Views may not be counted correctly (reduced compared to what they should be) + Views may not be counted correctly (reduced compared to what they should be) src/app/+admin/system/debug/debug.component.html 8 - - Anti brute force system could be overzealousAnti brute force system could be overzealous + + + Anti brute force system could be overzealous + Anti brute force system could be overzealous src/app/+admin/system/debug/debug.component.html 9 - - P2P system could not work correctlyP2P system could not work correctly + + + P2P system could not work correctly + P2P system could not work correctly src/app/+admin/system/debug/debug.component.html 10 - - To fix it:To fix it: + + + To fix it: + To fix it: src/app/+admin/system/debug/debug.component.html 13 - - Check the trust_proxy configuration keyCheck the trust_proxy configuration key + + + Check the trust_proxy configuration key + Check the trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643)If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + + + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7282,280 +7752,310 @@ channel with the same name ()! Last week Last week - - src/app/+admin/system/logs/logs.component.ts87 + src/app/+admin/system/logs/logs.component.ts87 + Last day Last day - - src/app/+admin/system/logs/logs.component.ts92 + src/app/+admin/system/logs/logs.component.ts92 + Last hour Last hour - - src/app/+admin/system/logs/logs.component.ts97 - debugdebug - - src/app/+admin/system/logs/logs.component.ts109 - infoinfo - - src/app/+admin/system/logs/logs.component.ts113 - warningwarning - - src/app/+admin/system/logs/logs.component.ts117 - errorerror - - src/app/+admin/system/logs/logs.component.ts121 - DebugDebug - - src/app/+admin/system/system.routes.ts48 + src/app/+admin/system/logs/logs.component.ts97 + + + debug + debug + src/app/+admin/system/logs/logs.component.ts109 + + + info + info + src/app/+admin/system/logs/logs.component.ts113 + + + warning + warning + src/app/+admin/system/logs/logs.component.ts117 + + + error + error + src/app/+admin/system/logs/logs.component.ts121 + + + Debug + Debug + src/app/+admin/system/system.routes.ts48 + Info Info - - - src/app/core/notification/notifier.service.ts11 + src/app/core/notification/notifier.service.ts11 + Warning Warning - - - src/app/core/routing/can-deactivate-guard.service.ts23 + src/app/core/routing/can-deactivate-guard.service.ts23 + Error Error - - - - src/app/core/auth/auth.service.ts104src/app/core/notification/notifier.service.ts18 + src/app/core/auth/auth.service.ts104 + src/app/core/notification/notifier.service.ts18 + Standard logs Standard logs - - src/app/+admin/system/logs/logs.component.ts132 + src/app/+admin/system/logs/logs.component.ts132 + Audit logs Audit logs - - src/app/+admin/system/logs/logs.component.ts136 + src/app/+admin/system/logs/logs.component.ts136 + User created. User created. - - src/app/+admin/users/user-edit/user-create.component.ts77 - Create userCreate user - - src/app/+admin/users/user-edit/user-create.component.ts95 - Blocked videosBlocked videos - - src/app/+admin/moderation/moderation.routes.ts69 - Muted instancesMuted instances - - src/app/+admin/moderation/moderation.routes.ts109 + src/app/+admin/users/user-edit/user-create.component.ts77 + + + Create user + Create user + src/app/+admin/users/user-edit/user-create.component.ts95 + + + Blocked videos + Blocked videos + src/app/+admin/moderation/moderation.routes.ts69 + + + Muted instances + Muted instances + src/app/+admin/moderation/moderation.routes.ts109 + Password changed for user . Password changed for user . - - src/app/+admin/users/user-edit/user-password.component.ts40 + src/app/+admin/users/user-edit/user-password.component.ts40 + Update user password Update user password - - src/app/+admin/users/user-edit/user-password.component.ts52 - Following listFollowing list - - src/app/+admin/follows/follows.routes.ts28 - Followers listFollowers list - - src/app/+admin/follows/follows.routes.ts37 + src/app/+admin/users/user-edit/user-password.component.ts52 + + + Following list + Following list + src/app/+admin/follows/follows.routes.ts28 + + + Followers list + Followers list + src/app/+admin/follows/follows.routes.ts37 + User updated. User updated. - - src/app/+admin/users/user-edit/user-update.component.ts86 + src/app/+admin/users/user-edit/user-update.component.ts86 + Update user Update user - - src/app/+admin/users/user-edit/user-update.component.ts103 + src/app/+admin/users/user-edit/user-update.component.ts103 + An email asking for password reset has been sent to . An email asking for password reset has been sent to . - - src/app/+admin/users/user-edit/user-update.component.ts109 - Users listUsers list - - src/app/+admin/users/users.routes.ts27 - Create a userCreate a user - - src/app/+admin/users/users.routes.ts36 - Update a userUpdate a user - - src/app/+admin/users/users.routes.ts48 - FederationFederation - - src/app/+admin/admin.component.ts26 - Instances you followInstances you follow - - src/app/+admin/admin.component.ts29 - Instances following youInstances following you - - src/app/+admin/admin.component.ts34 + src/app/+admin/users/user-edit/user-update.component.ts109 + + + Users list + Users list + src/app/+admin/users/users.routes.ts27 + + + Create a user + Create a user + src/app/+admin/users/users.routes.ts36 + + + Update a user + Update a user + src/app/+admin/users/users.routes.ts48 + + + Federation + Federation + src/app/+admin/admin.component.ts26 + + + Instances you follow + Instances you follow + src/app/+admin/admin.component.ts29 + + + Instances following you + Instances following you + src/app/+admin/admin.component.ts34 + Videos will be deleted, comments will be tombstoned. Videos will be deleted, comments will be tombstoned. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 - BanBan - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + + + Ban + Ban + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. User won't be able to login anymore, but videos and comments will be kept as is. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Unban - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Set Email as Verified - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. You cannot ban root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Do you really want to unban users? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + - - users unbanned. - + users unbanned. users unbanned. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. You cannot delete root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! If you remove these users, you will not be able to create others with the same username! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + - - users deleted. - + users deleted. users deleted. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + - - users email set as verified. - + users email set as verified. users email set as verified. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Account unmuted. - - - src/app/shared/shared-moderation/account-blocklist.component.ts43src/app/shared/shared-moderation/user-moderation-dropdown.component.ts134 + src/app/shared/shared-moderation/account-blocklist.component.ts43 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts134 + Instance unmuted. Instance unmuted. - - - src/app/shared/shared-moderation/server-blocklist.component.ts45src/app/shared/shared-moderation/user-moderation-dropdown.component.ts162 - + src/app/shared/shared-moderation/server-blocklist.component.ts45 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts162 + Videos history is enabled Videos history is enabled - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Videos history is disabled - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Delete videos history - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Are you sure you want to delete all your videos history? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Videos history deleted - - src/app/+my-library/my-history/my-history.component.ts135 - My watch historyMy watch history + src/app/+my-library/my-history/my-history.component.ts135 + + + My watch history + My watch history src/app/+my-library/my-history/my-history.component.html 3 - - Track watch historyTrack watch history - - src/app/+my-library/my-history/my-history.component.html13 + + + Track watch history + Track watch history + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Ownership accepted - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + Please check your emails to verify your new email. Please check your emails to verify your new email. - - src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts53 + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts53 + Email updated. Email updated. - - src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is . It is never shown to the public. + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 + + + Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html @@ -7565,120 +8065,126 @@ channel with the same name ()! You current password is invalid. You current password is invalid. - - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts56src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts61 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts56 + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts61 + Password updated. Password updated. - - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts48 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts48 + Are you sure you want to delete your account? This will delete all your data, including channels, videos and comments. Content cached by other servers and other third-parties might make longer to be deleted. Are you sure you want to delete your account? This will delete all your data, including channels, videos and comments. Content cached by other servers and other third-parties might make longer to be deleted. - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts22 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts22 + Type your username to confirm Type your username to confirm - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts23 - Delete your accountDelete your account - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts25 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts23 + + + Delete your account + Delete your account + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts25 + Delete my account Delete my account - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts26 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts26 + Your account is deleted. Your account is deleted. - - src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts32 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts32 + Interface settings updated. Interface settings updated. - - - src/app/shared/shared-user-settings/user-interface-settings.component.ts74src/app/shared/shared-user-settings/user-interface-settings.component.ts81 + src/app/shared/shared-user-settings/user-interface-settings.component.ts74 + src/app/shared/shared-user-settings/user-interface-settings.component.ts81 + New video from your subscriptions New video from your subscriptions - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts32 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts32 + New comment on your video New comment on your video - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts33 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts33 + New abuse New abuse - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts34 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts34 + Video blocked automatically waiting review Video blocked automatically waiting review - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts35 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts35 + One of your video is blocked/unblocked One of your video is blocked/unblocked - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts36 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts36 + Video published (after transcoding/scheduled update) Video published (after transcoding/scheduled update) - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts37 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts37 + Video import finished Video import finished - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts38 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts38 + A new user registered on your instance A new user registered on your instance - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts39 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts39 + You or your channel(s) has a new follower You or your channel(s) has a new follower - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts40 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts40 + Someone mentioned you in video comments Someone mentioned you in video comments - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts41 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts41 + Your instance has a new follower Your instance has a new follower - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts42 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts42 + Your instance automatically followed another instance Your instance automatically followed another instance - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts43 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts43 + An abuse report received a new message An abuse report received a new message - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts44 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts44 + One of your abuse reports has been accepted or rejected by moderators One of your abuse reports has been accepted or rejected by moderators - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts45 - A new PeerTube version is availableA new PeerTube version is available + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts45 + + + A new PeerTube version is available + A new PeerTube version is available src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts 46 - - One of your plugin/theme has a new available versionOne of your plugin/theme has a new available version + + + One of your plugin/theme has a new available version + One of your plugin/theme has a new available version src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts 47 @@ -7687,14 +8193,16 @@ channel with the same name ()! Preferences saved Preferences saved - - src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts96 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts96 + Profile updated. Profile updated. - - src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts58 - People can find you using @@ People can find you using @@ + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts58 + + + People can find you using @@ + People can find you using @@ src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html 11,13 @@ -7703,13 +8211,18 @@ channel with the same name ()! Avatar changed. Avatar changed. - - - src/app/+my-account/my-account-settings/my-account-settings.component.ts44src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts107 - avataravatar - - src/app/+my-account/my-account-settings/my-account-settings.component.ts51src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts114 - Avatar deleted.Avatar deleted. + src/app/+my-account/my-account-settings/my-account-settings.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts107 + + + avatar + avatar + src/app/+my-account/my-account-settings/my-account-settings.component.ts51 + src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts114 + + + Avatar deleted. + Avatar deleted. src/app/+my-account/my-account-settings/my-account-settings.component.ts 61 @@ -7719,60 +8232,64 @@ channel with the same name ()! 124 - Unknown language Unknown language - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Too many languages are enabled. Please enable them all or stay below 20 enabled languages. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Video settings updated. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Display/Video settings updated. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Video channel created. - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts67 + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts67 + This name already exists on this instance. This name already exists on this instance. - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts73 + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts73 + Video channel updated. Video channel updated. - - src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts94 - Banner changed.Banner changed. + src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts94 + + + Banner changed. + Banner changed. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 137 - - bannerbanner + + + banner + banner src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 144 - - Banner deleted.Banner deleted. + + + Banner deleted. + Banner deleted. src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts 154 @@ -7783,39 +8300,49 @@ channel with the same name ()! Please type the display name of the video channel ( ) to confirm - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Video channel deleted. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Views for the day - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - Update video channelUpdate video channel - - src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 - Not foundNot found - - src/app/+page-not-found/page-not-found-routing.module.ts14 - URL parameter is missing in URL parametersURL parameter is missing in URL parameters + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + + + Update video channel + Update video channel + src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 + + + Not found + Not found + src/app/+page-not-found/page-not-found-routing.module.ts14 + + + URL parameter is missing in URL parameters + URL parameter is missing in URL parameters src/app/+remote-interaction/remote-interaction.component.ts 25 - - Cannot access to the remote resourceCannot access to the remote resource + + + Cannot access to the remote resource + Cannot access to the remote resource src/app/+remote-interaction/remote-interaction.component.ts 48 - - Remote interactionRemote interaction + + + Remote interaction + Remote interaction src/app/+remote-interaction/remote-interaction-routing.module.ts 13 @@ -7826,81 +8353,91 @@ channel with the same name ()! Playlist created. - - src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts76 - CreateCreate - - src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts103src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts89 + src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts76 + + + Create + Create + src/app/+my-library/+my-video-channels/my-video-channel-create.component.ts103 + src/app/+my-library/my-video-playlists/my-video-playlist-create.component.ts89 + Update playlist Update playlist - - src/app/+my-library/my-library-routing.module.ts67src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts47 - NotificationsNotifications - - src/app/+my-account/my-account.component.ts55src/app/+my-account/my-account-routing.module.ts109 - ApplicationsApplications - - src/app/+my-account/my-account.component.ts60src/app/+my-account/my-account-routing.module.ts127 + src/app/+my-library/my-library-routing.module.ts67 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts47 + + + Notifications + Notifications + src/app/+my-account/my-account.component.ts55 + src/app/+my-account/my-account-routing.module.ts109 + + + Applications + Applications + src/app/+my-account/my-account.component.ts60 + src/app/+my-account/my-account-routing.module.ts127 + Delete playlist Delete playlist - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts52 + Playlist updated. Playlist updated. - - src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts97 + src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts97 + Do you really want to delete ? Do you really want to delete ? - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 - Change ownershipChange ownership - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + + + Change ownership + Change ownership + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Playlist deleted. - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts135 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts135 + My videos My videos - - src/app/+my-library/my-videos/my-videos.component.html4 - Ownership changesOwnership changes - - src/app/+my-library/my-videos/my-videos.component.html16 + src/app/+my-library/my-videos/my-videos.component.html4 + + + Ownership changes + Ownership changes + src/app/+my-library/my-videos/my-videos.component.html16 + Do you really want to delete videos? Do you really want to delete videos? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + - - videos deleted. - + videos deleted. videos deleted. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + - Do you really want to delete - ? - + Do you really want to delete ? Do you really want to delete ? @@ -7914,73 +8451,81 @@ channel with the same name ()! Video deleted. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Ownership change request sent. - - src/app/+my-library/my-videos/modals/video-change-ownership.component.ts64 + src/app/+my-library/my-videos/modals/video-change-ownership.component.ts64 + My channels My channels - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists My playlists - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html3 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html3 + My subscriptions My subscriptions - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 + - You don't have any subscription yet.You don't have any subscription yet. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 - - + You don't have any subscription yet. + You don't have any subscription yet. + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports My abuse reports - - src/app/+my-account/my-account-routing.module.ts118 + src/app/+my-account/my-account-routing.module.ts118 + Ownership changes Ownership changes - - src/app/+my-library/my-library-routing.module.ts108 - My video historyMy video history - - src/app/+my-library/my-library-routing.module.ts118 - ChannelsChannels - - src/app/+my-library/my-library.component.ts47 - VideosVideos - - src/app/+my-library/my-library.component.ts54 - PlaylistsPlaylists - - src/app/+my-library/my-library.component.ts61 - - + src/app/+my-library/my-library-routing.module.ts108 + + + My video history + My video history + src/app/+my-library/my-library-routing.module.ts118 + + + Channels + Channels + src/app/+my-library/my-library.component.ts47 + + + Videos + Videos + src/app/+my-library/my-library.component.ts54 + + + Playlists + Playlists + src/app/+my-library/my-library.component.ts61 + max size max size - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 - Maximize editorMaximize editor + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + + + Maximize editor + Maximize editor src/app/shared/shared-forms/markdown-textarea.component.ts 38 - - Exit maximized editorExit maximized editor + + + Exit maximized editor + Exit maximized editor src/app/shared/shared-forms/markdown-textarea.component.ts 39 @@ -7989,516 +8534,534 @@ channel with the same name ()! Now please check your emails to verify your account and complete signup. Now please check your emails to verify your account and complete signup. - - src/app/+signup/+register/register.component.ts126 + src/app/+signup/+register/register.component.ts126 + You are now logged in as ! You are now logged in as ! - - src/app/+signup/+register/register.component.ts134 + src/app/+signup/+register/register.component.ts134 + An email with verification link will be sent to . An email with verification link will be sent to . - - src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts45 + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts45 + Unable to find user id or verification string. Unable to find user id or verification string. - - - src/app/+reset-password/reset-password.component.ts38src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.ts33 + src/app/+reset-password/reset-password.component.ts38 + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.ts33 + Published videos Published videos - - src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts56 - + src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts56 + Subscribe to the account Subscribe to the account - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 - PLAYLISTSPLAYLISTS + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + + + PLAYLISTS + PLAYLISTS src/app/+video-channels/video-channels.component.ts 77 - Focus the search bar Focus the search bar - - src/app/app.component.ts313 + src/app/app.component.ts313 + Toggle the left menu Toggle the left menu - - src/app/app.component.ts318 + src/app/app.component.ts318 + Go to the discover videos page Go to the discover videos page - - src/app/app.component.ts323 + src/app/app.component.ts323 + Go to the trending videos page Go to the trending videos page - - src/app/app.component.ts328 + src/app/app.component.ts328 + Go to the recently added videos page Go to the recently added videos page - - src/app/app.component.ts333 + src/app/app.component.ts333 + Go to the local videos page Go to the local videos page - - src/app/app.component.ts338 + src/app/app.component.ts338 + Go to the videos upload page Go to the videos upload page - - src/app/app.component.ts343 + src/app/app.component.ts343 + Go to my subscriptions Go to my subscriptions - - src/app/core/auth/auth.service.ts64 + src/app/core/auth/auth.service.ts64 + Go to my videos Go to my videos - - src/app/core/auth/auth.service.ts68 + src/app/core/auth/auth.service.ts68 + Go to my imports Go to my imports - - src/app/core/auth/auth.service.ts72 + src/app/core/auth/auth.service.ts72 + Go to my channels Go to my channels - - src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section.Cannot retrieve OAuth Client credentials: . + src/app/core/auth/auth.service.ts76 + + + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. - - src/app/core/auth/auth.service.ts99 - - + src/app/core/auth/auth.service.ts99 + You need to reconnect. You need to reconnect. - - src/app/core/auth/auth.service.ts220 + src/app/core/auth/auth.service.ts220 + Keyboard Shortcuts: Keyboard Shortcuts: - - src/app/core/hotkeys/hotkeys.component.ts11 + src/app/core/hotkeys/hotkeys.component.ts11 + Success Success - - src/app/core/notification/notifier.service.ts25 + src/app/core/notification/notifier.service.ts25 + Incorrect username or password. Incorrect username or password. - - src/app/+login/login.component.ts159 + src/app/+login/login.component.ts159 + Your account is blocked. Your account is blocked. - - src/app/+login/login.component.ts160 - + src/app/+login/login.component.ts160 + any language any language - - src/app/menu/menu.component.ts251 - ON ON - - src/app/menu/menu.component.html124 + src/app/menu/menu.component.ts251 + + + ON + ON + src/app/menu/menu.component.html124 + hide hide - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur blur - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display display - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Unknown - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Your password has been successfully reset! - - src/app/+reset-password/reset-password.component.ts47 + src/app/+reset-password/reset-password.component.ts47 + Any Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + src/app/+search/search-filters.component.ts38 + src/app/+search/search-filters.component.ts61 + Today Today - - - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 - YesterdayYesterday - - src/app/shared/shared-video-miniature/abstract-video-list.ts136 - This weekThis week - - src/app/shared/shared-video-miniature/abstract-video-list.ts137 - This monthThis month - - src/app/shared/shared-video-miniature/abstract-video-list.ts138 - Last monthLast month - - src/app/shared/shared-video-miniature/abstract-video-list.ts139 - OlderOlder - - src/app/shared/shared-video-miniature/abstract-video-list.ts140 - Cannot load more videos. Try again later.Cannot load more videos. Try again later. - - src/app/shared/shared-video-miniature/abstract-video-list.ts226 - function is not implementedfunction is not implemented - - src/app/shared/shared-video-miniature/abstract-video-list.ts299 + src/app/+search/search-filters.component.ts42 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 + src/app/shared/shared-video-miniature/abstract-video-list.ts135 + + + Yesterday + Yesterday + src/app/shared/shared-video-miniature/abstract-video-list.ts136 + + + This week + This week + src/app/shared/shared-video-miniature/abstract-video-list.ts137 + + + This month + This month + src/app/shared/shared-video-miniature/abstract-video-list.ts138 + + + Last month + Last month + src/app/shared/shared-video-miniature/abstract-video-list.ts139 + + + Older + Older + src/app/shared/shared-video-miniature/abstract-video-list.ts140 + + + Cannot load more videos. Try again later. + Cannot load more videos. Try again later. + src/app/shared/shared-video-miniature/abstract-video-list.ts226 + + + function is not implemented + function is not implemented + src/app/shared/shared-video-miniature/abstract-video-list.ts299 + Last 7 days Last 7 days - - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts46 + Last 30 days Last 30 days - - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts50 + Last 365 days Last 365 days - - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts54 + Short (< 4 min) Short (< 4 min) - - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts65 + Medium (4-10 min) Medium (4-10 min) - - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts69 + - Long (> 10 min) - Long (> 10 min) - - src/app/+search/search-filters.component.ts73 + Long (> 10 min) + Long (> 10 min) + src/app/+search/search-filters.component.ts73 + Relevance Relevance - - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts80 + Publish date Publish date - - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts84 + Views Views - - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts88 + src/app/+videos/video-list/trending/video-trending-header.component.ts54 + Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Search error - - src/app/+search/search.component.ts168 - SearchSearch - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 - + src/app/+search/search.component.ts168 + + + Search + Search + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + + + + src/app/+search/search.component.html 5 - - years ago - + years ago years ago - - src/app/shared/shared-main/angular/from-now.pipe.ts12 + src/app/shared/shared-main/angular/from-now.pipe.ts12 + - - year ago - + year ago year ago - - src/app/shared/shared-main/angular/from-now.pipe.ts13 + src/app/shared/shared-main/angular/from-now.pipe.ts13 + - - months ago - + months ago months ago - - src/app/shared/shared-main/angular/from-now.pipe.ts16 + src/app/shared/shared-main/angular/from-now.pipe.ts16 + - - month ago - + month ago month ago - - src/app/shared/shared-main/angular/from-now.pipe.ts17 + src/app/shared/shared-main/angular/from-now.pipe.ts17 + - - weeks ago - + weeks ago weeks ago - - src/app/shared/shared-main/angular/from-now.pipe.ts20 + src/app/shared/shared-main/angular/from-now.pipe.ts20 + - - week ago - + week ago week ago - - src/app/shared/shared-main/angular/from-now.pipe.ts21 + src/app/shared/shared-main/angular/from-now.pipe.ts21 + - - days ago - + days ago days ago - - src/app/shared/shared-main/angular/from-now.pipe.ts24 + src/app/shared/shared-main/angular/from-now.pipe.ts24 + - - day ago - + day ago day ago - - src/app/shared/shared-main/angular/from-now.pipe.ts25 + src/app/shared/shared-main/angular/from-now.pipe.ts25 + - - hours ago - + hours ago hours ago - - src/app/shared/shared-main/angular/from-now.pipe.ts28 + src/app/shared/shared-main/angular/from-now.pipe.ts28 + - - hour ago - + hour ago hour ago - - src/app/shared/shared-main/angular/from-now.pipe.ts29 + src/app/shared/shared-main/angular/from-now.pipe.ts29 + - - min ago - + min ago min ago - - src/app/shared/shared-main/angular/from-now.pipe.ts32 + src/app/shared/shared-main/angular/from-now.pipe.ts32 + just now just now - - src/app/shared/shared-main/angular/from-now.pipe.ts34 - - + src/app/shared/shared-main/angular/from-now.pipe.ts34 + - - sec - + sec sec - - src/app/shared/shared-main/angular/duration-formatter.pipe.ts30 - Abuse reportsAbuse reports - - src/app/+my-account/my-account.component.ts41 - SettingsSettings - - src/app/+my-account/my-account.component.ts50 + src/app/shared/shared-main/angular/duration-formatter.pipe.ts30 + + + Abuse reports + Abuse reports + src/app/+my-account/my-account.component.ts41 + + + Settings + Settings + src/app/+my-account/my-account.component.ts50 + Confirm Confirm - - src/app/modal/confirm.component.ts39 + src/app/modal/confirm.component.ts39 + Instance name is required. Instance name is required. - - src/app/shared/form-validators/custom-config-validators.ts7 + src/app/shared/form-validators/custom-config-validators.ts7 + Short description should not be longer than 250 characters. Short description should not be longer than 250 characters. - - src/app/shared/form-validators/custom-config-validators.ts14 + src/app/shared/form-validators/custom-config-validators.ts14 + Twitter username is required. Twitter username is required. - - src/app/shared/form-validators/custom-config-validators.ts21 + src/app/shared/form-validators/custom-config-validators.ts21 + Previews cache size is required. Previews cache size is required. - - src/app/shared/form-validators/custom-config-validators.ts28 + src/app/shared/form-validators/custom-config-validators.ts28 + Previews cache size must be greater than 1. Previews cache size must be greater than 1. - - src/app/shared/form-validators/custom-config-validators.ts29 + src/app/shared/form-validators/custom-config-validators.ts29 + Previews cache size must be a number. Previews cache size must be a number. - - src/app/shared/form-validators/custom-config-validators.ts30 + src/app/shared/form-validators/custom-config-validators.ts30 + Captions cache size is required. Captions cache size is required. - - src/app/shared/form-validators/custom-config-validators.ts37 + src/app/shared/form-validators/custom-config-validators.ts37 + Captions cache size must be greater than 1. Captions cache size must be greater than 1. - - src/app/shared/form-validators/custom-config-validators.ts38 + src/app/shared/form-validators/custom-config-validators.ts38 + Captions cache size must be a number. Captions cache size must be a number. - - src/app/shared/form-validators/custom-config-validators.ts39 + src/app/shared/form-validators/custom-config-validators.ts39 + Signup limit is required. Signup limit is required. - - src/app/shared/form-validators/custom-config-validators.ts46 - Signup limit must be greater than 1. Use -1 to disable it.Signup limit must be greater than 1. Use -1 to disable it. + src/app/shared/form-validators/custom-config-validators.ts46 + + + Signup limit must be greater than 1. Use -1 to disable it. + Signup limit must be greater than 1. Use -1 to disable it. src/app/shared/form-validators/custom-config-validators.ts 47 - Signup limit must be a number. Signup limit must be a number. - - src/app/shared/form-validators/custom-config-validators.ts48 + src/app/shared/form-validators/custom-config-validators.ts48 + Admin email is required. Admin email is required. - - src/app/shared/form-validators/custom-config-validators.ts55 + src/app/shared/form-validators/custom-config-validators.ts55 + Admin email must be valid. Admin email must be valid. - - src/app/shared/form-validators/custom-config-validators.ts56 + src/app/shared/form-validators/custom-config-validators.ts56 + Transcoding threads is required. Transcoding threads is required. - - src/app/shared/form-validators/custom-config-validators.ts63 + src/app/shared/form-validators/custom-config-validators.ts63 + Transcoding threads must be greater or equal to 0. Transcoding threads must be greater or equal to 0. - - src/app/shared/form-validators/custom-config-validators.ts64 - Max live duration is required.Max live duration is required. + src/app/shared/form-validators/custom-config-validators.ts64 + + + Max live duration is required. + Max live duration is required. src/app/shared/form-validators/custom-config-validators.ts 71 - - Max live duration should be greater or equal to -1.Max live duration should be greater or equal to -1. + + + Max live duration should be greater or equal to -1. + Max live duration should be greater or equal to -1. src/app/shared/form-validators/custom-config-validators.ts 72 - - Max instance lives is required.Max instance lives is required. + + + Max instance lives is required. + Max instance lives is required. src/app/shared/form-validators/custom-config-validators.ts 79 - - Max instance lives should be greater or equal to -1.Max instance lives should be greater or equal to -1. + + + Max instance lives should be greater or equal to -1. + Max instance lives should be greater or equal to -1. src/app/shared/form-validators/custom-config-validators.ts 80 - - Max user lives is required.Max user lives is required. + + + Max user lives is required. + Max user lives is required. src/app/shared/form-validators/custom-config-validators.ts 87 - - Max user lives should be greater or equal to -1.Max user lives should be greater or equal to -1. + + + Max user lives should be greater or equal to -1. + Max user lives should be greater or equal to -1. src/app/shared/form-validators/custom-config-validators.ts 88 - - Concurrency is required.Concurrency is required. + + + Concurrency is required. + Concurrency is required. src/app/shared/form-validators/custom-config-validators.ts 95 - - Concurrency should be greater or equal to 1.Concurrency should be greater or equal to 1. + + + Concurrency should be greater or equal to 1. + Concurrency should be greater or equal to 1. src/app/shared/form-validators/custom-config-validators.ts 96 @@ -8507,32 +9070,36 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Index URL should be a URL Index URL should be a URL - - src/app/shared/form-validators/custom-config-validators.ts103 + src/app/shared/form-validators/custom-config-validators.ts103 + Search index URL should be a URL Search index URL should be a URL - - src/app/shared/form-validators/custom-config-validators.ts110 + src/app/shared/form-validators/custom-config-validators.ts110 + Email is required. Email is required. - - - src/app/shared/form-validators/user-validators.ts37src/app/shared/form-validators/instance-validators.ts7 + src/app/shared/form-validators/user-validators.ts37 + src/app/shared/form-validators/instance-validators.ts7 + Email must be valid. Email must be valid. - - - src/app/shared/form-validators/user-validators.ts38src/app/shared/form-validators/instance-validators.ts8 - Handle is required.Handle is required. + src/app/shared/form-validators/user-validators.ts38 + src/app/shared/form-validators/instance-validators.ts8 + + + Handle is required. + Handle is required. src/app/shared/form-validators/user-validators.ts 48 - - Handle must be valid (eg. chocobozzz@example.com).Handle must be valid (eg. chocobozzz@example.com). + + + Handle must be valid (eg. chocobozzz@example.com). + Handle must be valid (eg. chocobozzz@example.com). src/app/shared/form-validators/user-validators.ts 49 @@ -8541,358 +9108,375 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your name is required. Your name is required. - - src/app/shared/form-validators/instance-validators.ts19 + src/app/shared/form-validators/instance-validators.ts19 + Your name must be at least 1 character long. Your name must be at least 1 character long. - - src/app/shared/form-validators/instance-validators.ts20 + src/app/shared/form-validators/instance-validators.ts20 + Your name cannot be more than 120 characters long. Your name cannot be more than 120 characters long. - - src/app/shared/form-validators/instance-validators.ts21 + src/app/shared/form-validators/instance-validators.ts21 + A subject is required. A subject is required. - - src/app/shared/form-validators/instance-validators.ts32 + src/app/shared/form-validators/instance-validators.ts32 + The subject must be at least 1 character long. The subject must be at least 1 character long. - - src/app/shared/form-validators/instance-validators.ts33 + src/app/shared/form-validators/instance-validators.ts33 + The subject cannot be more than 120 characters long. The subject cannot be more than 120 characters long. - - src/app/shared/form-validators/instance-validators.ts34 + src/app/shared/form-validators/instance-validators.ts34 + A message is required. A message is required. - - src/app/shared/form-validators/instance-validators.ts45 + src/app/shared/form-validators/instance-validators.ts45 + The message must be at least 3 characters long. The message must be at least 3 characters long. - - src/app/shared/form-validators/instance-validators.ts46 + src/app/shared/form-validators/instance-validators.ts46 + The message cannot be more than 5000 characters long. The message cannot be more than 5000 characters long. - - src/app/shared/form-validators/instance-validators.ts47 + src/app/shared/form-validators/instance-validators.ts47 + Username is required. Username is required. - - - src/app/shared/form-validators/user-validators.ts12src/app/shared/form-validators/login-validators.ts9 + src/app/shared/form-validators/user-validators.ts12 + src/app/shared/form-validators/login-validators.ts9 + Password is required. Password is required. - - - src/app/shared/form-validators/user-validators.ts58src/app/shared/form-validators/user-validators.ts69src/app/shared/form-validators/login-validators.ts18 + src/app/shared/form-validators/user-validators.ts58 + src/app/shared/form-validators/user-validators.ts69 + src/app/shared/form-validators/login-validators.ts18 + Confirmation of the password is required. Confirmation of the password is required. - - src/app/shared/form-validators/reset-password-validators.ts9 + src/app/shared/form-validators/reset-password-validators.ts9 + Username must be at least 1 character long. Username must be at least 1 character long. - - src/app/shared/form-validators/user-validators.ts13 + src/app/shared/form-validators/user-validators.ts13 + Username cannot be more than 50 characters long. Username cannot be more than 50 characters long. - - src/app/shared/form-validators/user-validators.ts14 + src/app/shared/form-validators/user-validators.ts14 + Username should be lowercase alphanumeric; dots and underscores are allowed. Username should be lowercase alphanumeric; dots and underscores are allowed. - - src/app/shared/form-validators/user-validators.ts15 + src/app/shared/form-validators/user-validators.ts15 + Channel name is required. Channel name is required. - - src/app/shared/form-validators/user-validators.ts27 + src/app/shared/form-validators/user-validators.ts27 + Channel name must be at least 1 character long. Channel name must be at least 1 character long. - - src/app/shared/form-validators/user-validators.ts28 + src/app/shared/form-validators/user-validators.ts28 + Channel name cannot be more than 50 characters long. Channel name cannot be more than 50 characters long. - - src/app/shared/form-validators/user-validators.ts29 - Channel name should be lowercase, and can contain only alphanumeric characters, dots and underscores.Channel name should be lowercase, and can contain only alphanumeric characters, dots and underscores. - - src/app/shared/form-validators/user-validators.ts30 - + src/app/shared/form-validators/user-validators.ts29 + + + Channel name should be lowercase, and can contain only alphanumeric characters, dots and underscores. + Channel name should be lowercase, and can contain only alphanumeric characters, dots and underscores. + src/app/shared/form-validators/user-validators.ts30 + Password must be at least 6 characters long. Password must be at least 6 characters long. - - - src/app/shared/form-validators/user-validators.ts70src/app/shared/form-validators/user-validators.ts81 + src/app/shared/form-validators/user-validators.ts70 + src/app/shared/form-validators/user-validators.ts81 + Password cannot be more than 255 characters long. Password cannot be more than 255 characters long. - - - src/app/shared/form-validators/user-validators.ts71src/app/shared/form-validators/user-validators.ts82 + src/app/shared/form-validators/user-validators.ts71 + src/app/shared/form-validators/user-validators.ts82 + The new password and the confirmed password do not correspond. The new password and the confirmed password do not correspond. - - src/app/shared/form-validators/user-validators.ts89 + src/app/shared/form-validators/user-validators.ts89 + Video quota is required. Video quota is required. - - src/app/shared/form-validators/user-validators.ts96 + src/app/shared/form-validators/user-validators.ts96 + Quota must be greater than -1. Quota must be greater than -1. - - src/app/shared/form-validators/user-validators.ts97 + src/app/shared/form-validators/user-validators.ts97 + Daily upload limit is required. Daily upload limit is required. - - src/app/shared/form-validators/user-validators.ts103 + src/app/shared/form-validators/user-validators.ts103 + Daily upload limit must be greater than -1. Daily upload limit must be greater than -1. - - src/app/shared/form-validators/user-validators.ts104 + src/app/shared/form-validators/user-validators.ts104 + User role is required. User role is required. - - src/app/shared/form-validators/user-validators.ts111 + src/app/shared/form-validators/user-validators.ts111 + Description must be at least 3 characters long. Description must be at least 3 characters long. - - - - src/app/shared/form-validators/user-validators.ts123src/app/shared/form-validators/video-channel-validators.ts38src/app/shared/form-validators/video-playlist-validators.ts33 + src/app/shared/form-validators/user-validators.ts123 + src/app/shared/form-validators/video-channel-validators.ts38 + src/app/shared/form-validators/video-playlist-validators.ts33 + Description cannot be more than 1000 characters long. Description cannot be more than 1000 characters long. - - - - src/app/shared/form-validators/user-validators.ts124src/app/shared/form-validators/video-channel-validators.ts39src/app/shared/form-validators/video-playlist-validators.ts34 + src/app/shared/form-validators/user-validators.ts124 + src/app/shared/form-validators/video-channel-validators.ts39 + src/app/shared/form-validators/video-playlist-validators.ts34 + You must agree with the instance terms in order to register on it. You must agree with the instance terms in order to register on it. - - src/app/shared/form-validators/user-validators.ts131 + src/app/shared/form-validators/user-validators.ts131 + Ban reason must be at least 3 characters long. Ban reason must be at least 3 characters long. - - src/app/shared/form-validators/user-validators.ts141 + src/app/shared/form-validators/user-validators.ts141 + Ban reason cannot be more than 250 characters long. Ban reason cannot be more than 250 characters long. - - src/app/shared/form-validators/user-validators.ts142 + src/app/shared/form-validators/user-validators.ts142 + Display name is required. Display name is required. - - - - src/app/shared/form-validators/user-validators.ts153src/app/shared/form-validators/video-channel-validators.ts26src/app/shared/form-validators/video-playlist-validators.ts12 + src/app/shared/form-validators/user-validators.ts153 + src/app/shared/form-validators/video-channel-validators.ts26 + src/app/shared/form-validators/video-playlist-validators.ts12 + Display name must be at least 1 character long. Display name must be at least 1 character long. - - - - src/app/shared/form-validators/user-validators.ts154src/app/shared/form-validators/video-channel-validators.ts27src/app/shared/form-validators/video-playlist-validators.ts13 + src/app/shared/form-validators/user-validators.ts154 + src/app/shared/form-validators/video-channel-validators.ts27 + src/app/shared/form-validators/video-playlist-validators.ts13 + Display name cannot be more than 50 characters long. Display name cannot be more than 50 characters long. - - - src/app/shared/form-validators/user-validators.ts155src/app/shared/form-validators/video-channel-validators.ts28 + src/app/shared/form-validators/user-validators.ts155 + src/app/shared/form-validators/video-channel-validators.ts28 + Report reason is required. Report reason is required. - - src/app/shared/form-validators/abuse-validators.ts7 + src/app/shared/form-validators/abuse-validators.ts7 + Report reason must be at least 2 characters long. Report reason must be at least 2 characters long. - - src/app/shared/form-validators/abuse-validators.ts8 + src/app/shared/form-validators/abuse-validators.ts8 + Report reason cannot be more than 3000 characters long. Report reason cannot be more than 3000 characters long. - - src/app/shared/form-validators/abuse-validators.ts9 + src/app/shared/form-validators/abuse-validators.ts9 + Moderation comment is required. Moderation comment is required. - - src/app/shared/form-validators/abuse-validators.ts16 + src/app/shared/form-validators/abuse-validators.ts16 + Moderation comment must be at least 2 characters long. Moderation comment must be at least 2 characters long. - - src/app/shared/form-validators/abuse-validators.ts17 + src/app/shared/form-validators/abuse-validators.ts17 + Moderation comment cannot be more than 3000 characters long. Moderation comment cannot be more than 3000 characters long. - - src/app/shared/form-validators/abuse-validators.ts18 + src/app/shared/form-validators/abuse-validators.ts18 + Abuse message is required. Abuse message is required. - - src/app/shared/form-validators/abuse-validators.ts25 + src/app/shared/form-validators/abuse-validators.ts25 + Abuse message must be at least 2 characters long. Abuse message must be at least 2 characters long. - - src/app/shared/form-validators/abuse-validators.ts26 + src/app/shared/form-validators/abuse-validators.ts26 + Abuse message cannot be more than 3000 characters long. Abuse message cannot be more than 3000 characters long. - - src/app/shared/form-validators/abuse-validators.ts27 + src/app/shared/form-validators/abuse-validators.ts27 + The channel is required. The channel is required. - - src/app/shared/form-validators/video-ownership-change-validators.ts7 + src/app/shared/form-validators/video-ownership-change-validators.ts7 + Block reason must be at least 2 characters long. Block reason must be at least 2 characters long. - - src/app/shared/form-validators/video-block-validators.ts7 + src/app/shared/form-validators/video-block-validators.ts7 + Block reason cannot be more than 300 characters long. Block reason cannot be more than 300 characters long. - - src/app/shared/form-validators/video-block-validators.ts8 + src/app/shared/form-validators/video-block-validators.ts8 + Video caption language is required. Video caption language is required. - - src/app/shared/form-validators/video-captions-validators.ts7 + src/app/shared/form-validators/video-captions-validators.ts7 + Video caption file is required. Video caption file is required. - - src/app/shared/form-validators/video-captions-validators.ts14 + src/app/shared/form-validators/video-captions-validators.ts14 + The username is required. The username is required. - - src/app/shared/form-validators/video-ownership-change-validators.ts14 + src/app/shared/form-validators/video-ownership-change-validators.ts14 + You can only transfer ownership to a local account You can only transfer ownership to a local account - - src/app/shared/form-validators/video-ownership-change-validators.ts15 + src/app/shared/form-validators/video-ownership-change-validators.ts15 + Name is required. Name is required. - - src/app/shared/form-validators/video-channel-validators.ts12 + src/app/shared/form-validators/video-channel-validators.ts12 + Name must be at least 1 character long. Name must be at least 1 character long. - - src/app/shared/form-validators/video-channel-validators.ts13 + src/app/shared/form-validators/video-channel-validators.ts13 + Name cannot be more than 50 characters long. Name cannot be more than 50 characters long. - - src/app/shared/form-validators/video-channel-validators.ts14 + src/app/shared/form-validators/video-channel-validators.ts14 + Name should be lowercase alphanumeric; dots and underscores are allowed. Name should be lowercase alphanumeric; dots and underscores are allowed. - - src/app/shared/form-validators/video-channel-validators.ts15 + src/app/shared/form-validators/video-channel-validators.ts15 + Support text must be at least 3 characters long. Support text must be at least 3 characters long. - - src/app/shared/form-validators/video-channel-validators.ts49 - Support text cannot be more than 1000 characters longSupport text cannot be more than 1000 characters long - - src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See the documentation to learn how to use the PeerTube live streaming feature. + src/app/shared/form-validators/video-channel-validators.ts49 + + + Support text cannot be more than 1000 characters long + Support text cannot be more than 1000 characters long + src/app/shared/form-validators/video-channel-validators.ts50 + + + See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 - Comment is required. Comment is required. - - src/app/shared/form-validators/video-comment-validators.ts7 + src/app/shared/form-validators/video-comment-validators.ts7 + Comment must be at least 2 characters long. Comment must be at least 2 characters long. - - src/app/shared/form-validators/video-comment-validators.ts8 + src/app/shared/form-validators/video-comment-validators.ts8 + Comment cannot be more than 3000 characters long. Comment cannot be more than 3000 characters long. - - src/app/shared/form-validators/video-comment-validators.ts9 + src/app/shared/form-validators/video-comment-validators.ts9 + Display name cannot be more than 120 characters long. Display name cannot be more than 120 characters long. - - src/app/shared/form-validators/video-playlist-validators.ts14 + src/app/shared/form-validators/video-playlist-validators.ts14 + Privacy is required. Privacy is required. - - src/app/shared/form-validators/video-playlist-validators.ts23 + src/app/shared/form-validators/video-playlist-validators.ts23 + The channel is required when the playlist is public. The channel is required when the playlist is public. - - src/app/shared/form-validators/video-playlist-validators.ts41 - Live informationLive information - - src/app/shared/shared-video-live/live-stream-information.component.html3 - Live RTMP UrlLive RTMP Url - - src/app/shared/shared-video-live/live-stream-information.component.html19src/app/+videos/+video-edit/shared/video-edit.component.html218 - Live stream keyLive stream key - - src/app/shared/shared-video-live/live-stream-information.component.html24src/app/+videos/+video-edit/shared/video-edit.component.html223 - ⚠️ Never share your stream key with anyone.⚠️ Never share your stream key with anyone. - - src/app/shared/shared-video-live/live-stream-information.component.html27src/app/+videos/+video-edit/shared/video-edit.component.html226 - Permanent livePermanent live + src/app/shared/form-validators/video-playlist-validators.ts41 + + + Live information + Live information + src/app/shared/shared-video-live/live-stream-information.component.html3 + + + Live RTMP Url + Live RTMP Url + src/app/shared/shared-video-live/live-stream-information.component.html19 + src/app/+videos/+video-edit/shared/video-edit.component.html218 + + + Live stream key + Live stream key + src/app/shared/shared-video-live/live-stream-information.component.html24 + src/app/+videos/+video-edit/shared/video-edit.component.html223 + + + ⚠️ Never share your stream key with anyone. + ⚠️ Never share your stream key with anyone. + src/app/shared/shared-video-live/live-stream-information.component.html27 + src/app/+videos/+video-edit/shared/video-edit.component.html226 + + + Permanent live + Permanent live src/app/shared/shared-video-live/live-stream-information.component.html 10 - - Replay will be savedReplay will be saved + + + Replay will be saved + Replay will be saved src/app/shared/shared-video-live/live-stream-information.component.html 11 @@ -8901,19 +9485,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Video name is required. Video name is required. - - src/app/shared/form-validators/video-validators.ts15 + src/app/shared/form-validators/video-validators.ts15 + Video name must be at least 3 characters long. Video name must be at least 3 characters long. - - src/app/shared/form-validators/video-validators.ts16 + src/app/shared/form-validators/video-validators.ts16 + Video name cannot be more than 120 characters long. Video name cannot be more than 120 characters long. - - src/app/shared/form-validators/video-validators.ts17 - Video name has leading or trailing whitespace.Video name has leading or trailing whitespace. + src/app/shared/form-validators/video-validators.ts17 + + + Video name has leading or trailing whitespace. + Video name has leading or trailing whitespace. src/app/shared/form-validators/video-validators.ts 18 @@ -8922,72 +9508,76 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Video privacy is required. Video privacy is required. - - src/app/shared/form-validators/video-validators.ts25 + src/app/shared/form-validators/video-validators.ts25 + Video channel is required. Video channel is required. - - src/app/shared/form-validators/video-validators.ts52 + src/app/shared/form-validators/video-validators.ts52 + Video description must be at least 3 characters long. Video description must be at least 3 characters long. - - src/app/shared/form-validators/video-validators.ts59 + src/app/shared/form-validators/video-validators.ts59 + Video description cannot be more than 10000 characters long. Video description cannot be more than 10000 characters long. - - src/app/shared/form-validators/video-validators.ts60 + src/app/shared/form-validators/video-validators.ts60 + A tag should be more than 2 characters long. A tag should be more than 2 characters long. - - src/app/shared/form-validators/video-validators.ts67 + src/app/shared/form-validators/video-validators.ts67 + A tag should be less than 30 characters long. A tag should be less than 30 characters long. - - src/app/shared/form-validators/video-validators.ts68 + src/app/shared/form-validators/video-validators.ts68 + A maximum of 5 tags can be used on a video. A maximum of 5 tags can be used on a video. - - src/app/shared/form-validators/video-validators.ts75 - A tag should be more than 1 and less than 30 characters long.A tag should be more than 1 and less than 30 characters long. - - src/app/shared/form-validators/video-validators.ts76 - + src/app/shared/form-validators/video-validators.ts75 + + + A tag should be more than 1 and less than 30 characters long. + A tag should be more than 1 and less than 30 characters long. + src/app/shared/form-validators/video-validators.ts76 + Video support must be at least 3 characters long. Video support must be at least 3 characters long. - - src/app/shared/form-validators/video-validators.ts83 + src/app/shared/form-validators/video-validators.ts83 + Video support cannot be more than 1000 characters long. Video support cannot be more than 1000 characters long. - - src/app/shared/form-validators/video-validators.ts84 + src/app/shared/form-validators/video-validators.ts84 + A date is required to schedule video update. A date is required to schedule video update. - - src/app/shared/form-validators/video-validators.ts91 + src/app/shared/form-validators/video-validators.ts91 + This file is too large. This file is too large. - - src/app/shared/shared-forms/reactive-file.component.ts50 - PeerTube cannot handle this kind of file. Accepted extensions are }.PeerTube cannot handle this kind of file. Accepted extensions are }. - - src/app/shared/shared-forms/reactive-file.component.ts56 - + src/app/shared/shared-forms/reactive-file.component.ts50 + + + PeerTube cannot handle this kind of file. Accepted extensions are }. + PeerTube cannot handle this kind of file. Accepted extensions are }. + src/app/shared/shared-forms/reactive-file.component.ts56 + Add a new option Add a new option - - src/app/shared/shared-forms/select/select-checkbox.component.ts28 - Custom value...Custom value... + src/app/shared/shared-forms/select/select-checkbox.component.ts28 + + + Custom value... + Custom value... src/app/shared/shared-forms/select/select-custom-value.component.ts 69 @@ -8996,437 +9586,429 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular All unsaved data will be lost, are you sure you want to leave this page? All unsaved data will be lost, are you sure you want to leave this page? - - src/app/core/routing/can-deactivate-guard.service.ts19 + src/app/core/routing/can-deactivate-guard.service.ts19 + Sunday Sunday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts10 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts10 + Monday Monday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts11 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts11 + Tuesday Tuesday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts12 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts12 + Wednesday Wednesday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts13 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts13 + Thursday Thursday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts14 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts14 + Friday Friday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts15 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts15 + Saturday Saturday - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts16 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts16 + Sun Sun Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts20 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts20 + Mon Mon Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts21 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts21 + Tue Tue Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts22 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts22 + Wed Wed Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts23 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts23 + Thu Thu Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts24 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts24 + Fri Fri Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts25 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts25 + Sat Sat Day name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts26 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts26 + Su Su Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts30 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts30 + Mo Mo Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts31 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts31 + Tu Tu Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts32 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts32 + We We Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts33 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts33 + Th Th Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts34 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts34 + Fr Fr Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts35 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts35 + Sa Sa Day name min - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts36 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts36 + January January - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts40 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts40 + February February - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts41 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts41 + March March - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts42 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts42 + April April - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts43 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts43 + May May - - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts44src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts59 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts44 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts59 + June June - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts45 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts45 + July July - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts46 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts46 + August August - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts47 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts47 + September September - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts48 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts48 + October October - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts49 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts49 + November November - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts50 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts50 + December December - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts51 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts51 + Jan Jan Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts55 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts55 + Feb Feb Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts56 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts56 + Mar Mar Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts57 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts57 + Apr Apr Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts58 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts58 + Jun Jun Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts60 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts60 + Jul Jul Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts61 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts61 + Aug Aug Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts62 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts62 + Sep Sep Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts63 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts63 + Oct Oct Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts64 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts64 + Nov Nov Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts65 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts65 + Dec Dec Month name short - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts66 + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts66 + Clear Clear - - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts71 - yy-mm-ddyy-mm-dd - + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts71 + + + yy-mm-dd + yy-mm-dd Date format in this locale. - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts83 - + src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts83 + Instance languages Instance languages - - src/app/+videos/+video-edit/shared/video-edit.component.ts172 + src/app/+videos/+video-edit/shared/video-edit.component.ts172 + All languages All languages - - - src/app/+videos/+video-edit/shared/video-edit.component.ts173src/app/shared/shared-user-settings/user-video-settings.component.ts39 + src/app/+videos/+video-edit/shared/video-edit.component.ts173 + src/app/shared/shared-user-settings/user-video-settings.component.ts39 + Hidden Hidden - - src/app/shared/shared-instance/instance-features-table.component.ts54 + src/app/shared/shared-instance/instance-features-table.component.ts54 + Blurred with confirmation request Blurred with confirmation request - - src/app/shared/shared-instance/instance-features-table.component.ts55 + src/app/shared/shared-instance/instance-features-table.component.ts55 + Displayed Displayed - - src/app/shared/shared-instance/instance-features-table.component.ts56 - ~ 1 minute~ 1 minute - - src/app/shared/shared-instance/instance-features-table.component.ts75 - ~ minutes~ minutes - - src/app/shared/shared-instance/instance-features-table.component.ts77 - - + src/app/shared/shared-instance/instance-features-table.component.ts56 + + + ~ 1 minute + ~ 1 minute + src/app/shared/shared-instance/instance-features-table.component.ts75 + + + ~ minutes + ~ minutes + src/app/shared/shared-instance/instance-features-table.component.ts77 + - - of full HD videos - + of full HD videos of full HD videos - - src/app/shared/shared-instance/instance-features-table.component.ts93 + src/app/shared/shared-instance/instance-features-table.component.ts93 + - - of HD videos - + of HD videos of HD videos - - src/app/shared/shared-instance/instance-features-table.component.ts94 + src/app/shared/shared-instance/instance-features-table.component.ts94 + - - of average quality videos - + of average quality videos of average quality videos - - src/app/shared/shared-instance/instance-features-table.component.ts95 + src/app/shared/shared-instance/instance-features-table.component.ts95 + - - (channel page) - + (channel page) (channel page) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + - - (account page) - + (account page) (account page) - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 - + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Emphasis - - src/app/shared/shared-main/misc/help.component.ts81 + src/app/shared/shared-main/misc/help.component.ts81 + Links Links - - src/app/shared/shared-main/misc/help.component.ts82 + src/app/shared/shared-main/misc/help.component.ts82 + New lines New lines - - src/app/shared/shared-main/misc/help.component.ts83 + src/app/shared/shared-main/misc/help.component.ts83 + Lists Lists - - src/app/shared/shared-main/misc/help.component.ts84 + src/app/shared/shared-main/misc/help.component.ts84 + Images Images - - src/app/shared/shared-main/misc/help.component.ts85 - Close searchClose search + src/app/shared/shared-main/misc/help.component.ts85 + + + Close search + Close search src/app/shared/shared-main/misc/simple-search-input.component.html 14 - - users banned. - + users banned. users banned. - - src/app/shared/shared-moderation/user-ban-modal.component.ts53 + src/app/shared/shared-moderation/user-ban-modal.component.ts53 + User banned. User banned. - - src/app/shared/shared-moderation/user-ban-modal.component.ts54 + src/app/shared/shared-moderation/user-ban-modal.component.ts54 + Do you really want to unban ? Do you really want to unban ? - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + User unbanned. User unbanned. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts77 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts77 + If you remove this user, you will not be able to create another with the same username! If you remove this user, you will not be able to create another with the same username! - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts91 + User deleted. User deleted. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts97 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts97 + User email set as verified User email set as verified - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts108 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts108 + Account muted. Account muted. - - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts120src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts240 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts120 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts240 + - Instance - muted. - + Instance muted. Instance muted. @@ -9440,321 +10022,329 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Mute server - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Server muted by the instance. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Add a message to communicate with the reporter - - src/app/shared/shared-abuse-list/abuse-message-modal.component.ts100 + src/app/shared/shared-abuse-list/abuse-message-modal.component.ts100 + Add a message to communicate with the moderation team Add a message to communicate with the moderation team - - src/app/shared/shared-abuse-list/abuse-message-modal.component.ts103 + src/app/shared/shared-abuse-list/abuse-message-modal.component.ts103 + Account unmuted by the instance. Account unmuted by the instance. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts190 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts190 + Instance muted by the instance. Instance muted by the instance. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts204 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts204 + Instance unmuted by the instance. Instance unmuted by the instance. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts218 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts218 + Are you sure you want to remove all the comments of this account? Are you sure you want to remove all the comments of this account? - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts229 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts229 + Delete account comments Delete account comments - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts230 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts230 + Will remove comments of this account (may take several minutes). Will remove comments of this account (may take several minutes). - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts236 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts236 + Edit user Edit user - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts264 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts264 + Change quota, role, and more. Change quota, role, and more. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts265 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts265 + Delete user Delete user - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts269 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts269 + Unban user Unban user - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts280 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts280 + Allow the user to login and create videos/comments again Allow the user to login and create videos/comments again - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts281 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts281 + Mute this account Mute this account - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts298 - Hide any content from that user from you.Hide any content from that user from you. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts299 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts298 + + + Hide any content from that user from you. + Hide any content from that user from you. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts299 + Unmute this account Unmute this account - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts304 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts304 + Show back content from that user for you. Show back content from that user for you. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts305 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts305 + Mute the instance Mute the instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts310 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts310 + Hide any content from that instance for you. Hide any content from that instance for you. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts311 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts311 + Unmute the instance Unmute the instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts316 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts316 + Show back content from that instance for you. Show back content from that instance for you. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts317 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts317 + Remove comments from your videos Remove comments from your videos - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts322 - Remove comments made by this account on your videos.Remove comments made by this account on your videos. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts323 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts322 + + + Remove comments made by this account on your videos. + Remove comments made by this account on your videos. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts323 + Mute this account by your instance Mute this account by your instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts334 - Hide any content from that user from you, your instance and its users.Hide any content from that user from you, your instance and its users. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts335 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts334 + + + Hide any content from that user from you, your instance and its users. + Hide any content from that user from you, your instance and its users. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts335 + Unmute this account by your instance Unmute this account by your instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts340 - Show this user's content to the users of this instance again.Show this user's content to the users of this instance again. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts341 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts340 + + + Show this user's content to the users of this instance again. + Show this user's content to the users of this instance again. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts341 + Mute the instance by your instance Mute the instance by your instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts352 - Hide any content from that instance from you, your instance and its users.Hide any content from that instance from you, your instance and its users. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts353 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts352 + + + Hide any content from that instance from you, your instance and its users. + Hide any content from that instance from you, your instance and its users. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts353 + Unmute the instance by your instance Unmute the instance by your instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts358 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts358 + Show back content from that instance for you, your instance and its users. Show back content from that instance for you, your instance and its users. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts359 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts359 + Remove comments from your instance Remove comments from your instance - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts369 - Remove comments made by this account from your instance.Remove comments made by this account from your instance. - - src/app/shared/shared-moderation/user-moderation-dropdown.component.ts370 - + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts369 + + + Remove comments made by this account from your instance. + Remove comments made by this account from your instance. + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts370 + Violent or repulsive Violent or repulsive - - src/app/shared/shared-moderation/abuse.service.ts139 + src/app/shared/shared-moderation/abuse.service.ts139 + Contains offensive, violent, or coarse language or iconography. Contains offensive, violent, or coarse language or iconography. - - src/app/shared/shared-moderation/abuse.service.ts140 + src/app/shared/shared-moderation/abuse.service.ts140 + Hateful or abusive Hateful or abusive - - src/app/shared/shared-moderation/abuse.service.ts144 + src/app/shared/shared-moderation/abuse.service.ts144 + Contains abusive, racist or sexist language or iconography. Contains abusive, racist or sexist language or iconography. - - src/app/shared/shared-moderation/abuse.service.ts145 + src/app/shared/shared-moderation/abuse.service.ts145 + Spam, ad or false news Spam, ad or false news - - src/app/shared/shared-moderation/abuse.service.ts149 + src/app/shared/shared-moderation/abuse.service.ts149 + Contains marketing, spam, purposefully deceitful news, or otherwise misleading thumbnail/text/tags. Please provide reputable sources to report hoaxes. Contains marketing, spam, purposefully deceitful news, or otherwise misleading thumbnail/text/tags. Please provide reputable sources to report hoaxes. - - src/app/shared/shared-moderation/abuse.service.ts150 + src/app/shared/shared-moderation/abuse.service.ts150 + Privacy breach or doxxing Privacy breach or doxxing - - src/app/shared/shared-moderation/abuse.service.ts154 + src/app/shared/shared-moderation/abuse.service.ts154 + Contains personal information that could be used to track, identify, contact or impersonate someone (e.g. name, address, phone number, email, or credit card details). Contains personal information that could be used to track, identify, contact or impersonate someone (e.g. name, address, phone number, email, or credit card details). - - src/app/shared/shared-moderation/abuse.service.ts155 + src/app/shared/shared-moderation/abuse.service.ts155 + Infringes your copyright wrt. the regional laws with which the server must comply. Infringes your copyright wrt. the regional laws with which the server must comply. - - src/app/shared/shared-moderation/abuse.service.ts160 + src/app/shared/shared-moderation/abuse.service.ts160 + Breaks server rules Breaks server rules - - src/app/shared/shared-moderation/abuse.service.ts164 + src/app/shared/shared-moderation/abuse.service.ts164 + Anything not included in the above that breaks the terms of service, code of conduct, or general rules in place on the server. Anything not included in the above that breaks the terms of service, code of conduct, or general rules in place on the server. - - src/app/shared/shared-moderation/abuse.service.ts165 + src/app/shared/shared-moderation/abuse.service.ts165 + The above can only be seen in thumbnails. The above can only be seen in thumbnails. - - src/app/shared/shared-moderation/abuse.service.ts174 - CaptionsCaptions - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-moderation/abuse.service.ts174 + + + Captions + Captions + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). The above can only be seen in captions (please describe which). - - src/app/shared/shared-moderation/abuse.service.ts179 - + src/app/shared/shared-moderation/abuse.service.ts179 + Too many attempts, please try again after minutes. Too many attempts, please try again after minutes. - - src/app/core/rest/rest-extractor.service.ts67 + src/app/core/rest/rest-extractor.service.ts67 + Too many attempts, please try again later. Too many attempts, please try again later. - - src/app/core/rest/rest-extractor.service.ts69 + src/app/core/rest/rest-extractor.service.ts69 + Server error. Please retry later. Server error. Please retry later. - - src/app/core/rest/rest-extractor.service.ts72 + src/app/core/rest/rest-extractor.service.ts72 + Subscribed to all current channels of . You will be notified of all their new videos. Subscribed to all current channels of . You will be notified of all their new videos. - - src/app/shared/shared-user-subscription/subscribe-button.component.ts109 + src/app/shared/shared-user-subscription/subscribe-button.component.ts109 + Subscribed to . You will be notified of all their new videos. Subscribed to . You will be notified of all their new videos. - - src/app/shared/shared-user-subscription/subscribe-button.component.ts110 + src/app/shared/shared-user-subscription/subscribe-button.component.ts110 + Subscribed Subscribed - - src/app/shared/shared-user-subscription/subscribe-button.component.ts112 + src/app/shared/shared-user-subscription/subscribe-button.component.ts112 + - Unsubscribed from all channels of - - + Unsubscribed from all channels of Unsubscribed from all channels of - - src/app/shared/shared-user-subscription/subscribe-button.component.ts139 + src/app/shared/shared-user-subscription/subscribe-button.component.ts139 + - Unsubscribed from - - + Unsubscribed from Unsubscribed from - - src/app/shared/shared-user-subscription/subscribe-button.component.ts140 + src/app/shared/shared-user-subscription/subscribe-button.component.ts140 + Unsubscribed Unsubscribed - - src/app/shared/shared-user-subscription/subscribe-button.component.ts142 - Multiple ways to subscribe to the current channelMultiple ways to subscribe to the current channel + src/app/shared/shared-user-subscription/subscribe-button.component.ts142 + + + Multiple ways to subscribe to the current channel + Multiple ways to subscribe to the current channel src/app/shared/shared-user-subscription/subscribe-button.component.html 44 - - Open subscription dropdownOpen subscription dropdown + + + Open subscription dropdown + Open subscription dropdown src/app/shared/shared-user-subscription/subscribe-button.component.html 46 @@ -9763,188 +10353,209 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Moderator - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + - Video removed from - - + Video removed from Video removed from - - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts98src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts307 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts98 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts307 + Video added in at timestamps Video added in at timestamps - - src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts377 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts377 + - Video added in - - + Video added in Video added in - - src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts378 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts378 + Timestamps updated Timestamps updated - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts117src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts273 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts117 + src/app/shared/shared-video-playlist/video-add-to-playlist.component.ts273 + - Starts at + Starts at Starts at - - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts140src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts143 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts140 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts143 + - Stops at + Stops at Stops at - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts141 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts141 + - and stops at + and stops at and stops at - - src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts143 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.ts143 + Delete video Delete video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Actions for the comment - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Delete comment - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Do you really want to delete this comment? - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Comment deleted. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Encoder - - src/app/shared/shared-video-miniature/video-download.component.ts160 + src/app/shared/shared-video-miniature/video-download.component.ts160 + Format name Format name - - src/app/shared/shared-video-miniature/video-download.component.ts161 + src/app/shared/shared-video-miniature/video-download.component.ts161 + Size Size - - src/app/shared/shared-video-miniature/video-download.component.ts162 + src/app/shared/shared-video-miniature/video-download.component.ts162 + Bitrate Bitrate - - - src/app/shared/shared-video-miniature/video-download.component.ts164src/app/shared/shared-video-miniature/video-download.component.ts187 + src/app/shared/shared-video-miniature/video-download.component.ts164 + src/app/shared/shared-video-miniature/video-download.component.ts187 + Codec Codec - - src/app/shared/shared-video-miniature/video-download.component.ts184 + src/app/shared/shared-video-miniature/video-download.component.ts184 + Copied Copied - - - src/app/shared/shared-forms/input-toggle-hidden.component.ts47src/app/shared/shared-video-miniature/video-download.component.ts151 - CopyCopy - - - src/app/shared/shared-forms/input-toggle-hidden.component.html15src/app/shared/shared-forms/input-toggle-hidden.component.html15 + src/app/shared/shared-forms/input-toggle-hidden.component.ts47 + src/app/shared/shared-video-miniature/video-download.component.ts151 + + + Copy + Copy + src/app/shared/shared-forms/input-toggle-hidden.component.html15 + src/app/shared/shared-forms/input-toggle-hidden.component.html15 + Video reported. Video reported. - - src/app/shared/shared-moderation/report-modals/video-report.component.ts111 + src/app/shared/shared-moderation/report-modals/video-report.component.ts111 + Do you really want to delete this video? Do you really want to delete this video? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Video deleted. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Actions for the reporter - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Mute reporter - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. This video will be duplicated by your instance. - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts226 - DownloadDownload - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts272 - Display live informationDisplay live information - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 - UpdateUpdate - - src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts176src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts110src/app/shared/shared-main/buttons/edit-button.component.ts17src/app/shared/shared-main/buttons/edit-button.component.ts22src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts284 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts226 + + + Download + Download + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts272 + + + Display live information + Display live information + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + + + Update + Update + src/app/+my-library/+my-video-channels/my-video-channel-update.component.ts176 + src/app/+my-library/my-video-playlists/my-video-playlist-update.component.ts110 + src/app/shared/shared-main/buttons/edit-button.component.ts17 + src/app/shared/shared-main/buttons/edit-button.component.ts22 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts284 + Block Block - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts290 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts290 + Save to playlist Save to playlist - - - src/app/+videos/+video-watch/video-watch.component.ts161src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video.You need to be <a href="/login">logged in</a> to rate this video. - - src/app/+videos/+video-watch/video-watch.component.ts250 + src/app/+videos/+video-watch/video-watch.component.ts161 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 + + + You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Mirror - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts302 - ReportReport - - src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts314 - RemoveRemove - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 - Remove & re-draftRemove & re-draft - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 - {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}}{VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts302 + + + Report + Report + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts314 + + + Remove + Remove + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + + + Remove & re-draft + Remove & re-draft + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + + + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} src/app/+videos/+video-watch/comment/video-comments.component.html 4 @@ -9953,10 +10564,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Mute account - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 - Open video actionsOpen video actions + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + + + Open video actions + Open video actions src/app/shared/shared-video-miniature/video-actions-dropdown.component.html 4 @@ -9969,83 +10582,83 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Mute server account - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Report - - src/app/shared/shared-abuse-list/abuse-details.component.html55 + src/app/shared/shared-abuse-list/abuse-details.component.html55 + Reported part Reported part - - src/app/shared/shared-abuse-list/abuse-details.component.html73 + src/app/shared/shared-abuse-list/abuse-details.component.html73 + Note Note - - src/app/shared/shared-abuse-list/abuse-details.component.html80 + src/app/shared/shared-abuse-list/abuse-details.component.html80 + The video was deleted The video was deleted - - src/app/shared/shared-abuse-list/abuse-details.component.html89 + src/app/shared/shared-abuse-list/abuse-details.component.html89 + Comment: Comment: - - src/app/shared/shared-abuse-list/abuse-details.component.html95 + src/app/shared/shared-abuse-list/abuse-details.component.html95 + Messages with the reporter Messages with the reporter - - src/app/shared/shared-abuse-list/abuse-message-modal.component.html4 + src/app/shared/shared-abuse-list/abuse-message-modal.component.html4 + Messages with the moderation team Messages with the moderation team - - src/app/shared/shared-abuse-list/abuse-message-modal.component.html5 + src/app/shared/shared-abuse-list/abuse-message-modal.component.html5 + - - No messages for now. - + No messages for now. No messages for now. - - src/app/shared/shared-abuse-list/abuse-message-modal.component.html28 + src/app/shared/shared-abuse-list/abuse-message-modal.component.html28 + Add a message Add a message - - src/app/shared/shared-abuse-list/abuse-message-modal.component.html44 + src/app/shared/shared-abuse-list/abuse-message-modal.component.html44 + Published Published - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + - Publication scheduled on + Publication scheduled on Publication scheduled on - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Waiting transcoding - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode To transcode - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import To import - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10054,404 +10667,507 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Add to watch later Add to watch later - - src/app/shared/shared-thumbnail/video-thumbnail.component.ts29 + src/app/shared/shared-thumbnail/video-thumbnail.component.ts29 + Remove from watch later Remove from watch later - - src/app/shared/shared-thumbnail/video-thumbnail.component.ts30 - LIVE ENDEDLIVE ENDED - - src/app/shared/shared-thumbnail/video-thumbnail.component.html32 + src/app/shared/shared-thumbnail/video-thumbnail.component.ts30 + + + LIVE ENDED + LIVE ENDED + src/app/shared/shared-thumbnail/video-thumbnail.component.html32 + Only I can see this video Only I can see this video - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Only shareable via a private link - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Anyone can see this video - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Only users of this instance can see this video - - src/app/shared/shared-main/video/video.service.ts397 - viewers viewers - - src/app/shared/shared-main/video/video.model.ts206 - views views - - src/app/shared/shared-main/video/video.model.ts209 - CloseClose - - node_modules/@ng-bootstrap/ng-bootstrap/src/alert/alert.ts58 - Slide of Slide of - + src/app/shared/shared-main/video/video.service.ts397 + + + viewers + viewers + src/app/shared/shared-main/video/video.model.ts206 + + + views + views + src/app/shared/shared-main/video/video.model.ts209 + + + Close + Close + node_modules/@ng-bootstrap/ng-bootstrap/src/alert/alert.ts58 + + + Slide of + Slide of Currently selected slide number read by screen reader - node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts114 - PreviousPrevious - - node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts132 - NextNext - - node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts147 - Previous monthPrevious month - - node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts24node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts34 - Next monthNext month - - node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts44node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts57 - Select monthSelect month - - node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts43node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts49 - Select yearSelect year - - node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts59node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts72 - «««« - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts182 - «« - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts186 - »» - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts194 - »»»» - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts201 - FirstFirst - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts208 - PreviousPrevious - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts215 - NextNext - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts225 - LastLast - - node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts232 - - - node_modules/@ng-bootstrap/ng-bootstrap/src/progressbar/progressbar.ts31 - HHHH - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts40 - HoursHours - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts45 - MMMM - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts52 - MinutesMinutes - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts57 - Increment hoursIncrement hours - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts62 - Decrement hoursDecrement hours - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts67 - Increment minutesIncrement minutes - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts75 - Decrement minutesDecrement minutes - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts82 - SSSS - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts85 - SecondsSeconds - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts90 - Increment secondsIncrement seconds - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts98 - Decrement secondsDecrement seconds - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts105 - - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts125 - - - node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts116 - CloseClose - - node_modules/@ng-bootstrap/ng-bootstrap/src/toast/toast.ts76 + node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts114 + + + Previous + Previous + node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts132 + + + Next + Next + node_modules/@ng-bootstrap/ng-bootstrap/src/carousel/carousel.ts147 + + + Previous month + Previous month + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts24 + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts34 + + + Next month + Next month + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts44 + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation.ts57 + + + Select month + Select month + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts43 + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts49 + + + Select year + Select year + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts59 + node_modules/@ng-bootstrap/ng-bootstrap/src/datepicker/datepicker-navigation-select.ts72 + + + «« + «« + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts182 + + + « + « + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts186 + + + » + » + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts194 + + + »» + »» + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts201 + + + First + First + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts208 + + + Previous + Previous + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts215 + + + Next + Next + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts225 + + + Last + Last + node_modules/@ng-bootstrap/ng-bootstrap/src/pagination/pagination.ts232 + + + + + node_modules/@ng-bootstrap/ng-bootstrap/src/progressbar/progressbar.ts31 + + + HH + HH + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts40 + + + Hours + Hours + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts45 + + + MM + MM + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts52 + + + Minutes + Minutes + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts57 + + + Increment hours + Increment hours + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts62 + + + Decrement hours + Decrement hours + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts67 + + + Increment minutes + Increment minutes + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts75 + + + Decrement minutes + Decrement minutes + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts82 + + + SS + SS + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts85 + + + Seconds + Seconds + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts90 + + + Increment seconds + Increment seconds + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts98 + + + Decrement seconds + Decrement seconds + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts105 + + + + + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts125 + + + + + node_modules/@ng-bootstrap/ng-bootstrap/src/timepicker/timepicker.ts116 + + + Close + Close + node_modules/@ng-bootstrap/ng-bootstrap/src/toast/toast.ts76 + Video to import updated. Video to import updated. - - - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts135src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts145 + src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts135 + src/app/+videos/+video-edit/video-add-components/video-import-url.component.ts145 + Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - UploadUpload - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + + + Upload + Upload + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + - Upload - - + Upload Upload - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + Upload cancelled Upload cancelled - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + Video published. Video published. - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 + + + Your video quota is exceeded with this video ( video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 + + + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - - + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. - - src/app/+videos/+video-edit/video-update.component.ts93 + src/app/+videos/+video-edit/video-update.component.ts93 + Video updated. Video updated. - - src/app/+videos/+video-edit/video-update.component.ts158 + src/app/+videos/+video-edit/video-update.component.ts158 + Report comment Report comment - - - src/app/shared/shared-moderation/report-modals/comment-report.component.ts51 + src/app/shared/shared-moderation/report-modals/comment-report.component.ts51 + - The deletion will be sent to remote instances so they can reflect the change. + The deletion will be sent to remote instances so they can reflect the change. The deletion will be sent to remote instances so they can reflect the change. - - src/app/+videos/+video-watch/comment/video-comments.component.ts175 + src/app/+videos/+video-watch/comment/video-comments.component.ts175 + - It is a remote comment, so the deletion will only be effective on your instance. + It is a remote comment, so the deletion will only be effective on your instance. It is a remote comment, so the deletion will only be effective on your instance. - - src/app/+videos/+video-watch/comment/video-comments.component.ts177 - Delete and re-draftDelete and re-draft - - src/app/+videos/+video-watch/comment/video-comments.component.ts203 - Do you really want to delete and re-draft this comment?Do you really want to delete and re-draft this comment? - - src/app/+videos/+video-watch/comment/video-comments.component.ts203 + src/app/+videos/+video-watch/comment/video-comments.component.ts177 + + + Delete and re-draft + Delete and re-draft + src/app/+videos/+video-watch/comment/video-comments.component.ts203 + + + Do you really want to delete and re-draft this comment? + Do you really want to delete and re-draft this comment? + src/app/+videos/+video-watch/comment/video-comments.component.ts203 + Stop autoplaying next video Stop autoplaying next video - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Autoplay next video - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Stop looping playlist videos - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Loop playlist videos - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 - Placeholder imagePlaceholder image + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + + + Placeholder image + Placeholder image src/app/+videos/+video-watch/video-watch.component.html 11 - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>?This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 - RedirectionRedirection - - src/app/+videos/+video-watch/video-watch.component.ts441 - + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + + + Redirection + Redirection + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? This video contains mature or explicit content. Are you sure you want to watch it? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Mature or explicit content - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Up Next - - src/app/+videos/+video-watch/video-watch.component.ts645 - CancelCancel - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts645 + + + Cancel + Cancel + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Autoplay is suspended - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Enter/exit fullscreen (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Play/Pause the video (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Mute/unmute the video (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Increase the volume (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Decrease the volume (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Seek the video forward (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Seek the video backward (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Increase playback rate (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Decrease playback rate (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Navigate in the video frame by frame (requires player focus) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Like the video - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Dislike the video - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. When active, the next video is automatically played after the current one. - - src/app/+videos/+video-watch/recommendations/recommended-videos.component.ts61 + src/app/+videos/+video-watch/recommendations/recommended-videos.component.ts61 + - Recently addedRecently added - - src/app/+videos/video-list/video-recently-added.component.ts37 - - - - + Recently added + Recently added + src/app/+videos/video-list/video-recently-added.component.ts37 + Videos from your subscriptions Videos from your subscriptions - - src/app/+videos/video-list/video-user-subscriptions.component.ts42 - Copy feed URLCopy feed URL - - src/app/+videos/video-list/video-user-subscriptions.component.ts65 - Feed URL copiedFeed URL copied - - src/app/+videos/video-list/video-user-subscriptions.component.ts110 - SubscriptionsSubscriptions - - src/app/+my-library/my-library.component.ts66src/app/+videos/video-list/video-user-subscriptions.component.ts46src/app/+videos/videos-routing.module.ts59 - HistoryHistory - - src/app/+my-library/my-library.component.ts71 - Open actionsOpen actions + src/app/+videos/video-list/video-user-subscriptions.component.ts42 + + + Copy feed URL + Copy feed URL + src/app/+videos/video-list/video-user-subscriptions.component.ts65 + + + Feed URL copied + Feed URL copied + src/app/+videos/video-list/video-user-subscriptions.component.ts110 + + + Subscriptions + Subscriptions + src/app/+my-library/my-library.component.ts66 + src/app/+videos/video-list/video-user-subscriptions.component.ts46 + src/app/+videos/videos-routing.module.ts59 + + + History + History + src/app/+my-library/my-library.component.ts71 + + + Open actions + Open actions src/app/shared/shared-main/buttons/action-dropdown.component.html 4 - - Local videosLocal videos - - src/app/+videos/videos-routing.module.ts72src/app/+videos/video-list/video-local.component.ts37 - Discover videosDiscover videos - - src/app/+videos/videos-routing.module.ts23 - Trending videosTrending videos - - src/app/+videos/videos-routing.module.ts32 - Recently added videosRecently added videos - - src/app/+videos/videos-routing.module.ts45 - Upload a videoUpload a video - - src/app/+videos/videos-routing.module.ts85 - Edit a videoEdit a video - - src/app/+videos/videos-routing.module.ts94 + + + Local videos + Local videos + src/app/+videos/videos-routing.module.ts72 + src/app/+videos/video-list/video-local.component.ts37 + + + Discover videos + Discover videos + src/app/+videos/videos-routing.module.ts23 + + + Trending videos + Trending videos + src/app/+videos/videos-routing.module.ts32 + + + Recently added videos + Recently added videos + src/app/+videos/videos-routing.module.ts45 + + + Upload a video + Upload a video + src/app/+videos/videos-routing.module.ts85 + + + Edit a video + Edit a video + src/app/+videos/videos-routing.module.ts94 + - \ No newline at end of file + From d31114ea38ea6f2ab9d1c123bdff4667e593abd4 Mon Sep 17 00:00:00 2001 From: Filip Bengtsson Date: Thu, 6 May 2021 21:31:24 +0000 Subject: [PATCH 045/136] Translated using Weblate (Swedish) Currently translated at 99.7% (1842 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/sv/ --- client/src/locale/angular.sv-SE.xlf | 1694 +++++++++++++-------------- 1 file changed, 836 insertions(+), 858 deletions(-) diff --git a/client/src/locale/angular.sv-SE.xlf b/client/src/locale/angular.sv-SE.xlf index ffe5809ad..e83b78f7a 100644 --- a/client/src/locale/angular.sv-SE.xlf +++ b/client/src/locale/angular.sv-SE.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Du har inga notifikationer. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - nämnde dig i en kommentar på videon + mentioned you on video + nämnde dig i en kommentar på videon src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - En ny version av tillägget eller temat är tillgängligt: + A new version of the plugin/theme is available: + En ny version av tillägget eller temat är tillgängligt: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - En ny version av PeerTube är tillgänglig: + A new version of PeerTube is available: + En ny version av PeerTube är tillgänglig: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Ändra din profilbild - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Ta bort profilbild - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history Min visningshistorik - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Spara i @@ -185,8 +183,8 @@ Options Alternativ - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Börja vid @@ -358,8 +356,10 @@ Avbryt src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + Inga resultat. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -455,15 +455,15 @@ Blocked Blockerad - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Känsligt - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Inga videor} =1 {1 video} other { videor}} @@ -489,10 +489,10 @@ Deleted Raderad - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Redigera start- och sluttid @@ -516,16 +516,15 @@ No results. Inga resultat. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Bästa @@ -540,10 +539,12 @@ Delete Ta bort - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Endast direktsändningar src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -584,8 +585,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://sv.wikipedia.org/wiki/Markdown" target="_blank" rel="noopener noreferrer">Markdown</a>-formatering med stöd för: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://sv.wikipedia.org/wiki/Markdown" target="_blank" rel="noopener noreferrer">Markdown</a>-formatering med stöd för: src/app/shared/shared-main/misc/help.component.ts75 @@ -837,8 +838,8 @@ User Användare - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Blockera @@ -935,16 +936,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Den här instansen tillåter kontoregistrering. Se till att läsa villkorenvillkoren innan du skapar ett konto. Du kan också söka efter en annan instans som passar dina behov bättre på https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Den här instansen tillåter kontoregistrering. Se till att läsa villkorenvillkoren innan du skapar ett konto. Du kan också söka efter en annan instans som passar dina behov bättre på https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Den här instansen tillåter inte kontoregistrering för närvarande, men du kan läsa villkoren för mer information eller hitta en annan instans som ger dig möjligheten att skaffa ett konto och ladda upp dina videor där. Hitta din instans av dem alla på https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Den här instansen tillåter inte kontoregistrering för närvarande, men du kan läsa villkoren för mer information eller hitta en annan instans som ger dig möjligheten att skaffa ett konto och ladda upp dina videor där. Hitta din instans av dem alla på https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1023,8 +1024,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Ett meddelande med instruktioner för att återställa lösenordet kommer skickas per e-post till . Länken är giltig i 1 timme. src/app/+login/login.component.ts121 @@ -1062,8 +1062,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - för + for + för src/app/+search/search.component.html 10 @@ -1135,8 +1135,8 @@ The link will expire within 1 hour. prenumeranter - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Välkommen till PeerTube, kära administratör! @@ -1397,9 +1397,9 @@ The link will expire within 1 hour. My videos Mina videor - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Mina importerade videor @@ -1899,48 +1899,54 @@ The link will expire within 1 hour. extensions tillägg - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Den här bilden är för stor. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Ladda upp ett nytt baner - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Ändra ditt baner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Ta bort baner - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: bildförhållande 6:1, rekommenderad storlek 1600×266, maxstorlek , utökningar - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Kontots profilbild src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Kanalens profilbild src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Avancerade filter src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2029,14 +2035,15 @@ The link will expire within 1 hour. Contains sensitive content Innehåller känsligt material src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Vissa instanser döljer videor med oförbehållsamt innehåll eller innehåll skapat för vuxna. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Publicera efter omkodning @@ -2063,7 +2070,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Redan uppladdad ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2307,9 +2314,9 @@ The link will expire within 1 hour. Total video quota Total videokvot - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. @@ -2434,8 +2441,8 @@ The link will expire within 1 hour. Report this comment Anmäl den här kommentaren - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Dela @@ -2683,23 +2690,22 @@ The link will expire within 1 hour. More information Mer information - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Den här videon har blockerats eftersom nya videor blockeras automatiskt - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW Känsligt innehåll - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Visa mer information @@ -2890,18 +2896,18 @@ The link will expire within 1 hour. Highlighted comment Markerad kommentar - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Svar - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Den här kommentaren har raderats - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Videoredundans @@ -2998,41 +3004,18 @@ The link will expire within 1 hour. Filter... Filtrera … - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Återställ filter - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Video / Kommentar / Konto - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3041,8 +3024,8 @@ The link will expire within 1 hour. Follower handle Hantera följare - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Status @@ -3052,57 +3035,57 @@ The link will expire within 1 hour. Created Skapad - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Öppna aktörens sida i en ny flik - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Accepterad - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Väntar - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Godkänn - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Neka - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Inga följare matchar de nuvarande filtren. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Din instans har inga följare. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Visar följare till av - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3113,60 +3096,60 @@ The link will expire within 1 hour. Host Värd - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Redundans tillåten - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Sluta följa - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Öppna instansen i en ny flik - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Inga värdar matchar de nuvarande filtren. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Din instans följer inte någon annan. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Visar värd till av - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Följ domäner - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Följ instanser - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Åtgärd - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Videoredundans @@ -3190,18 +3173,18 @@ The link will expire within 1 hour. Table parameters Tabellparametrar - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Markera kolumner - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Markera blockerade användare - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Användarnamn @@ -3309,60 +3292,59 @@ The link will expire within 1 hour. Hide Dölj - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Massåtgärder - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned Den här användaren har blockerats - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Öppna kontot i en ny flik - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Raderat konto - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login Användarens e-post måste verifieras innan inloggning - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification Användarens e-post har verifierats / Användaren behöver inte verifiera sin e-post för att logga in - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Total videokvot per dag - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Blockeringsanledning: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Blockerade användare src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3438,15 +3420,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Video - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Total storlek @@ -3480,57 +3459,61 @@ The link will expire within 1 hour. Sensitive Känsligt - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Inte federerad - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Datum - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Markera den här raden - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Åtgärder - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Kommenterad video - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Inga kommentarer hittades som matchar nuvarande filter. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Inga kommentarer hittades. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Lokala kommentarer src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Ta bort kommentarer src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3539,38 +3522,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Det finns inga anmälningar som matchar den här sökningen. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Inga anmälningar hittade. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Oavklarade anmälningar src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Accepterade anmälningar src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Avslagna anmälningar src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Anmälningar mot blockerade videor src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Anmälningar mot borttagna videor src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3579,25 +3572,29 @@ The link will expire within 1 hour. Block reason: Anledning för blockering: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Det finns inga blockerade videor som matchar kriterierna. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Inga blockerade videor hittades. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Automatiska blockeringar src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Manuella blockeringar src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3606,8 +3603,8 @@ The link will expire within 1 hour. Showing to of blocked videos Visar blockerad video till av - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Anmälningar @@ -3631,21 +3628,15 @@ The link will expire within 1 hour. Uppdatera den här kommentaren src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Anmälare - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3656,41 +3647,41 @@ The link will expire within 1 hour. Video Video - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Kommentera - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Den här videon har anmälts mer än en gång. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked Den här videon har blockerats - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on av - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted Videon har raderats - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Konto raderat - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Öppna videon i en ny flik @@ -3699,38 +3690,38 @@ The link will expire within 1 hour. State Status - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Meddelanden - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Intern anteckning - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Betyg - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Visar anmälning till av - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Anmäld src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3746,81 +3737,81 @@ The link will expire within 1 hour. Mute domain Ignorera domän - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Instans - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Ignorerad på - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Sluta ignorera - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Inga servrar matchar de nuvarande filtren. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Inga servrar hittades. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Visar nummer till av ignorerade instanser - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Det verkar som att din server inte använder HTTPS. Webbserver måste ha TLS aktiverat för att följa andra servrar. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Ignorera instanser - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Konto - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Inga konton matchar de nuvarande filtren. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Inga konton hittades. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Visa installerade tillägg @@ -3880,10 +3871,10 @@ The link will expire within 1 hour. Settings Inställningar - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Visa inställningar @@ -3892,8 +3883,8 @@ The link will expire within 1 hour. Uninstall Avinstallera - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Hett @@ -3987,33 +3978,33 @@ The link will expire within 1 hour. Delete this comment Ta bort kommentar - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Ta bort alla kommentarer från det här kontot - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Kommentarer raderas efter ett par minuter - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. kommentarer borttagna. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Vill du verkligen radera alla kommentarer från ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Kommentarer från kommer raderas inom några minuter - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Videokommentarer @@ -4030,17 +4021,14 @@ The link will expire within 1 hour. Showing to of comments Visar kommentar till av - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Markera alla rader - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Jobbtyp @@ -4071,8 +4059,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioritet (1 är högst) + Priority (1 = highest priority) + Prioritet (1 är högst) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4092,8 +4080,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Inga jobb av typen hittades. + No jobs found. + Inga jobb av typen hittades. src/app/+admin/system/jobs/jobs.component.html108 @@ -4123,8 +4111,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Efter -> + By -> + Efter -> src/app/+admin/system/logs/logs.component.html46 @@ -4195,8 +4183,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Hantera användare för att bygga upp en grupp moderatorer. + Manage users to build a moderation team. + Hantera användare för att bygga upp en grupp moderatorer. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4208,8 +4196,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Du kan låta andra administratörer veta att du huvudsakligen federerar känsligt material. Dessutom kommer rutan för känsligt och oförbehållsamt innehåll vara ifylld som standard. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Du kan låta andra administratörer veta att du huvudsakligen federerar känsligt material. Dessutom kommer rutan för känsligt och oförbehållsamt innehåll vara ifylld som standard. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4219,15 +4207,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Policy för videor med känsligt innehåll src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Gör miniatyrbilden suddig @@ -4344,8 +4332,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Använd tillägg och teman för mer komplicerade ändringar eller för mindre anpassningar. + Use plugins & themes for more involved changes, or add slight customizations. + Använd tillägg och teman för mer komplicerade ändringar eller för mindre anpassningar. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4457,8 +4445,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Hantera användare för att ändra deras kvot individuellt. + Manage users to set their quota individually. + Hantera användare för att ändra deras kvot individuellt. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4629,8 +4617,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Du bör enbart använda modererade sökregister i produktionsmiljö, alternativt göra ett eget. + You should only use moderated search indexes in production, or host your own. + Du bör enbart använda modererade sökregister i produktionsmiljö, alternativt göra ett eget. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4667,8 +4655,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Hantera kopplingar till andra instanser. + Manage relations with other instances. + Hantera kopplingar till andra instanser. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4707,8 +4695,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Se dokumentationen för mer information om den väntade webbadressen + See the documentation for more information about the expected URL + Se dokumentationen för mer information om den väntade webbadressen src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4722,8 +4710,8 @@ The link will expire within 1 hour. Administrator Administratör - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Administratörens e-postadress @@ -4768,8 +4756,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - När du delar en videolänk och instansen är godkänd av Twitter kommer en spelare bäddas in i Twitterflödet. Om instansen inte är godkänd kommer vi använda ett bildkort som länkar till din PeerTube-instans. Kryssa i den här rutan, spara inställningarna och testa med en videolänk från din instans (https://example.com/videos/watch/blabla) på https://cards-dev.twitter.com/validator för att se om din instans är godkänd. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + När du delar en videolänk och instansen är godkänd av Twitter kommer en spelare bäddas in i Twitterflödet. Om instansen inte är godkänd kommer vi använda ett bildkort som länkar till din PeerTube-instans. Kryssa i den här rutan, spara inställningarna och testa med en videolänk från din instans (https://example.com/videos/watch/blabla) på https://cards-dev.twitter.com/validator för att se om din instans är godkänd. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4816,8 +4804,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Maximalt antal direktsändningar på din instans samtidigt (-1 för ”obegränsat”) + Max simultaneous lives created on your instance (-1 for "unlimited") + Maximalt antal direktsändningar på din instans samtidigt (-1 för ”obegränsat”) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4829,8 +4817,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Maximalt antal direktsändningar samtidigt per användare (-1 för ”obegränsat”) + Max simultaneous lives created per user (-1 for "unlimited") + Maximalt antal direktsändningar samtidigt per användare (-1 för ”obegränsat”) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4926,14 +4914,15 @@ The link will expire within 1 hour. Allow additional extensions Tillåt ytterligare filändelser src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Låt användare ladda upp videor. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Tillåt uppladdning av ljudfiler @@ -4973,8 +4962,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Kräver minst version 4.1 av ffmpegSkapa HLS-spellistor och fragmenterade MP4-filer för bättre uppspelning än bara WebTorrent:Mjukare byten mellan upplösningarSnabbare uppspelning, särskilt för längre videorStabilare uppspelning med färre buggar och oändlig buffringOm du även stöder WebTorrent kommer varje video kräva dubbelt så mycket lagringsutrymme + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Kräver minst version 4.1 av ffmpegSkapa HLS-spellistor och fragmenterade MP4-filer för bättre uppspelning än bara WebTorrent:Mjukare byten mellan upplösningarSnabbare uppspelning, särskilt för längre videorStabilare uppspelning med färre buggar och oändlig buffringOm du även stöder WebTorrent kommer varje video kräva dubbelt så mycket lagringsutrymme src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5111,19 +5100,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Skriv ditt JavaScript här.Exempel: console.log('min instans är fantastisk'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Skriv ditt JavaScript här.Exempel: console.log('min instans är fantastisk'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Skriv din CSS-kod här. Exempel:#custom-css color: red; Föregå med #custom-css för att skriva över standardutseendet. Exempel:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Skriv din CSS-kod här. Exempel:#custom-css color: red; Föregå med #custom-css för att skriva över standardutseendet. Exempel:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5137,8 +5120,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Det finns fel i formuläret: + There are errors in the form: + Det finns fel i formuläret: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5252,14 +5235,15 @@ color: red; Default policy on videos containing sensitive content Standardpolicy för videor med känsligt innehåll src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Policy för känsliga videor @@ -5323,32 +5307,31 @@ color: red; Välj nästa ägare src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Senast publicerad överst - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Senast skapad överst - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Mest visad överst - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Mest gillad överst - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Längst överst - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Godkänn ägarskap @@ -5419,9 +5402,11 @@ color: red; Create video channel Skapa videokanal - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + Ingen kanal hittades. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5432,8 +5417,8 @@ color: red; prenumeranter - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Exempel: min_kanal @@ -5459,9 +5444,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - En kort text som berättar hur andra kan stötta din kanal (t.ex. medlemskap på någon plattform).<br /><br /> När du laddar upp en video till den här kanalen kommer videons supportruta fyllas i med den här texten automatiskt. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + En kort text som berättar hur andra kan stötta din kanal (t.ex. medlemskap på någon plattform).<br /><br /> När du laddar upp en video till den här kanalen kommer videons supportruta fyllas i med den här texten automatiskt. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5476,14 +5460,14 @@ color: red; prenumeranter - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Ladda upp en ny profilbild - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Mål @@ -5517,25 +5501,25 @@ color: red; Channel page Kanalsida - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Skapad av - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Ägarens kontosida - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Radera historik - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Du har inga videor i din visningshistorik än. @@ -5607,8 +5591,8 @@ color: red; Create playlist Skapa spellista - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Mina videokanaler @@ -5622,15 +5606,14 @@ color: red; Playlist } deleted. Spellistan har raderats. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Miniatyrbild för spellista src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Det finns inga videor i den här spellistan. @@ -5705,14 +5688,15 @@ color: red; Video channel playlists Kanalens spellistor src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Hantera kanal src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification @@ -5830,37 +5814,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 prenumerant} other { prenumeranter}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 video} other { videor}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Visa den här kanalen - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Inga videor} =1 {1 video} other { videor}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Vill du verkligen radera ? Det kommer att radera videor uppladdade till kanalen, och du kan inte skapa en kanal med samma namn ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Mina kanaler @@ -5876,19 +5858,19 @@ channel with the same name ()! See this video channel Visa den här videokanalen - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Den här kanalen har inga videor. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - VISA DEN HÄR KANALEN > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + VISA DEN HÄR KANALEN > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Statistik @@ -6139,8 +6121,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Webb-serverterna är inte offentliga eftersom vi använder websockets, ett protokoll som skiljer sig från den vanliga BitTorrent-trackern. När du använder webbläsaren skickar du ett meddelande med din IP-adress till trackern som slumpmässigt kommer välja andra serventer att vidarebefordra informationen till. Se det här dokumentet för mer information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Webb-serverterna är inte offentliga eftersom vi använder websockets, ett protokoll som skiljer sig från den vanliga BitTorrent-trackern. När du använder webbläsaren skickar du ett meddelande med din IP-adress till trackern som slumpmässigt kommer välja andra serventer att vidarebefordra informationen till. Se det här dokumentet för mer information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6470,8 +6452,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - En <code>.mp4</code> som bevarar originalets ljudspår men inte bilden + A <code>.mp4</code> that keeps the original audio track, with no video + En <code>.mp4</code> som bevarar originalets ljudspår men inte bilden src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6542,9 +6524,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, för att stödja flest enheter - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Det är svårt att uppskatta en servers förmåga att omkoda och strömma videor och vi kan inte trimma in PeerTube automatiskt. @@ -6767,29 +6749,29 @@ channel with the same name ()! Delete Radera - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + removed from instance followers @@ -6893,158 +6875,158 @@ channel with the same name ()! Violent or Repulsive Våldsamt eller motbjudande - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Hatiskt eller nedsättande - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam eller vilseledande - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Personuppgiftsskydd - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Upphovsrätt - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Serverregler - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Miniatyrbilder - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Interna åtgärder - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Radera anmälan - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Det markerade kontots handlingar - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Markera som godkänd - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Markera som nekad - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Lägg till en intern notering - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Åtgärder för videon - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Blockera video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Video blockerad. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Häv videons blockering - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Blockering hävd. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Vill du verkligen radera den här missbruksanmälan? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Missbruksanmälan raderad. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Raderad kommentar - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Korrespondens med anmälaren - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Korrespondens med moderatorer - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Uppdatera intern notering - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Byt till manuell blockering - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Videon är nu manuellt blockerad. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Vill du verkligen häva den här videons blockering? Detta kommer göra den synlig igen i videokatalogen. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Häv blockering - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Videon är inte längre blockerad. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes ja @@ -7188,8 +7170,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube tror att din webbläsares publika IP-adress är . + PeerTube thinks your web browser public IP is . + PeerTube tror att din webbläsares publika IP-adress är . src/app/+admin/system/debug/debug.component.html 4 @@ -7236,16 +7218,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Kontrollera kongifurationsnyckeln trust_proxy + Check the trust_proxy configuration key + Kontrollera kongifurationsnyckeln trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Om PeerTube körs genom Docker, kör reverse-proxy med network_mode: "host" (se ärende nummer 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Om PeerTube körs genom Docker, kör reverse-proxy med network_mode: "host" (se ärende nummer 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7405,77 +7387,77 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Videorna kommer raderas och kommentarerna arkiverade. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Blockera - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. Användare kommer inte längre kunna logga in, men videor och kommentarer kommer behållas så som de är. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Avsluta blockering - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Markera e-post som verifierad - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Du kan inte blockera root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Vill du verkligen avbryta blockeringen av användare? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. användare avblockerade. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Du kan inte radera root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Om du tar bort de här användarna kommer du inte kunna skapa nya med samma användarnamn! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. användare borttagna. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. användares e-post har markerats som verifierade. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Kontot ignoreras inte längre. @@ -7491,28 +7473,28 @@ channel with the same name ()! Videos history is enabled Videohistorik är aktiverad - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Videohistorik är deaktiverad - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Radera videohistorik - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Är du säker på att du vill radera hela din videohistorik? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Videohistorik raderad - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Min visningshistorik @@ -7521,12 +7503,11 @@ channel with the same name ()!3 - Track watch history Spåra visningshistorik - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Ägarskap accepterat @@ -7543,8 +7524,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Din nuvarande e-postadress är . Den kommer aldrig visas offentligt. + Your current email is . It is never shown to the public. + Din nuvarande e-postadress är . Den kommer aldrig visas offentligt. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7723,24 +7704,23 @@ channel with the same name ()! Unknown language Okänt språk - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. För många språk aktiverade. Aktivera antingen alla eller begränsa dem till max 20 stycken. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Videoinställningar har uppdaterats. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Inställningarna för videor eller visning har ändrats. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Kanalen har skapats. @@ -7783,18 +7763,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Uppge kanalens visningsnamn () för att bekräfta - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Kanalen har raderats. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Visningar idag - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Uppdatera kanal @@ -7871,15 +7851,15 @@ channel with the same name ()! Do you really want to delete ? Vill du verkligen radera ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Ändra ägarskap - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Spellistan har tagits bort. @@ -7898,15 +7878,15 @@ channel with the same name ()! Do you really want to delete videos? Vill du verkligen radera videor? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. videor har raderats. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Vill du verkligen radera @@ -7920,9 +7900,9 @@ channel with the same name ()! Video deleted. Videon har raderats. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Förfrågan om byte av ägarskap har skickats. @@ -7931,9 +7911,8 @@ channel with the same name ()! My channels Mina kanaler - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Mina spellistor @@ -7944,12 +7923,11 @@ channel with the same name ()!Mina prenumerationer src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Du har inte några prenumerationer än. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Mina anmälningar @@ -7983,9 +7961,9 @@ channel with the same name ()! max size största tillåtna storlek - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Maximera redigerare @@ -8031,9 +8009,9 @@ channel with the same name ()! Subscribe to the account Prenumerera på kontot - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS SPELLISTOR @@ -8098,8 +8076,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Kan inte hämta OAuth Client-uppgifter: . Försäkra dig om att du har konfigurerat PeerTube korrekt (i config-katalogen), speciellt ”webserver”-sektionen. src/app/core/auth/auth.service.ts99 @@ -8131,8 +8108,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language vilket språk som helst - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON @@ -8141,23 +8118,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide dölj - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur gör suddig - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display visa - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown Okänd - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Ditt lösenord har återställts! @@ -8237,8 +8214,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Lång (> 10 min) + Long (> 10 min) + Lång (> 10 min) src/app/+search/search-filters.component.ts73 @@ -8260,21 +8237,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. Sökregistret kan inte nås. Försöker igen med resultat från den här instansen istället. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Sökfel - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Sök - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8872,8 +8849,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Se dokumentationen för mer information om hur du använder direktsändningar i PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Se dokumentationen för mer information om hur du använder direktsändningar i PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9373,17 +9350,18 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (kanalsida) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (kontosida) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Betoning @@ -9473,19 +9451,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Kontot ignoreras av instansen. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Ignorera server - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Servern ignoreras av instansen. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Lägg till ett meddelande att skicka till anmälaren @@ -9714,9 +9692,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Textning - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Ovanstående förekommer endast i textningen (ange vilken). @@ -9790,8 +9768,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Moderator - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from En video har tagits bort från @@ -9837,29 +9815,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Radera video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Åtgärder för kommentaren - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Radera kommentar - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Vill du verkligen radera den här kommentaren? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Kommentaren har raderats. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Kodek @@ -9906,26 +9884,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? Vill du verkligen radera den här videon? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Video raderad. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Åtgärder för anmälaren - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Ignorera anmälare - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Den här videon kommer dupliceras av din instans. @@ -9939,9 +9917,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Visa information om sändningen - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Uppdatera @@ -9963,10 +9941,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Du måste vara <a href="/login">inloggad</a> för att betygsätta den här videon. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Du måste vara <a href="/login">inloggad</a> för att betygsätta den här videon. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Spegla @@ -9980,13 +9958,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Ta bort - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Ta bort och skriv om - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Inga kommentarer} =1 {1 kommentar} other { kommentarer}} @@ -9998,9 +9976,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Ignorera konto - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Öppna videomenyn @@ -10016,8 +9994,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Ignorera serverkonto - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Rapportera @@ -10066,29 +10044,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Publicerad - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Publiceringen har schemalagts till - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Inväntar omkodning - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Att omkoda - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Att importera - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10112,33 +10092,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Endast jag kan se den här videon - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Går endast att dela med en privat länk - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Alla kan se den här videon - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Den här videon kan endast ses av användare på den här instansen - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + viewers tittare - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views visningar - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + Close Stäng @@ -10348,14 +10328,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Din videokvot kommer överskridas av den här videon (videostorlek: , använt: , kvot: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Din dagliga videokvot kommer överskridas av den här videon (videostorlek: , använt: , kvot: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10377,23 +10355,23 @@ video size: , used: Stop autoplaying next video Spela inte nästa video automatiskt - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Spela nästa video automatiskt - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Sluta loopa videor i spellistor - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Loopa videor i spellistor - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Platshållarbild @@ -10403,105 +10381,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Den här videon finns inte på din instans. Vill du bli hänvisad till ursprungsinstansen <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Den här videon finns inte på din instans. Vill du bli hänvisad till ursprungsinstansen <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Omdirigering - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Den här videon innehåller oförbehållsamt innehåll eller innehåll skapat för vuxna. Är du säker på att du vill se den? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Oförbehållsamt innehåll eller innehåll skapat för vuxna - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Kommer härnäst - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Avbryt - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Automatisk uppspelning är upphävd - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Slå av eller på helskärmsläget (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Spela eller pausa videon (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Slå av eller på ljudet (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Hoppa till en position i videon: 0 motsvarar 0 % av den totala speltiden och 9 motsvarar 90 % (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Öka volymen (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Minska volymen (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Spola videon framåt (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Spola videon bakåt (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Öka uppspelningshastigheten (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Minska uppspelningshastigheten (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Föregående eller nästkommande bildruta (spelaren måste vara markerad) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Gilla videon - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Ogilla videon - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Nästa video kommer börja automatiskt om den här funktionen är aktiverad. From e8236826b796c7f03ee7909eb62d8b44400aaaa2 Mon Sep 17 00:00:00 2001 From: Duy Date: Fri, 7 May 2021 06:12:54 +0000 Subject: [PATCH 046/136] Translated using Weblate (Vietnamese) Currently translated at 100.0% (1846 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/vi/ --- client/src/locale/angular.vi-VN.xlf | 1706 +++++++++++++-------------- 1 file changed, 842 insertions(+), 864 deletions(-) diff --git a/client/src/locale/angular.vi-VN.xlf b/client/src/locale/angular.vi-VN.xlf index f8c525b56..8e1e71660 100644 --- a/client/src/locale/angular.vi-VN.xlf +++ b/client/src/locale/angular.vi-VN.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Bạn không có thông báo. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - nhắc tới bạn trong video + mentioned you on video + nhắc tới bạn trong video src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Một bản cập nhật plugin/theme mới đang chờ cập nhật: + A new version of the plugin/theme is available: + Một bản cập nhật plugin/theme mới đang chờ cập nhật: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Một phiên bản PeerTube mới đang chờ cập nhật: + A new version of PeerTube is available: + Một phiên bản PeerTube mới đang chờ cập nhật: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Đổi ảnh đại diện - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Xoá ảnh đại diện - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -173,8 +171,8 @@ My watch history Lịch sử xem - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Lưu vào @@ -183,8 +181,8 @@ Options Tuỳ chỉnh - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Bắt đầu từ @@ -354,8 +352,10 @@ Huỷ src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + Không có kết quả nào. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -451,15 +451,15 @@ Blocked Đã khoá - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Nhạy cảm - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Trống trơn!} =1 {1 video} other { video}} @@ -487,10 +487,10 @@ Deleted Đã xoá - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Chọn bắt đầu/kết thúc ở @@ -516,16 +516,15 @@ No results. Không có kết quả. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Hấp dẫn nhất @@ -540,10 +539,12 @@ Delete Xoá - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Chỉ video phát trực tiếp src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -584,8 +585,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> hỗ trợ tương thích: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> hỗ trợ tương thích: src/app/shared/shared-main/misc/help.component.ts75 @@ -837,8 +838,8 @@ User Người dùng - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Chặn @@ -935,16 +936,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Máy chủ này cho phép đăng ký. Tuy nhiên, hãy cẩn thận đọc kỹ Điều khoản dịch vụĐiều khoản dịch vụ trước khi tạo tài khoản. Bạn cũng có thể tham khảo thêm một số máy chủ khác tại: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Máy chủ này cho phép đăng ký. Tuy nhiên, hãy cẩn thận đọc kỹ Điều khoản dịch vụĐiều khoản dịch vụ trước khi tạo tài khoản. Bạn cũng có thể tham khảo thêm một số máy chủ khác tại: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Máy chủ này không cho đăng ký, bạn hãy đọc Điều khoản dịch vụ để tìm hiểu thêm hoặc tìm một máy chủ khác cho phép bạn tạo tài khoản và đăng video. Danh sách những máy chủ khác: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Máy chủ này không cho đăng ký, bạn hãy đọc Điều khoản dịch vụ để tìm hiểu thêm hoặc tìm một máy chủ khác cho phép bạn tạo tài khoản và đăng video. Danh sách những máy chủ khác: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1021,8 +1022,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Một email hướng dẫn reset mật khẩu sẽ được gửi đến . Link reset hết hạn sau 1 giờ. src/app/+login/login.component.ts121 @@ -1060,8 +1060,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - cho + for + cho src/app/+search/search.component.html 10 @@ -1121,9 +1121,9 @@ The link will expire within 1 hour. Bộ lọc - + - + src/app/+search/search.component.html19 @@ -1139,8 +1139,8 @@ The link will expire within 1 hour. người đăng kí - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Chào mừng đến với PeerTube, người anh em! @@ -1396,9 +1396,9 @@ The link will expire within 1 hour. My videos Video của tôi - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Video của tôi nhập @@ -1896,48 +1896,54 @@ The link will expire within 1 hour. extensions định dạng file - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Hình này quá lớn. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Tải lên ảnh bìa mới - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Thay ảnh bìa - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Xóa ảnh bìa - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: tỉ lệ 6/1, kích cỡ đề xuất: 1600x266, tối đa: ,định dạng: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Ảnh đại diện tài khoản src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Ảnh đại diện kênh src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Bộ lọc nâng cao src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2026,14 +2032,15 @@ The link will expire within 1 hour. Contains sensitive content Chứa nội dung nhạy cảm src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Một vài máy chủ sẽ ẩn video chứa nội dung bạo lực hoặc nhạy cảm theo mặc định. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Đăng sau khi chuyển đổi @@ -2060,7 +2067,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Đã tải lên ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2302,9 +2309,9 @@ The link will expire within 1 hour. Total video quota Quota - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. @@ -2431,8 +2438,8 @@ The link will expire within 1 hour. Report this comment Báo cáo bình luận này - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share Chia sẻ @@ -2689,23 +2696,22 @@ The link will expire within 1 hour. More information Tìm hiểu thêm - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Video bị khóa bởi vì máy chủ tự động khóa những video mới - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Tìm hiểu thêm @@ -2876,18 +2882,18 @@ The link will expire within 1 hour. Highlighted comment Bình luận nổi bật - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Trả lời - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Bình luận này đã bị xóa - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Video dư thừa @@ -2984,41 +2990,18 @@ The link will expire within 1 hour. Filter... Bộ lọc... - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Xóa bộ lọc - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Video/Bình Luận/Tài Khoản - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID @@ -3027,8 +3010,8 @@ The link will expire within 1 hour. Follower handle Người theo dõi handle - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Trạng thái @@ -3037,58 +3020,58 @@ The link will expire within 1 hour. Created - Đã tạo - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Đã tạo + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Mở trang tác nhân bằng tab mới - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Đã chấp nhận - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Đang chờ - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Chấp nhận - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Từ chối - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Không tìm thấy người theo dõi nào khớp với bộ lọc. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Máy chủ của bạn chưa có người theo dõi nào. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Đang hiện từ của người theo dõi - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3097,60 +3080,60 @@ The link will expire within 1 hour. Host Host - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Đã cho phép dư thừa - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Ngưng theo dõi - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Mở máy chủ trong tab mới - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Không tìm thấy host trùng khớp với bộ lọc. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Máy chủ của bạn không theo dõi bất kỳ ai. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Đang hiện tới của hosts - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains Theo dõi tên miền - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Theo dõi những máy chủ - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Hành động - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Dư thừa của video @@ -3174,18 +3157,18 @@ The link will expire within 1 hour. Table parameters Thành phần bảng - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Chọn cột - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Làm nổi bật những tài khoản bị cấm - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username Tên đăng nhập @@ -3293,60 +3276,59 @@ The link will expire within 1 hour. Hide Ẩn - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions Hành động hàng loạt - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned Tài khoản đã bị cấm - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Mở tài khoản trong tab mới - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Tài khoản đã xóa - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login Cần xác thực email trước khi đăng nhập - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification Địa chỉ thư của người dùng đã được xác nhận / Người dùng có thể đăng nhập mà không cần xác nhận qua thư - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Dung lượng giới hạn - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Lí do chặn: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Thành viên đã vô hiệu hóa src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3422,15 +3404,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video Video - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Dung lượng tổng @@ -3464,60 +3443,64 @@ The link will expire within 1 hour. Sensitive Nhạy cảm - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Không được liên kết - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Ngày - - + + - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Chọn hàng này - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Hành động - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Video đã bình luận - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Không có bình luận nào trùng khớp. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Không có bình luận nào. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Những bình luận ở máy chủ src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Những bình luận từ xa src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3526,38 +3509,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Không xâm phạm nào trùng khớp với bộ lọc gần đây. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Không tìm thấy xâm phạm. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Báo cáo chưa xử lý src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Báo cáo đã xử lý xong src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Những báo cáo đã từ chối src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Những báo cáo với video đã chặn src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Những báo cáo với video đã xóa src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3566,25 +3559,29 @@ The link will expire within 1 hour. Block reason: Lý do cấm: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Không video đã khóa nào trùng khớp với bộ lọc gần đây. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Không tìm thấy video đã khóa nào. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Tự động chặn src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Chặn thủ công src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3593,8 +3590,8 @@ The link will expire within 1 hour. Showing to of blocked videos Hiện từ của những video đã khóa - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Báo cáo @@ -3618,21 +3615,15 @@ The link will expire within 1 hour. Cập nhật bình luận này src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Người báo cáo - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3643,41 +3634,41 @@ The link will expire within 1 hour. Video Video - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Bình luận - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Video này bị báo cáo nhiều lần. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked Video đã bị khóa - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on bởi trên - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted Video đã bị xóa - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Tài khoản đã bị xóa - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab Mở video trong tab mới @@ -3686,38 +3677,38 @@ The link will expire within 1 hour. State Tình trạng - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Tin nhắn - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Ghi chú toàn cầu - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Điểm số - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports Đang hiện to of báo cáo - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Người bị báo cáo src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3733,81 +3724,81 @@ The link will expire within 1 hour. Mute domain Ẩn máy chủ - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Máy chủ - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Ẩn - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Bỏ ẩn - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Không có máy chủ nào trùng khớp. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Không tìm thấy máy chủ nào. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Hiện từ của máy chủ đã ẩn - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Bạn đang ở trên một máy chủ không hỗ trợ HTTPS. Cần phải kích hoạt TLS trước khi theo dõi những máy khác. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains Ẩn máy chủ - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Tài khoản - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Không có tài khoản nào trùng khớp. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Không tìm thấy tài khoản nào. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Danh sách plugin đã cài đặt @@ -3867,10 +3858,10 @@ The link will expire within 1 hour. Settings Thiết lập - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Hiển thị thiết lập @@ -3879,8 +3870,8 @@ The link will expire within 1 hour. Uninstall Gỡ bỏ - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Hot @@ -3970,33 +3961,33 @@ The link will expire within 1 hour. Delete this comment Xóa bình luận này - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Xóa hết bình luận từ tài khoản này - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Tất cả bình luận sẽ bị xóa sau vài phút - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. Tất cả bình luận của đã bị xóa. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Bạn có muốn xóa toàn bộ bình luận của ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Bình luận của sẽ bị xóa ngay bây giờ - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Bình luận video @@ -4013,17 +4004,14 @@ The link will expire within 1 hour. Showing to of comments Đang hiện to of bình luận - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Chọn toàn bộ hàng - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Loại công việc @@ -4054,8 +4042,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Ưu tiên (1 = ưu tiên cao nhất) + Priority (1 = highest priority) + Ưu tiên (1 = ưu tiên cao nhất) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4075,8 +4063,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Không công việc tìm thấy. + No jobs found. + Không công việc tìm thấy. src/app/+admin/system/jobs/jobs.component.html108 @@ -4106,8 +4094,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Bởi -> + By -> + Bởi -> src/app/+admin/system/logs/logs.component.html46 @@ -4178,8 +4166,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Quản lí người dùng để xây dựng đội ngũ kiểm duyệt viên. + Manage users to build a moderation team. + Quản lí người dùng để xây dựng đội ngũ kiểm duyệt viên. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4191,8 +4179,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Kích hoạt nó sẽ cho phép những quản trị viên khác biết rằng đây là máy chủ chứa nội dung nhạy cảm. Thêm vào đó, hộp kiểm NSFW khi upload video sẽ được chọn theo mặc định. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Kích hoạt nó sẽ cho phép những quản trị viên khác biết rằng đây là máy chủ chứa nội dung nhạy cảm. Thêm vào đó, hộp kiểm NSFW khi upload video sẽ được chọn theo mặc định. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4202,15 +4190,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Chính sách đối với video nhạy cảm src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để xem được video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails Làm mờ ảnh xem trước @@ -4327,8 +4315,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Sử dụng plugin & theme để cải thiện trải nghiệm, hoặc thêm tùy chỉnh. + Use plugins & themes for more involved changes, or add slight customizations. + Sử dụng plugin & theme để cải thiện trải nghiệm, hoặc thêm tùy chỉnh. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4440,8 +4428,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Quản lí người dùng để cho dung lượng tối đa của họ. + Manage users to set their quota individually. + Quản lí người dùng để cho dung lượng tối đa của họ. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4612,8 +4600,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Bạn chỉ nên sử dụng truy vấn tìm kiếm đã kiểm duyệt trong sản xuất, hoặc tự host. + You should only use moderated search indexes in production, or host your own. + Bạn chỉ nên sử dụng truy vấn tìm kiếm đã kiểm duyệt trong sản xuất, hoặc tự host. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4650,8 +4638,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Quản lí mối quan hệ với những máy chủ khác. + Manage relations with other instances. + Quản lí mối quan hệ với những máy chủ khác. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4690,8 +4678,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Xem tài liệu để biết thêm thông tin về URL dự kiến + See the documentation for more information about the expected URL + Xem tài liệu để biết thêm thông tin về URL dự kiến src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4705,8 +4693,8 @@ The link will expire within 1 hour. Administrator Quản trị viên - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email Email admin @@ -4751,8 +4739,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Nếu máy chủ của bạn được Twitter cho phép, một trình phát video đặc biệt sẽ chèn vào khi bạn chia sẻ video. Còn nếu không, chúng tôi chỉ sử dụng một hình ảnh đại diện chung để chỉ hướng đến máy chủ PeerTube của bạn. Đánh dấu hộp kiểm này, lưu lại cấu hình và kiểm tra với một link video máy chủ của bạn (https://example.com/videos/watch/blabla) trên https://cards-dev.twitter.com/validator để xem máy chủ của bạn đã được phép chưa. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Nếu máy chủ của bạn được Twitter cho phép, một trình phát video đặc biệt sẽ chèn vào khi bạn chia sẻ video. Còn nếu không, chúng tôi chỉ sử dụng một hình ảnh đại diện chung để chỉ hướng đến máy chủ PeerTube của bạn. Đánh dấu hộp kiểm này, lưu lại cấu hình và kiểm tra với một link video máy chủ của bạn (https://example.com/videos/watch/blabla) trên https://cards-dev.twitter.com/validator để xem máy chủ của bạn đã được phép chưa. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4799,8 +4787,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Số buổi phát trực tiếp cùng lúc tối đa trên máy chủ của bạn (-1 là "không giới hạn") + Max simultaneous lives created on your instance (-1 for "unlimited") + Số buổi phát trực tiếp cùng lúc tối đa trên máy chủ của bạn (-1 là "không giới hạn") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4812,8 +4800,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Số buổi phát trực tiếp tối của mỗi tài khoản (-1 là "không giới hạn") + Max simultaneous lives created per user (-1 for "unlimited") + Số buổi phát trực tiếp tối của mỗi tài khoản (-1 là "không giới hạn") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4909,14 +4897,15 @@ The link will expire within 1 hour. Allow additional extensions Cho phép thêm định dạng khác src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Cho phép thành viên đăng video . src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Cho phép tải lên âm thanh @@ -4956,8 +4945,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Yêu cầu ffmpeg >= 4.1Tạo danh sách HLS và phân mảnh file MP4 cho kết quả phát mượt hơn so với chỉ WebTorrent:Độ phân giải thay đổi mượt hơnTải nhanh hơn đặc biệt với video dàiÍt lỗi/chờ lâuNếu bạn bật hỗ trợ WebTorrent, dung lượng lưu trữ video sẽ tăng gấp đôi + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Yêu cầu ffmpeg >= 4.1Tạo danh sách HLS và phân mảnh file MP4 cho kết quả phát mượt hơn so với chỉ WebTorrent:Độ phân giải thay đổi mượt hơnTải nhanh hơn đặc biệt với video dàiÍt lỗi/chờ lâuNếu bạn bật hỗ trợ WebTorrent, dung lượng lưu trữ video sẽ tăng gấp đôi src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5094,19 +5083,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Viết mã JavaScript trực tiếp.Ví dụ: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Viết mã JavaScript trực tiếp.Ví dụ: console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Viết mã CSS trực tiếp. Ví dụ:#custom-css color: red; Prepend with #custom-css to override styles. Ví dụ:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Viết mã CSS trực tiếp. Ví dụ:#custom-css color: red; Prepend with #custom-css to override styles. Ví dụ:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5120,8 +5103,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Có lỗi trong form: + There are errors in the form: + Có lỗi trong form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5235,14 +5218,15 @@ color: red; Default policy on videos containing sensitive content Chính sách mặc định trên video chứa nội dung nhạy cảm src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để có thể xem được video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Chính sách về video nhạy cảm @@ -5306,32 +5290,31 @@ color: red; Chọn người sở hữu mới src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Đăng gần đây nhất - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Tạo lần cuối trước - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Xem nhiều nhất - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Yêu thích nhất - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Dài nhất - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Chấp nhận chủ sở hữu @@ -5402,9 +5385,11 @@ color: red; Create video channel Tạo kênh video - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + Không tìm thấy kênh nào. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5413,8 +5398,8 @@ color: red; subscribers người theo dõi - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel Ví dụ: my_channel @@ -5440,9 +5425,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Đoạn ngắn để kêu gọi mọi người hỗ trợ kênh của bạn (kênh tài trợ..).<br /><br /> Khi bạn tải lên một video, phần hỗ trợ dưới video sẽ hiện thông tin này. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Đoạn ngắn để kêu gọi mọi người hỗ trợ kênh của bạn (kênh tài trợ..).<br /><br /> Khi bạn tải lên một video, phần hỗ trợ dưới video sẽ hiện thông tin này. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5455,14 +5439,14 @@ color: red; subscribers người theo dõi - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Tải ảnh đại diện mới - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target Mục tiêu @@ -5496,25 +5480,25 @@ color: red; Channel page Trang kênh - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by Tạo bởi - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Trang tài khoản sở hữu - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Xóa lịch sử - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Bạn chưa có video nào trong lịch sử. @@ -5586,8 +5570,8 @@ color: red; Create playlist Tạo danh sách - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Kênh video của tôi @@ -5601,15 +5585,14 @@ color: red; Playlist } deleted. Danh sách } đã bị xóa. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail Ảnh cho danh sách src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. Danh sách này không có video. @@ -5675,14 +5658,15 @@ color: red; Video channel playlists Những danh sách kênh video src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Quản lý kênh src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification Yêu cầu email để xác thực tài khoản @@ -5798,37 +5782,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 người đăng ký} other { người đăng ký}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 video} other { video}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Hiện kênh này - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Chưa có video nào} =1 {1 video} other { video}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Bạn có chắc chắn muốn xóa ? Điều này sẽ xóa hết video đã đăng trên kênh này, và bạn sẽ không thể tạo kênh khác có cùng tên ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Những kênh của tôi @@ -5844,19 +5826,19 @@ channel with the same name ()! See this video channel Xem kênh video này - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Kênh này chưa có video nào. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - HIỆN KÊNH NÀY > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + HIỆN KÊNH NÀY > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats Thống kê @@ -6107,8 +6089,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Web peers không thể công khai truy cập: bởi vì chúng tôi sử dụng websocket transport, giao thức khác với BitTorrent tracker. Khi bạn đang trong trình duyệt web, bạn gửi một tín hiệu đến tracker sẽ tự động tín hiệu chứa địa chỉ IP của peer khác. Xem tài liệu nàyt để biết thêm thông tin + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers không thể công khai truy cập: bởi vì chúng tôi sử dụng websocket transport, giao thức khác với BitTorrent tracker. Khi bạn đang trong trình duyệt web, bạn gửi một tín hiệu đến tracker sẽ tự động tín hiệu chứa địa chỉ IP của peer khác. Xem tài liệu nàyt để biết thêm thông tin src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6269,7 +6251,7 @@ channel with the same name ()! A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. - Một kênh là nơi bạn mà đăng video lên. Tạo nhiều kênh sẽ giúp bạn sắp xếp và chia nội dung của bạn hợp lí. Ví dụ: bạn có thể tạo một kênh để đăng các buổi hòa nhạc piano của bạn và một kênh khác để đăng các video nói về bảo vệ môi trường. + Một kênh là nơi bạn mà đăng video lên. Tạo nhiều kênh sẽ giúp bạn sắp xếp và chia nội dung của bạn hợp lí. Ví dụ: bạn có thể tạo một kênh để đăng các buổi hòa nhạc piano của bạn và một kênh khác để đăng các video nói về bảo vệ môi trường. src/app/+signup/+register/register-step-channel.component.html5 @@ -6430,8 +6412,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> giữ âm thanh gốc, không video + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> giữ âm thanh gốc, không video src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6502,9 +6484,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, tương thích tối đa với thiết bị - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Việc ước tính khả năng chuyển mã và phát trực tuyến video của máy chủ không dễ dàng và chúng tôi không thể tự động điều chỉnh PeerTube. @@ -6723,29 +6705,29 @@ channel with the same name ()! Delete Xóa - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + removed from instance followers đã bị xóa khỏi người theo dõi máy chủ @@ -6845,158 +6827,158 @@ channel with the same name ()! Violent or Repulsive Bạo lực hoặc Ghê tởm - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Thù địch hoặc Bắt nạt - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam hoặc Tin giả - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Chế độ - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Xâm phạm bản quyền - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Quy tắc máy chủ - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Thumbnail - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Hành động quốc tế - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Xóa báo cáo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Áp đặt kiểm duyệt với tài khoản bị gắn cờ - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Đánh dấu là chấp nhận - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Đánh dấu là từ chối - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Thêm ghi chú quốc tế - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Áp chế video - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Chặn video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Video đã bị chặn. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Mở khóa video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Đã mở khóa video. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? Bạn có chắc muốn xóa báo cáo này? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Đã xóa báo cáo. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Đã xóa bình luận - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Nhắn tin với người báo cáo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Nhắn tin với kiểm duyệt viên - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Cập nhật ghi chú quốc tế - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Chuyển video khóa thành bình thường - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Video đã chuyển thành bình thường. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Bạn có chắc muốn mở khóa video này? Nó sẽ xuất hiện lại trong danh sách video máy chủ. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Mở khóa - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Đã mở khóa video . - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes đồng ý @@ -7132,8 +7114,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube nghĩ địa chỉ IP trên trình duyệt của bạn là . + PeerTube thinks your web browser public IP is . + PeerTube nghĩ địa chỉ IP trên trình duyệt của bạn là . src/app/+admin/system/debug/debug.component.html 4 @@ -7180,16 +7162,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Kiểm tra mã cấu hình trust_proxy + Check the trust_proxy configuration key + Kiểm tra mã cấu hình trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Nếu bạn vận hành PeerTube bằng Docker, kiểm tra reverse-proxy với network_mode: "host" (xem issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Nếu bạn vận hành PeerTube bằng Docker, kiểm tra reverse-proxy với network_mode: "host" (xem issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7349,75 +7331,75 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Video sẽ bị xóa, còn bình luận bị hóa đá. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Cấm - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. Người này sẽ không thể đăng nhập được nữa, nhưng video và bình luận vẫn sẽ giữ nguyên. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Bỏ chặn - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Cài Email như Xác Thực - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Không thể chặn root. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Bạn có chắc muốn bỏ chặn người dùng? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. Đã bỏ chặn người dùng. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Bạn không thể xóa root. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Nếu bạn xóa những thành viên đó, tên thành viên sẽ không còn sử dụng được nữa! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. người dùng đã xóa. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. đã xác thực email người dùng. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Tài khoản được bỏ ẩn. @@ -7433,28 +7415,28 @@ channel with the same name ()! Videos history is enabled Đã mở lịch sử video - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Đã tắt lịch sử video - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Xóa lịch sử video - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? Bạn có muốn xóa toàn bộ lịch sử video? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Đã xóa lịch sử video - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Lịch sử xem của bạn @@ -7463,12 +7445,11 @@ channel with the same name ()!3 - Track watch history Lưu dấu lịch sử xem - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Đã chấp nhận chủ sở hữu @@ -7485,8 +7466,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Email gần đây của bạn là . Nó sẽ không bao giờ hiển thị công khai. + Your current email is . It is never shown to the public. + Email gần đây của bạn là . Nó sẽ không bao giờ hiển thị công khai. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7665,24 +7646,23 @@ channel with the same name ()! Unknown language Chưa rõ - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Bạn đang bật quá nhiều ngôn ngữ. Chỉ nên bật tối đa 20 ngôn ngữ. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Đã cập nhật cài đặt video. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Đã cập nhật Hiển thị/Cài đặt Video. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Kênh video đã tạo. @@ -7725,18 +7705,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Hãy nhập tên hiển thị của kênh video ( ) để xác nhận - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Kênh video đã xóa. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Lượt xem trong ngày - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Cập nhật kênh video @@ -7813,15 +7793,15 @@ channel with the same name ()! Do you really want to delete ? Bạn có thật sự muốn xóa ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Đổi chủ sở hữu - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Danh sách đã xóa. @@ -7840,13 +7820,13 @@ channel with the same name ()! Do you really want to delete videos? Bạn có thật sự muốn xóa video của ? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. Video của đã bị xóa. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Bạn có thật sự muốn xóa ? @@ -7858,9 +7838,9 @@ channel with the same name ()! Video deleted. Video đã bị xóa. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Đã gửi yêu cầu thay đổi chủ sở hữu. @@ -7869,9 +7849,8 @@ channel with the same name ()! My channels Kênh của tôi - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Danh sách của tôi @@ -7882,12 +7861,11 @@ channel with the same name ()!Kênh tôi đăng ký src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Bạn chưa đăng ký kênh nào cả. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports Báo cáo của tôi @@ -7921,9 +7899,9 @@ channel with the same name ()! max size max size - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Phóng to trình chỉnh sửa @@ -7969,9 +7947,9 @@ channel with the same name ()! Subscribe to the account Theo dõi tài khoản này - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS DANH SÁCH @@ -8036,8 +8014,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Không thể truy xuất thông tin đăng nhập ứng dụng khách OAuth: . Hãy chắc rằng bạn đã cấu hình đúng PeerTube (config/ directory), đặc biệt là phần "webserver". src/app/core/auth/auth.service.ts99 @@ -8069,8 +8046,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language ngôn ngữ bất kỳ - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON TRÊN @@ -8079,23 +8056,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide ẩn - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur làm mờ - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display hiển thị - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! Bạn đã đổi mật khẩu thành công! @@ -8175,8 +8152,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Dài (> 10 phút) + Long (> 10 min) + Dài (> 10 phút) src/app/+search/search-filters.component.ts73 @@ -8198,21 +8175,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. Không thể tìm kiếm tất cả. Thay vào đó, hãy thử lại với kết quả chỉ ở máy chủ. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Lỗi tìm kiếm - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Tìm kiếm - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8786,8 +8763,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Đọc tài liệu để biết cách sử dụng tính năng Trực Tiếp của PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Đọc tài liệu để biết cách sử dụng tính năng Trực Tiếp của PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9285,15 +9262,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (channel page) (trang kênh) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (trang tài khoản) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Nhấn mạnh @@ -9391,19 +9369,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. Thành viên đã bị ẩn bởi máy chủ. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Ẩn máy chủ - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Máy chủ đã bị ẩn bởi máy chủ. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Thêm thông điệp để giao tiếp với người báo cáo @@ -9632,9 +9610,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Phụ đề - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Những điều trên chỉ có thể được nhìn thấy trong chú thích (vui lòng mô tả cái nào). @@ -9708,8 +9686,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator Người quản trị - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Video đã bị xoá khỏi @@ -9756,29 +9734,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video Xóa video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Hành động đối với bình luận - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Xóa bình luận - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Bạn có chắc muốn xóa bình luận này? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Đã xóa bình luận. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder Encoder @@ -9825,26 +9803,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? Bạn thực sự muốn xoá video chứ? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Đã xóa video. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Hành động đối với người báo cáo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Ẩn người báo cáo - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. Video này sẽ có bản sao ở máy chủ của bạn. @@ -9858,9 +9836,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Hiện thông tin buổi trực tiếp - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Cập nhật @@ -9882,10 +9860,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Bạn cần <a href="/login">đăng nhập</a> để đánh giá video này. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Bạn cần <a href="/login">đăng nhập</a> để đánh giá video này. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Mirror @@ -9899,13 +9877,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Hủy bỏ - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Bỏ & chỉnh sửa - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Bình luận} =1 {1 Bình luận} other { Bình luận}} @@ -9917,9 +9895,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Ẩn tài khoản - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Mở hành động video @@ -9935,8 +9913,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Ẩn tài khoản máy chủ - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report Báo cáo @@ -9985,29 +9963,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published Đã xuất bản - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Đã lên lịch xuất bản vào - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Đang chờ chuyển mã - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode Để chuyển mã - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import Để nhập video - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10031,33 +10011,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Chỉ mình tôi có thể thấy video này - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Chỉ có thể xem được bằng một link bí mật - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Ai cũng có thể thấy video này - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Chỉ người dùng trên máy chủ này mới có thể xem video - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + viewers người xem - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views người xem - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + Close Đóng @@ -10267,14 +10247,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Bạn đã hết dung lượng cho phép bởi video này (kích cỡ: , đã dùng: , tối đa: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Video này đã vượt quá giới hạn đăng video hàng ngày của bạn (video size: , đã dùng: , giới hạn: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10316,23 +10294,23 @@ video size: , used: Stop autoplaying next video Ngưng tự phát video kế tiếp - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Tự phát video kế tiếp - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Ngừng lặp lại video trong danh sách - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Lặp lại video trong danh sách - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Ảnh thay thế @@ -10342,105 +10320,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Video không khả dụng trên máy chủ này. Bạn có muốn chuyển tới máy chủ gốc: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Video không khả dụng trên máy chủ này. Bạn có muốn chuyển tới máy chủ gốc: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Chuyển hướng - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Video này chứa nội dung cho người lớn hoặc nhạy cảm. Bạn có chắc chắn muốn xem không? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Nội dung người lớn hoặc nhạy cảm - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Tiếp Theo - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Hủy bỏ - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Tạm ngừng tự phát - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Mở/thoát toàn màn hình (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Phát/Ngừng video (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Ẩn/bỏ ẩn video (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Chuyển đến một mức phần trăm của video: 0 là 0% và 9 là 90% (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Tăng âm lượng (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Giảm âm lượng (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Tua tới video (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Tua lùi video (yêu cầu trọng tâm video) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Tăng tốc độ phát (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Giảm tốc độ phát (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Điều hướng trong từng khung hình video (yêu cầu trọng tâm trình phát) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Thích video - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Không thích video - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Khi kích hoạt, video tiếp theo sẽ tự động phát sau video hiện tại. From 83960c39bc1d2123a0e13ca28c20b79b78fe7c18 Mon Sep 17 00:00:00 2001 From: Jeff Huang Date: Thu, 6 May 2021 03:34:50 +0000 Subject: [PATCH 047/136] Translated using Weblate (Chinese (Traditional)) Currently translated at 100.0% (1846 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/zh_Hant/ --- client/src/locale/angular.zh-Hant-TW.xlf | 1692 +++++++++++----------- 1 file changed, 835 insertions(+), 857 deletions(-) diff --git a/client/src/locale/angular.zh-Hant-TW.xlf b/client/src/locale/angular.zh-Hant-TW.xlf index 0c257966b..698fbd4c8 100644 --- a/client/src/locale/angular.zh-Hant-TW.xlf +++ b/client/src/locale/angular.zh-Hant-TW.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. 您沒有通知。 @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - 提及您於 影片 + mentioned you on video + 提及您於 影片 src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - 新版的外掛程式/佈景主題已經可用: + A new version of the plugin/theme is available: + 新版的外掛程式/佈景主題已經可用: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - 新版本的 PeerTube已經可用: + A new version of PeerTube is available: + 新版本的 PeerTube已經可用: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar 變更您的大頭貼 - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar 移除大頭照 - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history 我的觀看紀錄 - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to 儲存至 @@ -185,8 +183,8 @@ Options 選項 - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at 開始於 @@ -358,8 +356,10 @@ 取消 src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + 沒有結果。 src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -455,13 +455,13 @@ Blocked 已封鎖 - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive 敏感的 - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {No videos} =1 {1 部影片} other { 部影片}} @@ -487,10 +487,10 @@ Deleted 已刪除 - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at 編輯開始/停止於 @@ -514,16 +514,15 @@ No results. 沒有結果。 - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best 最佳 @@ -538,10 +537,12 @@ Delete 刪除 - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + 僅直播影片 src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -582,8 +583,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - 相容 <a href="https://zh.wikipedia.org/wiki/Markdown#%E7%A4%BA%E4%BE%8B" target="_blank" rel="noopener noreferrer">Markdown</a> ,支援: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + 相容 <a href="https://zh.wikipedia.org/wiki/Markdown#%E7%A4%BA%E4%BE%8B" target="_blank" rel="noopener noreferrer">Markdown</a> ,支援: src/app/shared/shared-main/misc/help.component.ts75 @@ -835,8 +836,8 @@ User 使用者 - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban 阻擋 @@ -933,16 +934,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - 此站臺允許註冊。然而,請留心查閱條款條款 ,然後才建立帳號。您亦可搜尋另一個站臺以切合您的需要:https://joinpeertube.org/instances + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + 此站臺允許註冊。然而,請留心查閱條款條款 ,然後才建立帳號。您亦可搜尋另一個站臺以切合您的需要:https://joinpeertube.org/instances src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - 目前此站臺不允許使用者註冊,您可查閱條款 以瞭解詳情,或尋找別的站臺,好讓您註冊帳號並上載您的影片。看看一眾站臺中有哪個合您心意:https://joinpeertube.org/instances + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + 目前此站臺不允許使用者註冊,您可查閱條款 以瞭解詳情,或尋找別的站臺,好讓您註冊帳號並上載您的影片。看看一眾站臺中有哪個合您心意:https://joinpeertube.org/instances src/app/+login/login.component.html 65,67 @@ -1019,8 +1020,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. 包含重設密碼說明的電子郵件將會傳送到 。連結會在 1 小時內過期。 src/app/+login/login.component.ts121 @@ -1058,8 +1058,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - + for + src/app/+search/search.component.html 10 @@ -1127,8 +1127,8 @@ The link will expire within 1 hour. 個訂閱者 - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! 歡迎來到 PeerTube,親愛的管理員! @@ -1384,9 +1384,9 @@ The link will expire within 1 hour. My videos 我的影片 - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports 我的影片匯入 @@ -1886,48 +1886,54 @@ The link will expire within 1 hour. extensions 擴充套件 - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. 此圖片太大了。 - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner 上傳新橫幅 - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner 變更您的橫幅 - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner 移除橫幅 - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: 比率 6/1,建議大小:1600x266,最大大小:,副檔名: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + 帳號大頭照 src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + 頻道大頭照 src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + 進階篩選條件 src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2014,14 +2020,15 @@ The link will expire within 1 hour. Contains sensitive content 包含敏感內容 src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + 部份站台可能會預設隱藏包含成人或露骨內容的影片。 src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding 轉換編碼後發佈 @@ -2048,7 +2055,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ 已上傳 ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2292,9 +2299,9 @@ The link will expire within 1 hour. Total video quota 總影片配額 - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. 恭喜!您的影片現在已在您的私有媒體庫中可用。 @@ -2415,8 +2422,8 @@ The link will expire within 1 hour. Report this comment 回報此留言 - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Share 分享 @@ -2662,23 +2669,22 @@ The link will expire within 1 hour. More information 更多資訊 - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos 因為自動封鎖新影片,故此影片被封鎖 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information 取得更多資訊 @@ -2869,18 +2875,18 @@ The link will expire within 1 hour. Highlighted comment 已突顯的評論 - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply 回覆 - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted 此留言已被刪除 - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies 重複影片 @@ -2977,41 +2983,18 @@ The link will expire within 1 hour. Filter... 過濾器…… - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters 清除過濾器 - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account 影片/留言/帳號 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + ID ID @@ -3020,8 +3003,8 @@ The link will expire within 1 hour. Follower handle 追蹤者處理 - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State 狀態 @@ -3031,57 +3014,57 @@ The link will expire within 1 hour. Created 建立 - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab 在新分頁中開啟動作頁面 - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted 已接受 - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending 擱置中 - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept 接受 - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse 拒絕 - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. 沒有符合目前過濾器的追隨者。 - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. 您的站臺沒有任何追隨者。 - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers 正在顯示 全部共有 個追隨者 - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3092,60 +3075,60 @@ The link will expire within 1 hour. Host 主機 - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed 允許冗餘 - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow 取消追蹤 - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab 在新分頁中開啟站臺 - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. 沒有主機符合目前的過濾器。 - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. 您的站臺並未追蹤任何人。 - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts 正在顯示 ,總共有 個主機 - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + Follow domains 追蹤網域 - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances 追蹤站台 - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action 動作 - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies 重複影片 @@ -3169,18 +3152,18 @@ The link will expire within 1 hour. Table parameters 參數表 - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns 選取行 - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users 突顯被封鎖的使用者 - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Username 使用者名稱 @@ -3288,60 +3271,59 @@ The link will expire within 1 hour. Hide 隱藏 - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Batch actions 批次動作 - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned 使用者被封鎖 - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab 在新分頁中開啟帳號 - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account 已刪除的帳號 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login 使用者的電子郵件必須驗證過才能登入 - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification 使用者的電子郵件已驗證/使用者可以不透過電子郵件驗證登入 - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota 每日影片總配額 - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: 阻擋理由: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + 被封鎖的使用者 src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3417,15 +3399,12 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Video 影片 - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size 總大小 @@ -3459,57 +3438,61 @@ The link will expire within 1 hour. Sensitive 敏感的 - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated 未加入聯盟 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date 日期 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row 選取此列 - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions 動作 - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video 有留言的影片 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. 找不到符合目前過濾器的留言。 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. 找不到留言。 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + 本機留言 src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + 遠端留言 src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3518,38 +3501,48 @@ The link will expire within 1 hour. No abuses found matching current filters. 找不到符合目前過濾器的濫用。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. 找不到濫用。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + 未解決的回報 src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + 已接受的的回報 src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + 拒絕的回報 src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + 有被封鎖影片的回報 src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + 有被刪除影片的回報 src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3558,25 +3551,29 @@ The link will expire within 1 hour. Block reason: 封鎖理由: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. 找不到符合目前過濾規則的已封鎖影片。 - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. 找不到已封鎖的影片。 - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + 自動封鎖 src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + 手動封鎖 src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3585,8 +3582,8 @@ The link will expire within 1 hour. Showing to of blocked videos 顯示 已封鎖影片 - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports 回報 @@ -3608,21 +3605,15 @@ The link will expire within 1 hour. 更新此評論 src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter 舉報者 - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3633,41 +3624,41 @@ The link will expire within 1 hour. Video 影片 - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment 留言 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. 此影片已被多次回報。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked 影片已被封鎖 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted 影片已被刪除 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted 帳號已刪除 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Open video in a new tab 在新分頁中開啟影片 @@ -3676,38 +3667,38 @@ The link will expire within 1 hour. State 陳述 - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages 訊息 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note 內部註記 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score 分數 - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Showing to of reports 正在顯示 回報 - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee 舉報者 src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3723,81 +3714,81 @@ The link will expire within 1 hour. Mute domain 靜音網域 - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance 站臺 - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at 靜音於 - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute 解除靜音 - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. 找不到符合目前過濾器的伺服器。 - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. 找不到伺服器。 - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances 正在顯示 靜音站臺 - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. 看起來您似乎不在 HTTPS 伺服器上。您的網路伺服器必須啟用 TLS 才能追蹤伺服器。 - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Mute domains 靜音網域 - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account 帳號 - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. 沒有帳號符合目前的過濾器。 - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. 找不到帳號。 - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins 列出已安裝的外掛程式 @@ -3857,10 +3848,10 @@ The link will expire within 1 hour. Settings 設定 - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings 顯示設定 @@ -3869,8 +3860,8 @@ The link will expire within 1 hour. Uninstall 解除安裝 - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot 熱門 @@ -3964,33 +3955,33 @@ The link will expire within 1 hour. Delete this comment 刪除此留言 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account 刪除此帳號的所有留言 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes 幾分鐘刪除留言 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. 則留言已刪除。 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? 您真的想要刪除所有 的留言嗎? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes 的留言將會在幾分鐘內被刪除 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments 影片留言 @@ -4007,17 +3998,14 @@ The link will expire within 1 hour. Showing to of comments 正在顯示 中的 留言 - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows 選取所有列 - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type 工作類型 @@ -4048,8 +4036,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - 優先程度 (1 = 最高優先度) + Priority (1 = highest priority) + 優先程度 (1 = 最高優先度) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4069,8 +4057,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - 找不到 工作。 + No jobs found. + 找不到 工作。 src/app/+admin/system/jobs/jobs.component.html108 @@ -4100,8 +4088,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - -> + By -> + -> src/app/+admin/system/logs/logs.component.html46 @@ -4172,8 +4160,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - 管理 使用者 以建立審核團隊。 + Manage users to build a moderation team. + 管理 使用者 以建立審核團隊。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4185,8 +4173,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - 啟用此功能會讓其他管理員知道您主要是在串流敏感內容。 此外,預設情況下,系統會自動勾選影片上傳中的 NSFW 勾選框。 + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + 啟用此功能會讓其他管理員知道您主要是在串流敏感內容。 此外,預設情況下,系統會自動勾選影片上傳中的 NSFW 勾選框。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4196,15 +4184,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content 包含敏感內容的影片政策 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + 隱藏模糊縮圖,要觀看影片時將會請求確認。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - - Blur thumbnails 模糊縮圖 @@ -4321,8 +4309,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - 使用外掛程式與佈景主題取得更多相關的變更,或新增小自訂 + Use plugins & themes for more involved changes, or add slight customizations. + 使用外掛程式與佈景主題取得更多相關的變更,或新增小自訂 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4434,8 +4422,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - 管理使用者以單獨設定他們的配額。 + Manage users to set their quota individually. + 管理使用者以單獨設定他們的配額。 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4606,8 +4594,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - 您只應在生產環境中使用審核的搜尋索引,或自行架設 + You should only use moderated search indexes in production, or host your own. + 您只應在生產環境中使用審核的搜尋索引,或自行架設 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4644,8 +4632,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - 管理與其他站台的關係 + Manage relations with other instances. + 管理與其他站台的關係 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4684,8 +4672,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - 檢視文件以取得關於預期 URL 的更多資訊 + See the documentation for more information about the expected URL + 檢視文件以取得關於預期 URL 的更多資訊 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4699,8 +4687,8 @@ The link will expire within 1 hour. Administrator 管理員 - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Admin email 管理電子郵件 @@ -4745,8 +4733,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - 如果 Twitter 明確允許您的帳號,則在分享 PeerTube 影片時將會在推文中顯示嵌入的影片播放器。如果沒有,我們將會使用會重新導向到您的 PeerTube 站台的圖片連結卡片。勾選此勾選框,儲存設定並使用您站台影片的 URL 測試 (https://example.com/videos/watch/blabla) 於 https://cards-dev.twitter.com/validator 來檢視您的站台是否被允許。 + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + 如果 Twitter 明確允許您的帳號,則在分享 PeerTube 影片時將會在推文中顯示嵌入的影片播放器。如果沒有,我們將會使用會重新導向到您的 PeerTube 站台的圖片連結卡片。勾選此勾選框,儲存設定並使用您站台影片的 URL 測試 (https://example.com/videos/watch/blabla) 於 https://cards-dev.twitter.com/validator 來檢視您的站台是否被允許。 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4793,8 +4781,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - 在您的站台上可同時建立的最大同時直播數(-1 為「無限制」) + Max simultaneous lives created on your instance (-1 for "unlimited") + 在您的站台上可同時建立的最大同時直播數(-1 為「無限制」) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4806,8 +4794,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - 每個使用者可同時建立的最大同時直播數(-1 為「無限制」) + Max simultaneous lives created per user (-1 for "unlimited") + 每個使用者可同時建立的最大同時直播數(-1 為「無限制」) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4903,14 +4891,15 @@ The link will expire within 1 hour. Allow additional extensions 允許額外的副檔名 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + 允許使用者上傳 影片。 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload 允許上傳音訊檔案 @@ -4950,8 +4939,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - 需要 ffmpeg >= 4.1與普通的 WebTorrent 相比,生成 HLS 播放清單與片段化的 MP4 檔案可得到更好的播放體驗:變更解析度更平順更快的播放速度(特別是對較長的影片來說)更穩定的播放(較少臭蟲與無限載入)若您也啟用了 WebTorrent 支援,儲存空間需求將會乘以 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + 需要 ffmpeg >= 4.1與普通的 WebTorrent 相比,生成 HLS 播放清單與片段化的 MP4 檔案可得到更好的播放體驗:變更解析度更平順更快的播放速度(特別是對較長的影片來說)更穩定的播放(較少臭蟲與無限載入)若您也啟用了 WebTorrent 支援,儲存空間需求將會乘以 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5088,19 +5077,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - 直接編寫 JavaScript 程式碼。範例:console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + 直接編寫 JavaScript 程式碼。範例:console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - 直接編寫 CSS 程式碼。範例:#custom-css color: red; 在前方加入 #custom-css 以覆寫樣式。範例:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + 直接編寫 CSS 程式碼。範例:#custom-css color: red; 在前方加入 #custom-css 以覆寫樣式。範例:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5114,8 +5097,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - 格式有誤: + There are errors in the form: + 格式有誤: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5229,14 +5212,15 @@ color: red; Default policy on videos containing sensitive content 包含敏感內容的影片的預設政策 src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + 隱藏模糊縮圖,要觀看影片時將會請求確認。 src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos 敏感影片的政策 @@ -5300,32 +5284,31 @@ color: red; 選取下一個擁有者 src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first 最新發佈的優先 - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first 最新建立的優先 - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first 最多檢視的優先 - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first 最多喜歡的優先 - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first 最長的優先 - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership 接受所有權 @@ -5396,9 +5379,11 @@ color: red; Create video channel 建立影片頻道 - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + 找不到頻道。 src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5409,8 +5394,8 @@ color: red; 個訂閱者 - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Example: my_channel 範例:my_channel @@ -5436,9 +5421,8 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - 告訴人們他們可以怎麼支持您頻道的簡短文字(會員平台等……)。<br /><br /> 當您要在此頻道上傳影片時,影片支援欄位將會自動填入這些文字。 + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + 告訴人們他們可以怎麼支持您頻道的簡短文字(會員平台等……)。<br /><br /> 當您要在此頻道上傳影片時,影片支援欄位將會自動填入這些文字。 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5453,14 +5437,14 @@ color: red; 個訂閱者 - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar 上傳新的大頭照 - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Target 目標 @@ -5494,25 +5478,25 @@ color: red; Channel page 頻道頁面 - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + Created by 建立 - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page 擁有者帳號頁面 - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history 刪除歷史紀錄 - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. 您的觀看紀錄中還沒有任何影片。 @@ -5584,8 +5568,8 @@ color: red; Create playlist 建立播放清單 - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels 我的影片頻道 @@ -5599,15 +5583,14 @@ color: red; Playlist } deleted. 播放清單 } 已刪除。 - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + Playlist thumbnail 播放清單縮圖 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - No videos in this playlist. 此播放清單中沒有影片。 @@ -5682,14 +5665,15 @@ color: red; Video channel playlists 影片頻道播放清單 src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + 管理頻道 src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification @@ -5807,37 +5791,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 個訂閱者} other { 個訂閱者}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 部影片} other { 部影片}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel 顯示此頻道 - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {沒有影片} =1 {1 部影片} other { 部影片}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! 您真的想要刪除 嗎?其將會刪除 部上傳至此頻道的影片,且您將無法建立其他同名的頻道 ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels 我的頻道 @@ -5853,19 +5835,19 @@ channel with the same name ()! See this video channel 檢視這個影片頻道 - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. 此頻道沒有任何影片。 - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - 顯示此頻道 > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + 顯示此頻道 > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + Stats 統計 @@ -6116,8 +6098,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - 網路 peer 無法公開存取:因為我們使用 WebSocket 傳輸,與傳統的 BitTorrent 追蹤器不同。當您在網路瀏覽器裡時,您就會傳送包含您的 IP 的訊號到隨機選取其他 peer 轉發資訊的追蹤器。請見 此文件 以取得更多資訊 + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + 網路 peer 無法公開存取:因為我們使用 WebSocket 傳輸,與傳統的 BitTorrent 追蹤器不同。當您在網路瀏覽器裡時,您就會傳送包含您的 IP 的訊號到隨機選取其他 peer 轉發資訊的追蹤器。請見 此文件 以取得更多資訊 src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6443,8 +6425,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - <code>.mp4</code> 保留了原始音訊軌,但沒有影片 + A <code>.mp4</code> that keeps the original audio track, with no video + <code>.mp4</code> 保留了原始音訊軌,但沒有影片 src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6515,9 +6497,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264,以相容最多裝置為目標 - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. 預計伺服器轉碼與串流影片的能力並不容易,況且我們無法自動調整 PeerTube。 @@ -6736,39 +6718,39 @@ channel with the same name ()! Delete 刪除 - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + viewers 個檢視者 - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views 次檢視 - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + removed from instance followers 已從站臺追蹤者中移除 @@ -6870,158 +6852,158 @@ channel with the same name ()! Violent or Repulsive 暴力或令人厭惡 - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive 仇恨言論 - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading 垃圾訊息或誤導 - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy 隱私 - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright 著作權 - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules 伺服器規則 - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails 縮圖 - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions 內部動作 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report 刪除舉報 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account 被標記帳號的動作 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted 標記為接受 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected 標記為拒絕 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note 新增內部註記 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video 對影片的動作 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video 封鎖影片 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. 影片已封鎖。 - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video 解除封鎖影片 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. 影片已解除封鎖。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Do you really want to delete this abuse report? 您真的想要刪除這份濫用舉報嗎? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. 濫用已刪除。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment 已刪除的留言 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter 回報者的訊息 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators 板主的訊息 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note 更新內部註記 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual 切換影片封鎖為手動 - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. 影片 已切換至手動封鎖。 - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. 您真的想要解除封鎖此影片嗎?它將會再次出現在影片清單中。 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock 解除封鎖 - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. 影片 已解除封鎖。 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes @@ -7165,8 +7147,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube 認為您的網路瀏覽器的公開 IP 為 + PeerTube thinks your web browser public IP is . + PeerTube 認為您的網路瀏覽器的公開 IP 為 src/app/+admin/system/debug/debug.component.html 4 @@ -7213,16 +7195,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - 檢查 trust_proxy 設定鍵 + Check the trust_proxy configuration key + 檢查 trust_proxy 設定鍵 src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - 如果您正使用 Docker 執行,請檢查您是否執行 reverse-proxynetwork_mode: "host"(請參閱議題 1643 + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + 如果您正使用 Docker 執行,請檢查您是否執行 reverse-proxynetwork_mode: "host"(請參閱議題 1643 src/app/+admin/system/debug/debug.component.html 16,17 @@ -7382,77 +7364,77 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. 影片與留言都將會被刪除。 - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban 封鎖 - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. 使用者將無法登入,但影片與留言將會保持原樣。 - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban 取消阻擋 - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified 設定電子郵件為已驗證 - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. 您不能阻擋 root。 - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? 您真的想要解除阻擋 使用者嗎? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. 使用者已解除阻擋。 - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. 您無法刪除 root。 - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! 若您移除了這些使用者,您將無法建立相同使用者名稱的其他使用者! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. 個使用者已刪除。 - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. 個使用者電子郵件設定為已驗證。 - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. 帳號 已解除靜音。 @@ -7468,28 +7450,28 @@ channel with the same name ()! Videos history is enabled 影片歷史紀錄已啟用 - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled 影片歷史紀錄已停用 - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history 刪除影片歷史紀錄 - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? 您確定您想要刪除您所有的影片歷史記錄嗎? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted 影片歷史記錄已刪除 - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history 我的觀看紀錄 @@ -7498,12 +7480,11 @@ channel with the same name ()!3 - Track watch history 追蹤觀看紀錄 - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted 所有權已接受 @@ -7520,8 +7501,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - 您目前的電子郵件為 。其不會公開顯示。 + Your current email is . It is never shown to the public. + 您目前的電子郵件為 。其不會公開顯示。 src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7700,24 +7681,23 @@ channel with the same name ()! Unknown language 未知的語言 - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. 啟用太多語言。請將它們全部啟用或將啟用的語言維持在 20 個以下。 - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. 影片設定已更新。 - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. 顯示/影片設定已更新。 - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. 影片頻道 已更新。 @@ -7760,18 +7740,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm 請輸入影片頻道的顯示名稱 ( ) 以確認 - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. 影片頻道 已刪除。 - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day 當天的觀看次數 - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel 更新影片頻道 @@ -7848,15 +7828,15 @@ channel with the same name ()! Do you really want to delete ? 您真的想要刪除 嗎? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership 變更擁有權 - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. 播放清單 已刪除。 @@ -7875,13 +7855,13 @@ channel with the same name ()! Do you really want to delete videos? 您真的想要刪除 影片嗎? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. 影片已刪除。 - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? 您真的想要刪除 @@ -7895,9 +7875,9 @@ channel with the same name ()! Video deleted. 影片 已刪除。 - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. 所有權變更請求已發送。 @@ -7906,9 +7886,8 @@ channel with the same name ()! My channels 我的頻道 - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists 我的播放清單 @@ -7919,12 +7898,11 @@ channel with the same name ()!我的訂閱 src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. 您還沒有任何訂閱。 - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports 我的濫用回報 @@ -7958,9 +7936,9 @@ channel with the same name ()! max size 最大大小 - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor 最大化編輯器 @@ -8006,9 +7984,9 @@ channel with the same name ()! Subscribe to the account 訂閱帳號 - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS 播放清單 @@ -8073,8 +8051,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. 無法擷取 OAuth 客戶端憑證:。請確保您已正確設定 PeerTube(config/ 目錄),特別是 "webserver" 部份。 src/app/core/auth/auth.service.ts99 @@ -8106,8 +8083,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular any language 任何語言 - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON @@ -8116,23 +8093,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide 隱藏 - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur 模糊 - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display 顯示 - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown 未知 - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + Your password has been successfully reset! 您的密碼已成功重設! @@ -8212,7 +8189,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) + Long (> 10 min) 長(大於 10 分鐘) src/app/+search/search-filters.component.ts73 @@ -8235,21 +8212,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. 搜尋索引不可用。正在使用站臺結果重試。 - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error 搜尋錯誤 - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search 搜尋 - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8847,8 +8824,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - 檢視文件以取得如何使用 PeerTube 直播串流功能的資訊。 + See the documentation to learn how to use the PeerTube live streaming feature. + 檢視文件以取得如何使用 PeerTube 直播串流功能的資訊。 src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9342,17 +9319,18 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (頻道頁面) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (帳號頁面) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis 強調 @@ -9440,19 +9418,19 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Account muted by the instance. 帳號 已被站臺靜音。 - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server 伺服器靜音 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. 伺服器 已被站臺靜音。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter 新增訊息以與回報者溝通 @@ -9681,9 +9659,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions 字幕 - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). 以上內容只能在標題中看到(請說明)。 @@ -9757,8 +9735,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Moderator 調解員 - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from 影片已從 移除 @@ -9800,29 +9778,29 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Delete video 刪除影片 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment 留言動作 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment 刪除留言 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? 您真的要刪除此留言嗎? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. 留言已刪除。 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Encoder 編碼器 @@ -9869,26 +9847,26 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Do you really want to delete this video? 您真的想要刪除此影片嗎? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. 影片已刪除。 - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter 舉報者的行動 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter 靜音舉報者 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + This video will be duplicated by your instance. 此影片將會被您的站臺複製。 @@ -9902,9 +9880,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information 顯示直播資訊 - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update 更新 @@ -9926,10 +9904,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - 您必須 <a href="/login">登入</a> 以對此影片進行評價。 - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + 您必須 <a href="/login">登入</a> 以對此影片進行評價。 + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror 鏡像 @@ -9943,13 +9921,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove 移除 - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft 移除並重新變為草稿 - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Comments} =1 {1 則留言} other { 則留言}} @@ -9961,9 +9939,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account 靜音帳號 - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions 開啟影片動作 @@ -9979,8 +9957,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account 靜音伺服器帳號 - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Report 舉報 @@ -10029,29 +10007,31 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Published 已發佈 - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on 發佈預定於 - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding 正在等待轉換編碼 - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode 轉換編碼 - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import 匯入 - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -10075,23 +10055,23 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video 只有我可以看見此影片 - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link 僅可透過私人連結分享 - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video 任何人都可以看到此影片 - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video 僅此站臺的使用者才可觀看此影片 - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + Close 關閉 @@ -10301,14 +10281,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) 此影片超過了您的影片配額(影片大小:,已用:,配額: src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) 此影片超過了您的每日影片配額(影片大小:,已用:,配額: src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10330,23 +10308,23 @@ video size: , used: Stop autoplaying next video 停止自動播放下一部影片 - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video 自動播放下一部影片 - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos 停止循環播放播放清單中的影片 - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos 循環播放播放清單中的影片 - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image 佔位圖片 @@ -10356,105 +10334,105 @@ video size: , used: - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - 此影片在此站臺上不可用。您想要重新導向至原始站臺:<a href=""></a> 嗎? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + 此影片在此站臺上不可用。您想要重新導向至原始站臺:<a href=""></a> 嗎? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection 重新導向 - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? 這部影片包含成人或裸露內容。您確定您想要觀看嗎? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content 成人或裸露內容 - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next 往下 - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel 取消 - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended 自動播放已暫停 - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) 進入/離開全螢幕(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) 播放/暫停影片(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) 靜音/解除靜音影片(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) 跳到影片的百分比:0 是 0%,9 是 90%(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) 增加音量(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) 降低音量(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) 快轉影片(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) 向後快轉影片(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) 提高播放速度(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) 減慢播放速度(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) 逐畫格瀏覽影片(需要播放器焦點) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video 喜歡此影片 - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video 不喜歡此影片 - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. 啟用時,下一部影片將會在目前的播放完之後自動播放。 From 817410924ac95515e359ebedc39dd80079aa64f2 Mon Sep 17 00:00:00 2001 From: Slimane Selyan AMIRI Date: Thu, 6 May 2021 09:19:22 +0000 Subject: [PATCH 048/136] Translated using Weblate (Kabyle) Currently translated at 100.0% (246 of 246 strings) Translation: PeerTube/server Translate-URL: https://weblate.framasoft.org/projects/peertube/server/kab/ --- client/src/locale/server.kab.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client/src/locale/server.kab.json b/client/src/locale/server.kab.json index 5c091efc9..7be166c75 100644 --- a/client/src/locale/server.kab.json +++ b/client/src/locale/server.kab.json @@ -45,11 +45,11 @@ "This video is not available because the remote instance is not responding.": "Tavidyut-a ulac-itt acku tummant tanmeggagt ur d-tettarra ara.", "This playlist does not exist": "Tabdart-a n tɣuri ulac-itt", "We cannot fetch the playlist. Please try again later.": "Ur nezmir ara ad d-nawi tabdart n tɣuri. Ttxil-k·m εreḍ tikkelt-nniḍen.", - "Playlist: {1}": "Playlist: {1}", - "By {1}": "By {1}", + "Playlist: {1}": "Tabdert n tɣuri: {1}", + "By {1}": "Sɣur {1}", "Unavailable video": "Ulac tavidyut-a", - "Misc": "Divers", - "Unknown": "Inconnu", + "Misc": "Wayeḍ", + "Unknown": "Arussin", "Afar": "Tafarit", "Abkhazian": "Tabxazit", "Afrikaans": "Tafrikanst", @@ -132,7 +132,7 @@ "Lojban": "Talujbant", "Japanese": "Tajapunit", "Japanese Sign Language": "Tutlayt n yizamulen tajapunit", - "Kabyle": "Kabyle", + "Kabyle": "Taqbaylit", "Kalaallisut": "Kala Alist", "Kannada": "Takannadat", "Kashmiri": "Takacmirit", @@ -223,13 +223,13 @@ "Thai": "Taṭaylundit", "Tigrinya": "Tigrignat", "Klingon": "Taklingunt", - "Tonga (Tonga Islands)": "Tongien (Îles Tonga)", + "Tonga (Tonga Islands)": "Tatongit (Tigzirin Tonga)", "Tswana": "Tatswanat", "Tsonga": "Tatsungat", "Turkmen": "Taturkmant", "Turkish": "Taṭurkit", "Twi": "Twi", - "Uighur": "Ouïghour", + "Uighur": "Tawiguṛt", "Ukrainian": "Tukranit", "Urdu": "Turdut", "Uzbek": "Tuzbikt", @@ -243,6 +243,6 @@ "Zhuang": "Zhuang", "Chinese": "Tacinwatt", "Zulu": "Tazulut", - "Normal mode": "Normal mode", + "Normal mode": "Askan amagnu", "Theater mode": "Askar n umezgun" } From 598d408c00d89bc0b2268a7ba2ee551179d06e79 Mon Sep 17 00:00:00 2001 From: Slimane Selyan AMIRI Date: Thu, 6 May 2021 11:32:54 +0000 Subject: [PATCH 049/136] Translated using Weblate (Kabyle) Currently translated at 98.9% (1826 of 1846 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/kab/ --- client/src/locale/angular.kab.xlf | 1694 ++++++++++++++--------------- 1 file changed, 836 insertions(+), 858 deletions(-) diff --git a/client/src/locale/angular.kab.xlf b/client/src/locale/angular.kab.xlf index dd516a182..90e410a7d 100644 --- a/client/src/locale/angular.kab.xlf +++ b/client/src/locale/angular.kab.xlf @@ -18,8 +18,6 @@ 111 - - You don't have notifications. Ur ɣur-k·m ara ilɣa. @@ -117,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - ibder-ik·ukem-d deg tvidyut + mentioned you on video + ibder-ik·ukem-d deg tvidyut src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -135,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Lqem amaynut izegrar/asentel yella: + A new version of the plugin/theme is available: + Lqem amaynut izegrar/asentel yella: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Lqem amaynutn PeerTube yella: + A new version of PeerTube is available: + Lqem amaynutn PeerTube yella: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -158,13 +156,13 @@ Change your avatar Bedel avaṭar-ik.im - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html18 + Remove avatar Kkes avaṭar - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html40 + @@ -175,8 +173,8 @@ My watch history Azray-inu n tmeẓriwt - - src/app/+my-library/my-history/my-history.component.ts67 + src/app/+my-library/my-history/my-history.component.ts67 + Save to Sekles ɣer @@ -185,8 +183,8 @@ Options Iɣewwaṛen - - src/app/+videos/+video-watch/comment/video-comment.component.html40 + src/app/+videos/+video-watch/comment/video-comment.component.html40 + Start at Bdu deg @@ -456,13 +454,13 @@ Blocked Yewḥel - - src/app/shared/shared-video-miniature/video-miniature.component.html58 + src/app/shared/shared-video-miniature/video-miniature.component.html58 + Sensitive Aḥulfu - - src/app/shared/shared-video-miniature/video-miniature.component.html63 + src/app/shared/shared-video-miniature/video-miniature.component.html63 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Ulac tividyutin} =1 {1 n tvidyut} other { tividyutin}} @@ -488,10 +486,10 @@ Deleted Yettwakkes - - - - src/app/+videos/+video-watch/comment/video-comment.component.html47src/app/shared/shared-abuse-list/abuse-list-table.component.html91src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + src/app/+videos/+video-watch/comment/video-comment.component.html47 + src/app/shared/shared-abuse-list/abuse-list-table.component.html91 + src/app/shared/shared-video-playlist/video-playlist-element-miniature.component.html34 + Edit starts/stops at Aẓrag ad yebdu/ad yekfu deg @@ -515,16 +513,15 @@ No results. Ulac igmaḍ. - - - - - - - - - - src/app/+videos/video-list/overview/video-overview.component.html4src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/+videos/video-list/overview/video-overview.component.html4 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + src/app/shared/shared-video-miniature/abstract-video-list.html44 + Best Igerrez @@ -540,8 +537,10 @@ Cancel Sefsex src/app/shared/shared-video-miniature/videos-selection.component.html19 - - No results.No results. + + + No results. + Ulac agemmuḍ. src/app/shared/shared-video-miniature/videos-selection.component.ts 34 @@ -550,10 +549,12 @@ Delete Kkes - - - src/app/+my-library/my-videos/my-videos.component.html50src/app/+videos/+video-edit/shared/video-edit.component.html178 - Only live videosOnly live videos + src/app/+my-library/my-videos/my-videos.component.html50 + src/app/+videos/+video-edit/shared/video-edit.component.html178 + + + Only live videos + Tivdyutin n srid kan src/app/+my-library/my-videos/my-videos.component.ts 53 @@ -594,8 +595,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">yemṣada d Markdown</a> yettusefraken: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">yemṣada d Markdown</a> yettusefraken: src/app/shared/shared-main/misc/help.component.ts75 @@ -879,8 +880,8 @@ User Aseqdac - - src/app/core/users/user.service.ts405 + src/app/core/users/user.service.ts405 + Ban Agi @@ -937,21 +938,21 @@ Default policy on videos containing sensitive content Tasertit tamezwert n tvidyutin yesεan agbur amḥulfu src/app/shared/shared-user-settings/user-video-settings.component.html4 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 - Policy for sensitive videos Tasertit n tvidyutin timḥulfa src/app/+admin/config/edit-custom-config/edit-instance-information.component.html114 src/app/shared/shared-user-settings/user-video-settings.component.html15 - Blur thumbnails Tinfulin ur nban ara akken iwata @@ -1030,14 +1031,14 @@ subscribers n yimultaɣ - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html27 + Upload a new avatar Sali-d avaṭar amaynut - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.html34 + Login Tuqqna @@ -1055,16 +1056,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Tummant-a tsareg ajerred. Γas akken, ɣur-k·m senqed TiwtilinTiwtilin send timerna n umiḍan. Tzemreḍ daɣen ad tnadiḍ tummant-nniḍen i wakken ad yemṣada swaswa wayen i tuḥwaǧeḍ deg: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Tummant-a tsareg ajerred. Γas akken, ɣur-k·m senqed TiwtilinTiwtilin send timerna n umiḍan. Tzemreḍ daɣen ad tnadiḍ tummant-nniḍen i wakken ad yemṣada swaswa wayen i tuḥwaǧeḍ deg: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Akka tura tummant-a ur tsirig ara ajerred n yiseqdacen, ilaq ad tesneqdeḍ Tiwtilin i wugar n telqayt neɣ i tifin n tummant ara ak·am-imudden tazmert n ujerred i umiḍan, syen ad d-tsalayeḍ tividyutin din. Af-d ayla-k·m gar waṭas n tummanin yemgaraden deg: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Akka tura tummant-a ur tsirig ara ajerred n yiseqdacen, ilaq ad tesneqdeḍ Tiwtilin i wugar n telqayt neɣ i tifin n tummant ara ak·am-imudden tazmert n ujerred i umiḍan, syen ad d-tsalayeḍ tividyutin din. Af-d ayla-k·m gar waṭas n tummanin yemgaraden deg: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1141,8 +1142,7 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . -The link will expire within 1 hour. + An email with the reset password instructions will be sent to . The link will expire within 1 hour. Imayl d yiwellihen n uwennez n wawal uffir ttwaznen ɣer . Aseɣwen ad yemmet deg ssaεa. src/app/+login/login.component.ts121 @@ -1180,8 +1180,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - i + for + i src/app/+search/search.component.html 10 @@ -1253,8 +1253,8 @@ The link will expire within 1 hour. subscribers yimultaɣ - - src/app/+search/search.component.html53 + src/app/+search/search.component.html53 + Welcome to PeerTube, dear administrator! Ansuf ɣer PeerTube, anedbal-nneɣ! @@ -1437,10 +1437,10 @@ The link will expire within 1 hour. Settings Iɣewwaṛen - - - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27src/app/+admin/plugins/plugin-search/plugin-search.component.html53src/app/+my-account/my-account-settings/my-account-settings.component.html1 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html27 + src/app/+admin/plugins/plugin-search/plugin-search.component.html53 + src/app/+my-account/my-account-settings/my-account-settings.component.html1 + Display settings Iɣewwaren n uskan @@ -2035,48 +2035,54 @@ The link will expire within 1 hour. extensions isiɣzaf - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts48 + This image is too large. Tugna-a meqqret aṭas. - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts57 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts54 + Upload a new banner Sali-d aɣarrac amaynut - - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html9 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html26 + Change your banner Beddel aɣarrac-inek·inem - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html18 + Remove banner Kkes aɣarrac - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.html32 + ratio 6/1, recommended size: 1600x266, max size: , extensions: ratio 6/1, teɣzi yettuwellhen: 1600x266, teɣzi tafellayt: , isiɣzaf: - - src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 - Account avatarAccount avatar + src/app/shared/shared-actor-image-edit/actor-banner-edit.component.ts45 + + + Account avatar + Avaṭar n umiḍan src/app/shared/shared-actor-image/actor-avatar.component.ts 47 - - Channel avatarChannel avatar + + + Channel avatar + Channel avatar src/app/shared/shared-actor-image/actor-avatar.component.ts 48 - - Advanced filtersAdvanced filters + + + Advanced filters + Advanced filters src/app/shared/shared-forms/advanced-input-filter.component.html 8 @@ -2143,14 +2149,15 @@ The link will expire within 1 hour. Contains sensitive content Deg-s agbur amḥulfu src/app/+videos/+video-edit/shared/video-edit.component.html131 - - Some instances hide videos containing mature or explicit content by default.Some instances hide videos containing mature or explicit content by default. + + + Some instances hide videos containing mature or explicit content by default. + Some instances hide videos containing mature or explicit content by default. src/app/+videos/+video-edit/shared/video-edit.component.html 135 - Publish after transcoding Suffeɣ seld anigtengel @@ -2177,7 +2184,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Yettwasader yakan ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2414,9 +2421,9 @@ The link will expire within 1 hour. Total video quota Afmiḍi asemday n tvidyut - - - src/app/+admin/users/user-list/user-list.component.html119src/app/shared/shared-main/users/user-quota.component.html3 + src/app/+admin/users/user-list/user-list.component.html119 + src/app/shared/shared-main/users/user-quota.component.html3 + Congratulations! Your video is now available in your private library. Gedha! Tavidyut-ik·im tella tura deg temkarḍit-ik·im tabaḍnit. @@ -2537,8 +2544,8 @@ The link will expire within 1 hour. Report this comment Sillef awennit agi - - src/app/+videos/+video-watch/comment/video-comment.component.ts178 + src/app/+videos/+video-watch/comment/video-comment.component.ts178 + Maybe later Ahat ticki @@ -2754,23 +2761,22 @@ The link will expire within 1 hour. More information Ugar n telɣut - - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html36src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56src/app/+admin/system/jobs/jobs.component.html56src/app/+videos/+video-watch/video-watch.component.html309src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + src/app/+admin/moderation/video-block-list/video-block-list.component.html36 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html56 + src/app/+admin/system/jobs/jobs.component.html56 + src/app/+videos/+video-watch/video-watch.component.html309 + src/app/shared/shared-abuse-list/abuse-list-table.component.html32 + The video was blocked due to automatic blocking of new videos Tabidyut tettusewḥel ssebba n usewḥel awurman n tvidyutin timaynutin - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + src/app/+admin/moderation/video-block-list/video-block-list.component.html57 + NSFW NSFW - - src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + src/app/+admin/moderation/video-block-list/video-block-list.component.html67 + Get more information Awi ugar n talɣut @@ -2964,18 +2970,18 @@ The link will expire within 1 hour. Highlighted comment Awennit yettusebruraq - - src/app/+videos/+video-watch/comment/video-comment.component.html10 + src/app/+videos/+video-watch/comment/video-comment.component.html10 + Reply Err - - src/app/+videos/+video-watch/comment/video-comment.component.html36 + src/app/+videos/+video-watch/comment/video-comment.component.html36 + This comment has been deleted Awennit-a yettwakkes - - src/app/+videos/+video-watch/comment/video-comment.component.html53 + src/app/+videos/+video-watch/comment/video-comment.component.html53 + Video redundancies Tuɣalin n tvidyut @@ -2984,122 +2990,99 @@ The link will expire within 1 hour. Filter... Sizdeg… - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html17 + src/app/shared/shared-forms/advanced-input-filter.component.html17 + Clear filters Sfeḍ imsizedgen - - - - - - - - - - - - - - - - src/app/shared/shared-forms/advanced-input-filter.component.html23 + src/app/shared/shared-forms/advanced-input-filter.component.html23 + Video/Comment/Account Tavidyut/Awennit/Amiḍan - - src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + src/app/shared/shared-abuse-list/abuse-list-table.component.html22 + Follower handle Abagan n uneḍfar - - src/app/+admin/follows/followers-list/followers-list.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html24 + State Addad n - - - - src/app/+admin/follows/followers-list/followers-list.component.html25src/app/+admin/follows/following-list/following-list.component.html32src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + src/app/+admin/follows/followers-list/followers-list.component.html25 + src/app/+admin/follows/following-list/following-list.component.html32 + src/app/shared/shared-abuse-list/abuse-list-table.component.html24 + Messages Messages - - src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + src/app/shared/shared-abuse-list/abuse-list-table.component.html25 + Internal note Tazmilt tagensant - - src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + src/app/shared/shared-abuse-list/abuse-list-table.component.html26 + Score Agmuḍ n - - src/app/+admin/follows/followers-list/followers-list.component.html26 + src/app/+admin/follows/followers-list/followers-list.component.html26 + Created Yettwarna - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html27src/app/+admin/follows/following-list/following-list.component.html33src/app/+admin/system/jobs/jobs.component.html50src/app/+my-library/my-video-imports/my-video-imports.component.html20src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + src/app/+admin/follows/followers-list/followers-list.component.html27 + src/app/+admin/follows/following-list/following-list.component.html33 + src/app/+admin/system/jobs/jobs.component.html50 + src/app/+my-library/my-video-imports/my-video-imports.component.html20 + src/app/shared/shared-abuse-list/abuse-list-table.component.html23 + Open actor page in a new tab Ldi asebter n umeggi deg yiccer amaynut - - src/app/+admin/follows/followers-list/followers-list.component.html42 + src/app/+admin/follows/followers-list/followers-list.component.html42 + Accepted Yettwaqbel - - - src/app/+admin/follows/followers-list/followers-list.component.html49src/app/+admin/follows/following-list/following-list.component.html51 + src/app/+admin/follows/followers-list/followers-list.component.html49 + src/app/+admin/follows/following-list/following-list.component.html51 + Pending Yegguni - - - src/app/+admin/follows/followers-list/followers-list.component.html52src/app/+admin/follows/following-list/following-list.component.html54 + src/app/+admin/follows/followers-list/followers-list.component.html52 + src/app/+admin/follows/following-list/following-list.component.html54 + Accept Qbel - - - - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 + src/app/+my-library/my-ownership/my-ownership.component.html33 + Refuse Agi - - - src/app/+admin/follows/followers-list/followers-list.component.html36src/app/+my-library/my-ownership/my-ownership.component.html34 + src/app/+admin/follows/followers-list/followers-list.component.html36 + src/app/+my-library/my-ownership/my-ownership.component.html34 + No follower found matching current filters. Ulac aneḍfar yettwafen yemṣada d yimsizedgen imirinanen. - - src/app/+admin/follows/followers-list/followers-list.component.html64 + src/app/+admin/follows/followers-list/followers-list.component.html64 + Your instance doesn't have any follower. Tummant-ik·im ur tesɛi ula d yiwen n uneḍfar. - - src/app/+admin/follows/followers-list/followers-list.component.html65 + src/app/+admin/follows/followers-list/followers-list.component.html65 + Showing to of followers Askan n i n yineḍfaren - - src/app/+admin/follows/followers-list/followers-list.component.html11 + src/app/+admin/follows/followers-list/followers-list.component.html11 + @@ -3196,65 +3179,65 @@ The link will expire within 1 hour. Host Asneftaɣ - - src/app/+admin/follows/following-list/following-list.component.html31 + src/app/+admin/follows/following-list/following-list.component.html31 + Redundancy allowed Tuɣalin tettusireg - - src/app/+admin/follows/following-list/following-list.component.html34 + src/app/+admin/follows/following-list/following-list.component.html34 + Unfollow Ḥbes aḍfar - - src/app/+admin/follows/following-list/following-list.component.html41 + src/app/+admin/follows/following-list/following-list.component.html41 + Open instance in a new tab Ldi tummant deg yiccer amaynut - - - - src/app/+admin/follows/following-list/following-list.component.html44src/app/shared/shared-moderation/server-blocklist.component.html42src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/+admin/follows/following-list/following-list.component.html44 + src/app/shared/shared-moderation/server-blocklist.component.html42 + src/app/shared/shared-moderation/server-blocklist.component.html42 + No host found matching current filters. Ulac inebgi yettwafen yemṣada d yimsizedgen imiranen. - - src/app/+admin/follows/following-list/following-list.component.html70 + src/app/+admin/follows/following-list/following-list.component.html70 + Your instance is not following anyone. Tummant-ik·im ulac win i teṭṭafar. - - src/app/+admin/follows/following-list/following-list.component.html71 + src/app/+admin/follows/following-list/following-list.component.html71 + Showing to of hosts Sken i n yinebgawen - - src/app/+admin/follows/following-list/following-list.component.html11 + src/app/+admin/follows/following-list/following-list.component.html11 + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. Akka i d-yettban mačči ɣef uqeddac HTTPS i telliḍ. Aqeddac-ik·im web yesra ad yettwarmed TLS i uḍfar n yiqeddacen. - - src/app/+admin/follows/following-list/following-list.component.html81 + src/app/+admin/follows/following-list/following-list.component.html81 + Follow domains Ḍfer taɣulin - - src/app/+admin/follows/following-list/following-list.component.html78 + src/app/+admin/follows/following-list/following-list.component.html78 + Follow instances Ḍfer tummanin - - src/app/+admin/follows/following-list/following-list.component.html18 + src/app/+admin/follows/following-list/following-list.component.html18 + Action Tigawt - - - - - - - src/app/+admin/follows/following-list/following-list.component.html30src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/account-blocklist.component.html22src/app/shared/shared-moderation/server-blocklist.component.html30src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/+admin/follows/following-list/following-list.component.html30 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html27 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/account-blocklist.component.html22 + src/app/shared/shared-moderation/server-blocklist.component.html30 + src/app/shared/shared-moderation/server-blocklist.component.html30 + Videos redundancies Tividyutin i d-yettuɣalen @@ -3278,9 +3261,9 @@ The link will expire within 1 hour. Video Tavidyut - - - src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 + src/app/+admin/moderation/video-block-list/video-block-list.component.html26 + Total size Teɣzi tasemdayt @@ -3478,8 +3461,10 @@ The link will expire within 1 hour. Hide Ffer - - src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115src/app/+admin/users/user-edit/user-password.component.html11src/app/shared/shared-user-settings/user-video-settings.component.html16 + src/app/+admin/config/edit-custom-config/edit-instance-information.component.html115 + src/app/+admin/users/user-edit/user-password.component.html11 + src/app/shared/shared-user-settings/user-video-settings.component.html16 + Create user Rnu aseqdac @@ -3488,70 +3473,67 @@ The link will expire within 1 hour. Table parameters Table parameters - - src/app/+admin/users/user-list/user-list.component.html42 + src/app/+admin/users/user-list/user-list.component.html42 + Select columns Fren tigejda - - src/app/+admin/users/user-list/user-list.component.html48 + src/app/+admin/users/user-list/user-list.component.html48 + Highlight banned users Sebrureq iseqdacen yettwagedlen - - src/app/+admin/users/user-list/user-list.component.html54 + src/app/+admin/users/user-list/user-list.component.html54 + Batch actions Tigawin s uεemmuṛ - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23src/app/+admin/users/user-list/user-list.component.html13 - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html23 + src/app/+admin/users/user-list/user-list.component.html13 + The user was banned Aseqdac yettwagdel - - src/app/+admin/users/user-list/user-list.component.html139 + src/app/+admin/users/user-list/user-list.component.html139 + Open account in a new tab Ldi amiḍan deg yiccer amaynut - - - - - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70src/app/+admin/users/user-list/user-list.component.html90src/app/+my-library/my-ownership/my-ownership.component.html38src/app/shared/shared-abuse-list/abuse-list-table.component.html46src/app/shared/shared-moderation/account-blocklist.component.html34src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html70 + src/app/+admin/users/user-list/user-list.component.html90 + src/app/+my-library/my-ownership/my-ownership.component.html38 + src/app/shared/shared-abuse-list/abuse-list-table.component.html46 + src/app/shared/shared-moderation/account-blocklist.component.html34 + src/app/shared/shared-moderation/account-blocklist.component.html34 + Deleted account Amiḍan yettwakksen - - src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + src/app/shared/shared-abuse-list/abuse-list-table.component.html57 + User's email must be verified to login Imayl n useqdac ilaq ad yettusenqad i wakken ad teqqneḍ - - src/app/+admin/users/user-list/user-list.component.html108 + src/app/+admin/users/user-list/user-list.component.html108 + User's email is verified / User can login without email verification Imayl n useqdac yettwasenqed / Aseqdac yezmer ad yekcem s war imayl n usenqed - - src/app/+admin/users/user-list/user-list.component.html112 + src/app/+admin/users/user-list/user-list.component.html112 + Total daily video quota Asemday n ufmiḍi n tvidyut n wass - - src/app/+admin/users/user-list/user-list.component.html129 + src/app/+admin/users/user-list/user-list.component.html129 + Ban reason: Ssebba n ugdal: - - src/app/+admin/users/user-list/user-list.component.html156 - Banned usersBanned users + src/app/+admin/users/user-list/user-list.component.html156 + + + Banned users + Banned users src/app/+admin/users/user-list/user-list.component.ts 40 @@ -3627,63 +3609,64 @@ The link will expire within 1 hour. src/app/shared/shared-moderation/server-blocklist.component.html3 src/app/shared/shared-moderation/server-blocklist.component.html3 - - - Sensitive Amḥulfu - - src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + src/app/+admin/moderation/video-block-list/video-block-list.component.html27 + Unfederated Ur d-yettεawad ara - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html28src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + src/app/+admin/moderation/video-block-list/video-block-list.component.html28 + src/app/+admin/moderation/video-block-list/video-block-list.component.html71 + Date Azemz n - - - src/app/+admin/moderation/video-block-list/video-block-list.component.html29src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 + Select this row Fren izirig-a - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53src/app/+admin/users/user-list/user-list.component.html74 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html53 + src/app/+admin/users/user-list/user-list.component.html74 + Actions Tigawin - - - - - - src/app/+admin/follows/followers-list/followers-list.component.html23src/app/+admin/moderation/video-block-list/video-block-list.component.html45src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65src/app/+my-library/my-ownership/my-ownership.component.html18src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + src/app/+admin/follows/followers-list/followers-list.component.html23 + src/app/+admin/moderation/video-block-list/video-block-list.component.html45 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html65 + src/app/+my-library/my-ownership/my-ownership.component.html18 + src/app/shared/shared-abuse-list/abuse-list-table.component.html41 + Commented video Iwennet tavidyut - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html82 + No comments found matching current filters. Ulac iwenniten yettwafen mṣadan d yimsizedegen imiranen. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html107 + No comments found. Ur d-nufi ula d yiwen n uwennit. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 - Local commentsLocal comments + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html108 + + + Local comments + Local comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 48 - - Remote commentsRemote comments + + + Remote comments + Remote comments src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts 52 @@ -3692,38 +3675,48 @@ The link will expire within 1 hour. No abuses found matching current filters. Ulac yir aseqdec yettwafen yemṣada d yimsizedgen imiranen. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + src/app/shared/shared-abuse-list/abuse-list-table.component.html163 + No abuses found. Ulac yir aseqdec yettwafen. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html164 - Unsolved reportsUnsolved reports + src/app/shared/shared-abuse-list/abuse-list-table.component.html164 + + + Unsolved reports + Unsolved reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 42 - - Accepted reportsAccepted reports + + + Accepted reports + Accepted reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 46 - - Refused reportsRefused reports + + + Refused reports + Refused reports src/app/shared/shared-abuse-list/abuse-list-table.component.ts 50 - - Reports with blocked videosReports with blocked videos + + + Reports with blocked videos + Reports with blocked videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 54 - - Reports with deleted videosReports with deleted videos + + + Reports with deleted videos + Reports with deleted videos src/app/shared/shared-abuse-list/abuse-list-table.component.ts 58 @@ -3732,25 +3725,29 @@ The link will expire within 1 hour. Block reason: Ssebba n usewḥel: - - src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + src/app/+admin/moderation/video-block-list/video-block-list.component.html87 + No blocked video found matching current filters. Ulac tavidyut yettusweḥlen yettwafen ara yemṣadan d yimsizedgen imiranen. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + src/app/+admin/moderation/video-block-list/video-block-list.component.html107 + No blocked video found. Ulac tavidyut yettusweḥlen i yettwafen. - - src/app/+admin/moderation/video-block-list/video-block-list.component.html108 - Automatic blocksAutomatic blocks + src/app/+admin/moderation/video-block-list/video-block-list.component.html108 + + + Automatic blocks + Automatic blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 31 - - Manual blocksManual blocks + + + Manual blocks + Manual blocks src/app/+admin/moderation/video-block-list/video-block-list.component.ts 35 @@ -3759,8 +3756,8 @@ The link will expire within 1 hour. Showing to of blocked videos Askan i n tvidyutin yettusweḥlen - - src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + src/app/+admin/moderation/video-block-list/video-block-list.component.html11 + Reports Ineqqisen @@ -3782,21 +3779,15 @@ The link will expire within 1 hour. Leqqem awennit-a src/app/shared/shared-abuse-list/moderation-comment-modal.component.html30 - - - - - - Reporter Amassaɣay - - - src/app/shared/shared-abuse-list/abuse-details.component.html7src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + src/app/shared/shared-abuse-list/abuse-details.component.html7 + src/app/shared/shared-abuse-list/abuse-list-table.component.html21 + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3807,54 +3798,54 @@ The link will expire within 1 hour. Video Tavidyut - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43src/app/+my-library/my-ownership/my-ownership.component.html20src/app/+my-library/my-video-imports/my-video-imports.component.html18 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html43 + src/app/+my-library/my-ownership/my-ownership.component.html20 + src/app/+my-library/my-video-imports/my-video-imports.component.html18 + Comment Awennit - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html44 + This video has been reported multiple times. Tavidyut-a tettwaktar acḥal n tikkal. - - src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + src/app/shared/shared-abuse-list/abuse-list-table.component.html70 + The video was blocked Tavidyut tettusewḥel - - src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + src/app/shared/shared-abuse-list/abuse-list-table.component.html79 + by on s ɣef - - - src/app/shared/shared-abuse-list/abuse-list-table.component.html82src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + src/app/shared/shared-abuse-list/abuse-list-table.component.html82 + src/app/shared/shared-abuse-list/abuse-list-table.component.html99 + Video was deleted Tavidyut tettwakkes - - src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + src/app/shared/shared-abuse-list/abuse-list-table.component.html89 + Account deleted Amiḍan yettwakkes - - src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + src/app/shared/shared-abuse-list/abuse-list-table.component.html125 + Showing to of reports Askan n i n yineqqisen - - src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + src/app/shared/shared-abuse-list/abuse-list-table.component.html6 + Reportee Reportee src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3915,76 +3906,76 @@ The link will expire within 1 hour. Mute domain Sgegem taɣult - - - src/app/shared/shared-moderation/server-blocklist.component.html18src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + src/app/shared/shared-moderation/server-blocklist.component.html18 + Instance Tummant - - - - - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5 + src/app/+search/search-filters.component.html165 + src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html31 + Muted at Yettwasgugem ɣef - - - - - src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/account-blocklist.component.html24src/app/shared/shared-moderation/server-blocklist.component.html32src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/account-blocklist.component.html24 + src/app/shared/shared-moderation/server-blocklist.component.html32 + src/app/shared/shared-moderation/server-blocklist.component.html32 + Unmute Tukksa n usgugem - - - - - src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/account-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html39src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/account-blocklist.component.html31 + src/app/shared/shared-moderation/server-blocklist.component.html39 + src/app/shared/shared-moderation/server-blocklist.component.html39 + No server found matching current filters. Ulac aqeddac yemṣadan d yimsizedgen imiranen. - - - src/app/shared/shared-moderation/server-blocklist.component.html55src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + src/app/shared/shared-moderation/server-blocklist.component.html55 + No server found. Ulac aqeddac yettwafen. - - - src/app/shared/shared-moderation/server-blocklist.component.html56src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + src/app/shared/shared-moderation/server-blocklist.component.html56 + Showing to of muted instances Askan n i n tummanin yettwasgugmen - - - src/app/shared/shared-moderation/server-blocklist.component.html11src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + src/app/shared/shared-moderation/server-blocklist.component.html11 + Mute domains Sgugem taɣulin - - - src/app/shared/shared-moderation/server-blocklist.component.html63src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + src/app/shared/shared-moderation/server-blocklist.component.html63 + Account Amiḍan - - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42src/app/shared/shared-moderation/account-blocklist.component.html23src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html42 + src/app/shared/shared-moderation/account-blocklist.component.html23 + src/app/shared/shared-moderation/account-blocklist.component.html23 + No account found matching current filters. Ulac amidan yettwafen yemṣada d yimsizedgen imiranen. - - - src/app/shared/shared-moderation/account-blocklist.component.html53src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + src/app/shared/shared-moderation/account-blocklist.component.html53 + No account found. Ulac amiḍan yettwafen. - - - src/app/shared/shared-moderation/account-blocklist.component.html54src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + src/app/shared/shared-moderation/account-blocklist.component.html54 + List installed plugins Bder izegrar yettwasbedden @@ -4026,8 +4017,8 @@ The link will expire within 1 hour. Uninstall Kkes - - src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html36 + Hot Ufrin @@ -4116,33 +4107,33 @@ The link will expire within 1 hour. Delete this comment Kkes awennit-a - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts75 + Delete all comments of this account Kkes akk iwenniten n umiḍan-a - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts81 + Comments are deleted after a few minutes Iwenniten ttwakksen seld kra n tesdatin - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts82 + comments deleted. iwenniten ttwakksen. - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts142 + Do you really want to delete all comments of ? Tebɣiḍ s tidet ad tekkseḍ meṛṛa iwenniten n ? - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts162 + Comments of will be deleted in a few minutes Iwenniten n ad ttwakksen deg kra n tesdatin - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts174 + Video comments Iwenniten ɣef tvidyut @@ -4159,17 +4150,14 @@ The link will expire within 1 hour. Showing to of comments Askan n deg n yiwenniten - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 - - - + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html15 + Select all rows Fren meṛṛa izirigen - - - src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38src/app/+admin/users/user-list/user-list.component.html34 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.html38 + src/app/+admin/users/user-list/user-list.component.html34 + Job type Anaw n umahil @@ -4205,8 +4193,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Tazwart (1 = highest priority) + Priority (1 = highest priority) + Tazwart (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4226,8 +4214,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Ulac imuhal yettwafen. + No jobs found. + Ulac imuhal yettwafen. src/app/+admin/system/jobs/jobs.component.html108 @@ -4263,8 +4251,8 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> - Sɣur -> + By -> + Sɣur -> src/app/+admin/system/logs/logs.component.html46 @@ -4310,8 +4298,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Sefrek iseqdacen i bennu n terbaεt tmḍebbart. + Manage users to build a moderation team. + Sefrek iseqdacen i bennu n terbaεt tmḍebbart. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4323,8 +4311,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Armad-is ad isireg inedbalen-nniḍen ad ẓren belli tesdukkuleḍ s wudem agejdan agbur amḥulfu. Rnu ɣer waya, tabewwaḍt n uṛcam ɣef tvidyut ad tettwaṛcem s wudem awurman amezwer. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Armad-is ad isireg inedbalen-nniḍen ad ẓren belli tesdukkuleḍ s wudem agejdan agbur amḥulfu. Rnu ɣer waya, tabewwaḍt n uṛcam ɣef tvidyut ad tettwaṛcem s wudem awurman amezwer. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4334,14 +4322,15 @@ The link will expire within 1 hour. Policy on videos containing sensitive content Tasertit n tvidyutin ideg yella ugbur amḥulfu src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + + + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 - Terms Tiwtilin @@ -4445,8 +4434,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Seqdec izegrar & isental i wugar n yisenfal i yesεan azal, neɣ rnu agganen ifessasen. + Use plugins & themes for more involved changes, or add slight customizations. + Seqdec izegrar & isental i wugar n yisenfal i yesεan azal, neɣ rnu agganen ifessasen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4558,8 +4547,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Sefrek iseqdacen i usbadu n umur-nsen i yal yiwen. + Manage users to set their quota individually. + Sefrek iseqdacen i usbadu n umur-nsen i yal yiwen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4684,8 +4673,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Ilaq ad tesqedceḍ kan imataren n unadi fessusen deg ufares, neɣ hsezdeɣ ayla-k·m. + You should only use moderated search indexes in production, or host your own. + Ilaq ad tesqedceḍ kan imataren n unadi fessusen deg ufares, neɣ hsezdeɣ ayla-k·m. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4722,8 +4711,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Sefrek assaɣen akked tummanin-nniḍen. + Manage relations with other instances. + Sefrek assaɣen akked tummanin-nniḍen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4755,8 +4744,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Wali tasemlit i wugar n telɣut ɣef URL yettṛaǧun + See the documentation for more information about the expected URL + Wali tasemlit i wugar n telɣut ɣef URL yettṛaǧun src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4807,8 +4796,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Ma yella tummant-ik·im tban tettusireg sɣur Twitter, imeɣri n tvidyutin ad yettusleɣ deg usuddim n Twitter ɣef beṭṭu n tvidyut n PeerTube. Ma yella tummant ur tban ara, nsseqdac takarḍa n useɣwen n tugna ara yawin srid ɣer tummant-ik·im PeerTube. Ṛcem tabewwaḍt-a, sekles tawila syen sekyed s URL n tvidyut n tummant-ik·im (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator i wakken ad twaliḍ ma yella tummant-ik·im tettwasireg. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Ma yella tummant-ik·im tban tettusireg sɣur Twitter, imeɣri n tvidyutin ad yettusleɣ deg usuddim n Twitter ɣef beṭṭu n tvidyut n PeerTube. Ma yella tummant ur tban ara, nsseqdac takarḍa n useɣwen n tugna ara yawin srid ɣer tummant-ik·im PeerTube. Ṛcem tabewwaḍt-a, sekles tawila syen sekyed s URL n tvidyut n tummant-ik·im (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator i wakken ad twaliḍ ma yella tummant-ik·im tettwasireg. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4855,8 +4844,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") + Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4868,8 +4857,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") + Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4937,8 +4926,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Llant tucḍiwin deg tferkit: + There are errors in the form: + Llant tucḍiwin deg tferkit: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -4972,14 +4961,15 @@ The link will expire within 1 hour. Allow additional extensions Sireg isiɣzaf-nniḍen src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html51 - - Allows users to upload videos.Allows users to upload videos. + + + Allows users to upload videos. + Allows users to upload videos. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 54 - Allow audio files upload Sireg asali n yifuyla imeslawen @@ -5019,8 +5009,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Yesra ffmpeg >= 4.1Sirew tibdarin n tɣuri HLS akked yifuyla MP4 yettwagezmen i tɣuri igerrzen s WebTorrent amagnu:Resolution change is smootherTaɣuri taruradt, ula d tvidyutin tiɣezzfaninTaɣuri iqeεden ugar (drus n wabugen/asali war tilas)Ma yella tremdeḍ daɣen tallalt n WebTorrent, ad isnerni aklas n tvidyutin s 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Yesra ffmpeg >= 4.1Sirew tibdarin n tɣuri HLS akked yifuyla MP4 yettwagezmen i tɣuri igerrzen s WebTorrent amagnu:Resolution change is smootherTaɣuri taruradt, ula d tvidyutin tiɣezzfaninTaɣuri iqeεden ugar (drus n wabugen/asali war tilas)Ma yella tremdeḍ daɣen tallalt n WebTorrent, ad isnerni aklas n tvidyutin s 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5157,19 +5147,13 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Aru tangalt n JavaScript srid.Amedya: console.log('tummant-iw tzad'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Aru tangalt n JavaScript srid.Amedya: console.log('tummant-iw tzad'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css -color: red; - - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email -color: red; - - - Aru srid tangalt CSS. D amedya:#custom-css ini: azewwaɣ; Yettuzwer-d s #custom-css i usenfel n yiɣaniben. D amedya:#custom-css .imayl n tuqqna ini: azewwaɣ; + Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; + Aru srid tangalt CSS. D amedya:#custom-css ini: azewwaɣ; Yettuzwer-d s #custom-css i usenfel n yiɣaniben. D amedya:#custom-css .imayl n tuqqna ini: azewwaɣ; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5254,32 +5238,31 @@ color: red; Fren bab-is amaynut src/app/+my-library/my-videos/modals/video-change-ownership.component.html10 - Last published first Tisuffaɣ tineggura d timezwura - - src/app/+my-library/my-videos/my-videos.component.html27 + src/app/+my-library/my-videos/my-videos.component.html27 + Last created first Aneggaru akk i yettwarnan i d amezwaru - - src/app/+my-library/my-videos/my-videos.component.html28 + src/app/+my-library/my-videos/my-videos.component.html28 + Most viewed first Ayen yettuwalan s waṭas d amezwaru - - src/app/+my-library/my-videos/my-videos.component.html29 + src/app/+my-library/my-videos/my-videos.component.html29 + Most liked first Win yesεan aṭas n uεǧab d amezwaru - - src/app/+my-library/my-videos/my-videos.component.html30 + src/app/+my-library/my-videos/my-videos.component.html30 + Longest first Aɣezzfan akk i d amezwaru - - src/app/+my-library/my-videos/my-videos.component.html31 + src/app/+my-library/my-videos/my-videos.component.html31 + Accept ownership Qbel ad tiliḍ d bab-is @@ -5380,30 +5363,30 @@ color: red; Channel page Asebter n ubadu - - - - src/app/+my-library/+my-video-channels/my-video-channels.component.html23src/app/+my-library/my-subscriptions/my-subscriptions.component.html20src/app/+videos/+video-watch/video-watch.component.html186 + src/app/+my-library/+my-video-channels/my-video-channels.component.html23 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html20 + src/app/+videos/+video-watch/video-watch.component.html186 + subscribers n yimultaɣ - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html25 + Created by Yettwarna s - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html28 + Owner account page Asebter n bab n umiḍan - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html27 + Delete history Kkes azray - - src/app/+my-library/my-history/my-history.component.html17 + src/app/+my-library/my-history/my-history.component.html17 + You don't have any video in your watch history yet. Ur tesεiḍ ara ula d yiwet n tvidyut deg uzray n tmeẓriwt-ik·im ar tura. @@ -5478,12 +5461,11 @@ color: red; src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html82 - Create playlist Rnu tabdart n tɣuri - - src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + src/app/+my-library/my-video-playlists/my-video-playlists.component.html11 + My video channels Ibuda-inu n tvidyut @@ -5497,8 +5479,8 @@ color: red; Playlist } deleted. Tabdart n tɣuri } tettwakkes. - - src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts45 + No videos in this playlist. Ulac tavidyut deg tebdart-a n tɣuri. @@ -5517,9 +5499,11 @@ color: red; Create video channel Rnu abadu n tvidyut - - src/app/+my-library/+my-video-channels/my-video-channels.component.html12 - No channel found.No channel found. + src/app/+my-library/+my-video-channels/my-video-channels.component.html12 + + + No channel found. + No channel found. src/app/+my-library/+my-video-channels/my-video-channels.component.html 16 @@ -5528,37 +5512,35 @@ color: red; {VAR_PLURAL, plural, =1 {1 subscriber} other { subscribers}} {VAR_PLURAL, plural, =1 {1 n umulteɣ} other { yimultaɣ}} - - - - src/app/+accounts/account-video-channels/account-video-channels.component.html23src/app/+my-library/+my-video-channels/my-video-channels.component.html28src/app/+video-channels/video-channels.component.html73 + src/app/+accounts/account-video-channels/account-video-channels.component.html23 + src/app/+my-library/+my-video-channels/my-video-channels.component.html28 + src/app/+video-channels/video-channels.component.html73 + {VAR_PLURAL, plural, =1 {1 videos} other { videos}} {VAR_PLURAL, plural, =1 {1 n tvidyutin} other { tividyutin}} - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + - - src/app/+accounts/account-video-channels/account-video-channels.component.html26 + src/app/+accounts/account-video-channels/account-video-channels.component.html26 + Show this channel Sken abadu-a - - src/app/+accounts/account-video-channels/account-video-channels.component.html35 + src/app/+accounts/account-video-channels/account-video-channels.component.html35 + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos}} {VAR_PLURAL, plural, =0 {Ulac tavidyut} =1 {1 n tvidyut} other { tividyutin}} - - src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + src/app/+my-library/+my-video-channels/my-video-channels.component.html30 + - Do you really want to delete ? -It will delete videos uploaded in this channel, and you will not be able to create another -channel with the same name ()! + Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! Tebɣiḍ s tidet ad tekkseḍ ? Ad yekkes tividyutin i d-yettwasulin deg ubadu-a, syen ur tettizmired ara ad ternuḍ abadu-nniḍen s yisem-nni kan ()! - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 + My Channels Ibuda-inu @@ -5596,9 +5578,8 @@ channel with the same name ()!src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 - Short text to tell people how they can support your channel (membership platform...).<br /><br /> - When you will upload a video in this channel, the video support field will be automatically filled by this text. - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5658,14 +5639,15 @@ channel with the same name ()!Video channel playlists Tibdarin n tɣuri n tubadu n tvidyut src/app/+video-channels/video-channels-routing.module.ts37 - - Manage channel Manage channel + + + Manage channel + Manage channel src/app/+video-channels/video-channels.component.html 10,11 - Request email for account verification Asuter n yimayl i usenqed n umiḍan @@ -5781,19 +5763,19 @@ channel with the same name ()! See this video channel Wali abadu-a n tvidyut - - - src/app/+accounts/account-video-channels/account-video-channels.component.html13src/app/+accounts/account-video-channels/account-video-channels.component.html17 + src/app/+accounts/account-video-channels/account-video-channels.component.html13 + src/app/+accounts/account-video-channels/account-video-channels.component.html17 + This channel doesn't have any videos. Abadu-a ulac deg-s tividyutin. - - src/app/+accounts/account-video-channels/account-video-channels.component.html38 + src/app/+accounts/account-video-channels/account-video-channels.component.html38 + - SHOW THIS CHANNEL > - SKEN ABADU-A > - - src/app/+accounts/account-video-channels/account-video-channels.component.html46 + SHOW THIS CHANNEL > + SKEN ABADU-A > + src/app/+accounts/account-video-channels/account-video-channels.component.html46 + This channel does not have playlists. Abadu-a ulac deg-s tibdarin n tɣuri. @@ -6039,8 +6021,8 @@ channel with the same name ()!src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Tiyigiwin n Web ulac anekcum ɣur-sent s wudem azayaz: acku nesseqdac ttawil n usiweḍ websocket, aneggaf-a yemgarad ɣef uneḍfar BitTorrent aklasik. Mi ara tiliḍ deg yiminig web, tettazneḍ asɣal ideg tella tansa-k·m IP ɣer uneḍfar ara ifernen kan akka tiyigiwin-nniḍen wuɣur ara yazen talɣut. Wali asemli-a i wugar n talɣut + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Tiyigiwin n Web ulac anekcum ɣur-sent s wudem azayaz: acku nesseqdac ttawil n usiweḍ websocket, aneggaf-a yemgarad ɣef uneḍfar BitTorrent aklasik. Mi ara tiliḍ deg yiminig web, tettazneḍ asɣal ideg tella tansa-k·m IP ɣer uneḍfar ara ifernen kan akka tiyigiwin-nniḍen wuɣur ara yazen talɣut. Wali asemli-a i wugar n talɣut src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6367,8 +6349,8 @@ channel with the same name ()!src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - <code>.mp4</code> ara yeṭṭfen ameslaw aneẓli, s wartavidyut + A <code>.mp4</code> that keeps the original audio track, with no video + <code>.mp4</code> ara yeṭṭfen ameslaw aneẓli, s wartavidyut src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -6439,9 +6421,9 @@ channel with the same name ()! x264, targeting maximum device compatibility x264, i umṣada afellay d yibenkan - - - src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + src/app/+admin/config/edit-custom-config/edit-live-configuration.component.ts55 + src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.ts50 + Estimating a server's capacity to transcode and stream videos isn't easy and we can't tune PeerTube automatically. Aseḍkeḍ n tezmart n uqeddac i wanigtengel d usuddem n tvidyutin ur yeshil ara yerna ur nezmir ara ad nṣeggem PeerTube s wudem awurman. @@ -6665,29 +6647,29 @@ channel with the same name ()! Delete Kkes - - - - - - - - - - - - - - - - - - - - - - - src/app/+admin/follows/followers-list/followers-list.component.ts74src/app/+admin/moderation/video-block-list/video-block-list.component.ts87src/app/+admin/moderation/video-block-list/video-block-list.component.ts91src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163src/app/+admin/users/user-list/user-list.component.ts85src/app/+admin/users/user-list/user-list.component.ts199src/app/+my-library/+my-video-channels/my-video-channels.component.ts52src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35src/app/+my-library/my-videos/my-videos.component.ts115src/app/+my-library/my-videos/my-videos.component.ts142src/app/+my-library/my-videos/my-videos.component.ts183src/app/+videos/+video-watch/comment/video-comments.component.ts171src/app/shared/shared-abuse-list/abuse-list-table.component.ts144src/app/shared/shared-abuse-list/abuse-list-table.component.ts386src/app/shared/shared-abuse-list/abuse-list-table.component.ts421src/app/shared/shared-main/buttons/delete-button.component.ts17src/app/shared/shared-main/buttons/delete-button.component.ts22src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + src/app/+admin/follows/followers-list/followers-list.component.ts74 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts87 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts91 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts95 + src/app/+admin/moderation/video-comment-list/video-comment-list.component.ts163 + src/app/+admin/users/user-list/user-list.component.ts85 + src/app/+admin/users/user-list/user-list.component.ts199 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts52 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts127 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts35 + src/app/+my-library/my-videos/my-videos.component.ts115 + src/app/+my-library/my-videos/my-videos.component.ts142 + src/app/+my-library/my-videos/my-videos.component.ts183 + src/app/+videos/+video-watch/comment/video-comments.component.ts171 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts386 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts421 + src/app/shared/shared-main/buttons/delete-button.component.ts17 + src/app/shared/shared-main/buttons/delete-button.component.ts22 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts92 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts208 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts308 + removed from instance followers yettwakkes sɣur ineḍfaren n tummant @@ -6782,163 +6764,163 @@ channel with the same name ()! Violent or Repulsive Violent or Repulsive - - src/app/shared/shared-abuse-list/abuse-details.component.ts19 + src/app/shared/shared-abuse-list/abuse-details.component.ts19 + Hateful or Abusive Hateful or Abusive - - src/app/shared/shared-abuse-list/abuse-details.component.ts20 + src/app/shared/shared-abuse-list/abuse-details.component.ts20 + Spam or Misleading Spam or Misleading - - src/app/shared/shared-abuse-list/abuse-details.component.ts21 + src/app/shared/shared-abuse-list/abuse-details.component.ts21 + Privacy Vie privée - - src/app/shared/shared-abuse-list/abuse-details.component.ts22 + src/app/shared/shared-abuse-list/abuse-details.component.ts22 + Copyright Copyright - - - src/app/shared/shared-abuse-list/abuse-details.component.ts23src/app/shared/shared-moderation/abuse.service.ts159 + src/app/shared/shared-abuse-list/abuse-details.component.ts23 + src/app/shared/shared-moderation/abuse.service.ts159 + Server rules Ilugan n uqeddac - - src/app/shared/shared-abuse-list/abuse-details.component.ts24 + src/app/shared/shared-abuse-list/abuse-details.component.ts24 + Thumbnails Tinfulin - - - src/app/shared/shared-abuse-list/abuse-details.component.ts25src/app/shared/shared-moderation/abuse.service.ts173 + src/app/shared/shared-abuse-list/abuse-details.component.ts25 + src/app/shared/shared-moderation/abuse.service.ts173 + Internal actions Tigawin tigensayin - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts55src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts55 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts254 + Delete report Delete report - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts285 + Actions for the flagged account Actions for the flagged account - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts296 + Mark as accepted Creḍ yettwaqbal - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts270 + Mark as rejected Creḍ yettwagi - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts275 + Add internal note Rnu tazmilt tagensant - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts280 + Actions for the video Actions for the video - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts78src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts78 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts344 + Block video Block video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts349 + Video blocked. Tavidyut tettusewḥel. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts355src/app/shared/shared-moderation/video-block.component.ts60 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts355 + src/app/shared/shared-moderation/video-block.component.ts60 + Unblock video Kkes asekkar i tvidyut - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts365 + Video unblocked. Tavidyut yettwakkes-as usekkeṛ. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts371 + Delete video Delete video - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts381 + Actions for the comment Tigawin i uwennit - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts410 + Delete comment Kkes awennit - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts416 + Do you really want to delete this comment? Tebɣiḍ s tidet ad tekkseḍ awennit-a? - - - src/app/+videos/+video-watch/comment/video-comments.component.ts172src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + src/app/+videos/+video-watch/comment/video-comments.component.ts172 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts420 + Comment deleted. Awennit yettwakkes. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts428 + Do you really want to delete this video? D tidet tebɣiḍ ad tekkseḍ tavidyut-a? - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts90src/app/shared/shared-abuse-list/abuse-list-table.component.ts385src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts90 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts385 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts203 + Video deleted. Tavidyut tettwakkes. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts98src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts98 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts393 + Actions for the reporter Tigawin i umassaɣay - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts320 + Mute reporter Sgugem amassaɣay - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts326 + Account muted by the instance. Amiḍan yettwasgugem s tummant-ik·im. - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts444src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts444 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts176 + Mute server Sgugem aqeddac - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts332 + Server muted by the instance. Aqeddac yettwasgugem s tummant-a. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts456 + Add a message to communicate with the reporter Rnu izen i wakken ad temmeslayeḍ akked umassaɣay @@ -6952,63 +6934,63 @@ channel with the same name ()! Do you really want to delete this abuse report? Tebɣiḍ s tidet ad tekkseḍ aneqqis-a n yisr aseqdec? - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts144 + Abuse deleted. Yir aseqdec yettwakkes. - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts149 + Deleted comment Yettwakkes uwennit - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts225 + Messages with reporter Iznan s umassaɣay - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts259 + Messages with moderators Iznan s yimḍebbren - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts260 + Update internal note Leqqem tazmilt tagensant - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts265 + Switch video block to manual Err asewḥel n tvidyut ad iteddu s ufus - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts60 + Video switched to manual block. Tavidyut tuɣal ɣer usewḥel s ufus. - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts66 + Do you really want to unblock this video? It will be available again in the videos list. Do you really want to unblock this video? It will be available again in the videos list. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts134src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts134 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts180 + Unblock Eks asewḥel - - - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts82src/app/+admin/moderation/video-block-list/video-block-list.component.ts136src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts82 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts136 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts182 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts296 + Video unblocked. Tavidyut yekkes-as usewḥel. - - - src/app/+admin/moderation/video-block-list/video-block-list.component.ts141src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + src/app/+admin/moderation/video-block-list/video-block-list.component.ts141 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts188 + yes ih @@ -7144,8 +7126,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube yettwali tansa-ik·im n IP tazayazt n yiminig web d . + PeerTube thinks your web browser public IP is . + PeerTube yettwali tansa-ik·im n IP tazayazt n yiminig web d . src/app/+admin/system/debug/debug.component.html 4 @@ -7192,16 +7174,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Senqed tasarut n twila trust_proxy configuration key + Check the trust_proxy configuration key + Senqed tasarut n twila trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Ma yella PeerTube inek·inem iteddu s useqdec n Docker, senqed ma yella tseddayeḍ reverse-proxy s network_mode: "inebgi" (wali ugur wis 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Ma yella PeerTube inek·inem iteddu s useqdec n Docker, senqed ma yella tseddayeḍ reverse-proxy s network_mode: "inebgi" (wali ugur wis 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7361,71 +7343,71 @@ channel with the same name ()! Videos will be deleted, comments will be tombstoned. Tividyutin ad ttwakksent, iwenniten ad ttwasfesxen. - - - src/app/+admin/users/user-list/user-list.component.ts86src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + src/app/+admin/users/user-list/user-list.component.ts86 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts270 + Ban Gdel - - - src/app/+admin/users/user-list/user-list.component.ts91src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + src/app/+admin/users/user-list/user-list.component.ts91 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts274 + User won't be able to login anymore, but videos and comments will be kept as is. User won't be able to login anymore, but videos and comments will be kept as is. - - - src/app/+admin/users/user-list/user-list.component.ts92src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + src/app/+admin/users/user-list/user-list.component.ts92 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts275 + Unban Asefsex n tigtin - - - - src/app/+admin/users/user-list/user-list.component.ts97src/app/+admin/users/user-list/user-list.component.ts176src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + src/app/+admin/users/user-list/user-list.component.ts97 + src/app/+admin/users/user-list/user-list.component.ts176 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts71 + Set Email as Verified Sbadu imayl am wakken yettusenqed - - - src/app/+admin/users/user-list/user-list.component.ts104src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + src/app/+admin/users/user-list/user-list.component.ts104 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts286 + You cannot ban root. Ur tezmired ara ad tgedleḍ aseqdac aẓar. - - - src/app/+admin/users/user-list/user-list.component.ts163src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + src/app/+admin/users/user-list/user-list.component.ts163 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts59 + Do you really want to unban users? Tebɣiḍ s tidet ad tekkseḍ agdal i yiseqdacen users? - - src/app/+admin/users/user-list/user-list.component.ts176 + src/app/+admin/users/user-list/user-list.component.ts176 + users unbanned. iseqdacen yettwagedlen. - - src/app/+admin/users/user-list/user-list.component.ts182 + src/app/+admin/users/user-list/user-list.component.ts182 + You cannot delete root. Ur tezmireḍ ara ad tekkseḍ aseqdac aẓar. - - - src/app/+admin/users/user-list/user-list.component.ts193src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + src/app/+admin/users/user-list/user-list.component.ts193 + src/app/shared/shared-moderation/user-moderation-dropdown.component.ts87 + If you remove these users, you will not be able to create others with the same username! Ma yella tekkseḍ iseqdacen-a, ur tettizmireḍ ara ad ternuḍ wiyaḍ s yisem-nni kan n useqdac! - - src/app/+admin/users/user-list/user-list.component.ts198 + src/app/+admin/users/user-list/user-list.component.ts198 + users deleted. iseqdacen yettwagedlen. - - src/app/+admin/users/user-list/user-list.component.ts204 + src/app/+admin/users/user-list/user-list.component.ts204 + users email set as verified. imayl n yiseqdac yettusbadu yettusenqed. - - src/app/+admin/users/user-list/user-list.component.ts215 + src/app/+admin/users/user-list/user-list.component.ts215 + Account unmuted. Amiḍan yekkes-as usgugem. @@ -7441,28 +7423,28 @@ channel with the same name ()! Videos history is enabled Azray n tvidyutin yettwarmed - - src/app/+my-library/my-history/my-history.component.ts113 + src/app/+my-library/my-history/my-history.component.ts113 + Videos history is disabled Azray n tvidyutin yensa - - src/app/+my-library/my-history/my-history.component.ts114 + src/app/+my-library/my-history/my-history.component.ts114 + Delete videos history Kkes azray n tvidyutin - - src/app/+my-library/my-history/my-history.component.ts126 + src/app/+my-library/my-history/my-history.component.ts126 + Are you sure you want to delete all your videos history? D tidet tebɣiḍ ad tekkseḍ meṛṛa azray-ik·im n tvidyutin? - - src/app/+my-library/my-history/my-history.component.ts127 + src/app/+my-library/my-history/my-history.component.ts127 + Videos history deleted Azray n tvidyutin yettwakkes - - src/app/+my-library/my-history/my-history.component.ts135 + src/app/+my-library/my-history/my-history.component.ts135 + My watch history Azray-inu n tmeẓriwt @@ -7471,12 +7453,11 @@ channel with the same name ()!3 - Track watch history Azray n tɣuri n tvidyut - - src/app/+my-library/my-history/my-history.component.html13 + src/app/+my-library/my-history/my-history.component.html13 + Ownership accepted Abeddel n bab-is yettwaqbel @@ -7493,8 +7474,8 @@ channel with the same name ()!src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Imayl-inek·inem amiran d . Urǧin ad d-iban i uzayaz. + Your current email is . It is never shown to the public. + Imayl-inek·inem amiran d . Urǧin ad d-iban i uzayaz. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7673,24 +7654,23 @@ channel with the same name ()! Unknown language Tutlayt tarussint - - src/app/shared/shared-user-settings/user-video-settings.component.ts56 + src/app/shared/shared-user-settings/user-video-settings.component.ts56 + Too many languages are enabled. Please enable them all or stay below 20 enabled languages. Aṭas n tutlayin i yettwaremden. Ttxil-k·m rmed-itent akk neɣ qqim ddaw deg 20 n tutlayin yettwaremden. - - src/app/shared/shared-user-settings/user-video-settings.component.ts92 - + src/app/shared/shared-user-settings/user-video-settings.component.ts92 + Video settings updated. Iɣewwaren n tvidyut ttwaremden. - - src/app/shared/shared-user-settings/user-video-settings.component.ts169 + src/app/shared/shared-user-settings/user-video-settings.component.ts169 + Display/Video settings updated. Iɣewwaren n tvidyut/n uskan ttwaleqqmen. - - src/app/shared/shared-user-settings/user-video-settings.component.ts178 + src/app/shared/shared-user-settings/user-video-settings.component.ts178 + Video channel created. Abadu n tvidyut yettwarna. @@ -7733,18 +7713,18 @@ channel with the same name ()! Please type the display name of the video channel () to confirm Ttxil-k·m aru isem yettwaskanen n ubadu n tvidyut ( ) i usentem - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts48 + Video channel deleted. Abadu n tvidyut yettwakkes. - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts60 + Views for the day Timeẓriyin deg ass - - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + Update video channel Leqqem abadu n tvidyut @@ -7821,15 +7801,15 @@ channel with the same name ()! Do you really want to delete ? Tebɣiḍ s tidet ad tekkseḍ ? - - - - src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34src/app/+my-library/my-videos/my-videos.component.ts141 + src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts126 + src/app/+my-library/my-video-playlists/my-video-playlists.component.ts34 + src/app/+my-library/my-videos/my-videos.component.ts141 + Change ownership Beddel amli - - src/app/+my-library/my-videos/my-videos.component.ts178 + src/app/+my-library/my-videos/my-videos.component.ts178 + Playlist deleted. Tabdart n tɣuri tettwakkes. @@ -7848,13 +7828,13 @@ channel with the same name ()! Do you really want to delete videos? Tebɣiḍ s tidet ad tekkseḍ tividyutin ? - - src/app/+my-library/my-videos/my-videos.component.ts114 + src/app/+my-library/my-videos/my-videos.component.ts114 + videos deleted. tividyutin yettwakksen. - - src/app/+my-library/my-videos/my-videos.component.ts131 + src/app/+my-library/my-videos/my-videos.component.ts131 + Do you really want to delete ? Tebɣiḍ s tidet ad t-tekkseḍ ? @@ -7866,9 +7846,9 @@ channel with the same name ()! Video deleted. Tavidyut tettwakkes. - - - src/app/+my-library/my-videos/my-videos.component.ts149src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + src/app/+my-library/my-videos/my-videos.component.ts149 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts214 + Ownership change request sent. Ownership change request sent. @@ -7877,9 +7857,9 @@ channel with the same name ()! My videos My videos - - - src/app/+my-library/my-library-routing.module.ts77src/app/+my-library/my-videos/my-videos.component.ts69 + src/app/+my-library/my-library-routing.module.ts77 + src/app/+my-library/my-videos/my-videos.component.ts69 + My video imports Aktaren n tvidyut-iw @@ -7903,9 +7883,8 @@ channel with the same name ()! My channels Ibuda-inu - - src/app/+my-library/+my-video-channels/my-video-channels.component.html3 - + src/app/+my-library/+my-video-channels/my-video-channels.component.html3 + My playlists Tibdarin-inu n tɣuri @@ -7916,12 +7895,11 @@ channel with the same name ()!Imultaɣ-inu src/app/+my-library/my-subscriptions/my-subscriptions.component.html4 - You don't have any subscription yet. Ulac ɣur-k·m ula d yiwen umulteɣ ar tura. - - src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + src/app/+my-library/my-subscriptions/my-subscriptions.component.html13 + My abuse reports My abuse reports @@ -7955,9 +7933,9 @@ channel with the same name ()! max size teɣzi tafellayt - - - src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47src/app/shared/shared-forms/preview-upload.component.ts39 + src/app/shared/shared-actor-image-edit/actor-avatar-edit.component.ts47 + src/app/shared/shared-forms/preview-upload.component.ts39 + Maximize editor Semɣer amaẓrag @@ -8003,9 +7981,9 @@ channel with the same name ()! Subscribe to the account Multeɣ ɣer umiḍan - - - src/app/+video-channels/video-channels.component.ts71src/app/+videos/+video-watch/video-watch.component.ts984 + src/app/+video-channels/video-channels.component.ts71 + src/app/+videos/+video-watch/video-watch.component.ts984 + PLAYLISTS TIBDARIN N TΓURI @@ -8070,8 +8048,7 @@ channel with the same name ()!src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . -Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. D awezɣi ad d-nerr inekcam n umsaɣ OAuth: . Ḍmen belli tsewleḍ PeerTube akken iwata (akaram n uswel/), aṭas tigezmi n "aqeddac web". src/app/core/auth/auth.service.ts99 @@ -8103,28 +8080,28 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular hide ffer - - src/app/menu/menu.component.ts284 + src/app/menu/menu.component.ts284 + blur blur - - src/app/menu/menu.component.ts288 + src/app/menu/menu.component.ts288 + display sken - - src/app/menu/menu.component.ts292 + src/app/menu/menu.component.ts292 + Unknown D arussin - - src/app/menu/menu.component.ts197 + src/app/menu/menu.component.ts197 + any language yal tutlayt - - src/app/menu/menu.component.ts251 + src/app/menu/menu.component.ts251 + ON ƔEF @@ -8209,8 +8186,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+search/search-filters.component.ts69 - Long (> 10 min) - Aqezzfan (> 10 tsd) + Long (> 10 min) + Aqezzfan (> 10 tsd) src/app/+search/search-filters.component.ts73 @@ -8232,21 +8209,21 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Search index is unavailable. Retrying with instance results instead. Amatar n unadi ulac-it. Ales deg ubdil-is s yigmaḍ n tummant. - - src/app/+search/search.component.ts167 + src/app/+search/search.component.ts167 + Search error Tuccḍa n unadi - - src/app/+search/search.component.ts168 + src/app/+search/search.component.ts168 + Search Rechercher - - - - - src/app/+search/search-routing.module.ts15src/app/+search/search.component.ts242src/app/shared/shared-main/misc/simple-search-input.component.ts15src/app/shared/shared-main/misc/simple-search-input.component.ts16 + src/app/+search/search-routing.module.ts15 + src/app/+search/search.component.ts242 + src/app/shared/shared-main/misc/simple-search-input.component.ts15 + src/app/shared/shared-main/misc/simple-search-input.component.ts16 + @@ -8828,8 +8805,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Wali tasemlit i wakken ad tissineḍ amek ara tesqedceḍ tamahilt tusridt n uskan PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Wali tasemlit i wakken ad tissineḍ amek ara tesqedceḍ tamahilt tusridt n uskan PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9333,15 +9310,16 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular (channel page) (asebter n ubadu) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts19src/app/shared/shared-actor-image/actor-avatar.component.ts41src/app/shared/shared-video-miniature/video-miniature.component.ts118 + src/app/+videos/+video-watch/video-avatar-channel.component.ts19 + src/app/shared/shared-actor-image/actor-avatar.component.ts41 + src/app/shared/shared-video-miniature/video-miniature.component.ts118 + (account page) (asebter n umiḍan) - - - src/app/+videos/+video-watch/video-avatar-channel.component.ts20src/app/shared/shared-actor-image/actor-avatar.component.ts40 + src/app/+videos/+video-watch/video-avatar-channel.component.ts20 + src/app/shared/shared-actor-image/actor-avatar.component.ts40 + Emphasis Tuffayt @@ -9642,9 +9620,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Captions Tineffusin - - - src/app/shared/shared-abuse-list/abuse-details.component.ts26src/app/shared/shared-moderation/abuse.service.ts178 + src/app/shared/shared-abuse-list/abuse-details.component.ts26 + src/app/shared/shared-moderation/abuse.service.ts178 + The above can only be seen in captions (please describe which). Ayen yezrin ur yezmir ad yettuwali ala deg tneffusin (ttxil-k·m glem-d d anti). @@ -9714,13 +9692,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Administrator Anedbal - - src/app/core/users/user.service.ts406 + src/app/core/users/user.service.ts406 + Moderator Amaẓrag - - src/app/core/users/user.service.ts407 + src/app/core/users/user.service.ts407 + Video removed from Tavidyut tettwakkes seg @@ -9838,9 +9816,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Display live information Sken talɣut tusridt - - - src/app/+my-library/my-videos/my-videos.component.ts172src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + src/app/+my-library/my-videos/my-videos.component.ts172 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts278 + Update Mettre à jour @@ -9862,10 +9840,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Tesriḍ ad tiliḍ <a href="/login">teqqneḍ </a> i wakken ad tgeḍ afmiḍi i tvidyut-a. - - src/app/+videos/+video-watch/video-watch.component.ts250 + You need to be <a href="/login">logged in</a> to rate this video. + Tesriḍ ad tiliḍ <a href="/login">teqqneḍ </a> i wakken ad tgeḍ afmiḍi i tvidyut-a. + src/app/+videos/+video-watch/video-watch.component.ts250 + Mirror Tamrayt @@ -9879,13 +9857,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Remove Sfeḍ - - src/app/+videos/+video-watch/comment/video-comment.component.ts186 + src/app/+videos/+video-watch/comment/video-comment.component.ts186 + Remove & re-draft Kkes & ales tira - - src/app/+videos/+video-watch/comment/video-comment.component.ts194 + src/app/+videos/+video-watch/comment/video-comment.component.ts194 + {VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment} other { Comments}} {VAR_PLURAL, plural, =0 {Iwenniten} =1 {1 uwennit} other { Iwenniten}} @@ -9897,9 +9875,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute account Sgugem amiḍan - - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts302src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts302 + src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts322 + Open video actions Ldi tigawin n tvidyut @@ -9915,34 +9893,36 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Mute server account Sgugem amiḍan n uqeddac - - src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + src/app/shared/shared-abuse-list/abuse-list-table.component.ts308 + Published Yeffeɣ-d - - src/app/shared/shared-video-miniature/video-miniature.component.ts163 + src/app/shared/shared-video-miniature/video-miniature.component.ts163 + Publication scheduled on Tasuffeɣt tettusɣawas ass - - src/app/shared/shared-video-miniature/video-miniature.component.ts168 + src/app/shared/shared-video-miniature/video-miniature.component.ts168 + Waiting transcoding Aṛaǧu n wanigtengel - - src/app/shared/shared-video-miniature/video-miniature.component.ts172 + src/app/shared/shared-video-miniature/video-miniature.component.ts172 + To transcode i wanigtengel - - src/app/shared/shared-video-miniature/video-miniature.component.ts176 + src/app/shared/shared-video-miniature/video-miniature.component.ts176 + To import I uktar - - src/app/shared/shared-video-miniature/video-miniature.component.ts180 - + src/app/shared/shared-video-miniature/video-miniature.component.ts180 + + + + src/app/shared/shared-video-miniature/videos-selection.component.html 1 @@ -9966,33 +9946,33 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Only I can see this video Ala nekk i izemren ad iwali tavidyut-a - - src/app/shared/shared-main/video/video.service.ts385 + src/app/shared/shared-main/video/video.service.ts385 + Only shareable via a private link Beṭṭu-ines ad yili kan s useɣwen uslig - - src/app/shared/shared-main/video/video.service.ts389 + src/app/shared/shared-main/video/video.service.ts389 + Anyone can see this video Medden akk zemren ad walin tavidyut-a - - src/app/shared/shared-main/video/video.service.ts393 + src/app/shared/shared-main/video/video.service.ts393 + Only users of this instance can see this video Ala iseqdacen n tummant-a i izemren ad walin tavidyut-a - - src/app/shared/shared-main/video/video.service.ts397 + src/app/shared/shared-main/video/video.service.ts397 + viewers yimsefliden - - src/app/shared/shared-main/video/video.model.ts206 + src/app/shared/shared-main/video/video.model.ts206 + views yisenqaden - - src/app/shared/shared-main/video/video.model.ts209 + src/app/shared/shared-main/video/video.model.ts209 + Close Mdel @@ -10200,14 +10180,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + Your video quota is exceeded with this video ( video size: , used: , quota: ) Ableɣ-ik·im n tvidyut iεedda s tvidyut-a (teɣzi n tvidyut: , yettuseqdacen: , amur: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + Your daily video quota is exceeded with this video ( video size: , used: , quota: ) Ableɣ-ik·im n tvidyut i wass iεedda s tvidyut-a (teɣzi n tvidyut: , yettuseqdacen: , amur: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 @@ -10229,23 +10207,23 @@ video size: , used: Stop autoplaying next video Seḥbes taɣuri tawurmant n tvidyut i d-iteddun - - src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + src/app/+videos/+video-watch/video-watch-playlist.component.ts220 + Autoplay next video Taɣuri tawurmant n tvidyut i d-iteddun - - src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + src/app/+videos/+video-watch/video-watch-playlist.component.ts221 + Stop looping playlist videos Seḥbes taɣuri n tvidyutin i d-yettuɣalin n tebdart n tɣuri - - src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + src/app/+videos/+video-watch/video-watch-playlist.component.ts226 + Loop playlist videos Ttales-d tividyutin n tebdart n tɣuri - - src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + src/app/+videos/+video-watch/video-watch-playlist.component.ts227 + Placeholder image Tugna n umesnifel @@ -10270,105 +10248,105 @@ video size: , used: src/app/+videos/+video-watch/video-watch.component.ts160 - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Tavidyut-a ulac-itt deg tummant. Tebɣiḍ ad tettuwellheḍ ɣer tummant taneẓlit: <a href=""></a>? - - src/app/+videos/+video-watch/video-watch.component.ts440 + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Tavidyut-a ulac-itt deg tummant. Tebɣiḍ ad tettuwellheḍ ɣer tummant taneẓlit: <a href=""></a>? + src/app/+videos/+video-watch/video-watch.component.ts440 + Redirection Allus n uwelleh - - src/app/+videos/+video-watch/video-watch.component.ts441 + src/app/+videos/+video-watch/video-watch.component.ts441 + This video contains mature or explicit content. Are you sure you want to watch it? Tavidyut-a deg-s agbur ai yimeqqranen neɣ agbur amḥulfu. D tidet tebɣiḍ ad t-twaliḍ? - - src/app/+videos/+video-watch/video-watch.component.ts571 + src/app/+videos/+video-watch/video-watch.component.ts571 + Mature or explicit content Agbur i yimeqqranen neq agbur amḥulfu - - src/app/+videos/+video-watch/video-watch.component.ts572 + src/app/+videos/+video-watch/video-watch.component.ts572 + Up Next Uḍfir - - src/app/+videos/+video-watch/video-watch.component.ts645 + src/app/+videos/+video-watch/video-watch.component.ts645 + Cancel Sefsex - - src/app/+videos/+video-watch/video-watch.component.ts646 + src/app/+videos/+video-watch/video-watch.component.ts646 + Autoplay is suspended Taɣuri tawurmant tettwaseḥbes - - src/app/+videos/+video-watch/video-watch.component.ts647 + src/app/+videos/+video-watch/video-watch.component.ts647 + Enter/exit fullscreen (requires player focus) Kcem/ffeɣ askar n ugdil aččuran (yesra afukus ɣef yimeɣri) - - src/app/+videos/+video-watch/video-watch.component.ts951 + src/app/+videos/+video-watch/video-watch.component.ts951 + Play/Pause the video (requires player focus) Taɣuri/Aḥbas n tvidyutPause(yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts952 + src/app/+videos/+video-watch/video-watch.component.ts952 + Mute/unmute the video (requires player focus) Sgugem/kkes asgugem tavidyut (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts953 + src/app/+videos/+video-watch/video-watch.component.ts953 + Skip to a percentage of the video: 0 is 0% and 9 is 90% (requires player focus) Ɛeddi ɣer ufmiḍi n tvidyut: 0 d 0% akked 9 d 90% (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts955 + src/app/+videos/+video-watch/video-watch.component.ts955 + Increase the volume (requires player focus) Snerni ablaɣ (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts957 + src/app/+videos/+video-watch/video-watch.component.ts957 + Decrease the volume (requires player focus) Senqes ableɣ (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts958 + src/app/+videos/+video-watch/video-watch.component.ts958 + Seek the video forward (requires player focus) Seddu tavidyut ɣer sdat (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts960 + src/app/+videos/+video-watch/video-watch.component.ts960 + Seek the video backward (requires player focus) Err tavidyut ɣer deffir (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts961 + src/app/+videos/+video-watch/video-watch.component.ts961 + Increase playback rate (requires player focus) Snerni arured n tɣuri (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts963 + src/app/+videos/+video-watch/video-watch.component.ts963 + Decrease playback rate (requires player focus) Senqes arured n tɣuri (yesra afukus n tɣuri) - - src/app/+videos/+video-watch/video-watch.component.ts964 + src/app/+videos/+video-watch/video-watch.component.ts964 + Navigate in the video frame by frame (requires player focus) Inig deg tvidyut tugna s tugna (yesra afukus ɣef yimeɣri) - - src/app/+videos/+video-watch/video-watch.component.ts966 + src/app/+videos/+video-watch/video-watch.component.ts966 + Like the video Teεǧeb-iyi tavidyut - - src/app/+videos/+video-watch/video-watch.component.ts974 + src/app/+videos/+video-watch/video-watch.component.ts974 + Dislike the video Ur iyi-teεǧib ara tvidyut - - src/app/+videos/+video-watch/video-watch.component.ts979 + src/app/+videos/+video-watch/video-watch.component.ts979 + When active, the next video is automatically played after the current one. Ma yili yettwarmed, tavidyut i d-iteddun ad d-tεeddi s wudem awurman seld tavidyut tamirant. From 278cae737cf639041ad9d52d22f6dca88f41682a Mon Sep 17 00:00:00 2001 From: Slimane Selyan AMIRI Date: Thu, 6 May 2021 09:19:22 +0000 Subject: [PATCH 050/136] Translated using Weblate (Kabyle) Currently translated at 100.0% (103 of 103 strings) Translation: PeerTube/player Translate-URL: https://weblate.framasoft.org/projects/peertube/player/kab/ --- client/src/locale/player.kab.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/src/locale/player.kab.json b/client/src/locale/player.kab.json index 42c8067dc..e23c714b8 100644 --- a/client/src/locale/player.kab.json +++ b/client/src/locale/player.kab.json @@ -1,5 +1,5 @@ { - "Quality": "Facteur de qualité à utiliser en mode qualité constante", + "Quality": "Taɣara", "Auto": "Awurman", "Speed": "Arured", "Subtitles/CC": "Iduzwilen", @@ -16,7 +16,7 @@ "Total uploaded: ": "Amḍan n tuzzna ", "From servers: ": "Seg yiqeddacen: ", "From peers: ": "Seg yiyugan: ", - "Normal mode": "Normal mode", + "Normal mode": "Askan amagnu", "Theater mode": "Askar n umezgun", "Audio Player": "Imeɣri n imesli", "Video Player": "Imeɣri n uvidyu", @@ -36,7 +36,7 @@ "Non-Fullscreen": "MAčči-Agdil aččuran", "Mute": "Gzem imesli", "Unmute": "Susem", - "Playback Rate": "Vitesse de lecture", + "Playback Rate": "Taruradt n tɣuri", "Subtitles": "Iduzewlen", "subtitles off": "Aduzwel insa", "Captions": "Tira", @@ -82,7 +82,7 @@ "Font Size": "Teɣzi n tsefsit", "Text Edge Style": "Aɣanib n tamiwin n uḍris", "None": "Ula yiwen", - "Raised": "Ɛlay", + "Raised": "Afellay", "Depressed": "Yettusit", "Uniform": "Asurad", "Dropshadow": "Tili n uɣlay", From 6b72746c65761addb6e7113291b06e40a57793dc Mon Sep 17 00:00:00 2001 From: Vodoyo Kamal Date: Thu, 6 May 2021 06:16:23 +0000 Subject: [PATCH 051/136] Translated using Weblate (Bengali) Currently translated at 5.5% (100 of 1806 strings) Translation: PeerTube/angular Translate-URL: https://weblate.framasoft.org/projects/peertube/angular/bn/ --- client/src/locale/angular.bn.xlf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/src/locale/angular.bn.xlf b/client/src/locale/angular.bn.xlf index 56bd2217c..6c2644740 100644 --- a/client/src/locale/angular.bn.xlf +++ b/client/src/locale/angular.bn.xlf @@ -321,7 +321,7 @@ This instance is not following any other. - + এই ইন্সট্যান্স অন্য কোনোটাকে অনুসরণ করছে না। src/app/+about/about-follows/about-follows.component.html 18 @@ -329,7 +329,7 @@ About - + সম্পর্কে src/app/+about/about-instance/about-instance.component.html 5 @@ -345,7 +345,7 @@ This instance is dedicated to sensitive/NSFW content. - + এই ইন্সট্যান্স সংবেদনশীল/প্রাপ্তবয়স্ক তথ্যের জন্য আলাদাভাবে তৈরি। src/app/+about/about-instance/about-instance.component.html 19 From 12fa2a6a9ab3af53e2f9461ed36f8c0a3f88776f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:53:35 +0200 Subject: [PATCH 052/136] Update translations --- client/src/locale/angular.ar.xlf | 337 ++++---- client/src/locale/angular.ca-ES.xlf | 269 ++++--- client/src/locale/angular.cs-CZ.xlf | 333 ++++---- client/src/locale/angular.da-DK.xlf | 333 ++++---- client/src/locale/angular.de-DE.xlf | 440 ++++++----- client/src/locale/angular.el-GR.xlf | 362 +++++---- client/src/locale/angular.en-GB.xlf | 197 +++-- client/src/locale/angular.en-US.xlf | 197 +++-- client/src/locale/angular.eo.xlf | 331 ++++---- client/src/locale/angular.es-ES.xlf | 637 +++++++-------- client/src/locale/angular.eu-ES.xlf | 339 ++++---- client/src/locale/angular.fa-IR.xlf | 202 ++--- client/src/locale/angular.fi-FI.xlf | 197 +++-- client/src/locale/angular.fr-FR.xlf | 633 ++++++++------- client/src/locale/angular.gd.xlf | 360 +++++---- client/src/locale/angular.gl-ES.xlf | 633 ++++++++------- client/src/locale/angular.hu-HU.xlf | 635 ++++++++------- client/src/locale/angular.it-IT.xlf | 337 ++++---- client/src/locale/angular.ja-JP.xlf | 202 ++--- client/src/locale/angular.jbo.xlf | 197 +++-- client/src/locale/angular.kab.xlf | 633 ++++++++------- client/src/locale/angular.ko-KR.xlf | 333 ++++---- client/src/locale/angular.lt-LT.xlf | 197 +++-- client/src/locale/angular.nb-NO.xlf | 333 ++++---- client/src/locale/angular.nl-NL.xlf | 331 ++++---- client/src/locale/angular.oc.xlf | 333 ++++---- client/src/locale/angular.pl-PL.xlf | 360 +++++---- client/src/locale/angular.pt-BR.xlf | 269 ++++--- client/src/locale/angular.pt-PT.xlf | 197 +++-- client/src/locale/angular.ru-RU.xlf | 633 ++++++++------- client/src/locale/angular.sk-SK.xlf | 197 +++-- client/src/locale/angular.sl-SI.xlf | 935 ++++++++++++----------- client/src/locale/angular.sv-SE.xlf | 633 ++++++++------- client/src/locale/angular.ta.xlf | 197 +++-- client/src/locale/angular.th-TH.xlf | 339 ++++---- client/src/locale/angular.tr-TR.xlf | 333 ++++---- client/src/locale/angular.uk-UA.xlf | 339 ++++---- client/src/locale/angular.vi-VN.xlf | 645 ++++++++-------- client/src/locale/angular.xlf | 250 +++--- client/src/locale/angular.zh-Hans-CN.xlf | 337 ++++---- client/src/locale/angular.zh-Hant-TW.xlf | 631 ++++++++------- client/src/locale/player.ar.json | 15 + client/src/locale/player.ca-ES.json | 15 + client/src/locale/player.cs-CZ.json | 15 + client/src/locale/player.de-DE.json | 15 + client/src/locale/player.el-GR.json | 15 + client/src/locale/player.en-US.json | 15 + client/src/locale/player.eo.json | 15 + client/src/locale/player.es-ES.json | 15 + client/src/locale/player.eu-ES.json | 15 + client/src/locale/player.fi-FI.json | 15 + client/src/locale/player.fr-FR.json | 15 + client/src/locale/player.gd.json | 15 + client/src/locale/player.gl-ES.json | 15 + client/src/locale/player.hu-HU.json | 15 + client/src/locale/player.it-IT.json | 15 + client/src/locale/player.ja-JP.json | 15 + client/src/locale/player.kab.json | 15 + client/src/locale/player.nl-NL.json | 15 + client/src/locale/player.oc.json | 15 + client/src/locale/player.pl-PL.json | 15 + client/src/locale/player.pt-BR.json | 15 + client/src/locale/player.pt-PT.json | 15 + client/src/locale/player.ru-RU.json | 15 + client/src/locale/player.sq.json | 15 + client/src/locale/player.sv-SE.json | 15 + client/src/locale/player.th-TH.json | 15 + client/src/locale/player.vi-VN.json | 15 + client/src/locale/player.zh-Hans-CN.json | 15 + client/src/locale/player.zh-Hant-TW.json | 15 + 70 files changed, 8885 insertions(+), 7176 deletions(-) diff --git a/client/src/locale/angular.ar.xlf b/client/src/locale/angular.ar.xlf index 906b00dd9..ef495d864 100644 --- a/client/src/locale/angular.ar.xlf +++ b/client/src/locale/angular.ar.xlf @@ -47,17 +47,17 @@ Edit حرر - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">تكامل ماركداون</a> المدعوم: @@ -528,23 +528,29 @@ The upload failed فشل الرفع - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted قُطع الاتصال - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) حجم ملف كبير ( حد الحجم: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User مستخدم @@ -1162,7 +1168,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban احظر @@ -1460,7 +1466,7 @@ - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse رفض @@ -2286,7 +2292,7 @@ - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at كُتم على @@ -2430,8 +2436,8 @@ Popular شائع src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -3721,7 +3727,19 @@ color: red; - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -4033,11 +4051,7 @@ color: red; حدد قناة لاستقبال الفيديو src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - القناة التي ستستقبل الفيديو - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes تغييرات الملكية @@ -4251,20 +4265,20 @@ color: red; - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 Channel القناة - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Playlist thumbnail صورة مصغرة لقائمة التشغيل @@ -5236,86 +5250,104 @@ The link will expire within 1 hour. Reset إعادة تعيين - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Display sensitive content عرض المحتوى الحساس - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes نعم - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No لا - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Published date تاريخ النشر - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year سنة النشر الأصلية - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... بعد... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... قبل... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration المدّة - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Category الفئة - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset إعادة تعيين - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories عرض جميع الفئات - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence الرخصة - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses عرض جميع التراخيص - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language اللغة @@ -5323,42 +5355,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages عرض جميع اللغات - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags كافة هذه الوسوم - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags واحد مِن هذه الوسوم - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target هدف البحث - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset إعادة تعيين - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter مرشح - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Add caption إضافة تسمية توضيحية @@ -5666,11 +5698,11 @@ The link will expire within 1 hour. Sorry, but something went wrong عذرا، حدث خلل ما - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video will be imported with BitTorrent! You can already add information about this video. تهانينا ، سيتم استيراد الفيديو باستخدام BitTorrent! يمكنك بالفعل إضافة معلومات حول هذا الفيديو. @@ -5747,45 +5779,45 @@ The link will expire within 1 hour. Video background image صورة خلفية الفيديو - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… يعالج… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Congratulations! Your video is now available in your private library. تهانينا! الفيديو الخاص بك متاح الآن في مكتبتك الخاصة. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished سيكون النشر متاحًا عند الانتهاء من التحميل - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish أنشر - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. عذرا، عُطلت خاصية الرفع في حسابك، اتصل بمدير المنصة ليقوم بفك قَفل حصتك. @@ -7413,7 +7445,7 @@ The link will expire within 1 hour. Views for the day المشاهدات لهذا اليوم - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel حدّث قناة فيديو @@ -7490,8 +7522,8 @@ The link will expire within 1 hour. Ownership accepted قُبلت الملكية - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. يرجى التحقق من رسائل البريد الإلكتروني الخاصة بك للتحقق من بريدك الإلكتروني الجديد. @@ -7800,19 +7832,14 @@ The link will expire within 1 hour. أعيد تعيين كلمة المرور بنجاح! src/app/+reset-password/reset-password.component.ts47 - - Any - أيُ - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today اليوم - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday البارحة @@ -7851,49 +7878,61 @@ The link will expire within 1 hour. Last 7 days الأسبوع الماضي - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days الشهر الماضي - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days السنة الماضية - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) قصير (< 4 دقائق) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) متوسط (4-10 دقائق) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) طويل (> 10 دقائق) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance ملاءمة - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date تاريخ النشر - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views عدد المشاهدات - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. فهرس البحث غير متاح. بدلا من ذلك يعيد المحاولة باستخدام نتائج المثيل. @@ -8229,49 +8268,39 @@ The link will expire within 1 hour. Your video was uploaded to your account and is private. تم رفع الفيديو الخاص بك إلى حسابك وهو خاص. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? ولكن ستفقد البيانات المرتبطة (العلامات ،الوصف...) ، هل تريد بالتأكيد مغادرة هذه الصفحة؟ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? لم يرفع الفيديو الخاص بك حتى الآن ، هل تريد بالتأكيد مغادرة هذه الصفحة؟ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload رفع - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload ارفع - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled ألغي الرفع - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. نُشر الفيديو. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - حجم الفيديو يتجاوز الحصة ( حجم الفيديو: ، المستخدمة: ، الحصة: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - حجم الفيديو يتجاوز الحصة اليومية ( حجم الفيديو: ، المستخدمة: ، الحصة: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. لم تحفظ التغييرات! إذا غادرت ، ستفقد التغييرات. diff --git a/client/src/locale/angular.ca-ES.xlf b/client/src/locale/angular.ca-ES.xlf index b0e50a1c9..e46ecc930 100644 --- a/client/src/locale/angular.ca-ES.xlf +++ b/client/src/locale/angular.ca-ES.xlf @@ -360,7 +360,19 @@ vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles subtítols @@ -587,7 +599,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Vista prèvia truncada @@ -852,22 +864,28 @@ The upload failed La pujada ha fallat - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted La connexió ha estat interrompuda - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) El teu fitxer no ha pogut ser transferit dins el temps estipulat (normalment 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) El teu fitxer era massa gran (mida maxima permesa: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User Usuari @@ -904,7 +922,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Expulsa aquesta usuaria @@ -1751,88 +1769,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data de publicació - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Durada - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Mostra contingut sensible - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Llicència - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Llengua @@ -1840,44 +1876,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Totes aquestes etiquetes - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Una d'aquestes etiquetes - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtre - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2017,7 +2053,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacitat @@ -2029,7 +2065,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2268,7 +2304,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Enhorabona, s'importarà el vídeo allotjat en @@ -2304,30 +2340,30 @@ The link will expire within 1 hour. Video background image Imatge de fons del vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. La imatge es fusionarà amb el vostre fitxer d’àudio. La imatge escollida serà definitiva i no es podrà modificar. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2338,18 +2374,18 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. Felicitats! El teu vídeo ja està disponible a la biblioteca privada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished La publicació estarà disponible quan finalitzi la càrrega - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publica - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3148,7 +3184,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3879,7 +3915,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4059,8 +4095,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5436,11 +5472,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7683,8 +7715,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7940,7 +7972,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8319,19 +8351,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular La contrasenya s'ha restablit correctament! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Avui - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8368,48 +8395,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10463,53 +10502,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Però es perdran les dades associades (etiquetes, descripció ...), estàs segur que vols deixar aquesta pàgina? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? El teu vídeo encara no s'ha carregat, estàs segur que vols sortir d'aquesta pàgina? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Puja - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Pujada cancel·lada - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vídeo publicat. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.cs-CZ.xlf b/client/src/locale/angular.cs-CZ.xlf index a2ed16960..7c2a59859 100644 --- a/client/src/locale/angular.cs-CZ.xlf +++ b/client/src/locale/angular.cs-CZ.xlf @@ -421,7 +421,19 @@ video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles subtitles @@ -643,17 +655,17 @@ Edit Upravit - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Rychlý náhled @@ -924,22 +936,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -978,7 +996,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Zablokovat tohoto uživatele @@ -1853,88 +1871,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Datum publikace - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Původní rok publikování - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Po... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Před... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Trvání - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Zobrazit citlivý obsah - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ano - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Ne - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategorie - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Jazyk @@ -1942,44 +1978,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Všechny tyto štítky - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Jeden z těchto štítků - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtr - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2111,16 +2147,16 @@ The link will expire within 1 hour. Channel Kanál - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Soukromí @@ -2132,7 +2168,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2365,11 +2401,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2407,8 +2443,8 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2418,24 +2454,24 @@ The link will expire within 1 hour. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2447,19 +2483,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publikovat lze jakmile bude dokončeno nahrávání - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publikovat - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3235,7 +3271,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Odmítnout @@ -3967,7 +4003,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4146,8 +4182,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5551,11 +5587,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7793,8 +7825,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -8050,7 +8082,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8420,19 +8452,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Vaše heslo bylo úspěšně resetováno! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Dnes - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8469,48 +8496,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10554,53 +10593,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Vaše video bylo nahráno na váš účet a je soukromé. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Ovšem přidružená data (štítky, popis...) budou ztraceny, opravdu chcete opustit tuto stránku? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Video ještě nebylo nahráno, opravdu chcete opustit tuto stránku? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Nahrávání zrušeno - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video publikováno - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Máte neuložené změny! Pokud odejdete, budou vaše změny ztraceny. diff --git a/client/src/locale/angular.da-DK.xlf b/client/src/locale/angular.da-DK.xlf index 0fb67a298..798f9b3f9 100644 --- a/client/src/locale/angular.da-DK.xlf +++ b/client/src/locale/angular.da-DK.xlf @@ -348,7 +348,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -568,17 +580,17 @@ Edit Redigere - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Afkortet forhåndsvisning @@ -849,22 +861,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -903,7 +921,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1798,88 +1816,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Published date - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Varighed - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ja - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nej - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategori - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licens - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Sprog @@ -1887,44 +1923,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2055,16 +2091,16 @@ The link will expire within 1 hour. Channel Channel - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2076,7 +2112,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2311,11 +2347,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2353,8 +2389,8 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2364,24 +2400,24 @@ The link will expire within 1 hour. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2393,19 +2429,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3188,7 +3224,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3930,7 +3966,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4117,8 +4153,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5552,11 +5588,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7842,8 +7874,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -8105,7 +8137,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8485,19 +8517,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8536,49 +8563,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10656,53 +10695,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Din video blev uploadet til din konto og er privat. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Din video er ikke uploadet endnu, er du sikker på, at du vil forlade denne side? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload aflyst - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video offentliggjort. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.de-DE.xlf b/client/src/locale/angular.de-DE.xlf index 795432b6d..28941d924 100644 --- a/client/src/locale/angular.de-DE.xlf +++ b/client/src/locale/angular.de-DE.xlf @@ -326,8 +326,20 @@ video Video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -552,17 +564,17 @@ Edit Bearbeiten - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Gekürzte Vorschau @@ -817,23 +829,29 @@ The upload failed Der Upload ist fehlgeschlagen - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Die Verbindung wurde unterbrochen - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Ihre Datei konnte nicht vor dem Ablauf der Zeitspanne übertragen werden (für gewöhnlich 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Ihre Datei ist zu groß (max. Größe: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Benutzer @@ -854,24 +872,24 @@ Cancel Abbrechen - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Diesen Nutzer sperren @@ -1715,129 +1733,147 @@ Hilf mit PeerTube zu übersetzen! Reset Zurücksetzen - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Veröffentlichungsdatum - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Ursprüngliches Veröffentlichungsdatum - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Nach... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Bevor... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Länge - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Anstößige Inhalte zeigen - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ja - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nein - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategorie - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Zurücksetzen - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Alle Kategorien anzeigen - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Lizenz - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Alle Lizenzen anzeigen - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Sprache - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Alle Sprachen anzeigen - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Alle dieser Tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Einer dieser Tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Suchziel - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Zurücksetzen - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtern - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Videokanäle @@ -1966,28 +2002,28 @@ Hilf mit PeerTube zu übersetzen! Channel Kanal - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Sichtbarkeit - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2231,11 +2267,11 @@ Hilf mit PeerTube zu übersetzen! Sorry, but something went wrong Entschuldigung, etwas ist schiefgegangen - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Glückwunsch, das Video unter wird importiert. Du kannst bereits Informationen über dieses Video hinzufügen. @@ -2269,29 +2305,29 @@ Hilf mit PeerTube zu übersetzen! Video background image Videohintergrundbild - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Ein Bild, das mit deiner Audiodatei zusammengeführt wird. Das ausgewählte Bild wird endgültig sein und kann nicht angepasst werden. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Insgesamt hochgeladenes Video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Verarbeitung … - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Wiederholen Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Gesamtes Videokontingent @@ -2301,19 +2337,19 @@ Hilf mit PeerTube zu übersetzen! Congratulations! Your video is now available in your private library. Glückwunsch! Dein Video ist jetzt in ihrer privaten Bibliothek verfügbar. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Veröffentlichung ist möglich, sobald das Hochladen abgeschlossen ist - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Veröffentlichen - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Entschuldigung, Ihr Account kann keine Videos hochladen. Wenn Sie Videos hochladen möchten, muss ein Administrator Ihr Videokontingent freischalten. @@ -3074,7 +3110,7 @@ Hilf mit PeerTube zu übersetzen! - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Ablehnen @@ -3747,7 +3783,7 @@ Hilf mit PeerTube zu übersetzen! - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Stummgeschaltet am @@ -3923,15 +3959,14 @@ Hilf mit PeerTube zu übersetzen! Popular Beliebt src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - für " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -5350,11 +5385,7 @@ color: red; Zum Empfangen des Videos einen Kanal wählen src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kanal, der das Video erhalten wird - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Inhaberänderungen @@ -7510,8 +7541,8 @@ Erstelle mein Konto Ownership accepted Besitz geworden - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Bitte prüfe dein E-Mail-Postfach, um deine neue E-Mail-Adresse zu bestätigen. @@ -7774,7 +7805,7 @@ Erstelle mein Konto Views for the day Aufrufe des Tages - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Kanal aktualisieren @@ -8143,19 +8174,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Dein Passwort wurde zurückgesetzt! src/app/+reset-password/reset-password.component.ts47 - - Any - Alle - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Heute - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Gestern @@ -8194,49 +8220,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Letzte 7 Tage - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Letzte 30 Tage - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Letzte 365 Tage - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Kurz (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Mittel (4–10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Lang (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevanz - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Veröffentlichungsdatum - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Aufrufe - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Suchindex nicht erreichbar. Es werden stattdessen Instanzergebnisse angezeigt. @@ -10285,52 +10323,42 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Das Video wurde in dein Konto hochgeladen und ist privat. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Weitere Infos (Tags, Beschreibung, ...) werden verworfen, wenn du diese Seite verlässt. Bist du dir sicher? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Dein Video ist noch nicht hochgeladen. Willst du diese Seite wirklich verlassen? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Hochladen - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload hochladen - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Hochladen abgebrochen - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video veröffentlicht. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Ihr Videokontingent wurde mit diesem Video überschritten ( Videogröße: , verwendet: , Quote: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Ihr tägliches Videokontingent wurde mit diesem Video überschritten ( Videogröße: , verwendet: , quota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Es gibt ungespeicherte Änderungen! Wenn du die Seite verlässt, gehen die Änderungen verloren. diff --git a/client/src/locale/angular.el-GR.xlf b/client/src/locale/angular.el-GR.xlf index a565b84f4..dc8c09746 100644 --- a/client/src/locale/angular.el-GR.xlf +++ b/client/src/locale/angular.el-GR.xlf @@ -322,8 +322,20 @@ video βίντεο - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -554,17 +566,17 @@ Edit Επεξεργασία - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Μικρή σύνοψη @@ -834,23 +846,29 @@ The upload failed Η μεταφόρτωση απέτυχε - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Χρήστης @@ -888,7 +906,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Αποκλεισμός χρήστη @@ -1785,86 +1803,104 @@ The link will expire within 1 hour. Reset Επαναφορά - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Ημερομηνία δημοσίευσης - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Έτος αρχικής δημοσίευσης - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Μετά από... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Πριν από... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Διάρκεια - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Εμφάνιση ευαίσθητου περιεχομένου - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ναι - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Όχι - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Κατηγορία - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Επαναφορά - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Προβολή όλων των κατηγοριών - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Άδεια - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Προβολή όλων των άδειων - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Γλώσσα @@ -1872,42 +1908,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Περιήγηση όλων των γλωσσών - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Όλες τις ετικέτες - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Μία από τις ετικέτες - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Επαναφορά - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Φίλτρο - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Κανάλια βίντεο @@ -2047,16 +2083,16 @@ The link will expire within 1 hour. Channel Κανάλι - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Ιδιωτικότητα @@ -2068,7 +2104,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Συχνές ερωτήσεις @@ -2319,11 +2355,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Συγγνώμη, κάτι πήγε στραβά. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2361,8 +2397,8 @@ The link will expire within 1 hour. Video background image Εικόνα φόντου βίντεο - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2372,24 +2408,24 @@ The link will expire within 1 hour. Η εικόνα που θα επιλέξετε δεν θα μπορεί να αλλάξει αργότερα. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Ξαναδοκίμασε Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2401,19 +2437,19 @@ The link will expire within 1 hour. Συγχαρητήρια! Το βίντεο βρίσκεται στην προσωπική σας βιβλιοθήκη. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Θα έχετε τη δυνατότητα να το δημοσιεύσετε μόλις ολοκληρωθεί το ανέβασμα - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Δημοσίευση - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3214,7 +3250,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Άρνηση @@ -3957,7 +3993,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Τέθηκε σε σίγαση σε @@ -4146,15 +4182,14 @@ The link will expire within 1 hour. Popular Δημοφιλή src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -5593,11 +5628,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7925,8 +7956,8 @@ channel with the same name ()! Ownership accepted Έγινε δεκτή η αλλαγή κατόχου - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Παρακαλούμε δείτε τα email σας για να επιβεβαιώσετε τη διεύθυνσή σας. @@ -8198,7 +8229,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8580,19 +8611,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Ο κωδικός σας έχει ανανεωθεί με επιτυχία! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Σήμερα - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8631,49 +8657,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Τελευταίες 7 ημέρες - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Τελευταίες 30 ημέρες - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Τελευταίες 365 ημέρες - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Σύντομα (< 4 λεπτά) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Μεσαία (4-10 λεπτά) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Μεγάλα (> 10 λεπτά) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Πιο σχετικά - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Ημερομηνία δημοσίευσης - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Προβολές - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10762,54 +10800,42 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Το βίντεο ανέβηκε στον λογαριασμό σας και είναι ιδιωτικό. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Όμως οι σχετικές πληροφορίες (ετικέτες, περιγραφή...) θα χαθούν, σίγουρα θέλετε να φύγετε από τη σελίδα; - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Το βίντεο δεν έχει ανέβει ακόμα, θέλετε σίγουρα να φύγετε από τη σελίδα; - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Αποστολή - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Ανεβάστε - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Το ανέβασμα ακυρώθηκε - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Το βίνεο δημοσιεύτηκε. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Έχετε αλλαγές που δεν έχουν αποθηκευτεί! Αν φύγετε, θα χαθούν. diff --git a/client/src/locale/angular.en-GB.xlf b/client/src/locale/angular.en-GB.xlf index d03ae213e..c7d75f3cc 100644 --- a/client/src/locale/angular.en-GB.xlf +++ b/client/src/locale/angular.en-GB.xlf @@ -461,7 +461,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -692,7 +704,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -940,16 +952,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -983,7 +1001,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1812,55 +1830,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Published date - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1871,24 +1907,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Language @@ -1896,44 +1932,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2066,7 +2102,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2077,7 +2113,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2306,7 +2342,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2344,7 +2380,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2355,19 +2391,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2381,17 +2417,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3109,7 +3145,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3805,7 +3841,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3978,8 +4014,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5292,11 +5328,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7457,7 +7489,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7710,7 +7742,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8065,18 +8097,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8102,47 +8129,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10109,20 +10148,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10131,27 +10170,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.en-US.xlf b/client/src/locale/angular.en-US.xlf index 6703f9c5e..bca0746fc 100644 --- a/client/src/locale/angular.en-US.xlf +++ b/client/src/locale/angular.en-US.xlf @@ -347,7 +347,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -566,7 +578,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -799,16 +811,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -842,7 +860,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1624,55 +1642,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Published date - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1685,24 +1721,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Language @@ -1710,32 +1746,32 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset @@ -1744,12 +1780,12 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -1873,7 +1909,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -1884,7 +1920,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2111,7 +2147,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2146,24 +2182,24 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2177,17 +2213,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -2883,7 +2919,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3521,7 +3557,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3683,8 +3719,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -4984,11 +5020,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7021,7 +7053,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7266,7 +7298,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -7605,18 +7637,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -7642,47 +7669,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -9618,20 +9657,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -9640,27 +9679,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.eo.xlf b/client/src/locale/angular.eo.xlf index c0915813d..138e353dc 100644 --- a/client/src/locale/angular.eo.xlf +++ b/client/src/locale/angular.eo.xlf @@ -316,7 +316,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -540,17 +552,17 @@ Edit Redakti - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Parta antaŭrigardo @@ -806,22 +818,28 @@ The upload failed La alŝuto malsukcesis - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted La konekto rompiĝis - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Via dosiero ne povis transsendiĝi antaŭ la donita tempolimo (kutime 10 minutoj) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Via dosiero estis tro granda (maksimuma grandeco: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User Uzanto @@ -860,7 +878,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Forbari ĉi tiun uzanton @@ -1699,86 +1717,104 @@ The link will expire within 1 hour. Reset Restarigi - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Dato de publikigo - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Jaro de elsendo originala - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Poste… - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Antaŭe… - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Daŭro - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Montri konsternan enhavon - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Jes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Ne - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategorio - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Restarigi - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Montri ĉiujn kategoriojn - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Permesilo - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Montri ĉiujn permesilojn - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Lingvo @@ -1786,42 +1822,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Montri ĉiujn lingvojn - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Ĉiom el la etikedoj - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Unu el la etikedoj - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Celo de serĉado - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Filmuniverso - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Restarigi - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtri - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Filmaj kanaloj @@ -1941,16 +1977,16 @@ The link will expire within 1 hour. Channel Kanalo - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privateco @@ -1962,7 +1998,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Oftaj demandoj @@ -2191,11 +2227,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Pardonu, sed io misokazis - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Gratulon; la filmo enportiĝos! Vi jam povas aldoni informojn pri ĝi. @@ -2229,29 +2265,29 @@ The link will expire within 1 hour. Video background image Fonbildo de filmo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Bildo kiu unuiĝos kun via sona dosiero. La elektita bildo estos ĉiama kaj ne povos ŝanĝiĝi. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Tuto de alŝutita filmo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Prilaborante… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Reprovi Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Tuta datumlimo por filmoj @@ -2263,19 +2299,19 @@ The link will expire within 1 hour. Gratulon! Via filmo nun estas atingebla per via privata biblioteko. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publikigo ebliĝos post fino de alŝuto - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publikigi - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Pardonu, la alŝuta funkcio estas malŝaltita por via konto. Se vi volas aldoni filmojn, administranto devas malŝlosi vian datumlimon. @@ -3033,7 +3069,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Rifuzi @@ -3707,7 +3743,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Silentigita je @@ -3881,8 +3917,8 @@ The link will expire within 1 hour. Popular Popularaj src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5296,11 +5332,7 @@ color: red; Elektu kanalon, kiu ricevos la filmon src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kanalo, kiu ricevos la filmon - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Miaj ŝanĝoj de posedo @@ -7417,8 +7449,8 @@ channel with the same name ()! Ownership accepted Posedo akceptiĝis - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Bonvolu kontroli viajn retleterojn por kontroligi vian novan retpoŝtadreson. @@ -7671,7 +7703,7 @@ channel with the same name ()!Views for the day Rigardoj dum la tago - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Ĝisdatigi filman kanalon @@ -8040,19 +8072,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Via pasvorto estas sukcese restarigita! src/app/+reset-password/reset-password.component.ts47 - - Any - Ajna - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Hodiaŭ - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Hieraŭ @@ -8091,49 +8118,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Lastaj 7 tagoj - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Lastaj 30 tagoj - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Lastaj 365 tagoj - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Mallonga (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Meza (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Longa (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Rilateco - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Dato de publikigo - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Rigardoj - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Serĉindekso ne estas disponebla. Reprovante kun rezultoj de la nodo. @@ -10179,51 +10218,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Via filmo alŝutiĝis al via konto kaj estas privata. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Sed rilataj informoj (etikedoj, priskribo…) perdiĝos; ĉu vi certe volas folasi ĉi tiun paĝon? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Via filmo ankoraŭ ne alŝutiĝis; ĉu vi certe volas forlasi ĉi tiun paĝon? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Alŝuti - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Alŝuti - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Alŝuto nuliĝis - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Filmo publikigita. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Via datumlimo por filmoj estas trafita per ĉi tiu filmo ( grandeco: , uzita: , datumlimo: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Via samtaga datumlimo por filmoj estas trafita per ĉi tiu filmo ( grandeco: , uzita: , datumlimo: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Vi havas nekonservitajn ŝanĝojn! Se vi foriros, viaj ŝanĝoj perdiĝos. diff --git a/client/src/locale/angular.es-ES.xlf b/client/src/locale/angular.es-ES.xlf index 336bdaf66..a6fac84be 100644 --- a/client/src/locale/angular.es-ES.xlf +++ b/client/src/locale/angular.es-ES.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - te menciona en el video + mentioned you on video + te menciona en el video src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Una nueva versión del complemento / temaestá disponible: + A new version of the plugin/theme is available: + Una nueva versión del complemento / temaestá disponible: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Una nueva versión de PeerTubeestá disponible: + A new version of PeerTube is available: + Una nueva versión de PeerTubeestá disponible: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -553,17 +565,17 @@ Edit Editar - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Previsualización truncada @@ -585,8 +597,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que admite: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que admite: src/app/shared/shared-main/misc/help.component.ts75 @@ -818,23 +830,29 @@ The upload failed La carga falló - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted La conexión se interrumpió - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Tu archivo no se pudo transferir antes del tiempo de espera establecido (generalmente 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Tu archivox era demasiado grande (tamaño máximo:) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Usuario @@ -855,24 +873,24 @@ Cancel cancelar - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Expulsar este usuario @@ -935,16 +953,16 @@ Iniciar sesión src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Esta instancia permite el registro. Sin embargo, tenga cuidado de comprobar las CondicionesCondicionesantes de crear una cuenta. También puede buscar otra instancia que coincida con sus necesidades exactas en: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Esta instancia permite el registro. Sin embargo, tenga cuidado de comprobar las CondicionesCondicionesantes de crear una cuenta. También puede buscar otra instancia que coincida con sus necesidades exactas en: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actualmente, esta instancia no permite el registro de usuarios, puede marcar la Termspara obtener más detalles o busque una instancia que le brinde la posibilidad de registrarse para obtener una cuenta y cargar sus videos allí. Encuentre el suyo entre varias instancias en:https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actualmente, esta instancia no permite el registro de usuarios, puede marcar la Termspara obtener más detalles o busque una instancia que le brinde la posibilidad de registrarse para obtener una cuenta y cargar sus videos allí. Encuentre el suyo entre varias instancias en:https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1021,7 +1039,8 @@ Iniciar sesión src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Se enviará un correo electrónico con las instrucciones para restablecer la contraseña a . El enlace caducará en 1 hora. src/app/+login/login.component.ts121 @@ -1059,8 +1078,8 @@ Iniciar sesión src/app/+search/search.component.html8 - for - Para + for + Para src/app/+search/search.component.html 10 @@ -1715,129 +1734,147 @@ Iniciar sesión Reset Restablecer - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Fecha de publicación - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Año de publicación original - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Después de... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Antes de... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Duración - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Mostrar contenido sensible - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoría - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Restablecer - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Mostrar todas las categorías - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licencia - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Mostrar todas las licencias - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Idioma - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Mostrar todos los idiomas - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Todas estas etiquetas - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Una de estas estiquetas - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Buscar objetivo - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverso - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Restablecer - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtrar - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Canales de vídeo @@ -1970,28 +2007,28 @@ Iniciar sesión Channel Canal - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacidad - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Preguntas frecuentes @@ -2056,7 +2093,7 @@ Iniciar sesión src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Ya ha sido subido ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2236,11 +2273,11 @@ Iniciar sesión Sorry, but something went wrong Lo sentimos, algo ha salido mal - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Enhorabuena, ¡el vídeo en será importado! Ya puedes añadir información acerca del mismo. @@ -2274,29 +2311,29 @@ Iniciar sesión Video background image Imagen de fondo de vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Imagen que se fusionará con tu archivo de audio. La imagen elegida será definitiva y no se puede modificar. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total de videos subidos - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Procesando… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Reintentar Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Cuota total de vídeo @@ -2306,19 +2343,19 @@ Iniciar sesión Congratulations! Your video is now available in your private library. ¡Bien! Tu video ahora está disponible en tu biblioteca privada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished La publicación estará disponible cuando termine de subirse - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicar - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Lo sentimos, la función de carga está deshabilitada para su cuenta. Si desea agregar videos, un administrador debe desbloquear su cuota. @@ -3039,10 +3076,10 @@ Iniciar sesión Accept Aceptar - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Rechazar @@ -3611,8 +3648,8 @@ Iniciar sesión src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3696,8 +3733,8 @@ Iniciar sesión src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3719,11 +3756,11 @@ Iniciar sesión Instance Instancia - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Silenciado en @@ -3897,15 +3934,14 @@ Iniciar sesión Popular popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - para" + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {resultado} other {resultados} } @@ -4031,8 +4067,8 @@ Iniciar sesión src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioridad(1 =más alta prioridad) + Priority (1 = highest priority) + Prioridad(1 =más alta prioridad) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4052,8 +4088,8 @@ Iniciar sesión src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Ningún trabajo encontrado. + No jobs found. + Ningún trabajo encontrado. src/app/+admin/system/jobs/jobs.component.html108 @@ -4083,8 +4119,8 @@ Iniciar sesión src/app/+admin/system/logs/logs.component.html38 - By -> - Por-> + By -> + Por-> src/app/+admin/system/logs/logs.component.html46 @@ -4155,8 +4191,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Administrarusuariospara construir un equipo de moderación. + Manage users to build a moderation team. + Administrarusuariospara construir un equipo de moderación. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4168,8 +4204,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Habilitarlo permitirá que otros administradores sepan que principalmente está federando contenido sensible. Además, la casilla de verificación NSFW en la carga de video se marcará automáticamente de forma predeterminada. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Habilitarlo permitirá que otros administradores sepan que principalmente está federando contenido sensible. Además, la casilla de verificación NSFW en la carga de video se marcará automáticamente de forma predeterminada. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4181,8 +4217,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - ConOcultar o Desenfocar miniaturas, se solicitará una confirmación para ver el video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + ConOcultar o Desenfocar miniaturas, se solicitará una confirmación para ver el video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4304,8 +4340,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Utilizaplugins & temaspara cambios más complejos, o agregar ligeras personalizaciones. + Use plugins & themes for more involved changes, or add slight customizations. + Utilizaplugins & temaspara cambios más complejos, o agregar ligeras personalizaciones. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4417,8 +4453,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Gestionarusuariospara establecer su cuota individualmente. + Manage users to set their quota individually. + Gestionarusuariospara establecer su cuota individualmente. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4589,8 +4625,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Solo debe usar índices de búsqueda moderados en producción, o aloja tu propio. + You should only use moderated search indexes in production, or host your own. + Solo debe usar índices de búsqueda moderados en producción, o aloja tu propio. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4627,8 +4663,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Aministrarrelaciones con otras instancias. + Manage relations with other instances. + Aministrarrelaciones con otras instancias. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4667,8 +4703,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Verla documentaciónpara obtener más información sobre la URL esperada. + See the documentation for more information about the expected URL + Verla documentaciónpara obtener más información sobre la URL esperada. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4728,8 +4764,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Si Twitter permite explícitamente su instancia, se incrustará un reproductor de video en el feed de Twitter en el video compartido de PeerTube.Si la instancia no lo es, usamos una tarjeta de enlace de imagen que lo redireccionará a su instancia de PeerTube.Marque esta casilla de verificación, guarde la configuración y pruebe con una URL de video de su instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver si su instancia está permitida. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Si Twitter permite explícitamente su instancia, se incrustará un reproductor de video en el feed de Twitter en el video compartido de PeerTube.Si la instancia no lo es, usamos una tarjeta de enlace de imagen que lo redireccionará a su instancia de PeerTube.Marque esta casilla de verificación, guarde la configuración y pruebe con una URL de video de su instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver si su instancia está permitida. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4776,8 +4812,8 @@ Iniciar sesión - Max simultaneous lives created on your instance (-1 for "unlimited") - Máximo de vidas simultáneas creadas en su instancia (-1 para 'ilimitado') + Max simultaneous lives created on your instance (-1 for "unlimited") + Máximo de vidas simultáneas creadas en su instancia (-1 para 'ilimitado') src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4789,8 +4825,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - (-1 para 'ilimitado') (-1 para 'ilimitado') + Max simultaneous lives created per user (-1 for "unlimited") + (-1 para 'ilimitado') (-1 para 'ilimitado') src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4934,8 +4970,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Requiere ffmpeg >= 4.1Genere listas de reproducción HLS y archivos MP4 fragmentados, lo que resulta en una mejor reproducción que con WebTorrent simple:Resolution change is smootherReproducción más rápida, especialmente con videos largosReproducción más estable (menos errores / carga infinita)Si también habilitó la compatibilidad con WebTorrent, multiplicará el almacenamiento de videos por 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requiere ffmpeg >= 4.1Genere listas de reproducción HLS y archivos MP4 fragmentados, lo que resulta en una mejor reproducción que con WebTorrent simple:Resolution change is smootherReproducción más rápida, especialmente con videos largosReproducción más estable (menos errores / carga infinita)Si también habilitó la compatibilidad con WebTorrent, multiplicará el almacenamiento de videos por 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5072,13 +5108,19 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Escribe código JavaScript directamente.Ejempo: console.log ('mi instancia es asombrosa'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Escribe código JavaScript directamente.Ejempo: console.log ('mi instancia es asombrosa'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - console.log ('mi instancia es asombrosa');:# custom-csscolor rojo; Anteponer con# custom-csspara anular estilos. Ejemplo:# custom-css .logged-in-email color rojo; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + console.log ('mi instancia es asombrosa');:# custom-csscolor rojo; Anteponer con# custom-csspara anular estilos. Ejemplo:# custom-css .logged-in-email color rojo; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5092,8 +5134,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Hay errores en el formulario: + There are errors in the form: + Hay errores en el formulario: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5209,8 +5251,8 @@ Iniciar sesión src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - ConOcultar o Desenfocar miniaturasx , Se solicitará una confirmación para ver el video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + ConOcultar o Desenfocar miniaturasx , Se solicitará una confirmación para ver el video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5314,11 +5356,7 @@ Iniciar sesión Seleccione un canal para recibir el video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Canal que recibirá el video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Mi propiedad cambia @@ -5418,8 +5456,9 @@ Iniciar sesión - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Texto breve para decirle a las personas cómo pueden apoyar su canal (plataforma de membresía ...).<br /><br /> Cuando cargue un video en este canal, el campo de soporte de video se completará automáticamente con este texto. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Texto breve para decirle a las personas cómo pueden apoyar su canal (plataforma de membresía ...).<br /><br /> Cuando cargue un video en este canal, el campo de soporte de video se completará automáticamente con este texto. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5491,7 +5530,7 @@ Iniciar sesión Delete history - >Borrar historial + >Borrar historial src/app/+my-library/my-history/my-history.component.html17 @@ -5811,7 +5850,9 @@ Iniciar sesión src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! ¿Realmente quieres eliminar ? Se eliminaránvideos subidos en este canal ¡y no podrás crear otro canal con el mismo nombre ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5839,8 +5880,8 @@ Iniciar sesión src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - MOSTRAR ESTE CANAL > + SHOW THIS CHANNEL > + MOSTRAR ESTE CANAL > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6093,8 +6134,8 @@ Iniciar sesión src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Las coparticipaciones web (peers) no son de acceso público: debido a que usamos el transporte websocket, el protocolo es diferente del rastreador clásico de BitTorrent. Cuando está en un navegador web, envía una señal que contiene su dirección IP al rastreador que elegirá aleatoriamente a otros pares para reenviar la información. Ver este documento para obtener mas información + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Las coparticipaciones web (peers) no son de acceso público: debido a que usamos el transporte websocket, el protocolo es diferente del rastreador clásico de BitTorrent. Cuando está en un navegador web, envía una señal que contiene su dirección IP al rastreador que elegirá aleatoriamente a otros pares para reenviar la información. Ver este documento para obtener mas información src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6311,7 +6352,7 @@ Iniciar sesión I am at least 16 years old and agree to the Terms and to the Code of Conduct of this instance - Tengo al menos 16 años y estoy de acuerdo con >Condicionesy a la Código de Conducta de esta instancia + Tengo al menos 16 años y estoy de acuerdo con >Condicionesy a la Código de Conducta de esta instancia src/app/+signup/+register/register-step-terms.component.html6 @@ -6418,8 +6459,8 @@ Iniciar sesión src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> que mantiene la pista de audio original, sin video + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> que mantiene la pista de audio original, sin video src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7148,8 +7189,8 @@ Iniciar sesión - PeerTube thinks your web browser public IP is . - PeerTube cree que la IP pública de su navegador web es. + PeerTube thinks your web browser public IP is . + PeerTube cree que la IP pública de su navegador web es. src/app/+admin/system/debug/debug.component.html 4 @@ -7196,16 +7237,16 @@ Iniciar sesión - Check the trust_proxy configuration key - Comprobar eltrust_proxyclave de configuración + Check the trust_proxy configuration key + Comprobar eltrust_proxyclave de configuración src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Si ejecuta PeerTube con Docker, compruebe que ejecuta elreverse-proxy connetwork_mode: "host" (verasunto 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Si ejecuta PeerTube con Docker, compruebe que ejecuta elreverse-proxy connetwork_mode: "host" (verasunto 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7489,8 +7530,8 @@ Iniciar sesión Ownership accepted Titularidad aceptada - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Verifique sus correos electrónicos para verificar su nuevo correo electrónico. @@ -7502,8 +7543,8 @@ Iniciar sesión src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is .Nunca se muestra al público. + Your current email is . It is never shown to the public. + Your current email is .Nunca se muestra al público. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7751,8 +7792,8 @@ Iniciar sesión Views for the day Vistas para el día - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Actualizar canal de video @@ -8054,7 +8095,8 @@ Iniciar sesión src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. No se pueden recuperar las credenciales del cliente OAuth: . Asegúrese de haber configurado correctamente PeerTube (config / directorio), en particular la sección "servidor web". src/app/core/auth/auth.service.ts99 @@ -8118,19 +8160,14 @@ Iniciar sesión ¡Tu contraseña ha sido restablecida con éxito! src/app/+reset-password/reset-password.component.ts47 - - Any - Ninguna - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Hoy - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Ayer @@ -8169,49 +8206,61 @@ Iniciar sesión Last 7 days Últimos 7 días - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Últimos 30 días - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Últimos 365 días - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Corto (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medio (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Largo (> 10 min) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Largo (> 10 min) + + src/app/+search/search-filters.component.ts79 Relevance Relevancia - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Fecha de publicación - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visualizaciones - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. El índice de búsqueda no está disponible. Reintentando con resultados de instancia en su lugar. @@ -8827,8 +8876,8 @@ Iniciar sesión src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See la documentaciónpara aprender a usar la función de transmisión en vivo de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + See la documentaciónpara aprender a usar la función de transmisión en vivo de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9919,8 +9968,8 @@ Iniciar sesión src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Debes <a href="/login"> iniciar sesión </a> para calificar este video. + You need to be <a href="/login">logged in</a> to rate this video. + Debes <a href="/login"> iniciar sesión </a> para calificar este video. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10261,50 +10310,42 @@ Iniciar sesión Your video was uploaded to your account and is private. Tu vídeo ha sido subida a tu cuenta y es privado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Pero los datos asociados (etiquetas, descripción...) se perderán, ¿seguro que quieres abandonar esta página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Tu vídeo aún no se ha subido, ¿seguro que quieres abandonar esta página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Subir - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Cargue - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Subida cancelada - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vídeo publicado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Su cuota de video se excedió con este video (tamaño de video:, usado: , cuota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Su cuota de video diaria se excede con este video (tamaño de video:, usado: , cuota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. ¡Usted tiene cambios no guardados! Si te vas, tus cambios se perderán. @@ -10349,8 +10390,8 @@ Iniciar sesión - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Este video no está disponible en esta instancia. ¿Quieres ser redirigido a la instancia de origen: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Este video no está disponible en esta instancia. ¿Quieres ser redirigido a la instancia de origen: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.eu-ES.xlf b/client/src/locale/angular.eu-ES.xlf index 4354ef1de..f520fe784 100644 --- a/client/src/locale/angular.eu-ES.xlf +++ b/client/src/locale/angular.eu-ES.xlf @@ -360,7 +360,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -589,17 +601,17 @@ Edit Editatu - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Moztutako aurrebista @@ -869,23 +881,29 @@ The upload failed Igoerak huts egin du - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Konexioa eten egin da - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Erabiltzailea @@ -924,7 +942,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Debekatu erabiltzaile hau @@ -1772,86 +1790,104 @@ The link will expire within 1 hour. Reset Berrezarri - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Argitaratze data - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Argitalpen urtea - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Geroago... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Lehenago... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Iraupena - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Erakutsi eduki hunkigarria - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Bai - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Ez - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Berrezarri - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Kategoria guztiak erakutsi - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Lizentzia - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Lizentzia guztiak erakutsi - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Hizkuntza @@ -1859,42 +1895,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Hizkuntza guztiak erakutsi - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Etiketa guzti hauek - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Etiketa hauetako bat - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Bilatu helburua - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Bidibertsoa - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Berrezarri - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Iragazkia - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Bideo-kanalak @@ -2014,16 +2050,16 @@ The link will expire within 1 hour. Channel Kanala - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Pribatutasuna @@ -2035,7 +2071,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Ohiko galderak @@ -2266,11 +2302,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Akatsen bat egon da - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2308,31 +2344,31 @@ The link will expire within 1 hour. Video background image Bideoaren atzeko irudia - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Audio-fitxategiarekin bat egingo duen irudia. Aukeratutako irudia behin betikoa izango da, eta ezingo da aldatu. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Prozesatzen… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Guztizko bideo-kuota @@ -2342,19 +2378,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. Zorionak! Zure bideoa dagoeneko eskuragarri dago zure liburutegi pribatuan. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Argitaratzea behin igoera bukatzean egongo da erabilgarri - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Argitaratu - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Igotzeko-funtzioa desgaituta dago zure konturako. Bideoak gehitu nahi badituzu, administratzaile batek zure kuota desblokeatu behar du. @@ -3127,7 +3163,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Errefusatu @@ -3867,7 +3903,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4052,8 +4088,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5481,11 +5517,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7738,8 +7770,8 @@ channel with the same name ()! Ownership accepted Jabetza onartuta - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -8001,7 +8033,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8385,19 +8417,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Zure pasahitza ongi berrezarri da! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Gaur - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8436,49 +8463,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Azken 7 egunak - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Azken 30 egunak - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Azken 365 egunak - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Laburra (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Ertaina (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Luzea (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Egokitasuna - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Argitaratze data - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Ikustaldiak - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10559,53 +10598,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Zure bideoa zure kontura igo da eta pribatua da. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Baina dagozkion datuak (etiketak, deskripzioa...) galduko dira, ziur orri hau utzi nahi duzula? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Zur bideoa ez da igo oraindik, ziur orri hau utzi nahi duzula? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Igoera ezeztatuta - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Bideoa argitaratuta. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.fa-IR.xlf b/client/src/locale/angular.fa-IR.xlf index 911c850ad..205a662c9 100644 --- a/client/src/locale/angular.fa-IR.xlf +++ b/client/src/locale/angular.fa-IR.xlf @@ -329,7 +329,19 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles subtitles @@ -525,7 +537,7 @@ Edit ویرایش - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -768,16 +780,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -799,7 +817,7 @@ Cancel لغو - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1604,116 +1622,134 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date تاریخ انتشار - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration مدت زمان - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes بله - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No خیر - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category دسته‌بندی - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence مجوز - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language زبان - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter فیلتر - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -1832,12 +1868,12 @@ The link will expire within 1 hour. Channel Channel - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2061,7 +2097,7 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2095,7 +2131,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2106,19 +2142,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2130,17 +2166,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -2844,7 +2880,7 @@ The link will expire within 1 hour. Accept Accept - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3507,7 +3543,7 @@ The link will expire within 1 hour. Instance Instance - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3664,8 +3700,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -4948,11 +4984,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7085,7 +7117,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7336,7 +7368,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel @@ -7694,16 +7726,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -7737,47 +7765,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -9752,53 +9792,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled بارگزاری لغوشد - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. ویدئو انتشار‌یافت - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.fi-FI.xlf b/client/src/locale/angular.fi-FI.xlf index ce986c8a2..3cc108100 100644 --- a/client/src/locale/angular.fi-FI.xlf +++ b/client/src/locale/angular.fi-FI.xlf @@ -467,7 +467,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -698,7 +710,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Katkaistu esikatselu @@ -941,16 +953,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -984,7 +1002,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Sulje tämä käyttäjä @@ -1791,55 +1809,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Julkaisuaika - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Alkuperäinen julkaisuvuosi - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... Jälkeen... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Ennen... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Kesto - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Näytä arkaluonteinen sisältö - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Kyllä - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No Ei - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Kategoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1852,24 +1888,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Lisenssi - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Kieli @@ -1877,32 +1913,32 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags Kaikki nämä tagit - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags Ei mikään näistä tageista - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset @@ -1911,12 +1947,12 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Suodata - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2047,7 +2083,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Näkyvyys @@ -2058,7 +2094,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2287,7 +2323,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2323,24 +2359,24 @@ The link will expire within 1 hour. Video background image Videon taustakuva - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2354,17 +2390,17 @@ The link will expire within 1 hour. Onnea! Videosi on näkyvillä yksityisessä kirjastossasi. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Julkaisu on mahdollista kun videon lataus on valmis - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Julkaise - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3086,7 +3122,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Kieltäydy @@ -3782,7 +3818,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Mykistetty kohdassa @@ -3955,8 +3991,8 @@ The link will expire within 1 hour. Popular Suositut - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5267,11 +5303,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7422,7 +7454,7 @@ channel with the same name ()! Ownership accepted Omistajuus hyväksytty - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7675,7 +7707,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8030,18 +8062,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Tänään - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8067,47 +8094,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Viimeiset 7 päivää - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Viimeiset 30 päivää - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Viimeiset 365 päivää - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Lyhyt (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Keskiverto (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Pitkä (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Olennaisuus - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Julkaisupäivä - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Näyttökertoja - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10074,20 +10113,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Videota ei ole vielä ladattu, haluatko varmasti poistua sivulta? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10096,27 +10135,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Lataus peruttu - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video julkaistu. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.fr-FR.xlf b/client/src/locale/angular.fr-FR.xlf index bddb49196..29a8e5d48 100644 --- a/client/src/locale/angular.fr-FR.xlf +++ b/client/src/locale/angular.fr-FR.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - vous a mentionné sur la vidéo + mentioned you on video + vous a mentionné sur la vidéo src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Une nouvelle version du plugin/thème est disponible : + A new version of the plugin/theme is available: + Une nouvelle version du plugin/thème est disponible : src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Une nouvelle version de PeerTube est disponible : + A new version of PeerTube is available: + Une nouvelle version de PeerTube est disponible : src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video vidéo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -553,17 +565,17 @@ Edit Modifier - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Prévisualisation tronquée @@ -585,8 +597,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible qui supporte : + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible qui supporte : src/app/shared/shared-main/misc/help.component.ts75 @@ -818,23 +830,29 @@ The upload failed Le téléversement a échoué - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted La connexion a été interrompue - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Votre n'a pas pu être transféré avant le délai fixé (généralement 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Votre fichier est trop volumineux (taille max. : ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Utilisateur·rice @@ -853,24 +871,24 @@ Cancel Annuler - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Bannir cet·te utilisateur·rice @@ -933,16 +951,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Cette instance permet l'enregistrement. Toutefois, il faut veiller à vérifier les conditions d'utilisationconditions d'utilisation avant de créer un compte. Vous pouvez également rechercher une autre instance correspondant exactement à vos besoins sur : https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Cette instance permet l'enregistrement. Toutefois, il faut veiller à vérifier les conditions d'utilisationconditions d'utilisation avant de créer un compte. Vous pouvez également rechercher une autre instance correspondant exactement à vos besoins sur : https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actuellement, cette instance ne permet pas l'enregistrement des utilisateurs, vous pouvez vérifier les conditions d'utilisation pour plus de détails ou trouvez une instance qui vous donne la possibilité de créer un compte et d'y télécharger vos vidéos. Trouvez la vôtre parmi plusieurs instances à l'adresse suivante : https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actuellement, cette instance ne permet pas l'enregistrement des utilisateurs, vous pouvez vérifier les conditions d'utilisation pour plus de détails ou trouvez une instance qui vous donne la possibilité de créer un compte et d'y télécharger vos vidéos. Trouvez la vôtre parmi plusieurs instances à l'adresse suivante : https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1019,7 +1037,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Un courrier électronique contenant les instructions de réinitialisation du mot de passe sera envoyé à . Le lien expirera dans 1 heure. src/app/+login/login.component.ts121 @@ -1057,8 +1076,8 @@ src/app/+search/search.component.html8 - for - pour + for + pour src/app/+search/search.component.html 10 @@ -1715,129 +1734,147 @@ Reset Réinitialiser - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Date de publication - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Année de publication originale - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Après... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Avant... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Durée - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Afficher le contenu sensible - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Oui - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Non - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Catégorie - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Réinitialiser - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Afficher toutes les catégories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Afficher toutes les licences - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Langue - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Afficher tous les langues - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Tous les mots clés suivants - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Un seul des mots clés suivants - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Recherche la cible - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Réinitialiser - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtre - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Les chaînes vidéos @@ -1974,28 +2011,28 @@ Channel Chaîne - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Confidentialité - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2060,7 +2097,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Déjà téléversé ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2240,11 +2277,11 @@ Sorry, but something went wrong Désolé, mais quelque chose s'est mal passé - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Félicitations, la vidéo : va être importée. Vous pouvez déjà ajouter les informations relatives à celle-ci. @@ -2278,29 +2315,29 @@ Video background image Image d'arrière-plan de la vidéo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Image qui sera fusionnée avec le fichier audio. L'image choisie sera définitive et ne pourra pas être modifiée. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total de vidéos envoyées - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Traitement en cours… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Réessayer Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total du quota vidéo @@ -2310,19 +2347,19 @@ Congratulations! Your video is now available in your private library. Félicitations ! Votre vidéo est à présent disponible dans votre bibliothèque personnelle. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Vous pourrez publier cette vidéo lorsque l'envoi sera terminé - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publier - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Désolé, la fonction de téléchargement est désactivée pour votre compte. Si vous souhaitez ajouter des vidéos, un administrateur doit débloquer votre quota. @@ -3048,10 +3085,10 @@ Accept Accepter - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuser @@ -3622,8 +3659,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3707,8 +3744,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3730,11 +3767,11 @@ Instance Instance - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Silencé le @@ -3908,15 +3945,14 @@ Popular Populaire src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - pour " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {résultat} other {résultats} } @@ -4044,8 +4080,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Priorité (1 = plus haute priorité) + Priority (1 = highest priority) + Priorité (1 = plus haute priorité) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4065,8 +4101,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Pas de tâches trouvées. + No jobs found. + Pas de tâches trouvées. src/app/+admin/system/jobs/jobs.component.html108 @@ -4096,8 +4132,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - Par -> + By -> + Par -> src/app/+admin/system/logs/logs.component.html46 @@ -4168,8 +4204,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Gérer les utilisateurs to build a moderation team. + Manage users to build a moderation team. + Gérer les utilisateurs to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4181,8 +4217,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Le fait de l'activer permettra aux autres administrateurs de savoir que vous fédérez principalement des contenus sensibles. En outre, la case à cocher NSFW sur le téléchargement des vidéos sera automatiquement cochée par défaut. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Le fait de l'activer permettra aux autres administrateurs de savoir que vous fédérez principalement des contenus sensibles. En outre, la case à cocher NSFW sur le téléchargement des vidéos sera automatiquement cochée par défaut. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4194,8 +4230,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Avec cache ou floute les vignettes, une confirmation sera demandée pour regarder la vidéo. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Avec cache ou floute les vignettes, une confirmation sera demandée pour regarder la vidéo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4317,8 +4353,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Utiliser greffons & thèmes pour des changements plus importants, ou ajouter de légères personnalisations. + Use plugins & themes for more involved changes, or add slight customizations. + Utiliser greffons & thèmes pour des changements plus importants, ou ajouter de légères personnalisations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4430,8 +4466,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Gérer les utilisateurs pour qu'ils fixent leur quota individuellement. + Manage users to set their quota individually. + Gérer les utilisateurs pour qu'ils fixent leur quota individuellement. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4602,8 +4638,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Vous ne devez utiliser que des index de recherche modérés en production, ou héberger le vôtre. + You should only use moderated search indexes in production, or host your own. + Vous ne devez utiliser que des index de recherche modérés en production, ou héberger le vôtre. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4640,8 +4676,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Gérer relations avec d’autres instances. + Manage relations with other instances. + Gérer relations avec d’autres instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4680,8 +4716,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Voir la documentation pour plus d’informations sur l’URL prévue + See the documentation for more information about the expected URL + Voir la documentation pour plus d’informations sur l’URL prévue src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4741,8 +4777,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Si votre instance est explicitement autorisée par Twitter, un lecteur vidéo sera intégré au flux Twitter sur le partage vidéo PeerTube. Si l'instance ne l'est pas, nous utilisons une carte de lien d'image qui redirigera vers votre instance PeerTube. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Si votre instance est explicitement autorisée par Twitter, un lecteur vidéo sera intégré au flux Twitter sur le partage vidéo PeerTube. Si l'instance ne l'est pas, nous utilisons une carte de lien d'image qui redirigera vers votre instance PeerTube. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4789,8 +4825,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Maximum de lives simultanées créées sur votre instance (-1 pour "illimité") + Max simultaneous lives created on your instance (-1 for "unlimited") + Maximum de lives simultanées créées sur votre instance (-1 pour "illimité") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4802,8 +4838,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Nombre maximal de lives simultanées créées par utilisateur (-1 pour "illimité") + Max simultaneous lives created per user (-1 for "unlimited") + Nombre maximal de lives simultanées créées par utilisateur (-1 pour "illimité") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4947,8 +4983,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Nécessite ffmpeg >= 4.1Génère des listes de lecture HLS et des fichiers MP4 fragmentés, ce qui permet une meilleure lecture qu'avec WebTorrent :Le changement de résolution est plus fluideLecture plus rapide, surtout pour les vidéos de longue duréeLecture plus stable (moins de bugs/chargement infinie)Si vous avez également activé la prise en charge de WebTorrent, le stockage des vidéos sera multiplié par 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Nécessite ffmpeg >= 4.1Génère des listes de lecture HLS et des fichiers MP4 fragmentés, ce qui permet une meilleure lecture qu'avec WebTorrent :Le changement de résolution est plus fluideLecture plus rapide, surtout pour les vidéos de longue duréeLecture plus stable (moins de bugs/chargement infinie)Si vous avez également activé la prise en charge de WebTorrent, le stockage des vidéos sera multiplié par 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5085,13 +5121,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Écrivez directement du code JavaScript.Exemple : console.log('mon instance est super'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Écrivez directement du code JavaScript.Exemple : console.log('mon instance est super'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Écrivez directement du code CSS. Exemple :#custom-css color: red; Ajoutez au début du code #custom-css pour forcer le style. Exemple : #custom-css .logged-in-email color : red ; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Écrivez directement du code CSS. Exemple :#custom-css color: red; Ajoutez au début du code #custom-css pour forcer le style. Exemple : #custom-css .logged-in-email color : red ; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5105,8 +5147,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Il y a des erreurs dans le formulaire : + There are errors in the form: + Il y a des erreurs dans le formulaire : src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5222,8 +5264,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Avec cacher ou flouter les vignettes, une confirmation sera demandée pour regarder la vidéo. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Avec cacher ou flouter les vignettes, une confirmation sera demandée pour regarder la vidéo. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5327,11 +5369,7 @@ Sélectionner une chaîne pour recevoir la vidéo src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Chaîne qui recevra la vidéo - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Ma propriété change @@ -5431,8 +5469,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Court texte décrivant les moyens de soutien à disposition (plateforme de dons, médias...).<br /><br /> Quand vous mettrez en ligne une vidéo dans cette chaîne, son champ de support sera automatiquement rempli par celui-ci. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Court texte décrivant les moyens de soutien à disposition (plateforme de dons, médias...).<br /><br /> Quand vous mettrez en ligne une vidéo dans cette chaîne, son champ de support sera automatiquement rempli par celui-ci. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5824,7 +5863,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Voulez-vous vraiment supprimer ? Cela supprimera les vidéos mises en ligne sur cette chaîne, et vous ne pourrez pas créer une autre chaine avec le même nom () ! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5852,8 +5893,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - MONTRER CETTE CHAÎNE > + SHOW THIS CHANNEL > + MONTRER CETTE CHAÎNE > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6106,8 +6147,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Les pairs Web ne sont pas accessibles au public : comme nous utilisons le transport par websocket, le protocole est différent du traqueur BitTorrent classique. Lorsque vous êtes dans un navigateur web, vous envoyez un signal contenant votre adresse IP au tracker qui choisira au hasard d'autres pairs auxquels il transmettra les informations. Voir ce document pour plus d'information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Les pairs Web ne sont pas accessibles au public : comme nous utilisons le transport par websocket, le protocole est différent du traqueur BitTorrent classique. Lorsque vous êtes dans un navigateur web, vous envoyez un signal contenant votre adresse IP au tracker qui choisira au hasard d'autres pairs auxquels il transmettra les informations. Voir ce document pour plus d'information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6437,8 +6478,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> qui conserve le son original, sans la vidéo + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> qui conserve le son original, sans la vidéo src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7165,8 +7206,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube pense que l'IP publique de votre navigateur web est . + PeerTube thinks your web browser public IP is . + PeerTube pense que l'IP publique de votre navigateur web est . src/app/+admin/system/debug/debug.component.html 4 @@ -7213,16 +7254,16 @@ - Check the trust_proxy configuration key - Vérifier la trust_proxy clé de configuration + Check the trust_proxy configuration key + Vérifier la trust_proxy clé de configuration src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Si vous exécutez PeerTube à l'aide de Docker, vérifiez que vous exécutez la commande reverse-proxy avec network_mode : "host" (voir issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Si vous exécutez PeerTube à l'aide de Docker, vérifiez que vous exécutez la commande reverse-proxy avec network_mode : "host" (voir issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7506,8 +7547,8 @@ Ownership accepted Changement de propriété accepté - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Veuillez vérifier vos courriels pour vérifier votre nouveau courriel. @@ -7519,8 +7560,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Votre adresse de courrier électronique actuelle est . Elle n'est jamais montrée au public. + Your current email is . It is never shown to the public. + Votre adresse de courrier électronique actuelle est . Elle n'est jamais montrée au public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7768,8 +7809,8 @@ Views for the day Vues pour la journée - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Mettre à jour une chaîne de vidéos @@ -8071,7 +8112,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Impossible de récupérer les identifiants du Client OAuth : . Assurez-vous d'avoir correctement configuré PeerTube (dossier config/), en particulier la section "serveur web". src/app/core/auth/auth.service.ts99 @@ -8135,19 +8177,14 @@ Votre mot de passe a été réinitialisé avec succès ! src/app/+reset-password/reset-password.component.ts47 - - Any - Tous - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Aujourd'hui - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Hier @@ -8186,49 +8223,61 @@ Last 7 days Les 7 derniers jours - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Les 30 derniers jours - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Les 365 derniers jours - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Courte (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Moyenne (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Longue (> 10 min) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Longue (> 10 min) + + src/app/+search/search-filters.component.ts79 Relevance Pertinence - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Date de publication - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Vues - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. L'index de recherche n'est pas disponible. Essayez plutôt avec les résultats de l'instance. @@ -8842,8 +8891,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Voir la documentation pour apprendre à utiliser la fonctionnalité de direct de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Voir la documentation pour apprendre à utiliser la fonctionnalité de direct de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9934,8 +9983,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Vous devez être <a href="/login">enregistré</a> pour évaluer cette vidéo. + You need to be <a href="/login">logged in</a> to rate this video. + Vous devez être <a href="/login">enregistré</a> pour évaluer cette vidéo. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10276,50 +10325,42 @@ Your video was uploaded to your account and is private. Votre vidéo a été téléversée sur votre compte et elle est privée. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Les données associées (étiquettes, description, etc.) seront par contre perdues ; êtes-vous sûr·e de vouloir quitter cette page ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Votre vidéo n'est pas encore téléversé ; êtes-vous sûr·e de vouloir quitter cette page ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Mise en ligne - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Téléverser - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Mise en ligne annulée - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vidéo publiée. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Votre quota vidéo est dépassé avec cette vidéo ( taille de la vidéo : , utilisé : , quota : ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Votre quota vidéo journalier est dépassé avec cette vidéo ( taille de la vidéo : , utilisé : , quota : ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Vous n'avez pas sauvegardé vos modifications ! Si vous quittez la page, vous les perdrez. @@ -10364,8 +10405,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Cette vidéo n'est pas disponible sur cette instance ? Voulez-vous être redirigé sur l'instance d'origine : <a href=""></a> ? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Cette vidéo n'est pas disponible sur cette instance ? Voulez-vous être redirigé sur l'instance d'origine : <a href=""></a> ? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.gd.xlf b/client/src/locale/angular.gd.xlf index d0266f15d..f6fd6e115 100644 --- a/client/src/locale/angular.gd.xlf +++ b/client/src/locale/angular.gd.xlf @@ -322,8 +322,20 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -542,17 +554,17 @@ Edit Deasaich - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Ro-shealladh goirid @@ -807,23 +819,29 @@ The upload failed Dh’fhàillig leis an luchdadh suas - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Bhris rudeigin a-steach air a’ cheangal - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Cha deach leinn am faidhle agad a thar-chur mus do dh’fhalbh an ùine air a’ ghnìomh (bidh 10mion agad mar as trice) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Bha am faidhle agad ro mhòr (is am meud as motha) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Cleachdaiche @@ -859,7 +877,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Toirmisg an cleachdaiche seo @@ -1698,86 +1716,104 @@ The link will expire within 1 hour. Reset Ath-shuidhich - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Ceann-là an fhoillseachaidh - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Bliadhna an fhoillseachaidh thùsail - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Às dèidh… - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Ro… - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Faid - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Seall susbaint fhrionasach - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Tha - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Chan eil - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Roinn-seòrsa - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Ath-shuidhich - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Seall a h-uile roinn-seòrsa - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Ceadachas - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Seall a h-uile ceadachas - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Cànan @@ -1785,42 +1821,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Seall a h-uile cànan - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Na tagaichean seo uile - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Aonan dhe na tagaichean seo - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Lorg san amas - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Saoghal nam video - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Ath-shuidhich - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Criathrag - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Seanailean video @@ -1947,16 +1983,16 @@ The link will expire within 1 hour. Channel Seanail - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Prìobhaideachd @@ -1968,7 +2004,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ CÀBHA @@ -2213,11 +2249,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Tha sinn duilich ach chaidh rudeigin ceàrr - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Meal do naidheachd, thèid a’ video air cùlaibh ion-phortadh! ’S urrainn dhut fiosrachadh mun video seo a chur ris mu thràth. @@ -2251,29 +2287,29 @@ The link will expire within 1 hour. Video background image Dealbh cùlaibh video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Seo dealbh a thèid a chur ris an fhaidhle fhuaime agad. Bidh an dealbh a thagh thu buan is cha ghabh atharrachadh an uairsin. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Cunntas nam videothan air an luchdadh suas - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… ’Ga phròiseasadh… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Feuch ris a-rithist Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Cuota iomlan de videothan @@ -2283,19 +2319,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. Meal do naidheachd! Tha a’ video agad ri fhaighinn san leabhar-lann phrìobhaideach agad a-nis. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Gabhaidh fhoillseachadh nuair a bhios an luchdadh suas deiseil - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Foillsich - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Tha sinn duilich ach chaidh gleus an luchdaidh suas a chur à comas dhan chunntas agad. Ma tha thu airson videothan a chur ris, feumaidh rianaire an glas a thoirt far a’ chuota agad. @@ -3027,7 +3063,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Diùlt @@ -3702,7 +3738,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Air a mhùchadh @@ -3876,15 +3912,14 @@ The link will expire within 1 hour. Popular Air a bheil fèill mhòr src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {thoradh} one {thoradh} two {thoradh} few {toraidhean} other {toradh} } @@ -5301,11 +5336,7 @@ color: red; Tagh an t-seanail a gheibh a’ video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - An t-seanail a gheibh a’ video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Atharraichean air an t-sealbh agam @@ -7426,8 +7457,8 @@ channel with the same name ()! Ownership accepted Chaidh gabhail ris an t-sealbh - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Thoir sùil air a’ phost-d agad airson am post-d ùr agad a dhearbhadh. @@ -7690,7 +7721,7 @@ channel with the same name ()!Views for the day Air coimhead air an-diugh - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Ùraich an t-seanail video @@ -8055,19 +8086,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Chaidh am facal-faire agad ath-shuidheachadh! src/app/+reset-password/reset-password.component.ts47 - - Any - Gin sam bith - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today An-diugh - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday An-dè @@ -8106,49 +8132,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Na 7 làithean seo chaidh - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days An 30 latha seo chaidh - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days An 365 latha seo chaidh - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Goirid (< 4 mion) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Meadhanach (4-10 mion) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Fada (> 10 mion) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Buntainneas - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Ceann-là an fhoillseachaidh - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Seallaidhean - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Chan eil inneacs luirg ri fhaighinn. A’ feuchainn ris le toraidhean an ionstans ’na àite. @@ -10157,50 +10195,40 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Chaidh a’ video agad a luchdadh suas dhan chunntas agad ’s tha e prìobhaideach. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Ach thèid dàta sam bith nach deach a shàbhaladh (tagaichean, tuairisgeulan…) air chall, a bheil thu cinnteach gu bheil thu airson an duilleag seo fhàgail? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Cha deach a’ video agad a luchdadh suas fhathast, a bheil thu cinnteach gu bheil thu airson an duilleag seo fhàgail? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Luchdaich suas - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Luchdaich suas - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Chaidh sgur dhen luchdadh suas - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Chaidh a’ video fhoillseachadh. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Bheir a’ video seo thar a’ chuota thu (meud a’ video: , ’ga chleachdadh: , cuota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Bheir a’ video seo thar a’ chuota làitheil thu (meud a’ video: , ’ga chleachdadh: , cuota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Tha atharraichean gun sàbhaladh agad! Ma dh’fhalbhas tu, thèid na h-atharraichean agad air chall. diff --git a/client/src/locale/angular.gl-ES.xlf b/client/src/locale/angular.gl-ES.xlf index 4f22740ee..21ee516c2 100644 --- a/client/src/locale/angular.gl-ES.xlf +++ b/client/src/locale/angular.gl-ES.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - mencionoute en vídeo + mentioned you on video + mencionoute en vídeo src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Unha nova versión do complemento/decorado está dispoñible: + A new version of the plugin/theme is available: + Unha nova versión do complemento/decorado está dispoñible: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Nova versión de PeerTube dispoñible: + A new version of PeerTube is available: + Nova versión de PeerTube dispoñible: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -553,17 +565,17 @@ Edit Editar - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Vista previa recortada @@ -585,8 +597,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que soporta: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible que soporta: src/app/shared/shared-main/misc/help.component.ts75 @@ -818,23 +830,29 @@ The upload failed A subida fallou - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Conexión interrumpida - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) O teu ficheiro non se pode transferir antes da marxe establecida (normalmente 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) O ficheiro era demasiado grande (tamaño max.: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Usuaria @@ -855,24 +873,24 @@ Cancel Cancelar - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Vetar esta usuaria @@ -936,16 +954,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Esta instancia ten o rexistro aberto. Non obstante, pon tino en comprobar TermosOs Termos antes de crear unha conta. Podes atopar outra instancia máis acorde ás túas necesidades en: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Esta instancia ten o rexistro aberto. Non obstante, pon tino en comprobar TermosOs Termos antes de crear unha conta. Podes atopar outra instancia máis acorde ás túas necesidades en: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Actualmente esta instancia non permite abrir unha conta, podes ler os Termos para saber máis ou atopar outra instancia co rexistro aberto e poder subir alí os teus vídeos. Atopa a túa entre varias opcións en: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Actualmente esta instancia non permite abrir unha conta, podes ler os Termos para saber máis ou atopar outra instancia co rexistro aberto e poder subir alí os teus vídeos. Atopa a túa entre varias opcións en: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1022,7 +1040,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Enviaremos un email con instruccións para o restablecemento a . A ligazón caduca nunha hora. src/app/+login/login.component.ts121 @@ -1060,8 +1079,8 @@ src/app/+search/search.component.html8 - for - para + for + para src/app/+search/search.component.html 10 @@ -1718,129 +1737,147 @@ Reset Restablecer - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data de publicación - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Ano orixinal da publicación - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Despois... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Antes... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Duración - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Mostrar contido sensible - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Si - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Non - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoría - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Restablecer - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Mostra todas as categorías - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licenza - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Mostra todas as licenzas - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Idioma - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Mostra todos os idiomas - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Todas estas etiquetas - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Unha de estas etiquetas - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Obxetivo da busca - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Videoverso - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Restablecer - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtro - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Canles de vídeo @@ -1975,28 +2012,28 @@ Channel Canle - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Intimidade - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ PMF @@ -2061,7 +2098,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Xa subido ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2241,11 +2278,11 @@ Sorry, but something went wrong Lamentámolo, pero algo fallou - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Parabéns, o vídeos tras será importado! Xa podes ver información acerca deste vídeo. @@ -2279,29 +2316,29 @@ Video background image Imaxe de fondo do vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Imaxe que se xuntará co ficheiro de audio. A imaxe elexida será definitiva e non se pode modificar. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Vídeo total subido - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Procesando… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Reintentar Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Cota total de vídeo @@ -2311,19 +2348,19 @@ Congratulations! Your video is now available in your private library. Parabéns! O vídeo xa está dispoñible na túa biblioteca privada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished A publicación estará dispoñible cando remate a subida - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicar - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Lamentámolo, a túa conta non permite subir contidos. Se queres engadir vídeos, unha administradora debe aumentar a túa cota. @@ -3049,10 +3086,10 @@ Accept Aceptar - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Rexeitar @@ -3619,8 +3656,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3704,8 +3741,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3727,11 +3764,11 @@ Instance Instancia - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Acalado o @@ -3905,15 +3942,14 @@ Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - para " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -4039,8 +4075,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioridade (1 = a prioridade máis alta) + Priority (1 = highest priority) + Prioridade (1 = a prioridade máis alta) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4060,8 +4096,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Non se atoparon tarefas. + No jobs found. + Non se atoparon tarefas. src/app/+admin/system/jobs/jobs.component.html108 @@ -4091,8 +4127,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - Por -> + By -> + Por -> src/app/+admin/system/logs/logs.component.html46 @@ -4163,8 +4199,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Xestionar usuarias para crear equipo de moderación. + Manage users to build a moderation team. + Xestionar usuarias para crear equipo de moderación. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4176,8 +4212,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Activándoo permitirás que outras administradoras saiban que principalmente federas contido sensible. Ademáis, incluirá automáticamente a marca NSFW na subida do vídeo. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Activándoo permitirás que outras administradoras saiban que principalmente federas contido sensible. Ademáis, incluirá automáticamente a marca NSFW na subida do vídeo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4189,8 +4225,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4312,8 +4348,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Usa complementos & decorados para cambios máis relevantes, ou engade pequenas personalizacións. + Use plugins & themes for more involved changes, or add slight customizations. + Usa complementos & decorados para cambios máis relevantes, ou engade pequenas personalizacións. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4425,8 +4461,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Xestionar usuarias para establecer a súa cota individualmente. + Manage users to set their quota individually. + Xestionar usuarias para establecer a súa cota individualmente. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4597,8 +4633,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Só deberías usar índices de busca moderados en produción, ou hospedar o teu propio. + You should only use moderated search indexes in production, or host your own. + Só deberías usar índices de busca moderados en produción, ou hospedar o teu propio. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4635,8 +4671,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Xestionar relacións con outras instancias. + Manage relations with other instances. + Xestionar relacións con outras instancias. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4675,8 +4711,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Le a documentación para saber máis acerca do URL agardado. + See the documentation for more information about the expected URL + Le a documentación para saber máis acerca do URL agardado. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4736,8 +4772,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Se a túa instancia está explícitamente aprobada por Twitter, aparecerá un reprodutor incrustado na cronoloxía de Twitter cando se comparta un vídeo de PeerTube. Se a instancia non o está, usamos unha imaxe tipo tarxeta que redirixe á túa instancia PeerTube. Marca este cadro, garda a configuración e comproba se funciona cun vídeo da túa instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver se a túa instancia está permitida. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Se a túa instancia está explícitamente aprobada por Twitter, aparecerá un reprodutor incrustado na cronoloxía de Twitter cando se comparta un vídeo de PeerTube. Se a instancia non o está, usamos unha imaxe tipo tarxeta que redirixe á túa instancia PeerTube. Marca este cadro, garda a configuración e comproba se funciona cun vídeo da túa instancia (https://example.com/videos/watch/blabla) en https://cards-dev.twitter.com/validator para ver se a túa instancia está permitida. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4784,8 +4820,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Número máximo de directos simultáneos permitidos na túa instancia (-1 para "sen límite") + Max simultaneous lives created on your instance (-1 for "unlimited") + Número máximo de directos simultáneos permitidos na túa instancia (-1 para "sen límite") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4797,8 +4833,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Número máximo de directos simultáneos por usuaria (-1 para "sen límite") + Max simultaneous lives created per user (-1 for "unlimited") + Número máximo de directos simultáneos por usuaria (-1 para "sen límite") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4942,8 +4978,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Require ffmpeg >= 4.1Crear listas HLS e ficheiros MP4 fragmentados resultando nunha mellor reprodución que con WebTorrent plano:O cambio de resolución é máis suaveReprodución máis rápida especialmente cos vídeos longosReprodución máis estable (menos fallos/carga infinita)Se tamén activaches o soporte WebTorrent, multiplicarás a almacenaxe dos vídeos por 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Require ffmpeg >= 4.1Crear listas HLS e ficheiros MP4 fragmentados resultando nunha mellor reprodución que con WebTorrent plano:O cambio de resolución é máis suaveReprodución máis rápida especialmente cos vídeos longosReprodución máis estable (menos fallos/carga infinita)Se tamén activaches o soporte WebTorrent, multiplicarás a almacenaxe dos vídeos por 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5080,13 +5116,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Escribir código JavaScript directamente.Examplo: console.log('teño unha instancia que é un primor'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Escribir código JavaScript directamente.Examplo: console.log('teño unha instancia que é un primor'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Escribir código CSS directamente. Examplo:#custom-css color: red; Anteceder con #custom-css para sobrescribir estilos. Exemplo:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Escribir código CSS directamente. Examplo:#custom-css color: red; Anteceder con #custom-css para sobrescribir estilos. Exemplo:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5100,8 +5142,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Hai erros no formulario: + There are errors in the form: + Hai erros no formulario: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5217,8 +5259,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Con Agochar ou Difuminar miniaturas, pedirase confirmación para ver o vídeo. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5322,11 +5364,7 @@ Elixe unha canle para recibir o vídeo src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Canle que recibirá o vídeo - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Os meus cambios de propiedade @@ -5424,8 +5462,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Texto curto para dar a coñecer o xeito en que poden apoiar a túa canle (plataformas de mebresía...).<br /><br /> Cando subas un vídeo a esta canle, o campo de apoio ó vídeo completarase automáticamente co texto aquí escrito. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Texto curto para dar a coñecer o xeito en que poden apoiar a túa canle (plataformas de mebresía...).<br /><br /> Cando subas un vídeo a esta canle, o campo de apoio ó vídeo completarase automáticamente co texto aquí escrito. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5806,7 +5845,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Desexas eliminar ? Así eliminarás vídeos subidos a esta canle, e non poderás volver a crear outra canle co mesmo nome ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5834,8 +5875,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - MOSTRAR ESTA CANLE > + SHOW THIS CHANNEL > + MOSTRAR ESTA CANLE > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6088,8 +6129,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Os parceiros da web non son públicamente accesibles: porque usamos websocket transport, o protocolo é diferente ó clásico rastrexador BitTorrent. Cando usas un navegador web, envías ó rastrexador un sinal que contén o teu enderezo IP que escollerá aleatoriamente outros parceiros ós que enviar a información. Le este documento para ter máis información + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Os parceiros da web non son públicamente accesibles: porque usamos websocket transport, o protocolo é diferente ó clásico rastrexador BitTorrent. Cando usas un navegador web, envías ó rastrexador un sinal que contén o teu enderezo IP que escollerá aleatoriamente outros parceiros ós que enviar a información. Le este documento para ter máis información src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6413,8 +6454,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Un <code>.mp4</code> que mantén o audio orixinal, sen vídeo + A <code>.mp4</code> that keeps the original audio track, with no video + Un <code>.mp4</code> que mantén o audio orixinal, sen vídeo src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7125,8 +7166,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube cre que o IP do teu navegador é . + PeerTube thinks your web browser public IP is . + PeerTube cre que o IP do teu navegador é . src/app/+admin/system/debug/debug.component.html 4 @@ -7173,16 +7214,16 @@ - Check the trust_proxy configuration key - Comproba a chave de configuración do trust_proxy + Check the trust_proxy configuration key + Comproba a chave de configuración do trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Se instalaches PeerTube usando Docker, executa o reverse-proxy con network_mode: "host" (ler issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Se instalaches PeerTube usando Docker, executa o reverse-proxy con network_mode: "host" (ler issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7460,8 +7501,8 @@ Ownership accepted Propiedade aceptada - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Comproba o teu correo para verificar o teu novo email. @@ -7473,8 +7514,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - O teu email actual . Non se mostra públicamente. + Your current email is . It is never shown to the public. + O teu email actual . Non se mostra públicamente. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7722,8 +7763,8 @@ Views for the day Visualizacións do día - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Actualizar canle de vídeo @@ -8021,7 +8062,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Non se poden obter as credenciais OAuth Client: . Asegúrate de ter configurado correctamente PeerTube (config/ directory), en particular a sección "webserver". src/app/core/auth/auth.service.ts99 @@ -8085,19 +8127,14 @@ Restableceuse correctamente o contrasinal! src/app/+reset-password/reset-password.component.ts47 - - Any - Todo - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Hoxe - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Onte @@ -8136,49 +8173,61 @@ Last 7 days Últimos 7 días - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Últimos 30 días - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Últimos 365 días - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Curto (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medio (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Longo (> 10 min) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Longo (> 10 min) + + src/app/+search/search-filters.component.ts79 Relevance Relevancia - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Data de publicación - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visualizacións - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Non está dispoñible a busca no índice, intentándoo cos resultados na instancia. @@ -8770,8 +8819,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Le a documentación para saber cómo utilizar a función de retransmisión en directo de PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Le a documentación para saber cómo utilizar a función de retransmisión en directo de PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9840,8 +9889,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Tes que estar <a href="/login">conectada</a> para valorar este vídeo. + You need to be <a href="/login">logged in</a> to rate this video. + Tes que estar <a href="/login">conectada</a> para valorar este vídeo. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10182,48 +10231,40 @@ Your video was uploaded to your account and is private. O vídeo subeuse á túa conta e é privado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Pero os datos asociados (etiquetas, descrición...) perderanse, queres saír igualmente desta páxina? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? O vídeo aínda non se subiu, desexas realmente saír desta páxina? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Subir - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Subir - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Subida cancelada - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vídeo publicado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Con este vídeo estás a sobrepasa a cota de vídeo ( tamaño do vídeo: , utilizado: , cota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Con este vídeo excedeches a cota diaria de vídeo ( tamaño: , utilizado: , cota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Tes cambios sen gardar! Se saes perderás os cambios. @@ -10268,8 +10309,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Este vídeo non está dispoñible na túa instancia. Queres ser redirixida á instancia orixinal: <a href="">/a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Este vídeo non está dispoñible na túa instancia. Queres ser redirixida á instancia orixinal: <a href="">/a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.hu-HU.xlf b/client/src/locale/angular.hu-HU.xlf index b4440090e..b0434b13b 100644 --- a/client/src/locale/angular.hu-HU.xlf +++ b/client/src/locale/angular.hu-HU.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - megemlítette Önt a következő videónál: + mentioned you on video + megemlítette Önt a következő videónál: src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - A new version of the plugin/theme is available: + A new version of the plugin/theme is available: + A new version of the plugin/theme is available: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - A new version of PeerTube is available: + A new version of PeerTube is available: + A new version of PeerTube is available: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video videó - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -547,17 +559,17 @@ Edit Szerkesztés - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Megvágott előnézet @@ -579,8 +591,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a>-kompatibilis, és a következőket támogatja: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a>-kompatibilis, és a következőket támogatja: src/app/shared/shared-main/misc/help.component.ts75 @@ -812,23 +824,29 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Felhasználó @@ -847,24 +865,24 @@ Cancel Mégse - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Felhasználó kitiltása @@ -928,16 +946,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1014,7 +1032,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. A jelszó-visszaállítási utasítások erre a címre lesznek elküldve: . A hivatkozás 1 órán belül lejár. src/app/+login/login.component.ts121 @@ -1052,8 +1071,8 @@ src/app/+search/search.component.html8 - for - for + for + for src/app/+search/search.component.html 10 @@ -1706,129 +1725,147 @@ Reset Visszaállítás - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Közzététel dátuma - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Eredeti közzétételi év - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Után… - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Előtt… - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Időtartam - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Érzékeny tartalom megjelenítése - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Igen - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nem - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategória - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Visszaállítás - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Összes kategória megjelenítése - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licenc - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Összes licenc megjelenítése - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Nyelv - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Összes nyelv megjelenítése - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Ezen címkék mindegyike - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Ezen címkék egyike - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Keresési cél - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverzum - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Visszaállítás - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Szűrő - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Videócsatornák @@ -1961,28 +1998,28 @@ Channel Csatorna - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Adatvédelem - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ GYIK @@ -2047,7 +2084,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Már fel van töltve ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2225,11 +2262,11 @@ Sorry, but something went wrong Sajnáljuk, de valami elromlott - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Gratulálunk, a(z) mögött lévő videó importálva lesz! Már megadhatja a videóval kapcsolatos információkat. @@ -2263,29 +2300,29 @@ Video background image Videó háttérképe - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Egy kép, amely egyesítve lesz a hangfájllal. A kiválasztott kép végleges lesz, és nem lehet módosítani. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Feldolgozás… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Teljes videokvóta @@ -2295,19 +2332,19 @@ Congratulations! Your video is now available in your private library. Gratulálunk! A videó most már elérhető a személyes könyvtárában. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished A közzététel akkor lesz elérhető, ha a feltöltés befejeződött - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Közzététel - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sajnáljuk, a feltöltési funkció tiltott a fiókjában. Ha videókat akar hozzáadni, akkor egy rendszergazdának fel kell oldania a kvótája zárolását. @@ -3028,10 +3065,10 @@ Accept Elfogadás - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Visszautasítás @@ -3600,8 +3637,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3685,8 +3722,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3708,11 +3745,11 @@ Instance Példány - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Némítás ideje @@ -3886,15 +3923,14 @@ Popular Népszerű src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {találat} other {találat} } @@ -4020,8 +4056,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Priority (1 = highest priority) + Priority (1 = highest priority) + Priority (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4041,8 +4077,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - No jobs found. + No jobs found. + No jobs found. src/app/+admin/system/jobs/jobs.component.html108 @@ -4072,7 +4108,7 @@ src/app/+admin/system/logs/logs.component.html38 - By -> + By -> Szerző: src/app/+admin/system/logs/logs.component.html46 @@ -4144,8 +4180,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Manage users to build a moderation team. + Manage users to build a moderation team. + Manage users to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4157,8 +4193,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4170,8 +4206,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4293,8 +4329,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4406,8 +4442,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Manage users to set their quota individually. + Manage users to set their quota individually. + Manage users to set their quota individually. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4578,8 +4614,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4616,8 +4652,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Manage relations with other instances. + Manage relations with other instances. + Manage relations with other instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4656,8 +4692,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - See the documentation for more information about the expected URL + See the documentation for more information about the expected URL + See the documentation for more information about the expected URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4717,8 +4753,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4765,8 +4801,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4778,8 +4814,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4923,8 +4959,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5061,19 +5097,25 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Write CSS code directly. Example:#custom-css + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Write CSS code directly. Example:#custom-css color: red; - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5087,8 +5129,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - There are errors in the form: + There are errors in the form: + There are errors in the form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5204,8 +5246,8 @@ color: red; src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5309,11 +5351,7 @@ color: red; Válasszon egy csatornát a videó fogadásához src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Csatorna, ami a videót fogadja - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Saját tulajdonosváltozások @@ -5411,8 +5449,9 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Rövid szöveg, amely ismerteti az embereknek, hogy hogyan támogathatják a csatornáját (tagsági platform…).<br /><br /> Ha feltölt egy videót ebbe a csatornába, akkor a videó támogatási mezője automatikusan ki lesz töltve ezzel a szöveggel. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Rövid szöveg, amely ismerteti az embereknek, hogy hogyan támogathatják a csatornáját (tagsági platform…).<br /><br /> Ha feltölt egy videót ebbe a csatornába, akkor a videó támogatási mezője automatikusan ki lesz töltve ezzel a szöveggel. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5800,7 +5839,9 @@ color: red; src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Biztos, hogy törli a(z) csatornát? Ez törli a csatornára feltöltött videót, és nem hozhat létre még egy csatornát ugyanezzel a névvel ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5828,8 +5869,8 @@ color: red; src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - SHOW THIS CHANNEL > + SHOW THIS CHANNEL > + SHOW THIS CHANNEL > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6082,8 +6123,8 @@ color: red; src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6409,8 +6450,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - Egy <code>.mp4</code>, amely megtartja az eredeti hangsávot videó nélkül + A <code>.mp4</code> that keeps the original audio track, with no video + Egy <code>.mp4</code>, amely megtartja az eredeti hangsávot videó nélkül src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7127,8 +7168,8 @@ color: red; - PeerTube thinks your web browser public IP is . - PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . src/app/+admin/system/debug/debug.component.html 4 @@ -7175,16 +7216,16 @@ color: red; - Check the trust_proxy configuration key - Check the trust_proxy configuration key + Check the trust_proxy configuration key + Check the trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7468,8 +7509,8 @@ color: red; Ownership accepted Tulajdonjog elfogadva - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Nézze meg az e-mailjeit az új e-mailje ellenőrzéséhez. @@ -7481,8 +7522,8 @@ color: red; src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html @@ -7731,8 +7772,8 @@ color: red; Views for the day A nap megtekintései - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Videócsatorna frissítése @@ -8034,7 +8075,8 @@ color: red; src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Az OAuth kliens hitelesítő adatai nem kérhetők le: . Győződjön meg róla, hogy helyesen állította be a PeerTube-ot (konfiguráció / könyvtár), különösképpen a „webserver” szakaszban. src/app/core/auth/auth.service.ts99 @@ -8098,19 +8140,14 @@ color: red; A jelszava sikeresen vissza lett állítva! src/app/+reset-password/reset-password.component.ts47 - - Any - Bármely - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Ma - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Tegnap @@ -8149,49 +8186,61 @@ color: red; Last 7 days Elmúlt 7 nap - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Elmúlt 30 nap - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Elmúlt 365 nap - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Rövid (< 4 perc) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Közepes (4-10 perc) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Hosszú (> 10 perc) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Hosszú (> 10 perc) + + src/app/+search/search-filters.component.ts79 Relevance Fontosság - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Közzétételi dátum - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Megtekintések - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. A keresőindex nem érhető el. Újrapróbálkozás a példány találataival. @@ -8807,8 +8856,8 @@ color: red; src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. src/app/shared/shared-video-live/live-documentation-link.component.html @@ -9900,8 +9949,8 @@ color: red; src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10252,50 +10301,42 @@ color: red; Your video was uploaded to your account and is private. A videó fel lett töltve a fiókjába, és személyes. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? De a kapcsolódó adatok (címkék, leírás, …) el fognak veszni. Biztosan el szeretné hagyni ezt az oldalt? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? A videó még nincs feltöltve. Biztosan el szeretné hagyni ezt az oldalt? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Feltöltés - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload feltöltése - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Feltöltés megszakítása - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Videó közzétéve. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Ezzel a videóval túllépte a videókvótáját (videóméret: , felhasznált: , kvóta: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Ezzel a videóval túllépte a napi videókvótáját (videóméret: , használt: , kvóta: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Mentetlen változtatásai vannak. Ha elhagyja ezt az oldalt, akkor a változtatásai el fognak veszni. @@ -10340,8 +10381,8 @@ color: red; - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Ez a videó nem érhető el ezen a példányon. Szeretné, hogy átirányítsuk a forráspéldányhoz: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Ez a videó nem érhető el ezen a példányon. Szeretné, hogy átirányítsuk a forráspéldányhoz: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.it-IT.xlf b/client/src/locale/angular.it-IT.xlf index cafe377d7..312ad0e03 100644 --- a/client/src/locale/angular.it-IT.xlf +++ b/client/src/locale/angular.it-IT.xlf @@ -311,7 +311,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -536,17 +548,17 @@ Edit Modifica - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Anteprima parziale @@ -801,23 +813,29 @@ The upload failed Upload non riuscito - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted La connessione è stata interrotta - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Il tuo file non ha potuto esser trasferito prima del tempo limite (di solito 10 minuti) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Il tuo file era troppo grande (dimensione massima: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Utente @@ -856,7 +874,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Espelli questo utente @@ -1693,86 +1711,104 @@ The link will expire within 1 hour. Reset Ripristina - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data di pubblicazione - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Data di pubblicazione - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Dopo... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Prima... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Durata - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Mostra contenuti sensibili - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Ripristina - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Mostra tutte le categorie - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licenza - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Mostra tutte le licenze - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Lingua @@ -1780,42 +1816,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Mostra tutte le lingue - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Tutti questi tag - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Uno di questi tag - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Obiettivo di ricerca - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Ripristina - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtra - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Canali video @@ -1935,16 +1971,16 @@ The link will expire within 1 hour. Channel Canale - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -1956,7 +1992,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2185,11 +2221,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Qualcosa è andato storto - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Congratulazioni, il video presente all'indirizzo sarà importato! Puoi già aggiungere informazioni relative a questo video. @@ -2223,29 +2259,29 @@ The link will expire within 1 hour. Video background image Immagine di sfondo del video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Immagine che verrà unita al tuo file audio. L'immagine scelta sarà definitiva e non potrà essere modificata. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Video totali caricati - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processamento… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Riprova Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Quota totale video @@ -2257,19 +2293,19 @@ The link will expire within 1 hour. Ottimo! Ora il video è disponibile nella biblioteca privata. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished La pubblicazione sarà possibile quando il caricamento sarà completato - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Pubblica - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Spiacente, la funzionalità di upload è disabilitata per il tuo account. Se vuoi aggiungere video, un amministratore deve sbloccare la tua quota. @@ -3022,7 +3058,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Rifiuta @@ -3696,7 +3732,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Silenziato a @@ -3870,8 +3906,8 @@ The link will expire within 1 hour. Popular Popolare src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5290,11 +5326,7 @@ color: red; Seleziona un canale per cui ricevere il video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Canale che riceverà il video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Modifiche dei miei permessi @@ -7391,8 +7423,8 @@ channel with the same name ()! Ownership accepted Cambio proprietario accettato - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Controlla le tue e-mail per verificare la tua nuova e-mail. @@ -7646,7 +7678,7 @@ channel with the same name ()!Views for the day Visualizzazioni per giorno - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Aggiorna canale video @@ -8015,19 +8047,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular La tua password è stata reimpostata con successo! src/app/+reset-password/reset-password.component.ts47 - - Any - Qualunque - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Oggi - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Ieri @@ -8066,49 +8093,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Ultimi 7 giorni - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Ultimi 30 giorni - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Ultimi 365 giorni - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Breve (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medio (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Lungo (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Rilevanza - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Data pubblicazione - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visualizzazioni - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. L'indice di ricerca non è disponibile. Nuovo tentativo con i risultati dell'istanza. @@ -10142,49 +10181,39 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Il video è stato caricato sul proprio account ed è privato. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? I dati associati (tag, descrizione, ...) saranno persi. Chiudere questa pagina ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Il tuo video non è ancora caricato. Sei sicuro di volere chiudere questa pagina ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Carica - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Carica - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Caricamento annullato - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video pubblicato. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - La tua quota video è stata superata con questo video ( dimensione del video: , usato: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - La tua quota video giornaliera è stata superata con questo video ( dimensione del video : , usato: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Ci sono delle modifiche non salvate. Se si esce, verranno perse. diff --git a/client/src/locale/angular.ja-JP.xlf b/client/src/locale/angular.ja-JP.xlf index 170f8834f..46912b414 100644 --- a/client/src/locale/angular.ja-JP.xlf +++ b/client/src/locale/angular.ja-JP.xlf @@ -394,7 +394,19 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles 字幕 @@ -586,7 +598,7 @@ Edit 編集 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview 切り取ったプレビュー @@ -834,16 +846,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -865,7 +883,7 @@ Cancel キャンセル - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user このユーザーをBANする @@ -1680,116 +1698,134 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date 公開日 - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year 元の出版年 - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... 後… - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... 前… - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration 総再生時間 - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content センシティブなコンテンツを表示 - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes はい - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No いいえ - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category カテゴリ - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence ライセンス - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language 言語 - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags これらのタグすべて - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags これらのタグのうち1つ - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter フィルタ - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -1908,12 +1944,12 @@ The link will expire within 1 hour. Channel チャンネル - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy 公開設定 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2143,7 +2179,7 @@ The link will expire within 1 hour. Sorry, but something went wrong 申し訳ありませんが、何か問題が発生しました - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2177,7 +2213,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2188,19 +2224,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2212,17 +2248,17 @@ The link will expire within 1 hour. おめでとうございます。動画は非公開ライブラリで利用可能になりました。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished アップロードが終わったら公開することができます - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish 公開 - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -2927,7 +2963,7 @@ The link will expire within 1 hour. Accept 受け入れる - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse 断る @@ -3590,7 +3626,7 @@ The link will expire within 1 hour. Instance インスタンス - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3747,8 +3783,8 @@ The link will expire within 1 hour. Popular 人気 - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5064,11 +5100,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7219,7 +7251,7 @@ channel with the same name ()! Ownership accepted 所有権が承認されました。 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7470,7 +7502,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel @@ -7826,16 +7858,12 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular パスワードは正常にリセットされました! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today 今日 - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday 昨日 @@ -7869,47 +7897,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days 過去 7 日間 - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days 過去 30 日間 - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days 過去 365 日間 - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) 短い (< 4 分) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) 中間 (4 ~ 10 分) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) 長い (> 10 分) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance 関連性 - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date 公開日 - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views 回視聴 - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -9894,51 +9934,39 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. 動画はこのアカウントに非公開でアップロードされています。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? 関連するデータ (タグ、説明など) は失われます。このページから移動してもよろしいですか? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? 動画はまだアップロードされていません。このページから移動してもよろしいですか? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload アップロード - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload アップロード - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled アップロードがキャンセルされました - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. 動画が公開されました。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. 保存していない変更があります。 ページを移動すると、変更した内容は失われます。 diff --git a/client/src/locale/angular.jbo.xlf b/client/src/locale/angular.jbo.xlf index fdea70473..c2fb83f8a 100644 --- a/client/src/locale/angular.jbo.xlf +++ b/client/src/locale/angular.jbo.xlf @@ -467,7 +467,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -704,7 +716,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -952,16 +964,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -997,7 +1015,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1837,55 +1855,73 @@ galfi le mi japyvla - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date detri lo nu co'a gubni - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year cabna'a fi lo nu co'a gubni - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration lo temci - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content viska lo ganvi poi te kajde - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category lo klesi - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1898,24 +1934,24 @@ galfi le mi japyvla - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language lo bangu @@ -1923,32 +1959,32 @@ galfi le mi japyvla - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset @@ -1957,12 +1993,12 @@ galfi le mi japyvla Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter cuxselgre - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2099,7 +2135,7 @@ galfi le mi japyvla - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2110,7 +2146,7 @@ galfi le mi japyvla - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2341,7 +2377,7 @@ galfi le mi japyvla - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2379,7 +2415,7 @@ galfi le mi japyvla Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2390,19 +2426,19 @@ galfi le mi japyvla - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2418,17 +2454,17 @@ galfi le mi japyvla Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3161,7 +3197,7 @@ galfi le mi japyvla - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3859,7 +3895,7 @@ galfi le mi japyvla - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4034,8 +4070,8 @@ galfi le mi japyvla Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5350,11 +5386,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7538,7 +7570,7 @@ zbasu lo pilno Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7791,7 +7823,7 @@ zbasu lo pilno Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8146,18 +8178,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular .i snada lo nu mo'u galfi le do japyvla src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8183,47 +8210,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date detri lo nu co'a gubni - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10194,20 +10233,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10216,27 +10255,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled .i co'u kibdu'a - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. .i lo se vidvi mo'u co'a gubni - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.kab.xlf b/client/src/locale/angular.kab.xlf index 90e410a7d..f18a5ec6a 100644 --- a/client/src/locale/angular.kab.xlf +++ b/client/src/locale/angular.kab.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - ibder-ik·ukem-d deg tvidyut + mentioned you on video + ibder-ik·ukem-d deg tvidyut src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Lqem amaynut izegrar/asentel yella: + A new version of the plugin/theme is available: + Lqem amaynut izegrar/asentel yella: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Lqem amaynutn PeerTube yella: + A new version of PeerTube is available: + Lqem amaynutn PeerTube yella: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -330,8 +330,20 @@ video tavidyut - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -341,24 +353,24 @@ Cancel Sefsex - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Reason... Taɣẓint... @@ -563,17 +575,17 @@ Edit Édition - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Taskant yettwagezmen @@ -595,8 +607,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">yemṣada d Markdown</a> yettusefraken: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">yemṣada d Markdown</a> yettusefraken: src/app/shared/shared-main/misc/help.component.ts75 @@ -860,23 +872,29 @@ The upload failed Asali yecceḍ - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Teḥbes tuqqna - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Afaylu-inek·inem ur yettwazan ara send ad tettusbadu wakud n keffu (s umata 10tsd) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Afaylu-inek·inem ɣezzif aṭas (teɣzi tafellayt d: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Aseqdac @@ -940,8 +958,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -1056,16 +1074,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Tummant-a tsareg ajerred. Γas akken, ɣur-k·m senqed TiwtilinTiwtilin send timerna n umiḍan. Tzemreḍ daɣen ad tnadiḍ tummant-nniḍen i wakken ad yemṣada swaswa wayen i tuḥwaǧeḍ deg: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Tummant-a tsareg ajerred. Γas akken, ɣur-k·m senqed TiwtilinTiwtilin send timerna n umiḍan. Tzemreḍ daɣen ad tnadiḍ tummant-nniḍen i wakken ad yemṣada swaswa wayen i tuḥwaǧeḍ deg: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Akka tura tummant-a ur tsirig ara ajerred n yiseqdacen, ilaq ad tesneqdeḍ Tiwtilin i wugar n telqayt neɣ i tifin n tummant ara ak·am-imudden tazmert n ujerred i umiḍan, syen ad d-tsalayeḍ tividyutin din. Af-d ayla-k·m gar waṭas n tummanin yemgaraden deg: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Akka tura tummant-a ur tsirig ara ajerred n yiseqdacen, ilaq ad tesneqdeḍ Tiwtilin i wugar n telqayt neɣ i tifin n tummant ara ak·am-imudden tazmert n ujerred i umiḍan, syen ad d-tsalayeḍ tividyutin din. Af-d ayla-k·m gar waṭas n tummanin yemgaraden deg: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1142,7 +1160,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Imayl d yiwellihen n uwennez n wawal uffir ttwaznen ɣer . Aseɣwen ad yemmet deg ssaεa. src/app/+login/login.component.ts121 @@ -1180,8 +1199,8 @@ src/app/+search/search.component.html8 - for - i + for + i src/app/+search/search.component.html 10 @@ -1858,129 +1877,147 @@ Reset Ales awennez - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Azemz n usuffeɣ - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Aseggas n usuffeɣ aneẓli - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Seld... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Send... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Tanzagt - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Sken agbur amḥulfu - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ih - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Uhu - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Taggayt - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Ales awennez - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Sken meṛṛa taggayin - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Turagt - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Sken meṛṛa turagin - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Tutlayt - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Sken meṛṛa tutlayin - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Meṛṛa tibzimin-a - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Yiwet seg tebzimin-a - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Anadi n usaḍas - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Ales awennez - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Sizdeg - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Ibuda n tvidyutin @@ -2118,28 +2155,28 @@ Channel Abadu - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Tabaḍnit - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 Schedule publication () Seɣwes tasuffeɣt () @@ -2184,7 +2221,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Yettwasader yakan ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2357,11 +2394,11 @@ Sorry, but something went wrong Nesḥassef, yella wayen ur nteddu ara akken ilaq - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Gedha, tavidyut deffir ad d-tettwakter! Tzemreḍ yakan ad ternuḍ talɣut ɣef tvidyut-a. @@ -2395,29 +2432,29 @@ Video background image Tugna n ugilal n tvidyut - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Tugna ara yeddun akked ufaylu-inek·inem ameslaw. tugna yettwafernen d nettat kan ara yeqqimen , ur tettizmireḍ ara ad tt-tbeddleḍ. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Asemday n tvidyutin i d-yettwasulin - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Ɛreḍ tikkelt-nniḍen Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Afmiḍi asemday n tvidyut @@ -2427,19 +2464,19 @@ Congratulations! Your video is now available in your private library. Gedha! Tavidyut-ik·im tella tura deg temkarḍit-ik·im tabaḍnit. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Ad yili usuffeɣ mi ara yemmed usali - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Suffeɣ-d - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Nesḥassef, tamahilt n usali tensa i umiḍan-ik·im. Ma yella tebɣiḍ ad ternuḍ tividyutin, anedbal yezmer ad yekkes asekker afmiḍi-inek·inem. @@ -3058,10 +3095,10 @@ Accept Qbel - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Agi @@ -3786,8 +3823,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3844,8 +3881,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3912,11 +3949,11 @@ Instance Tummant - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Yettwasgugem ɣef @@ -4060,15 +4097,14 @@ Popular Imeẓwiyen src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - i " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + No results. Ulac igmaḍ. @@ -4193,8 +4229,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Tazwart (1 = highest priority) + Priority (1 = highest priority) + Tazwart (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4214,8 +4250,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Ulac imuhal yettwafen. + No jobs found. + Ulac imuhal yettwafen. src/app/+admin/system/jobs/jobs.component.html108 @@ -4251,8 +4287,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - Sɣur -> + By -> + Sɣur -> src/app/+admin/system/logs/logs.component.html46 @@ -4298,8 +4334,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Sefrek iseqdacen i bennu n terbaεt tmḍebbart. + Manage users to build a moderation team. + Sefrek iseqdacen i bennu n terbaεt tmḍebbart. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4311,8 +4347,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Armad-is ad isireg inedbalen-nniḍen ad ẓren belli tesdukkuleḍ s wudem agejdan agbur amḥulfu. Rnu ɣer waya, tabewwaḍt n uṛcam ɣef tvidyut ad tettwaṛcem s wudem awurman amezwer. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Armad-is ad isireg inedbalen-nniḍen ad ẓren belli tesdukkuleḍ s wudem agejdan agbur amḥulfu. Rnu ɣer waya, tabewwaḍt n uṛcam ɣef tvidyut ad tettwaṛcem s wudem awurman amezwer. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4324,8 +4360,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4434,8 +4470,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Seqdec izegrar & isental i wugar n yisenfal i yesεan azal, neɣ rnu agganen ifessasen. + Use plugins & themes for more involved changes, or add slight customizations. + Seqdec izegrar & isental i wugar n yisenfal i yesεan azal, neɣ rnu agganen ifessasen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4547,8 +4583,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Sefrek iseqdacen i usbadu n umur-nsen i yal yiwen. + Manage users to set their quota individually. + Sefrek iseqdacen i usbadu n umur-nsen i yal yiwen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4673,8 +4709,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Ilaq ad tesqedceḍ kan imataren n unadi fessusen deg ufares, neɣ hsezdeɣ ayla-k·m. + You should only use moderated search indexes in production, or host your own. + Ilaq ad tesqedceḍ kan imataren n unadi fessusen deg ufares, neɣ hsezdeɣ ayla-k·m. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4711,8 +4747,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Sefrek assaɣen akked tummanin-nniḍen. + Manage relations with other instances. + Sefrek assaɣen akked tummanin-nniḍen. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4744,8 +4780,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Wali tasemlit i wugar n telɣut ɣef URL yettṛaǧun + See the documentation for more information about the expected URL + Wali tasemlit i wugar n telɣut ɣef URL yettṛaǧun src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4796,8 +4832,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Ma yella tummant-ik·im tban tettusireg sɣur Twitter, imeɣri n tvidyutin ad yettusleɣ deg usuddim n Twitter ɣef beṭṭu n tvidyut n PeerTube. Ma yella tummant ur tban ara, nsseqdac takarḍa n useɣwen n tugna ara yawin srid ɣer tummant-ik·im PeerTube. Ṛcem tabewwaḍt-a, sekles tawila syen sekyed s URL n tvidyut n tummant-ik·im (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator i wakken ad twaliḍ ma yella tummant-ik·im tettwasireg. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Ma yella tummant-ik·im tban tettusireg sɣur Twitter, imeɣri n tvidyutin ad yettusleɣ deg usuddim n Twitter ɣef beṭṭu n tvidyut n PeerTube. Ma yella tummant ur tban ara, nsseqdac takarḍa n useɣwen n tugna ara yawin srid ɣer tummant-ik·im PeerTube. Ṛcem tabewwaḍt-a, sekles tawila syen sekyed s URL n tvidyut n tummant-ik·im (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator i wakken ad twaliḍ ma yella tummant-ik·im tettwasireg. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4844,8 +4880,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") + Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4857,8 +4893,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") + Ttwarnan ddeqs n wusriden inbabbaren ɣef tummant-ik·im (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4926,8 +4962,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Llant tucḍiwin deg tferkit: + There are errors in the form: + Llant tucḍiwin deg tferkit: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5009,8 +5045,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Yesra ffmpeg >= 4.1Sirew tibdarin n tɣuri HLS akked yifuyla MP4 yettwagezmen i tɣuri igerrzen s WebTorrent amagnu:Resolution change is smootherTaɣuri taruradt, ula d tvidyutin tiɣezzfaninTaɣuri iqeεden ugar (drus n wabugen/asali war tilas)Ma yella tremdeḍ daɣen tallalt n WebTorrent, ad isnerni aklas n tvidyutin s 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Yesra ffmpeg >= 4.1Sirew tibdarin n tɣuri HLS akked yifuyla MP4 yettwagezmen i tɣuri igerrzen s WebTorrent amagnu:Resolution change is smootherTaɣuri taruradt, ula d tvidyutin tiɣezzfaninTaɣuri iqeεden ugar (drus n wabugen/asali war tilas)Ma yella tremdeḍ daɣen tallalt n WebTorrent, ad isnerni aklas n tvidyutin s 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5147,13 +5183,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Aru tangalt n JavaScript srid.Amedya: console.log('tummant-iw tzad'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Aru tangalt n JavaScript srid.Amedya: console.log('tummant-iw tzad'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Aru srid tangalt CSS. D amedya:#custom-css ini: azewwaɣ; Yettuzwer-d s #custom-css i usenfel n yiɣaniben. D amedya:#custom-css .imayl n tuqqna ini: azewwaɣ; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Aru srid tangalt CSS. D amedya:#custom-css ini: azewwaɣ; Yettuzwer-d s #custom-css i usenfel n yiɣaniben. D amedya:#custom-css .imayl n tuqqna ini: azewwaɣ; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5273,11 +5315,7 @@ Fren abadu i wakken ad d-tremseḍ tavidyut src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Abadu ara iremsen tavidyut - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -5537,7 +5575,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Tebɣiḍ s tidet ad tekkseḍ ? Ad yekkes tividyutin i d-yettwasulin deg ubadu-a, syen ur tettizmired ara ad ternuḍ abadu-nniḍen s yisem-nni kan ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5578,8 +5618,9 @@ src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html47 - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5772,8 +5813,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - SKEN ABADU-A > + SHOW THIS CHANNEL > + SKEN ABADU-A > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6021,8 +6062,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Tiyigiwin n Web ulac anekcum ɣur-sent s wudem azayaz: acku nesseqdac ttawil n usiweḍ websocket, aneggaf-a yemgarad ɣef uneḍfar BitTorrent aklasik. Mi ara tiliḍ deg yiminig web, tettazneḍ asɣal ideg tella tansa-k·m IP ɣer uneḍfar ara ifernen kan akka tiyigiwin-nniḍen wuɣur ara yazen talɣut. Wali asemli-a i wugar n talɣut + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Tiyigiwin n Web ulac anekcum ɣur-sent s wudem azayaz: acku nesseqdac ttawil n usiweḍ websocket, aneggaf-a yemgarad ɣef uneḍfar BitTorrent aklasik. Mi ara tiliḍ deg yiminig web, tettazneḍ asɣal ideg tella tansa-k·m IP ɣer uneḍfar ara ifernen kan akka tiyigiwin-nniḍen wuɣur ara yazen talɣut. Wali asemli-a i wugar n talɣut src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6349,8 +6390,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - <code>.mp4</code> ara yeṭṭfen ameslaw aneẓli, s wartavidyut + A <code>.mp4</code> that keeps the original audio track, with no video + <code>.mp4</code> ara yeṭṭfen ameslaw aneẓli, s wartavidyut src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7126,8 +7167,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube yettwali tansa-ik·im n IP tazayazt n yiminig web d . + PeerTube thinks your web browser public IP is . + PeerTube yettwali tansa-ik·im n IP tazayazt n yiminig web d . src/app/+admin/system/debug/debug.component.html 4 @@ -7174,16 +7215,16 @@ - Check the trust_proxy configuration key - Senqed tasarut n twila trust_proxy configuration key + Check the trust_proxy configuration key + Senqed tasarut n twila trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Ma yella PeerTube inek·inem iteddu s useqdec n Docker, senqed ma yella tseddayeḍ reverse-proxy s network_mode: "inebgi" (wali ugur wis 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Ma yella PeerTube inek·inem iteddu s useqdec n Docker, senqed ma yella tseddayeḍ reverse-proxy s network_mode: "inebgi" (wali ugur wis 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7461,8 +7502,8 @@ Ownership accepted Abeddel n bab-is yettwaqbel - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Ttxil-k·m senqed imaylen-ik·im i wakken ad tesneqdeḍ imayl-ik·im amaynut. @@ -7474,8 +7515,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Imayl-inek·inem amiran d . Urǧin ad d-iban i uzayaz. + Your current email is . It is never shown to the public. + Imayl-inek·inem amiran d . Urǧin ad d-iban i uzayaz. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7723,8 +7764,8 @@ Views for the day Timeẓriyin deg ass - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Leqqem abadu n tvidyut @@ -8048,7 +8089,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. D awezɣi ad d-nerr inekcam n umsaɣ OAuth: . Ḍmen belli tsewleḍ PeerTube akken iwata (akaram n uswel/), aṭas tigezmi n "aqeddac web". src/app/core/auth/auth.service.ts99 @@ -8112,19 +8154,14 @@ Awal-ik·im uffir yettuwennez akkken iwata! src/app/+reset-password/reset-password.component.ts47 - - Any - Menwala - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Ass-a - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Iḍelli @@ -8163,49 +8200,61 @@ Last 7 days Di 7 n wussan ineggura - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Imettekiyen imezwura deg 30 ussan-agi inegura - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Di 365 wussan aya - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Tewzel (< 4 tsd) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Alemmas (4-10 tsd) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Aqezzfan (> 10 tsd) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Aqezzfan (> 10 tsd) + + src/app/+search/search-filters.component.ts79 Relevance Tiseddi - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Azemz n usuffeɣ - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Timezriyin - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Amatar n unadi ulac-it. Ales deg ubdil-is s yigmaḍ n tummant. @@ -8805,8 +8854,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Wali tasemlit i wakken ad tissineḍ amek ara tesqedceḍ tamahilt tusridt n uskan PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Wali tasemlit i wakken ad tissineḍ amek ara tesqedceḍ tamahilt tusridt n uskan PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9840,8 +9889,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Tesriḍ ad tiliḍ <a href="/login">teqqneḍ </a> i wakken ad tgeḍ afmiḍi i tvidyut-a. + You need to be <a href="/login">logged in</a> to rate this video. + Tesriḍ ad tiliḍ <a href="/login">teqqneḍ </a> i wakken ad tgeḍ afmiḍi i tvidyut-a. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10147,48 +10196,40 @@ Your video was uploaded to your account and is private. Tavidyut-ik·im tettwasuli ɣer umiḍan-ik·im yerna d tusligt. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Maca ad tesruḥeḍ isefka yemcudden (tibzimin, aglam...), d tidet tebɣiḍ ad teffɣeḍ seg usebter-a? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Tavidyut-a mazal ur d-tettwasuli ara, d tidet tebɣiḍ ad teffɣeḍ seg usebter-a? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Sali - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Sali-d - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Asali yettwasefsex - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Tavidyut yettwasuffɣen. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Ableɣ-ik·im n tvidyut iεedda s tvidyut-a (teɣzi n tvidyut: , yettuseqdacen: , amur: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Ableɣ-ik·im n tvidyut i wass iεedda s tvidyut-a (teɣzi n tvidyut: , yettuseqdacen: , amur: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. @@ -10248,8 +10289,8 @@ src/app/+videos/+video-watch/video-watch.component.ts160 - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Tavidyut-a ulac-itt deg tummant. Tebɣiḍ ad tettuwellheḍ ɣer tummant taneẓlit: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Tavidyut-a ulac-itt deg tummant. Tebɣiḍ ad tettuwellheḍ ɣer tummant taneẓlit: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.ko-KR.xlf b/client/src/locale/angular.ko-KR.xlf index bc5280ae6..0f3a42cb2 100644 --- a/client/src/locale/angular.ko-KR.xlf +++ b/client/src/locale/angular.ko-KR.xlf @@ -419,7 +419,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -652,17 +664,17 @@ Edit 편집 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview 부분적인 미리보기 @@ -933,22 +945,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -987,7 +1005,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user 이 사용자 강퇴 @@ -1882,88 +1900,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date 공개 일시 - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year 원래 공개 일시 - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration 재생 시간 - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content 민감한 내용 표시 - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No 아니오 - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category 카테고리 - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence 라이선스 - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language 언어 @@ -1971,44 +2007,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags 이 태그들 모두 - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags 이 태그들 중 하나 - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter 필터 - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2139,16 +2175,16 @@ The link will expire within 1 hour. Channel 채널 - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2160,7 +2196,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2395,11 +2431,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2437,8 +2473,8 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2448,24 +2484,24 @@ The link will expire within 1 hour. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2477,19 +2513,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3291,7 +3327,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -4033,7 +4069,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4220,8 +4256,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5656,11 +5692,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7954,8 +7986,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -8217,7 +8249,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8603,19 +8635,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8654,49 +8681,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10776,53 +10815,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.lt-LT.xlf b/client/src/locale/angular.lt-LT.xlf index 099bd41c6..098c15d8e 100644 --- a/client/src/locale/angular.lt-LT.xlf +++ b/client/src/locale/angular.lt-LT.xlf @@ -453,7 +453,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -684,7 +696,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -932,16 +944,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -975,7 +993,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1804,55 +1822,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Published date - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1863,24 +1899,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Language @@ -1888,44 +1924,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2058,7 +2094,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2069,7 +2105,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2298,7 +2334,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2336,7 +2372,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2347,19 +2383,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2373,17 +2409,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3095,7 +3131,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3789,7 +3825,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3962,8 +3998,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5276,11 +5312,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7437,7 +7469,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7690,7 +7722,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8045,18 +8077,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8082,47 +8109,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10089,20 +10128,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10111,27 +10150,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.nb-NO.xlf b/client/src/locale/angular.nb-NO.xlf index 3594bbe9d..2d892ea7d 100644 --- a/client/src/locale/angular.nb-NO.xlf +++ b/client/src/locale/angular.nb-NO.xlf @@ -313,7 +313,19 @@ video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles undertekster @@ -525,17 +537,17 @@ Edit Endre - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -801,22 +813,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -855,7 +873,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1740,88 +1758,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Published date - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Language @@ -1829,44 +1865,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -1998,16 +2034,16 @@ The link will expire within 1 hour. Channel Channel - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2019,7 +2055,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2254,11 +2290,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2296,8 +2332,8 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2307,24 +2343,24 @@ The link will expire within 1 hour. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2336,19 +2372,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3131,7 +3167,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3868,7 +3904,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4047,8 +4083,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5453,11 +5489,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7729,8 +7761,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7989,7 +8021,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8369,19 +8401,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8418,48 +8445,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10518,53 +10557,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.nl-NL.xlf b/client/src/locale/angular.nl-NL.xlf index 80a70f6a5..6f63a8417 100644 --- a/client/src/locale/angular.nl-NL.xlf +++ b/client/src/locale/angular.nl-NL.xlf @@ -311,7 +311,19 @@ video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles ondertitels @@ -528,17 +540,17 @@ Annuleren Edit Bewerken - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Gedeeltelijke voorvertoning @@ -789,22 +801,28 @@ Annuleren The upload failed De upload is mislukt - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted De verbinding was verbroken - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Uw bestand kon niet worden verstuurd voor de ingestelde time-out (normaal 10 minuten) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Uw bestand was te groot (max. grootte: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User Gebruiker @@ -842,7 +860,7 @@ Een verbannen gebruiker kan niet langer inloggen. - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Verban deze gebruiker @@ -1663,86 +1681,104 @@ Geen resultaten gevonden Reset Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Datum van publicatie - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Origineel publicatie jaar - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Na... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Voor... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Tijdsduur - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Laat gevoelige inhoud zien - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ja - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nee - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categorie - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Alle categorieën tonen - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licentie - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Alle licenties tonen - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Taal @@ -1750,42 +1786,42 @@ Geen resultaten gevonden - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Alle talen tonen - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Al deze tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Een van deze tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Doel doorzoeken - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Videoversum - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video-kanalen @@ -1903,16 +1939,16 @@ Dit zal een bestaande ondertiteling vervangen! Channel Kanaal - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -1924,7 +1960,7 @@ Dit zal een bestaande ondertiteling vervangen! - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Vaak gestelde vragen @@ -2152,11 +2188,11 @@ Geen ondertiteling voor nu. Sorry, but something went wrong Sorry, er is iets fout gegaan - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2195,8 +2231,8 @@ Gefeliciteerd, de video achter Video background image Video achtergrondafbeelding - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2206,24 +2242,24 @@ Gefeliciteerd, de video achter De gekozen afbeelding is definitief en kan niet worden gewijzigd. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Totaal aantal geuploade videos - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Verwerken… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Opnieuw proberen Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Totaal video-quotum @@ -2235,19 +2271,19 @@ Gefeliciteerd, de video achter Gefeliciteerd! Jouw video is nu beschikbaar in je privébibliotheek. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publiceren is mogelijk wanneer de upload voltooid is - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publiceren - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, uploaden is uitgeschakeld voor je account. Als je een video wil toevoegen, dan moet een beheerder je quotum ontgrendelen. @@ -3011,7 +3047,7 @@ Je kan nu al informatie toevoegen over deze video. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Weigeren @@ -3676,7 +3712,7 @@ Je kan nu al informatie toevoegen over deze video. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Gedempt bij @@ -3842,8 +3878,8 @@ Je kan nu al informatie toevoegen over deze video. Popular Populair src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5240,11 +5276,7 @@ color: red; Een kanaal selecteren om de video te ontvangen src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kanaal dat de video zal ontvangen - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Mijn wijzigingen van eigenaar @@ -7331,8 +7363,8 @@ Account aanmaken Ownership accepted Eigendom geaccepteerd - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Check alstublieft je e-mails om je nieuwe e-mailadres te verifiëren. @@ -7580,7 +7612,7 @@ Account aanmaken Views for the day Aantal keer bekeken op dag - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Videokanaal bijwerken @@ -7938,19 +7970,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Jouw wachtwoord is succesvol gereset! src/app/+reset-password/reset-password.component.ts47 - - Any - Eender welke - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Vandaag - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Gisteren @@ -7987,48 +8014,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Laatste 7 dagen - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Laatste 30 dagen - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Laatste 365 dagen - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Kort (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Middelmatig (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Lang (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevantie - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publicatiedatum - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Weergaven - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Zoekindex is niet beschikbaar. Nieuwe poging met enkel resultaten uit dit exemplaar van PeerTube. @@ -10030,51 +10069,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Jouw video is geupload naar jouw account en is privé. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Maar geassocieerde data(tags, beschrijving...) zullen verloren raken, weet je zeker dat je deze pagina wilt verlaten? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Jouw video is nog niet geupload, weet je zeker dat je deze pagina wilt verlaten? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Uploaden - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload uploaden - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload geannuleerd - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video gepubliceerd. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Met deze video overschrijd je je video-quotum ( videogrootte: , gebruikt: , quotum: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Met deze video overschrijd je je dagelijks video-quotum ( videogrootte: , gebruikt: , quotum: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Je hebt niet-opgeslagen wijzigingen! Als je vertrekt, gaan je wijzigingen verloren. diff --git a/client/src/locale/angular.oc.xlf b/client/src/locale/angular.oc.xlf index 734be5472..d6088b66a 100644 --- a/client/src/locale/angular.oc.xlf +++ b/client/src/locale/angular.oc.xlf @@ -381,7 +381,19 @@ video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles subtitles @@ -609,17 +621,17 @@ Edit Modificar - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Apercebut acorchit @@ -885,22 +897,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -939,7 +957,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Fòrabandir aqueste utilizaire @@ -1811,86 +1829,104 @@ The link will expire within 1 hour. Reset Reïnicializar - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data de publicacion - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Annada de publicacion originala - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Aprèp... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Abans... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Durada - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Mostrar lo contengut sensible - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Òc - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Non - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reïnicializar - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Mostrar totas las categorias - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licéncia - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Mostrar totas las licéncias - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Lenga @@ -1898,42 +1934,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Mostrar totas las lengas - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Totas aquestas etiquetas - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Una d’aquestas etiquetas - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reïnicializar - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtrar - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2063,16 +2099,16 @@ The link will expire within 1 hour. Channel Cadena - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Confidencialitat @@ -2084,7 +2120,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2319,11 +2355,11 @@ The link will expire within 1 hour. Sorry, but something went wrong O planhèm, quicòm a trucat - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2361,8 +2397,8 @@ The link will expire within 1 hour. Video background image Imatge de rèire-plan de la vidèo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2372,24 +2408,24 @@ The link will expire within 1 hour. L’imatge causit serà definitiu e se pòt pas modificar. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Tractament… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Quòta vidèo total @@ -2401,19 +2437,19 @@ The link will expire within 1 hour. Felicitacions ! La vidèo es ara disponibla dins vòstra bibliotèca privada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished La publicacion serà possibla un còp lo mandadís acabat - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicar - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3204,7 +3240,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refusar @@ -3941,7 +3977,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Mut lo @@ -4120,8 +4156,8 @@ The link will expire within 1 hour. Popular Populars src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5526,11 +5562,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7792,8 +7824,8 @@ channel with the same name ()! Ownership accepted Proprietat acceptada - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Volgatz ben verificar vòstres corrièls per confirmar vòstra nòva adreça. @@ -8052,7 +8084,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8432,19 +8464,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Vòstre senhal es estat corrèctament reïnicializat ! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Uèi - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8481,48 +8508,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Los darrièrs 7 jorns - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Los darrièrs 30 jorns - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Los darrièrs 365 jorns - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Corta (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Mejana (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Longa (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Pertinéncia - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Data de publicacion - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visualizacions - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10581,53 +10620,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. La vidèo es estada enviada a vòstre compte e es privada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Mas las donadas associadas (etiquetas, descripcion...) seràn perdudas, volètz vertadièrament quitar la pagina ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? La vidèo es pas encara complètament enviada, volètz vertadièrament quitar la pagina ? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Enviar - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Mandadís anullat - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vidèo publicada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Avètz de modificacions pas enregistradas. Se partissètz vòstras modificacions seràn perdudas. diff --git a/client/src/locale/angular.pl-PL.xlf b/client/src/locale/angular.pl-PL.xlf index 6a4a04fec..29cf6770d 100644 --- a/client/src/locale/angular.pl-PL.xlf +++ b/client/src/locale/angular.pl-PL.xlf @@ -371,8 +371,20 @@ video film - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -603,17 +615,17 @@ Edit Edytuj - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Skrócony podgląd @@ -882,23 +894,29 @@ The upload failed Wysyłanie nie powiodło się - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Połączenie zostało przerwane - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Twój olik6 nie mógł zostać przetransferowany przed ustawionym maksymalnym czasem (zwykle 10 minut) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Twój plik jest zbyt duży (maks. rozmiar: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Użytkownik @@ -934,7 +952,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Zbanuj tego użytkownika @@ -1802,86 +1820,104 @@ The link will expire within 1 hour. Reset Resetuj - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data wydania - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Oryginalny rok publikacji - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Po... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Przed... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Czas trwania - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Pokaż wrażliwą treść - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Tak - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nie - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Resetuj - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Wyświetl wszystkie kategorie - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licencja - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Wyświetl wszystkie licencje - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Język @@ -1889,42 +1925,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Wyświetl wszystkie języki - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Wszystkie z tych tagów - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Jeden z tych tagów - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Cel wyszukiwania - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Widiwersum - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Resetuj - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtr - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Kanały wideo @@ -2051,16 +2087,16 @@ The link will expire within 1 hour. Channel Kanał - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Prywatność @@ -2072,7 +2108,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Często zadawane pytania @@ -2319,11 +2355,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Przepraszamy, ale coś poszło nie tak - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Gratulacje, film za @@ -2359,31 +2395,31 @@ The link will expire within 1 hour. Video background image Tło filmu - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Obraz który zostanie połączony z twoim plikiem audio. Wybrany obraz jest finalny i nie może być później zmieniony. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Łącznie opublikowanych filmów - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Przetwarzanie… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry spróbuj ponownie Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Maksymalna dozwolona wielkość sumaryczyna plików wideo @@ -2393,19 +2429,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. Gratulacje! Ten film jest teraz dostępny w twojej prywatnej bibliotece. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Opublikuj automatycznie po ukończeniu wysyłania - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Opublikuj - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Niestety, możliwość wysyłania jest wyłączona dla Twojego konta. Jeżeli chcesz dodać filmy, administrator musi odblokować Twój przydział powierzchni. @@ -3156,7 +3192,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Odmów @@ -3843,7 +3879,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Wyciszone o @@ -4020,15 +4056,14 @@ The link will expire within 1 hour. Popular Popularne src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {wynik} few (wyniki} many {wyników} other {wyników} } @@ -5459,11 +5494,7 @@ color: red; Wybierz kanał, który otrzyma film src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kanał który otrzyma film - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Moje zmiany własności @@ -7680,8 +7711,8 @@ channel with the same name ()! Ownership accepted Właściciel zaakceptowany - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Sprawdź swoje e-maile by zweryfikować konto e-mail. @@ -7952,7 +7983,7 @@ channel with the same name ()!Views for the day Wyświetlenia dnia - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Aktualizuj kanał wideo @@ -8337,19 +8368,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Pomyślnie zresetowano hasło! src/app/+reset-password/reset-password.component.ts47 - - Any - Dowolny - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Dzisiaj - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Wczoraj @@ -8388,49 +8414,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Ostatnie 7 dni - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Ostatnie 30 dni - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Ostatnie 365 dni - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Krótkie (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Średni (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Długie (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Trafność - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Data wydania - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Wyświetlenia - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Indeks wyszukiwania jest niedostępny. Próbuję ponownie z wynikami z instancji. @@ -10506,52 +10544,42 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Film został wrzucony na twoje konto i jest prywatny. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Powiązane dane (tagi, opis…) zostaną utracone, czy na pewno chcesz opuścić tą stronę? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Twój film nie został jeszcze wysłany, czy na pewno chcesz opuścić tą stronę? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Wyślij - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Wrzuć - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Anulowano wysyłanie - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Opublikowano film. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Twój limit powierzchni na filmy zostaje przekroczony przez ten film ( rozmiar filmu: , wykorzystano: , limit: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Twój dzienny limit powierzchni na filmy zostaje przekroczony przez ten film ( rozmiar filmu: , wykorzystano: , limit: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Masz niezapisane zmiany! Jeżeli zamkniesz to okno, twoje zmiany zostaną stracone. diff --git a/client/src/locale/angular.pt-BR.xlf b/client/src/locale/angular.pt-BR.xlf index 8721a3bd2..e507f203f 100644 --- a/client/src/locale/angular.pt-BR.xlf +++ b/client/src/locale/angular.pt-BR.xlf @@ -390,7 +390,19 @@ vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles subtítulos @@ -621,7 +633,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Pré-visualização truncada @@ -887,22 +899,28 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User User @@ -941,7 +959,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Banir este usuário @@ -1788,86 +1806,104 @@ The link will expire within 1 hour. Reset Redefinir - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Data de publicação - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Ano de publicação original - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Depois... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Antes... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Duração - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Visualizar conteúdo sensível - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Sim - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Não - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Categoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Redefinir - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licença - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Idioma @@ -1875,42 +1911,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Todas estas etiquetas - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Uma destas etiquetas - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reinicializar - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtro - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2048,7 +2084,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacidade @@ -2060,7 +2096,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2299,7 +2335,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2337,30 +2373,30 @@ The link will expire within 1 hour. Video background image Imagem de fundo do vídeo - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Imagem que irá ser fundida com o seu arquivo de áudio. A imagem escolhida irá ser a definitiva e não poderá ser modificada. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processando… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Quota total de vídeo @@ -2373,18 +2409,18 @@ The link will expire within 1 hour. Parabéns! O vídeo já está disponível em sua biblioteca particular. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished A publicação estará disponível quando o envio terminar - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicar - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3160,7 +3196,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Recusar @@ -3886,7 +3922,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Silenciado em @@ -4064,8 +4100,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5431,11 +5467,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7613,8 +7645,8 @@ channel with the same name ()! Ownership accepted Propriedade aceita - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Favor verificar seus emails para verificar seu novo email. @@ -7870,7 +7902,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8243,19 +8275,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Sua senha foi redefinida com sucesso! src/app/+reset-password/reset-password.component.ts47 - - Any - Todos - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Hoje - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8292,48 +8319,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Últimos 7 dias - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Últimos 30 dias - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Últimos 365 dias - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Curto (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Médio (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Longo (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevância - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Data de publicação - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visualizações - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10385,53 +10424,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Seu vídeo foi enviado para sua conta e é privado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Mas dados associados (tags, descrição…) serão perdidas, tem certeza que deseja sair dessa página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Seu vídeo ainda não foi atualizado, você tem certeza que deseja sair dessa página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Subir - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Envio cancelado - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vídeo publicado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Você tem modificações não salvas! Se sair desta páginas, as modificações serão perdidas. diff --git a/client/src/locale/angular.pt-PT.xlf b/client/src/locale/angular.pt-PT.xlf index 103c24051..196c08ec1 100644 --- a/client/src/locale/angular.pt-PT.xlf +++ b/client/src/locale/angular.pt-PT.xlf @@ -459,7 +459,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -690,7 +702,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Pré-visualização truncada @@ -937,16 +949,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -978,7 +996,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Banir este utilizador @@ -1794,55 +1812,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Data de publicação - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Ano da publicação original - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... Depois... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Antes... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duração - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Visualizar conteúdo sensível - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Sim - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No Não - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Categoria - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Redefinir @@ -1851,24 +1887,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licença - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Idioma @@ -1876,44 +1912,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags Todas estas etiquetas - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags Uma destas etiquetas - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filtro - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2046,7 +2082,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacidade @@ -2057,7 +2093,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2286,7 +2322,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2324,7 +2360,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2335,19 +2371,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… A processar… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Quota total de vídeo @@ -2361,17 +2397,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished A publicação estará disponível quando o envio terminar - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicar - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3093,7 +3129,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Recusar @@ -3780,7 +3816,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -3949,8 +3985,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5263,11 +5299,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7424,7 +7456,7 @@ channel with the same name ()! Ownership accepted Propriedade aceita - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7677,7 +7709,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8032,18 +8064,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Sua senha foi redefinida com sucesso! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Hoje - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8069,47 +8096,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Últimos 7 dias - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Últimos 30 dias - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Últimos 365 dias - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Curto (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Médio (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Longo (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevância - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Data de publicação - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Visualizações - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10076,20 +10115,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Seu vídeo foi enviado para sua conta e é privado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Mas dados associados (tags, descrição…) serão perdidas, tem certeza que deseja sair dessa página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Seu vídeo ainda não foi atualizado, você tem certeza que deseja sair dessa página? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10098,27 +10137,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Envio cancelado - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Vídeo publicado. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.ru-RU.xlf b/client/src/locale/angular.ru-RU.xlf index a43d55fbc..1533bf7e1 100644 --- a/client/src/locale/angular.ru-RU.xlf +++ b/client/src/locale/angular.ru-RU.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - упомянул вас в видео + mentioned you on video + упомянул вас в видео src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Новая версия плагина / темы доступна: + A new version of the plugin/theme is available: + Новая версия плагина / темы доступна: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Новая версия PeerTube доступна: + A new version of PeerTube is available: + Новая версия PeerTube доступна: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -320,8 +320,20 @@ video видео - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -545,17 +557,17 @@ Edit Редактировать - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Обрезанная обложка @@ -577,8 +589,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://ru.wikipedia.org/wiki/Markdown#Примеры_синтаксиса" target="_blank" rel="noopener noreferrer">Markdown</a> совместимый что поддерживает: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://ru.wikipedia.org/wiki/Markdown#Примеры_синтаксиса" target="_blank" rel="noopener noreferrer">Markdown</a> совместимый что поддерживает: src/app/shared/shared-main/misc/help.component.ts75 @@ -810,23 +822,29 @@ The upload failed Загрузка не удалась - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Связь прервалась - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Ваш файл не может быть передан до установленного таймаута (обычно 10 минут) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Ваш файл был слишком большим (Максимум. размер:) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Пользователь @@ -847,24 +865,24 @@ Cancel Отменить - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Заблокировать этого пользователя @@ -926,16 +944,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Этот экземпляр разрешает регистрацию. Однако будьте осторожны, проверьте Условия пользованияTerms перед созданием учетной записи. Вы также можете найти другой экземпляр, который точно соответствует вашим потребностям, на: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Этот экземпляр разрешает регистрацию. Однако будьте осторожны, проверьте Условия пользованияTerms перед созданием учетной записи. Вы также можете найти другой экземпляр, который точно соответствует вашим потребностям, на: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - В настоящее время этот экземпляр не позволяет регистрировать пользователей, проверьте Условия пользования для получения дополнительных сведений, или найдите экземпляр, который дает вам возможность зарегистрировать учетную запись и загружать туда свои видео. Найдите свой среди множества экземпляров на: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + В настоящее время этот экземпляр не позволяет регистрировать пользователей, проверьте Условия пользования для получения дополнительных сведений, или найдите экземпляр, который дает вам возможность зарегистрировать учетную запись и загружать туда свои видео. Найдите свой среди множества экземпляров на: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1012,7 +1030,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Письмо с инструкцией по сбросу пароля будет отправлено на . Ссылка будет рабочей в течении 1 часа. src/app/+login/login.component.ts121 @@ -1050,8 +1069,8 @@ src/app/+search/search.component.html8 - for - для + for + для src/app/+search/search.component.html 10 @@ -1708,129 +1727,147 @@ Reset Сбросить - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Дата публикации - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Год публикации - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... После... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... До... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Продолжительность - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Отобразить нежелательный контент - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Да - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Нет - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Категория - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Сбросить - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Показать все категории - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Лицензия - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Показать все лицензии - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Язык - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Отображать все языки - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Все теги - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Один тег - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Найти - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Видеовселенная - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Сбросить - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Фильтр - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Видео каналы @@ -1965,28 +2002,28 @@ Channel Канал - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Доступ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ @@ -2051,7 +2088,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Уже загружено ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2229,11 +2266,11 @@ Sorry, but something went wrong Извините, но что-то пошло не так - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Поздравляем, видео под было импортировано! Теперь вы можете добавить информацию об этом видео. @@ -2267,29 +2304,29 @@ Video background image Фоновое изображение видео - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Изображение, которое будет добавлено к вашему аудиофайлу. Выбранный образ будет окончательным и не может быть изменен. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Всего загружено видео - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Загрузка… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Повторить Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Общая квота видео @@ -2301,19 +2338,19 @@ Поздравляем! Ваше видео теперь находится в вашей приватной библиотеке. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Публикация произойдёт, когда загрузка будет завершена - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Опубликовать - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Извините, загрузка файлов недоступна для вашей учётной записи. Если вы хотите добавлять видео, свяжитесь с администратором. @@ -3043,10 +3080,10 @@ Accept Согласиться - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Отклонить @@ -3615,8 +3652,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3700,8 +3737,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3723,11 +3760,11 @@ Instance Сервер - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Отключено в @@ -3901,15 +3938,14 @@ Popular Популярные src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - для " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -4035,8 +4071,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Приоритет (1 = наивысший приоритет) + Priority (1 = highest priority) + Приоритет (1 = наивысший приоритет) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4056,8 +4092,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Нет задача не найдена. + No jobs found. + Нет задача не найдена. src/app/+admin/system/jobs/jobs.component.html108 @@ -4087,8 +4123,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - От -> + By -> + От -> src/app/+admin/system/logs/logs.component.html46 @@ -4159,8 +4195,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Управление пользователями чтобы создать команду модераторов. + Manage users to build a moderation team. + Управление пользователями чтобы создать команду модераторов. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4172,8 +4208,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Включение этого параметра позволит другим администраторам узнать, что вы в основном добавляете конфиденциальный контент. Более того, флажок NSFW при загрузке видео будет автоматически установлен по умолчанию. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Включение этого параметра позволит другим администраторам узнать, что вы в основном добавляете конфиденциальный контент. Более того, флажок NSFW при загрузке видео будет автоматически установлен по умолчанию. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4185,8 +4221,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4308,8 +4344,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Используйте плагины & темы для дополнительных изменений, или добавьте небольшие настройки. + Use plugins & themes for more involved changes, or add slight customizations. + Используйте плагины & темы для дополнительных изменений, или добавьте небольшие настройки. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4421,8 +4457,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Управление пользователями с целью установки персональной квоты. + Manage users to set their quota individually. + Управление пользователями с целью установки персональной квоты. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4593,8 +4629,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - В рабочей среде следует использовать только модерируемые поисковые индексы, или создать свой собственный. + You should only use moderated search indexes in production, or host your own. + В рабочей среде следует использовать только модерируемые поисковые индексы, или создать свой собственный. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4631,8 +4667,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Управление связями с другими экземплярами. + Manage relations with other instances. + Управление связями с другими экземплярами. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4671,8 +4707,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Ознакомьтесь с документацией для получение информации по ожидаемому URL + See the documentation for more information about the expected URL + Ознакомьтесь с документацией для получение информации по ожидаемому URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4732,8 +4768,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Если ваш экземпляр явно разрешен Twitter, видеоплейер будет встроен в Twitter feed на PeerTube video share. В противном случае, мы используем ссылку с изображением, которая перенаправит на ваш экземпляр PeerTube. Установить данный флаг, сохраните конфигурацию и проверьте , используя видео URL вашего экземпляра (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator , чтобы убедиться, что ваш экзмепляр разрешен. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Если ваш экземпляр явно разрешен Twitter, видеоплейер будет встроен в Twitter feed на PeerTube video share. В противном случае, мы используем ссылку с изображением, которая перенаправит на ваш экземпляр PeerTube. Установить данный флаг, сохраните конфигурацию и проверьте , используя видео URL вашего экземпляра (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator , чтобы убедиться, что ваш экзмепляр разрешен. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4780,8 +4816,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Максимальное количество одновременных трансляций, созданных на вашем экземпляре (-1 "не ограничено") + Max simultaneous lives created on your instance (-1 for "unlimited") + Максимальное количество одновременных трансляций, созданных на вашем экземпляре (-1 "не ограничено") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4793,8 +4829,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Максимальное количество трансляций на одного пользователя (-1 "не ограничено") + Max simultaneous lives created per user (-1 for "unlimited") + Максимальное количество трансляций на одного пользователя (-1 "не ограничено") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4938,8 +4974,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Требуется ffmpeg >= 4.1Создание списков воспроизведения HLS и фрагментированных файлов MP4, обеспечивающих лучшее воспроизведение, чем при использовании обычного WebTorrent:Изменение разрешения более плавноеБолее быстрое воспроизведение, особенно для длинных видеоБолее стабильное воспроизведение (меньше ошибок / бесконечной загрузки)Если вы также включили Поддержка WebTorrent, она увеличит объем хранилища видео на 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Требуется ffmpeg >= 4.1Создание списков воспроизведения HLS и фрагментированных файлов MP4, обеспечивающих лучшее воспроизведение, чем при использовании обычного WebTorrent:Изменение разрешения более плавноеБолее быстрое воспроизведение, особенно для длинных видеоБолее стабильное воспроизведение (меньше ошибок / бесконечной загрузки)Если вы также включили Поддержка WebTorrent, она увеличит объем хранилища видео на 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5076,13 +5112,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Используйте код JavaScript напрямую.Пример: console.log('мой экземпляр потрясающий'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Используйте код JavaScript напрямую.Пример: console.log('мой экземпляр потрясающий'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Используйте код CSS напрямую. Пример:#custom-css color: red; Добавить в начале #custom-css t, чтобы переопределить стили. Пример:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Используйте код CSS напрямую. Пример:#custom-css color: red; Добавить в начале #custom-css t, чтобы переопределить стили. Пример:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5096,8 +5138,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Ошибки в форме: + There are errors in the form: + Ошибки в форме: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5213,8 +5255,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5318,11 +5360,7 @@ Выберите канал для получения видео src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Канал, который получит видео - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Изменения владельца @@ -5420,8 +5458,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Краткий текст, чтобы рассказать людям, как они могут поддержать ваш канал.<br /><br /> Когда вы загрузите видео на этот канал, поле поддержки видео будет автоматически заполнено этим текстом. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Краткий текст, чтобы рассказать людям, как они могут поддержать ваш канал.<br /><br /> Когда вы загрузите видео на этот канал, поле поддержки видео будет автоматически заполнено этим текстом. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5808,7 +5847,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Вы действительно хотите удалить ? Будет удалено видео загруженное на этот канал, и вы не сможете создать другой канал с таким же именем ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5836,8 +5877,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - ПОКАЗАТЬ ЭТО КАНАЛ > + SHOW THIS CHANNEL > + ПОКАЗАТЬ ЭТО КАНАЛ > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6090,8 +6131,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Одноранговые веб-узлы не являются общедоступными: поскольку мы используем транспорт веб-сокетов, этот протокол отличается от классического трекера BitTorrent. Когда вы находитесь в веб-браузере, вы отправляете сигнал, содержащий ваш IP-адрес, на трекер, который случайным образом выбирает других одноранговых узлов для пересылки информации. См. этот документ для получения дополнительной информации + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Одноранговые веб-узлы не являются общедоступными: поскольку мы используем транспорт веб-сокетов, этот протокол отличается от классического трекера BitTorrent. Когда вы находитесь в веб-браузере, вы отправляете сигнал, содержащий ваш IP-адрес, на трекер, который случайным образом выбирает других одноранговых узлов для пересылки информации. См. этот документ для получения дополнительной информации src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6415,8 +6456,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> сохраняет исходную звуковую дорожку без видео + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> сохраняет исходную звуковую дорожку без видео src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7131,8 +7172,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube считает, что общедоступный IP-адрес вашего веб-браузера . + PeerTube thinks your web browser public IP is . + PeerTube считает, что общедоступный IP-адрес вашего веб-браузера . src/app/+admin/system/debug/debug.component.html 4 @@ -7179,16 +7220,16 @@ - Check the trust_proxy configuration key - Проверьте trust_proxy ключ конфигурации + Check the trust_proxy configuration key + Проверьте trust_proxy ключ конфигурации src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Если вы запускаете PeerTube с помощью Docker, убедитесь, что вы запустили reverse-proxy с network_mode: "host" (см. issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Если вы запускаете PeerTube с помощью Docker, убедитесь, что вы запустили reverse-proxy с network_mode: "host" (см. issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7472,8 +7513,8 @@ Ownership accepted Владение принято - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Пожалуйста, проверьте свою электронную почту, чтобы проверить ваш новый электронный адрес. @@ -7485,8 +7526,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Ваш текущий адрес электронной почты: . Он никогда не отображается публично. + Your current email is . It is never shown to the public. + Ваш текущий адрес электронной почты: . Он никогда не отображается публично. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7734,8 +7775,8 @@ Views for the day Просмотры за день - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Обновить видеоканал @@ -8037,7 +8078,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Не удается получить учетные данные клиента OAuth: . Убедитесь, что вы правильно настроили PeerTube (config / directory), в частности раздел «веб-сервер». src/app/core/auth/auth.service.ts99 @@ -8101,19 +8143,14 @@ Ваш пароль был успешно сброшен! src/app/+reset-password/reset-password.component.ts47 - - Any - Любой - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Сегодня - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Вчера @@ -8152,49 +8189,61 @@ Last 7 days Последние 7 дней - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Последние 30 дней - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Последние 365 дней - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Короткая (< 4 мин) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Средняя (4-10 мин) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Длинная (> 10 мин) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Длинная (> 10 мин) + + src/app/+search/search-filters.component.ts79 Relevance Актуальности - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Дате публикации - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Просмотры - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Индекс поиска недоступен. Попытка поиска в экземпляре. @@ -8806,8 +8855,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - См. документацию, чтобы узнать, как использовать функцию прямой трансляции PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + См. документацию, чтобы узнать, как использовать функцию прямой трансляции PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9884,8 +9933,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - <a href="/login">Войдите</a> чтобы оценить это видео. + You need to be <a href="/login">logged in</a> to rate this video. + <a href="/login">Войдите</a> чтобы оценить это видео. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10236,48 +10285,40 @@ Your video was uploaded to your account and is private. Ваше видео было загружено на ваш аккаунт и является приватным. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Но связанные данные (теги, описание...) будут потеряны, вы уверены, что хотите покинуть эту страницу? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Ваше видео еще не загружено, вы уверены, что хотите покинуть эту страницу? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Загрузить - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Загрузить - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Загрузка отменена - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Видео опубликовано. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Ваша квота на видео для этого видео превышена ( размер видео: , использовано: , квота: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Ваша дневная квота для этого видео превышена( размер видео: , использовано: , квота: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. У вас есть несохраненные изменения! Если вы уйдете, ваши изменения будут потеряны. @@ -10322,8 +10363,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Это видео недоступно в этом экземпляре. Вы хотите, чтобы вас перенаправили на исходный экземпляр: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Это видео недоступно в этом экземпляре. Вы хотите, чтобы вас перенаправили на исходный экземпляр: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.sk-SK.xlf b/client/src/locale/angular.sk-SK.xlf index 915f9f61e..429a54b8c 100644 --- a/client/src/locale/angular.sk-SK.xlf +++ b/client/src/locale/angular.sk-SK.xlf @@ -467,7 +467,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -704,7 +716,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -952,16 +964,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -997,7 +1015,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1840,55 +1858,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Published date - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1901,24 +1937,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language Language @@ -1926,32 +1962,32 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset @@ -1960,12 +1996,12 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2102,7 +2138,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2113,7 +2149,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2344,7 +2380,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2382,7 +2418,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2393,19 +2429,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2421,17 +2457,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3165,7 +3201,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3863,7 +3899,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4038,8 +4074,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5354,11 +5390,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7543,7 +7575,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7796,7 +7828,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8151,18 +8183,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8188,47 +8215,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10199,20 +10238,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10221,27 +10260,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.sl-SI.xlf b/client/src/locale/angular.sl-SI.xlf index 74916e8b2..1db2bf8f8 100644 --- a/client/src/locale/angular.sl-SI.xlf +++ b/client/src/locale/angular.sl-SI.xlf @@ -27,9 +27,9 @@ published a new video: published a new video: - + - + src/app/shared/shared-main/users/user-notifications.component.html15 @@ -44,9 +44,9 @@ Your video has been unblocked Your video - + - has been unblocked + has been unblocked src/app/shared/shared-main/users/user-notifications.component.html33 @@ -55,9 +55,9 @@ Your video has been blocked Your video - + - has been blocked + has been blocked src/app/shared/shared-main/users/user-notifications.component.html41 @@ -65,41 +65,41 @@ A new video abuse has been created on video - A new video abuse - has been created on video - + A new video abuse + has been created on video + - + src/app/shared/shared-main/users/user-notifications.component.html49 A new comment abuse has been created on video - A new comment abuse - has been created on video - + A new comment abuse + has been created on video + - + src/app/shared/shared-main/users/user-notifications.component.html53 A new account abuse has been created on account - A new account abuse - has been created on account - + A new account abuse + has been created on account + - + src/app/shared/shared-main/users/user-notifications.component.html57 A new abuse has been created - A new abuse - has been created + A new abuse + has been created src/app/shared/shared-main/users/user-notifications.component.html62 @@ -107,23 +107,23 @@ Your abuse has been acceptedrejected - Your abuse + Your abuse - has been + has been - accepted - - rejected - + accepted + + rejected + src/app/shared/shared-main/users/user-notifications.component.html70 Abuse has a new message - Abuse + Abuse - has a new message + has a new message src/app/shared/shared-main/users/user-notifications.component.html80 @@ -132,23 +132,23 @@ The recently added video has been automatically blocked The recently added video - + - has been - automatically blocked - + has been + automatically blocked + src/app/shared/shared-main/users/user-notifications.component.html88 commented your video - + - commented your video - + commented your video + - + src/app/shared/shared-main/users/user-notifications.component.html99 @@ -164,9 +164,9 @@ Your video has been published Your video - + - has been published + has been published src/app/shared/shared-main/users/user-notifications.component.html116 @@ -174,8 +174,8 @@ Your video import succeeded - Your video import - + Your video import + succeeded @@ -184,8 +184,8 @@ Your video import failed - Your video import - + Your video import + failed @@ -195,9 +195,9 @@ User registered on your instance User - + - registered on your instance + registered on your instance src/app/shared/shared-main/users/user-notifications.component.html140 @@ -205,22 +205,22 @@ is following your channel your account - + - is following + is following - your channel + your channel - - your account - + + your account + src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - mentioned you on video + mentioned you on video + mentioned you on video src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -230,12 +230,12 @@ Your instance has a new follower () awaiting your approval Your instance has - a new follower - ( + a new follower + ( ) - awaiting your approval - + awaiting your approval + src/app/shared/shared-main/users/user-notifications.component.html181 @@ -243,23 +243,23 @@ Your instance automatically followed Your instance automatically followed - + - + src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - A new version of the plugin/theme is available: + A new version of the plugin/theme is available: + A new version of the plugin/theme is available: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - A new version of PeerTube is available: + A new version of PeerTube is available: + A new version of PeerTube is available: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -323,9 +323,9 @@ Your report will be sent to moderators of - and will be forwarded to the video origin ( + and will be forwarded to the video origin ( ) too - . + . src/app/shared/shared-moderation/report-modals/video-report.component.html74 @@ -448,8 +448,20 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -687,17 +699,17 @@ Edit Edit - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Skrajšan predogled @@ -719,8 +731,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: src/app/shared/shared-main/misc/help.component.ts75 @@ -779,10 +791,10 @@ Remote subscribeRemote interact - Remote subscribe - - Remote interact - + Remote subscribe + + Remote interact + src/app/shared/shared-user-subscription/remote-subscribe.component.html11 @@ -810,10 +822,10 @@ Default NSFW/sensitive videos policycan be redefined by the users - Default NSFW/sensitive videos policy - - can be redefined by the users - + Default NSFW/sensitive videos policy + + can be redefined by the users + src/app/shared/shared-instance/instance-features-table.component.html13 @@ -874,9 +886,9 @@ Unlimited ( per day) Unlimited - ( + ( per day) - + src/app/shared/shared-instance/instance-features-table.component.html61 @@ -967,23 +979,29 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User User @@ -1004,24 +1022,24 @@ Cancel Prekliči - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Ban this user @@ -1079,8 +1097,8 @@ Sorry but there was an issue with the external login process. Please contact an administrator. Sorry but there was an issue with the external login process. Please - contact an administrator - . + contact an administrator + . src/app/+login/login.component.html7 @@ -1092,16 +1110,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1180,7 +1198,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. An email with the reset password instructions will be sent to . The link will expire within 1 hour. src/app/+login/login.component.ts121 @@ -1219,8 +1238,8 @@ The link will expire within 1 hour. src/app/+search/search.component.html8 - for - for + for + for src/app/+search/search.component.html 10 @@ -1280,9 +1299,9 @@ The link will expire within 1 hour. Filtri - + - + src/app/+search/search.component.html19 @@ -1346,16 +1365,16 @@ The link will expire within 1 hour. Official PeerTube website (news, support, contribute...): https://joinpeertube.org Official PeerTube website (news, support, contribute...): - https://joinpeertube.org - + https://joinpeertube.org + src/app/modal/welcome-modal.component.html42 Put your instance on the public PeerTube index: https://instances.joinpeertube.org/instances Put your instance on the public PeerTube index: - https://instances.joinpeertube.org/instances - + https://instances.joinpeertube.org/instances + src/app/modal/welcome-modal.component.html45 @@ -1368,19 +1387,19 @@ The link will expire within 1 hour. Choosing your instance name, setting up a description, specifying who you are, why you created your instance and how long you plan to maintain your it is very important for visitors to understand on what type of instance they are. Choosing your - instance name - , - setting up a description - , specifying - who you are - , + instance name + , + setting up a description + , specifying + who you are + , why - you created your instance - and - how long - you plan to - maintain your it - + you created your instance + and + how long + you plan to + maintain your it + is very important for visitors to understand on what type of instance they are. @@ -1469,11 +1488,11 @@ The link will expire within 1 hour. Please consider configuring these fields to help people to choose the appropriate instance. Without them, your instance may not be referenced on the JoinPeerTube website. Please consider configuring these fields to help people to choose - the appropriate instance - . + the appropriate instance + . Without them, your instance may not be referenced on the - JoinPeerTube website - . + JoinPeerTube website + . src/app/modal/instance-config-warning-modal.component.html25 @@ -1925,133 +1944,151 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Datum objave - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Po... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Pred... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Trajanje - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Prikaži občutljivo vsebino - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Da - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Ne - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategorija - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Dovoljenje - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Jezik - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtriraj - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -2094,12 +2131,12 @@ The link will expire within 1 hour. Tags could be used to suggest relevant recommendations. There is a maximum of 5 tags. Press Enter to add a new tag. Tags could be used to suggest relevant recommendations. - + There is a maximum of 5 tags. - + Press - Enter - to add a new tag. + Enter + to add a new tag. src/app/+videos/+video-edit/shared/video-edit.component.html24 @@ -2197,28 +2234,28 @@ The link will expire within 1 hour. Channel Channel - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2285,7 +2322,7 @@ The link will expire within 1 hour. src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Already uploaded ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2469,11 +2506,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2511,35 +2548,35 @@ The link will expire within 1 hour. Video background image Ozadje videoposnetka - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Image that will be merged with your audio file. - + The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2551,19 +2588,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Objavi - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -2627,13 +2664,13 @@ The link will expire within 1 hour. We recommend you to not use the root user to publish your videos, since it's the super-admin account of your instance. Instead, create a dedicated account to upload your videos. We recommend you to not use the - root - user to publish your videos, since it's the super-admin account of your instance. + root + user to publish your videos, since it's the super-admin account of your instance. - + Instead, - create a dedicated account - to upload your videos. + create a dedicated account + to upload your videos. src/app/+videos/+video-edit/video-add.component.html11 @@ -3174,9 +3211,9 @@ The link will expire within 1 hour. Your report will be sent to moderators of - and will be forwarded to the comment origin ( + and will be forwarded to the comment origin ( ) too - . + . src/app/shared/shared-moderation/report-modals/report.component.html36 @@ -3293,8 +3330,8 @@ The link will expire within 1 hour. Created Created - - + + src/app/+admin/follows/followers-list/followers-list.component.html27 src/app/+admin/follows/following-list/following-list.component.html33 @@ -3322,10 +3359,10 @@ The link will expire within 1 hour. Accept Accept - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3366,8 +3403,8 @@ The link will expire within 1 hour. Redundancy allowed Redundancy allowed - - + + src/app/+admin/follows/following-list/following-list.component.html34 @@ -3501,9 +3538,9 @@ The link will expire within 1 hour. Transcoding is enabled. The video quota only takes into account original video size. At most, this user could upload ~ . Transcoding is enabled. The video quota only takes into account - original - video size. - + original + video size. + At most, this user could upload ~ . @@ -3711,8 +3748,8 @@ The link will expire within 1 hour. Video Video - - + + src/app/+admin/follows/video-redundancies-list/video-redundancies-list.component.html29 src/app/+admin/moderation/video-block-list/video-block-list.component.html26 @@ -3763,8 +3800,8 @@ The link will expire within 1 hour. Date Date - - + + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 @@ -3935,11 +3972,11 @@ The link will expire within 1 hour. src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -4001,8 +4038,8 @@ The link will expire within 1 hour. State State - - + + src/app/+admin/follows/followers-list/followers-list.component.html25 src/app/+admin/follows/following-list/following-list.component.html32 @@ -4021,8 +4058,8 @@ The link will expire within 1 hour. Score Score - - + + src/app/+admin/follows/followers-list/followers-list.component.html26 @@ -4041,11 +4078,11 @@ The link will expire within 1 hour. src/app/shared/shared-abuse-list/abuse-details.component.html28 - + - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -4070,16 +4107,16 @@ The link will expire within 1 hour. Instance Instance - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at - - + + src/app/shared/shared-moderation/account-blocklist.component.html24 src/app/shared/shared-moderation/account-blocklist.component.html24 @@ -4263,15 +4300,14 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -4403,8 +4439,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Priority (1 = highest priority) + Priority (1 = highest priority) + Priority (1 = highest priority) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4424,8 +4460,8 @@ The link will expire within 1 hour. src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - No jobs found. + No jobs found. + No jobs found. src/app/+admin/system/jobs/jobs.component.html108 @@ -4455,9 +4491,9 @@ The link will expire within 1 hour. src/app/+admin/system/logs/logs.component.html38 - By -> + By -> By - -> + -> src/app/+admin/system/logs/logs.component.html46 @@ -4491,8 +4527,8 @@ The link will expire within 1 hour. The sharing system implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. The - sharing system - implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. + sharing system + implies that some technical information about your system (such as a public IP address) can be sent to other peers, but greatly helps to reduce server load. src/app/shared/shared-user-settings/user-video-settings.component.html50 @@ -4532,8 +4568,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Manage users to build a moderation team. + Manage users to build a moderation team. + Manage users to build a moderation team. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4545,8 +4581,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4558,8 +4594,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4681,8 +4717,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. + Use plugins & themes for more involved changes, or add slight customizations. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4794,8 +4830,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Manage users to set their quota individually. + Manage users to set their quota individually. + Manage users to set their quota individually. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4966,8 +5002,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. + You should only use moderated search indexes in production, or host your own. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -5004,8 +5040,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Manage relations with other instances. + Manage relations with other instances. + Manage relations with other instances. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -5044,8 +5080,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - See the documentation for more information about the expected URL + See the documentation for more information about the expected URL + See the documentation for more information about the expected URL src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -5105,8 +5141,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -5153,8 +5189,8 @@ The link will expire within 1 hour. - Max simultaneous lives created on your instance (-1 for "unlimited") - Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") + Max simultaneous lives created on your instance (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -5166,8 +5202,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") + Max simultaneous lives created per user (-1 for "unlimited") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -5311,8 +5347,8 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5449,19 +5485,25 @@ The link will expire within 1 hour. src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Write CSS code directly. Example:#custom-css + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Write CSS code directly. Example:#custom-css color: red; - Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - + src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5475,8 +5517,8 @@ color: red; src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - There are errors in the form: + There are errors in the form: + There are errors in the form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5592,8 +5634,8 @@ color: red; src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5624,9 +5666,9 @@ color: red; is awaiting email verification - + - is awaiting email verification + is awaiting email verification src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html10 @@ -5702,11 +5744,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -5722,8 +5760,8 @@ color: red; Created - - + + src/app/+my-library/my-ownership/my-ownership.component.html22 @@ -5811,8 +5849,9 @@ color: red; - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Short text to tell people how they can support your channel (membership platform...).<br /><br /> + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5892,8 +5931,8 @@ color: red; Delete history - - + + Delete history @@ -5922,8 +5961,8 @@ color: red; Notification preferences - - + + Notification preferences @@ -6014,8 +6053,8 @@ color: red; See the documentation for more information. See the - documentation - for more information. + documentation + for more information. src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.html32 @@ -6029,8 +6068,8 @@ color: red; If you need help to use PeerTube, you can have a look at the documentation. If you need help to use PeerTube, you can have a look at the - documentation - . + documentation + . src/app/+signup/shared/signup-success.component.html14 @@ -6234,7 +6273,9 @@ color: red; src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! @@ -6264,8 +6305,8 @@ channel with the same name ()! src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - SHOW THIS CHANNEL > + SHOW THIS CHANNEL > + SHOW THIS CHANNEL > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6449,8 +6490,8 @@ channel with the same name ()! For more information, please visit joinpeertube.org. For more information, please visit - joinpeertube.org - . + joinpeertube.org + . src/app/+about/about-peertube/about-peertube.component.html19 @@ -6569,8 +6610,8 @@ channel with the same name ()! src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6694,8 +6735,8 @@ channel with the same name ()! Developed with ❤ by Framasoft Developed with ❤ by - Framasoft - + Framasoft + src/app/+about/about-peertube/about-peertube-contributors.component.html3 @@ -6758,7 +6799,7 @@ channel with the same name ()! A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. - + For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. @@ -6826,12 +6867,12 @@ channel with the same name ()! I am at least 16 years old and agree to the - Terms - - and to the - Code of Conduct - - + Terms + + and to the + Code of Conduct + + of this instance @@ -6943,8 +6984,8 @@ channel with the same name ()! src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> that keeps the original audio track, with no video src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7686,8 +7727,8 @@ channel with the same name ()! - PeerTube thinks your web browser public IP is . - PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . + PeerTube thinks your web browser public IP is . src/app/+admin/system/debug/debug.component.html 4 @@ -7734,16 +7775,16 @@ channel with the same name ()! - Check the trust_proxy configuration key - Check the trust_proxy configuration key + Check the trust_proxy configuration key + Check the trust_proxy configuration key src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -8041,8 +8082,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -8054,8 +8095,8 @@ channel with the same name ()! src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. + Your current email is . It is never shown to the public. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html @@ -8312,8 +8353,8 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8631,7 +8672,8 @@ channel with the same name ()! src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. src/app/core/auth/auth.service.ts99 @@ -8696,19 +8738,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Today - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8747,49 +8784,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Long (> 10 min) + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -9405,8 +9454,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. + See the documentation to learn how to use the PeerTube live streaming feature. src/app/shared/shared-video-live/live-documentation-link.component.html @@ -10529,8 +10578,8 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. + You need to be <a href="/login">logged in</a> to rate this video. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10883,52 +10932,42 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. @@ -10993,8 +11032,8 @@ video size: , used: , quota: ) - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.sv-SE.xlf b/client/src/locale/angular.sv-SE.xlf index e83b78f7a..c7dc15d3f 100644 --- a/client/src/locale/angular.sv-SE.xlf +++ b/client/src/locale/angular.sv-SE.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - nämnde dig i en kommentar på videon + mentioned you on video + nämnde dig i en kommentar på videon src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - En ny version av tillägget eller temat är tillgängligt: + A new version of the plugin/theme is available: + En ny version av tillägget eller temat är tillgängligt: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - En ny version av PeerTube är tillgänglig: + A new version of PeerTube is available: + En ny version av PeerTube är tillgänglig: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -553,17 +565,17 @@ Edit Redigera - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Kort förhandsvisning @@ -585,8 +597,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://sv.wikipedia.org/wiki/Markdown" target="_blank" rel="noopener noreferrer">Markdown</a>-formatering med stöd för: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://sv.wikipedia.org/wiki/Markdown" target="_blank" rel="noopener noreferrer">Markdown</a>-formatering med stöd för: src/app/shared/shared-main/misc/help.component.ts75 @@ -818,23 +830,29 @@ The upload failed Uppladdningen misslyckades - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Anslutningen avbröts - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Din fil kunde inte överföras inom tidsgränsen (vanligen 10 minuter) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Din fil var för stor (maxstorlek: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Användare @@ -855,24 +873,24 @@ Cancel Avbryt - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Blockera den här användaren @@ -936,16 +954,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Den här instansen tillåter kontoregistrering. Se till att läsa villkorenvillkoren innan du skapar ett konto. Du kan också söka efter en annan instans som passar dina behov bättre på https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Den här instansen tillåter kontoregistrering. Se till att läsa villkorenvillkoren innan du skapar ett konto. Du kan också söka efter en annan instans som passar dina behov bättre på https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Den här instansen tillåter inte kontoregistrering för närvarande, men du kan läsa villkoren för mer information eller hitta en annan instans som ger dig möjligheten att skaffa ett konto och ladda upp dina videor där. Hitta din instans av dem alla på https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Den här instansen tillåter inte kontoregistrering för närvarande, men du kan läsa villkoren för mer information eller hitta en annan instans som ger dig möjligheten att skaffa ett konto och ladda upp dina videor där. Hitta din instans av dem alla på https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1024,7 +1042,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Ett meddelande med instruktioner för att återställa lösenordet kommer skickas per e-post till . Länken är giltig i 1 timme. src/app/+login/login.component.ts121 @@ -1062,8 +1081,8 @@ src/app/+search/search.component.html8 - for - för + for + för src/app/+search/search.component.html 10 @@ -1725,129 +1744,147 @@ Reset Återställ - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Publiceringsdatum - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Ursprungligt publiceringsår - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Efter … - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Före … - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Längd - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Visa känsligt material - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Ja - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Nej - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategori - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Återställ - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Visa alla kategorier - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licens - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Visa alla licenser - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Språk - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Visa alla språk - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Samtliga taggar - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags En av följande taggar - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Sök på - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Videoversum - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Återställ - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filtrera - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Videokanaler @@ -1984,28 +2021,28 @@ Channel Kanal - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Offentlighetsstatus - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ Vanliga frågor @@ -2070,7 +2107,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Redan uppladdad ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2250,11 +2287,11 @@ Sorry, but something went wrong Någonting har tyvärr gått fel - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Grattis, video kommer importeras! Du kan redan nu lägga till information om videon. @@ -2288,29 +2325,29 @@ Video background image Videons bakgrundsbild - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Bilden kommer slås ihop med din ljudfil. Den valda bilden är slutgiltig och kommer inte kunna ändras. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Totalt antal videouppladdningar - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Behandlar … - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Försök igen Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total videokvot @@ -2322,19 +2359,19 @@ Grattis! Din video finns nu tillgänglig i ditt privata bibliotek. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Du kan publicera när uppladdningen är klar - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publicera - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Uppladdning är inte aktiverat från ditt konto. Om du vill lägga upp videor, måste en administratör låsa upp din videokvot. @@ -3061,10 +3098,10 @@ Accept Godkänn - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Neka @@ -3635,8 +3672,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3720,8 +3757,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3743,11 +3780,11 @@ Instance Instans - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Ignorerad på @@ -3923,15 +3960,14 @@ Popular Populära src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - för ” + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {resultat} other {resultat} } @@ -4059,8 +4095,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Prioritet (1 är högst) + Priority (1 = highest priority) + Prioritet (1 är högst) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4080,8 +4116,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Inga jobb av typen hittades. + No jobs found. + Inga jobb av typen hittades. src/app/+admin/system/jobs/jobs.component.html108 @@ -4111,8 +4147,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - Efter -> + By -> + Efter -> src/app/+admin/system/logs/logs.component.html46 @@ -4183,8 +4219,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Hantera användare för att bygga upp en grupp moderatorer. + Manage users to build a moderation team. + Hantera användare för att bygga upp en grupp moderatorer. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4196,8 +4232,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Du kan låta andra administratörer veta att du huvudsakligen federerar känsligt material. Dessutom kommer rutan för känsligt och oförbehållsamt innehåll vara ifylld som standard. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Du kan låta andra administratörer veta att du huvudsakligen federerar känsligt material. Dessutom kommer rutan för känsligt och oförbehållsamt innehåll vara ifylld som standard. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4209,8 +4245,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4332,8 +4368,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Använd tillägg och teman för mer komplicerade ändringar eller för mindre anpassningar. + Use plugins & themes for more involved changes, or add slight customizations. + Använd tillägg och teman för mer komplicerade ändringar eller för mindre anpassningar. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4445,8 +4481,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Hantera användare för att ändra deras kvot individuellt. + Manage users to set their quota individually. + Hantera användare för att ändra deras kvot individuellt. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4617,8 +4653,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Du bör enbart använda modererade sökregister i produktionsmiljö, alternativt göra ett eget. + You should only use moderated search indexes in production, or host your own. + Du bör enbart använda modererade sökregister i produktionsmiljö, alternativt göra ett eget. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4655,8 +4691,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Hantera kopplingar till andra instanser. + Manage relations with other instances. + Hantera kopplingar till andra instanser. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4695,8 +4731,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Se dokumentationen för mer information om den väntade webbadressen + See the documentation for more information about the expected URL + Se dokumentationen för mer information om den väntade webbadressen src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4756,8 +4792,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - När du delar en videolänk och instansen är godkänd av Twitter kommer en spelare bäddas in i Twitterflödet. Om instansen inte är godkänd kommer vi använda ett bildkort som länkar till din PeerTube-instans. Kryssa i den här rutan, spara inställningarna och testa med en videolänk från din instans (https://example.com/videos/watch/blabla) på https://cards-dev.twitter.com/validator för att se om din instans är godkänd. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + När du delar en videolänk och instansen är godkänd av Twitter kommer en spelare bäddas in i Twitterflödet. Om instansen inte är godkänd kommer vi använda ett bildkort som länkar till din PeerTube-instans. Kryssa i den här rutan, spara inställningarna och testa med en videolänk från din instans (https://example.com/videos/watch/blabla) på https://cards-dev.twitter.com/validator för att se om din instans är godkänd. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4804,8 +4840,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Maximalt antal direktsändningar på din instans samtidigt (-1 för ”obegränsat”) + Max simultaneous lives created on your instance (-1 for "unlimited") + Maximalt antal direktsändningar på din instans samtidigt (-1 för ”obegränsat”) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4817,8 +4853,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Maximalt antal direktsändningar samtidigt per användare (-1 för ”obegränsat”) + Max simultaneous lives created per user (-1 for "unlimited") + Maximalt antal direktsändningar samtidigt per användare (-1 för ”obegränsat”) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4962,8 +4998,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Kräver minst version 4.1 av ffmpegSkapa HLS-spellistor och fragmenterade MP4-filer för bättre uppspelning än bara WebTorrent:Mjukare byten mellan upplösningarSnabbare uppspelning, särskilt för längre videorStabilare uppspelning med färre buggar och oändlig buffringOm du även stöder WebTorrent kommer varje video kräva dubbelt så mycket lagringsutrymme + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Kräver minst version 4.1 av ffmpegSkapa HLS-spellistor och fragmenterade MP4-filer för bättre uppspelning än bara WebTorrent:Mjukare byten mellan upplösningarSnabbare uppspelning, särskilt för längre videorStabilare uppspelning med färre buggar och oändlig buffringOm du även stöder WebTorrent kommer varje video kräva dubbelt så mycket lagringsutrymme src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5100,13 +5136,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Skriv ditt JavaScript här.Exempel: console.log('min instans är fantastisk'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Skriv ditt JavaScript här.Exempel: console.log('min instans är fantastisk'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Skriv din CSS-kod här. Exempel:#custom-css color: red; Föregå med #custom-css för att skriva över standardutseendet. Exempel:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Skriv din CSS-kod här. Exempel:#custom-css color: red; Föregå med #custom-css för att skriva över standardutseendet. Exempel:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5120,8 +5162,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Det finns fel i formuläret: + There are errors in the form: + Det finns fel i formuläret: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5237,8 +5279,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Med Dölj eller Suddiga miniatyrer behövs en bekräftelse för att visa videon. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5342,11 +5384,7 @@ Välj en kanal att överlåta videon till src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kanal som videon kommer överlåtas till - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Mina ändringar av ägarskap @@ -5444,8 +5482,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - En kort text som berättar hur andra kan stötta din kanal (t.ex. medlemskap på någon plattform).<br /><br /> När du laddar upp en video till den här kanalen kommer videons supportruta fyllas i med den här texten automatiskt. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + En kort text som berättar hur andra kan stötta din kanal (t.ex. medlemskap på någon plattform).<br /><br /> När du laddar upp en video till den här kanalen kommer videons supportruta fyllas i med den här texten automatiskt. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5839,7 +5878,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Vill du verkligen radera ? Det kommer att radera videor uppladdade till kanalen, och du kan inte skapa en kanal med samma namn ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5867,8 +5908,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - VISA DEN HÄR KANALEN > + SHOW THIS CHANNEL > + VISA DEN HÄR KANALEN > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6121,8 +6162,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Webb-serverterna är inte offentliga eftersom vi använder websockets, ett protokoll som skiljer sig från den vanliga BitTorrent-trackern. När du använder webbläsaren skickar du ett meddelande med din IP-adress till trackern som slumpmässigt kommer välja andra serventer att vidarebefordra informationen till. Se det här dokumentet för mer information + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Webb-serverterna är inte offentliga eftersom vi använder websockets, ett protokoll som skiljer sig från den vanliga BitTorrent-trackern. När du använder webbläsaren skickar du ett meddelande med din IP-adress till trackern som slumpmässigt kommer välja andra serventer att vidarebefordra informationen till. Se det här dokumentet för mer information src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6452,8 +6493,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - En <code>.mp4</code> som bevarar originalets ljudspår men inte bilden + A <code>.mp4</code> that keeps the original audio track, with no video + En <code>.mp4</code> som bevarar originalets ljudspår men inte bilden src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7170,8 +7211,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube tror att din webbläsares publika IP-adress är . + PeerTube thinks your web browser public IP is . + PeerTube tror att din webbläsares publika IP-adress är . src/app/+admin/system/debug/debug.component.html 4 @@ -7218,16 +7259,16 @@ - Check the trust_proxy configuration key - Kontrollera kongifurationsnyckeln trust_proxy + Check the trust_proxy configuration key + Kontrollera kongifurationsnyckeln trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Om PeerTube körs genom Docker, kör reverse-proxy med network_mode: "host" (se ärende nummer 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Om PeerTube körs genom Docker, kör reverse-proxy med network_mode: "host" (se ärende nummer 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7511,8 +7552,8 @@ Ownership accepted Ägarskap accepterat - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Kolla din e-post för att bekräfta din nya adress. @@ -7524,8 +7565,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Din nuvarande e-postadress är . Den kommer aldrig visas offentligt. + Your current email is . It is never shown to the public. + Din nuvarande e-postadress är . Den kommer aldrig visas offentligt. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7773,8 +7814,8 @@ Views for the day Visningar idag - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Uppdatera kanal @@ -8076,7 +8117,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Kan inte hämta OAuth Client-uppgifter: . Försäkra dig om att du har konfigurerat PeerTube korrekt (i config-katalogen), speciellt ”webserver”-sektionen. src/app/core/auth/auth.service.ts99 @@ -8140,19 +8182,14 @@ Ditt lösenord har återställts! src/app/+reset-password/reset-password.component.ts47 - - Any - Alla - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Idag - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Igår @@ -8191,49 +8228,61 @@ Last 7 days Senaste veckan - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Senaste månaden - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Senaste året - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Kort (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Mellan (4–10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Lång (> 10 min) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Lång (> 10 min) + + src/app/+search/search-filters.component.ts79 Relevance Relevans - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publiceringsdatum - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Visningar - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Sökregistret kan inte nås. Försöker igen med resultat från den här instansen istället. @@ -8849,8 +8898,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Se dokumentationen för mer information om hur du använder direktsändningar i PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Se dokumentationen för mer information om hur du använder direktsändningar i PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9941,8 +9990,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Du måste vara <a href="/login">inloggad</a> för att betygsätta den här videon. + You need to be <a href="/login">logged in</a> to rate this video. + Du måste vara <a href="/login">inloggad</a> för att betygsätta den här videon. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10293,50 +10342,42 @@ Your video was uploaded to your account and is private. Din video har laddats upp till ditt konto och är privat. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Men associerad data (taggar, beskrivning …) kommer försvinna, är du säker på att du vill lämna sidan? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Din video har inte laddats upp än, vill du lämna sidan? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Ladda upp - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Ladda upp - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Uppladdningen avbröts - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Videon har publicerats. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Din videokvot kommer överskridas av den här videon (videostorlek: , använt: , kvot: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Din dagliga videokvot kommer överskridas av den här videon (videostorlek: , använt: , kvot: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Du har gjort ändringar som inte sparats! Om du lämnar nu kommer de förkastas. @@ -10381,8 +10422,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Den här videon finns inte på din instans. Vill du bli hänvisad till ursprungsinstansen <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Den här videon finns inte på din instans. Vill du bli hänvisad till ursprungsinstansen <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.ta.xlf b/client/src/locale/angular.ta.xlf index 438fc8a1a..1e23799f1 100644 --- a/client/src/locale/angular.ta.xlf +++ b/client/src/locale/angular.ta.xlf @@ -467,7 +467,19 @@ videovideo - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitlessubtitles src/app/shared/shared-video-miniature/video-download.component.ts55 @@ -704,7 +716,7 @@ - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+videos/+video-edit/video-add-components/video-upload.component.html38src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11 + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Truncated preview @@ -952,16 +964,22 @@ src/app/shared/shared-instance/instance-statistics.component.html95 The upload failedThe upload failed - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interruptedThe connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min)Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: )Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 UserUser src/app/core/users/user.service.ts405 @@ -997,7 +1015,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user இந்த பயணரை ரத்து செய் @@ -1840,55 +1858,73 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html56src/app/+search/search-filters.component.html91 + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + + Published date Published date - src/app/+search/search-filters.component.html40 + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 + src/app/+search/search-filters.component.html40 Yes ஆம் - src/app/+search/search-filters.component.html29 + src/app/+search/search-filters.component.html48 No இல்லை - src/app/+search/search-filters.component.html34 + src/app/+search/search-filters.component.html53 Category பிரிவு - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset @@ -1901,24 +1937,24 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html104src/app/+search/search-filters.component.html117src/app/+search/search-filters.component.html130src/app/+search/search-filters.component.html145src/app/+search/search-filters.component.html153 + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 + src/app/+search/search-filters.component.html127 Licence உரிமம் - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 + src/app/+search/search-filters.component.html140 Language மொழி @@ -1926,32 +1962,32 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 + src/app/+search/search-filters.component.html189 Reset @@ -1960,12 +1996,12 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html178 + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 + src/app/+search/search-filters.component.html200 Video channels @@ -2102,7 +2138,7 @@ The link will expire within 1 hour. - src/app/+signup/+register/register.component.html33src/app/+signup/+register/register.component.html33src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-upload.component.html14src/app/+videos/+video-edit/shared/video-edit.component.html58 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -2113,7 +2149,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2344,7 +2380,7 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2382,7 +2418,7 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2393,19 +2429,19 @@ The link will expire within 1 hour. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploadedTotal video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 RetryRetry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2421,17 +2457,17 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3165,7 +3201,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3863,7 +3899,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4038,8 +4074,8 @@ The link will expire within 1 hour. Popular Popular - src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - for " for " + src/app/+admin/plugins/plugin-search/plugin-search.component.html16 + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5354,11 +5390,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 + My ownership changes My ownership changes @@ -7543,7 +7575,7 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7796,7 +7828,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channelUpdate video channel src/app/+my-library/+my-video-channels/my-video-channels-routing.module.ts31 @@ -8151,18 +8183,13 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - - - src/app/+search/search-filters.component.ts38src/app/+search/search-filters.component.ts61 + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 YesterdayYesterday src/app/shared/shared-video-miniature/abstract-video-list.ts136 @@ -8188,47 +8215,59 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10199,20 +10238,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 UploadUpload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload @@ -10221,27 +10260,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - Your video quota is exceeded with this video ( -video size: , used: , quota: )Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - Your daily video quota is exceeded with this video ( -video size: , used: , quota: )Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 diff --git a/client/src/locale/angular.th-TH.xlf b/client/src/locale/angular.th-TH.xlf index 1254ec3dd..d6d14abb3 100644 --- a/client/src/locale/angular.th-TH.xlf +++ b/client/src/locale/angular.th-TH.xlf @@ -405,7 +405,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -638,17 +650,17 @@ Edit แก้ไข - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview ตัวอย่างสั้น @@ -918,23 +930,29 @@ The upload failed การอัปโหลดล้มเหลว - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted การเชื่อมต่อถูกขัดจังหวะ - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) ไฟล์ ของคุณใหญ่เกินไป (ขนาดสูงสุด: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User ผู้ใช้ @@ -973,7 +991,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user แบนผู้ใช้นี้ @@ -1849,86 +1867,104 @@ The link will expire within 1 hour. Reset รีเซ็ต - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date วันที่เผยแพร่ - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year ปีที่เผยแพร่ครั้งแรก - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... หลังจาก... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... ก่อน... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration ความยาว - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content แสดงเนื้อหาที่ไม่เหมาะสม - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes ใช่ - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No ไม่ - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category หมวดหมู่ - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset รีเซ็ต - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories แสดงทุกหมวดหมู่ - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence ลิขสิทธิ์ - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses แสดงทุกสัญญาอนุญาต - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language ภาษา @@ -1936,42 +1972,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages แสดงทุกภาษา - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags แท็กทั้งหมดเหล่านี้ - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags หนึ่งในแท็กเหล่านี้ - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target เป้าหมายในการค้นหา - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse วิดิเวิร์ส - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset รีเซ็ต - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter เรียง - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels ช่องวิดีโอ @@ -2091,16 +2127,16 @@ The link will expire within 1 hour. Channel ช่อง - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy ความเป็นส่วนตัว @@ -2112,7 +2148,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ คำถามที่พบบ่อย @@ -2345,11 +2381,11 @@ The link will expire within 1 hour. Sorry, but something went wrong ขออภัย มีบางอย่างผิดพลาด - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. ยินดีด้วย วิดีโอในลิงก์ @@ -2385,31 +2421,31 @@ The link will expire within 1 hour. Video background image ภาพพื้นหลังวิดีโอ - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. เลือกภาพที่ต้องการรวมกับไฟล์เสียง คุณจะไม่สามารถเปลี่ยนภาพนี้ได้ในภายหลัง - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded ปริมาณวิดีโอที่อัปโหลดทั้งหมด - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… กำลังประมวลผล… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry ลองอีกครั้ง Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota โควต้าวิดีโอทั้งหมด @@ -2419,19 +2455,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. ยินดีด้วย! วิดีโอของคุณอยู่ในรายการวิดีโอส่วนตัวของคุณแล้ว - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished สามารถเผยแพร่ได้หลังจากที่อัปโหลดเสร็จสิ้น - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish เผยแพร่ - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. ขออภัย คุณสมบัติการอัปโหลดถูกปิดใช้งานสำหรับบัญชีของคุณ หากคุณต้องการเพิ่มวิดีโอ ผู้ดูแลระบบต้องปลดล็อกโควต้าของคุณก่อน @@ -3202,7 +3238,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3939,7 +3975,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4128,8 +4164,8 @@ The link will expire within 1 hour. Popular เป็นที่นิยม src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5558,11 +5594,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7801,8 +7833,8 @@ channel with the same name ()! Ownership accepted ยอมรับการเปลี่ยนเจ้าของแล้ว - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. กรุณาตรวจสอบอีเมลของคุณเพื่อยืนยันอีเมลใหม่ @@ -8064,7 +8096,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel อัปเดตช่องวิดีโอ @@ -8450,19 +8482,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular รีเซ็ตรหัสผ่านเรียบร้อย src/app/+reset-password/reset-password.component.ts47 - - Any - ใด ๆ ก็ได้ - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today วันนี้ - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday เมื่อวาน @@ -8501,49 +8528,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days 7 วันที่ผ่านมา - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days 30 วันที่ผ่านมา - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days 365 วันที่ผ่านมา - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) สั้น (< 4 นาที) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) ปานกลาง (4-10 นาที) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) ยาว (> 10 นาที) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance ความเหมาะสม - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date วันที่เผยแพร่ - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views จำนวนการดู - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10618,53 +10657,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. วิดีโอของคุณถูกอัปโหลดไปยังบัญชีของคุณและเป็นส่วนตัวแล้ว - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? แต่ข้อมูลที่เกี่ยวข้อง (เช่น แท็ก คำอธิบาย) จะไม่ถูกบันทึก คุณแน่ใจว่าต้องการออกจากหน้านี้หรือไม่ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? วิดีโอยังไม่ถูกอัปโหลด คุณแน่ใจว่าต้องการออกจากหน้านี้หรือไม่ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload อัปโหลด - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload อัปโหลด - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled ยกเลิกการอัปโหลดแล้ว - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. เผยแพร่วิดีโอแล้ว - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก ถ้าคุณออกจากหน้านี้ ข้อมูลที่ไม่ได้บันทึกจะหายไป diff --git a/client/src/locale/angular.tr-TR.xlf b/client/src/locale/angular.tr-TR.xlf index 00aefbc06..079ddef76 100644 --- a/client/src/locale/angular.tr-TR.xlf +++ b/client/src/locale/angular.tr-TR.xlf @@ -404,7 +404,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -625,17 +637,17 @@ Edit Düzenle - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Ucundan önizle @@ -895,22 +907,28 @@ The upload failed Yükleme başarısız - src/app/helpers/utils.ts177 + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 + src/app/helpers/utils.ts200 User Kullanıcı @@ -947,7 +965,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Bu kullanıcıyı yasakla @@ -1796,86 +1814,104 @@ The link will expire within 1 hour. Reset Sıfırla - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Yayın tarihi - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Süre - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Hassas içeriği göster - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Evet - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Hayır - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Kategori - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Sıfırla - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Bütün kategorileri göster - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Lisans - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Bütün lisansları göster - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Dil @@ -1883,42 +1919,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Bütün dilleri göster - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Sıfırla - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video kanalları @@ -2046,16 +2082,16 @@ The link will expire within 1 hour. Channel Kanal - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Gizlilik @@ -2067,7 +2103,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ SSS @@ -2300,11 +2336,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Congratulations, the video behind @@ -2340,29 +2376,29 @@ The link will expire within 1 hour. Video background image Videonun arkaplan resmi - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Yüklenen toplam video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… İşleniyor… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Yeniden dene Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Toplam video sınırı @@ -2372,19 +2408,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. Tebrikler! Artık videonuz özel kütüphanenizdedir. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3146,7 +3182,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3880,7 +3916,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Muted at @@ -4065,8 +4101,8 @@ The link will expire within 1 hour. Popular Popüler src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5487,11 +5523,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7704,8 +7736,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7967,7 +7999,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8351,19 +8383,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Şifreniz başarıyla sıfırlandı! src/app/+reset-password/reset-password.component.ts47 - - Any - Herhangi - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Bugün - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Dün @@ -8402,49 +8429,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Son 7 gün - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Son 30 gün - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Son 365 gün - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Kısa (< 4 dk) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Orta (4-10 dk) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Uzun (> 10 dk) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance İlgi - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Yayınlanma tarihi - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Görüntülemeler - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10501,53 +10540,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Yükleme iptal edildi - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video yayınlandı. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Kaydedilmemiş değişiklilkleriniz var! Şimdi çıkarsanız, değişiklikleriniz kaybolacak. diff --git a/client/src/locale/angular.uk-UA.xlf b/client/src/locale/angular.uk-UA.xlf index a6a84ddf8..08870e176 100644 --- a/client/src/locale/angular.uk-UA.xlf +++ b/client/src/locale/angular.uk-UA.xlf @@ -315,7 +315,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -532,17 +544,17 @@ Edit Редагувати - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Вкорочений вигляд @@ -797,23 +809,29 @@ The upload failed The upload failed - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted The connection was interrupted - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) Your file couldn't be transferred before the set timeout (usually 10min) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) Your file was too large (max. size: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User User @@ -852,7 +870,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Заблокувати цього користувача @@ -1709,88 +1727,106 @@ The link will expire within 1 hour. Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Published date - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Original publication year - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... After... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Before... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Duration - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Display sensitive content - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Category - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Display all categories - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Licence - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Display all licenses - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Language @@ -1798,44 +1834,44 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Display all languages - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags All of these tags - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags One of these tags - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Search target - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Filter - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Video channels @@ -1966,16 +2002,16 @@ The link will expire within 1 hour. Channel Channel - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Privacy @@ -1987,7 +2023,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2220,11 +2256,11 @@ The link will expire within 1 hour. Sorry, but something went wrong Sorry, but something went wrong - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. @@ -2262,8 +2298,8 @@ The link will expire within 1 hour. Video background image Video background image - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. @@ -2273,24 +2309,24 @@ The link will expire within 1 hour. The chosen image will be definitive and cannot be modified. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Total video uploaded - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Processing… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Retry Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Total video quota @@ -2302,19 +2338,19 @@ The link will expire within 1 hour. Congratulations! Your video is now available in your private library. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Publish will be available when upload is finished - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Publish - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. @@ -3107,7 +3143,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Refuse @@ -3802,7 +3838,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Відімкнено о @@ -3980,8 +4016,8 @@ The link will expire within 1 hour. Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5414,11 +5450,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes My ownership changes @@ -7663,8 +7695,8 @@ channel with the same name ()! Ownership accepted Ownership accepted - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Please check your emails to verify your new email. @@ -7920,7 +7952,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8288,19 +8320,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your password has been successfully reset! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Today - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8339,49 +8366,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days Last 7 days - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days Last 30 days - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days Last 365 days - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Short (< 4 min) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Medium (4-10 min) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) Long (> 10 min) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance Relevance - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Publish date - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Views - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10452,53 +10491,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. Your video was uploaded to your account and is private. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Your video is not uploaded yet, are you sure you want to leave this page? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Upload - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Upload cancelled - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Video published. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. You have unsaved changes! If you leave, your changes will be lost. diff --git a/client/src/locale/angular.vi-VN.xlf b/client/src/locale/angular.vi-VN.xlf index 8e1e71660..bbf276ed4 100644 --- a/client/src/locale/angular.vi-VN.xlf +++ b/client/src/locale/angular.vi-VN.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - nhắc tới bạn trong video + mentioned you on video + nhắc tới bạn trong video src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - Một bản cập nhật plugin/theme mới đang chờ cập nhật: + A new version of the plugin/theme is available: + Một bản cập nhật plugin/theme mới đang chờ cập nhật: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - Một phiên bản PeerTube mới đang chờ cập nhật: + A new version of PeerTube is available: + Một phiên bản PeerTube mới đang chờ cập nhật: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -320,8 +320,20 @@ video video - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -553,17 +565,17 @@ Edit Sửa - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview Xem trước rút gọn @@ -585,8 +597,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> hỗ trợ tương thích: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> hỗ trợ tương thích: src/app/shared/shared-main/misc/help.component.ts75 @@ -818,23 +830,29 @@ The upload failed Tải lên thất bại - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted Kết nối bị gián đoạn - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) File không thể đồng bộ vì thời gian quá lâu (thường là 10 phút) - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) File quá lớn (tối đa: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User Người dùng @@ -855,24 +873,24 @@ Cancel Huỷ - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user Chặn người dùng này @@ -936,16 +954,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - Máy chủ này cho phép đăng ký. Tuy nhiên, hãy cẩn thận đọc kỹ Điều khoản dịch vụĐiều khoản dịch vụ trước khi tạo tài khoản. Bạn cũng có thể tham khảo thêm một số máy chủ khác tại: https://joinpeertube.org/instances. + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + Máy chủ này cho phép đăng ký. Tuy nhiên, hãy cẩn thận đọc kỹ Điều khoản dịch vụĐiều khoản dịch vụ trước khi tạo tài khoản. Bạn cũng có thể tham khảo thêm một số máy chủ khác tại: https://joinpeertube.org/instances. src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - Máy chủ này không cho đăng ký, bạn hãy đọc Điều khoản dịch vụ để tìm hiểu thêm hoặc tìm một máy chủ khác cho phép bạn tạo tài khoản và đăng video. Danh sách những máy chủ khác: https://joinpeertube.org/instances. + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + Máy chủ này không cho đăng ký, bạn hãy đọc Điều khoản dịch vụ để tìm hiểu thêm hoặc tìm một máy chủ khác cho phép bạn tạo tài khoản và đăng video. Danh sách những máy chủ khác: https://joinpeertube.org/instances. src/app/+login/login.component.html 65,67 @@ -1022,7 +1040,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. Một email hướng dẫn reset mật khẩu sẽ được gửi đến . Link reset hết hạn sau 1 giờ. src/app/+login/login.component.ts121 @@ -1060,8 +1079,8 @@ src/app/+search/search.component.html8 - for - cho + for + cho src/app/+search/search.component.html 10 @@ -1121,9 +1140,9 @@ Bộ lọc - + - + src/app/+search/search.component.html19 @@ -1724,129 +1743,147 @@ Reset Reset - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date Ngày xuất bản - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year Năm xuất bản gốc - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... Sau... - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... Trước... - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration Thời lượng - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content Hiện nội dung nhạy cảm - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No Không - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category Thể loại - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset Reset - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories Hiển thị mọi thể loại - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence Giấy phép - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses Hiển thị mọi giấy phép - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language Ngôn ngữ - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages Hiển thị mọi ngôn ngữ - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags Toàn bộ các thẻ này - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags Một trong những thẻ này - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target Tìm kiếm mục tiêu - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse Vidiverse - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset Reset - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter Bộ lọc - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels Kênh video @@ -1979,28 +2016,28 @@ Channel Kênh - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy Riêng tư - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2067,7 +2104,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ Đã tải lên ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2245,11 +2282,11 @@ Sorry, but something went wrong Thật tiếc, có thứ gì đó đã gặp lỗi - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. Chúc mừng, video đã được nhập! Bạn có thể thêm thông tin cho video này. @@ -2283,29 +2320,29 @@ Video background image Hình nền video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. Hình ảnh sẽ được ghép với file âm thanh của bạn. Những hình ảnh đã chọn rồi sẽ không thể thay đổi. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded Tổng số video đã đăng - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… Đang xử lí… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry Thử lại Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota Quota @@ -2317,19 +2354,19 @@ Xin chúc mừng! Video của bạn bây giờ đã có sẵn trong thư viện cá nhân. - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished Bạn chỉ có thể xuất bản khi video đã được tải lên hoàn toàn - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish Xuất bản - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. Xin lỗi, tài khoản của bạn đã bị cấm tải lên. Nếu bạn muốn đăng thêm video, bạn phải liên hệ một quản trị viên để mở khóa dung lượng cho phép. @@ -3020,7 +3057,7 @@ Created - Đã tạo + Đã tạo src/app/+admin/follows/followers-list/followers-list.component.html27 src/app/+admin/follows/following-list/following-list.component.html33 src/app/+admin/system/jobs/jobs.component.html50 @@ -3047,10 +3084,10 @@ Accept Chấp nhận - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse Từ chối @@ -3454,8 +3491,8 @@ Date Ngày - - + + src/app/+admin/moderation/video-block-list/video-block-list.component.html29 src/app/+admin/moderation/video-comment-list/video-comment-list.component.html45 @@ -3622,8 +3659,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3707,8 +3744,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3730,11 +3767,11 @@ Instance Máy chủ - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at Ẩn @@ -3908,15 +3945,14 @@ Popular Popular src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {kết quả} other {kết quả} } @@ -4042,8 +4078,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - Ưu tiên (1 = ưu tiên cao nhất) + Priority (1 = highest priority) + Ưu tiên (1 = ưu tiên cao nhất) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4063,8 +4099,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - Không công việc tìm thấy. + No jobs found. + Không công việc tìm thấy. src/app/+admin/system/jobs/jobs.component.html108 @@ -4094,8 +4130,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - Bởi -> + By -> + Bởi -> src/app/+admin/system/logs/logs.component.html46 @@ -4166,8 +4202,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - Quản lí người dùng để xây dựng đội ngũ kiểm duyệt viên. + Manage users to build a moderation team. + Quản lí người dùng để xây dựng đội ngũ kiểm duyệt viên. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4179,8 +4215,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - Kích hoạt nó sẽ cho phép những quản trị viên khác biết rằng đây là máy chủ chứa nội dung nhạy cảm. Thêm vào đó, hộp kiểm NSFW khi upload video sẽ được chọn theo mặc định. + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + Kích hoạt nó sẽ cho phép những quản trị viên khác biết rằng đây là máy chủ chứa nội dung nhạy cảm. Thêm vào đó, hộp kiểm NSFW khi upload video sẽ được chọn theo mặc định. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4192,8 +4228,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để xem được video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để xem được video. src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4315,8 +4351,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - Sử dụng plugin & theme để cải thiện trải nghiệm, hoặc thêm tùy chỉnh. + Use plugins & themes for more involved changes, or add slight customizations. + Sử dụng plugin & theme để cải thiện trải nghiệm, hoặc thêm tùy chỉnh. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4428,8 +4464,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - Quản lí người dùng để cho dung lượng tối đa của họ. + Manage users to set their quota individually. + Quản lí người dùng để cho dung lượng tối đa của họ. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4600,8 +4636,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - Bạn chỉ nên sử dụng truy vấn tìm kiếm đã kiểm duyệt trong sản xuất, hoặc tự host. + You should only use moderated search indexes in production, or host your own. + Bạn chỉ nên sử dụng truy vấn tìm kiếm đã kiểm duyệt trong sản xuất, hoặc tự host. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4638,8 +4674,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - Quản lí mối quan hệ với những máy chủ khác. + Manage relations with other instances. + Quản lí mối quan hệ với những máy chủ khác. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4678,8 +4714,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - Xem tài liệu để biết thêm thông tin về URL dự kiến + See the documentation for more information about the expected URL + Xem tài liệu để biết thêm thông tin về URL dự kiến src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4739,8 +4775,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - Nếu máy chủ của bạn được Twitter cho phép, một trình phát video đặc biệt sẽ chèn vào khi bạn chia sẻ video. Còn nếu không, chúng tôi chỉ sử dụng một hình ảnh đại diện chung để chỉ hướng đến máy chủ PeerTube của bạn. Đánh dấu hộp kiểm này, lưu lại cấu hình và kiểm tra với một link video máy chủ của bạn (https://example.com/videos/watch/blabla) trên https://cards-dev.twitter.com/validator để xem máy chủ của bạn đã được phép chưa. + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + Nếu máy chủ của bạn được Twitter cho phép, một trình phát video đặc biệt sẽ chèn vào khi bạn chia sẻ video. Còn nếu không, chúng tôi chỉ sử dụng một hình ảnh đại diện chung để chỉ hướng đến máy chủ PeerTube của bạn. Đánh dấu hộp kiểm này, lưu lại cấu hình và kiểm tra với một link video máy chủ của bạn (https://example.com/videos/watch/blabla) trên https://cards-dev.twitter.com/validator để xem máy chủ của bạn đã được phép chưa. src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4787,8 +4823,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - Số buổi phát trực tiếp cùng lúc tối đa trên máy chủ của bạn (-1 là "không giới hạn") + Max simultaneous lives created on your instance (-1 for "unlimited") + Số buổi phát trực tiếp cùng lúc tối đa trên máy chủ của bạn (-1 là "không giới hạn") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4800,8 +4836,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - Số buổi phát trực tiếp tối của mỗi tài khoản (-1 là "không giới hạn") + Max simultaneous lives created per user (-1 for "unlimited") + Số buổi phát trực tiếp tối của mỗi tài khoản (-1 là "không giới hạn") src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4945,8 +4981,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - Yêu cầu ffmpeg >= 4.1Tạo danh sách HLS và phân mảnh file MP4 cho kết quả phát mượt hơn so với chỉ WebTorrent:Độ phân giải thay đổi mượt hơnTải nhanh hơn đặc biệt với video dàiÍt lỗi/chờ lâuNếu bạn bật hỗ trợ WebTorrent, dung lượng lưu trữ video sẽ tăng gấp đôi + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + Yêu cầu ffmpeg >= 4.1Tạo danh sách HLS và phân mảnh file MP4 cho kết quả phát mượt hơn so với chỉ WebTorrent:Độ phân giải thay đổi mượt hơnTải nhanh hơn đặc biệt với video dàiÍt lỗi/chờ lâuNếu bạn bật hỗ trợ WebTorrent, dung lượng lưu trữ video sẽ tăng gấp đôi src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5083,13 +5119,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - Viết mã JavaScript trực tiếp.Ví dụ: console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + Viết mã JavaScript trực tiếp.Ví dụ: console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - Viết mã CSS trực tiếp. Ví dụ:#custom-css color: red; Prepend with #custom-css to override styles. Ví dụ:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + Viết mã CSS trực tiếp. Ví dụ:#custom-css color: red; Prepend with #custom-css to override styles. Ví dụ:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5103,8 +5145,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - Có lỗi trong form: + There are errors in the form: + Có lỗi trong form: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5220,8 +5262,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để có thể xem được video. + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + Cùng với Ẩn hoặc Làm mờ thumbnail, sẽ có một yêu cầu xác nhận để có thể xem được video. src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5325,11 +5367,7 @@ Chọn một kênh nhận video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Kênh đó sẽ nhận video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes Những lần thay đổi chủ sở hữu @@ -5425,8 +5463,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - Đoạn ngắn để kêu gọi mọi người hỗ trợ kênh của bạn (kênh tài trợ..).<br /><br /> Khi bạn tải lên một video, phần hỗ trợ dưới video sẽ hiện thông tin này. + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + Đoạn ngắn để kêu gọi mọi người hỗ trợ kênh của bạn (kênh tài trợ..).<br /><br /> Khi bạn tải lên một video, phần hỗ trợ dưới video sẽ hiện thông tin này. src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5807,7 +5846,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! Bạn có chắc chắn muốn xóa ? Điều này sẽ xóa hết video đã đăng trên kênh này, và bạn sẽ không thể tạo kênh khác có cùng tên ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5835,8 +5876,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - HIỆN KÊNH NÀY > + SHOW THIS CHANNEL > + HIỆN KÊNH NÀY > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6089,8 +6130,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - Web peers không thể công khai truy cập: bởi vì chúng tôi sử dụng websocket transport, giao thức khác với BitTorrent tracker. Khi bạn đang trong trình duyệt web, bạn gửi một tín hiệu đến tracker sẽ tự động tín hiệu chứa địa chỉ IP của peer khác. Xem tài liệu nàyt để biết thêm thông tin + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + Web peers không thể công khai truy cập: bởi vì chúng tôi sử dụng websocket transport, giao thức khác với BitTorrent tracker. Khi bạn đang trong trình duyệt web, bạn gửi một tín hiệu đến tracker sẽ tự động tín hiệu chứa địa chỉ IP của peer khác. Xem tài liệu nàyt để biết thêm thông tin src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6251,7 +6292,7 @@ A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content. For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. - Một kênh là nơi bạn mà đăng video lên. Tạo nhiều kênh sẽ giúp bạn sắp xếp và chia nội dung của bạn hợp lí. Ví dụ: bạn có thể tạo một kênh để đăng các buổi hòa nhạc piano của bạn và một kênh khác để đăng các video nói về bảo vệ môi trường. + Một kênh là nơi bạn mà đăng video lên. Tạo nhiều kênh sẽ giúp bạn sắp xếp và chia nội dung của bạn hợp lí. Ví dụ: bạn có thể tạo một kênh để đăng các buổi hòa nhạc piano của bạn và một kênh khác để đăng các video nói về bảo vệ môi trường. src/app/+signup/+register/register-step-channel.component.html5 @@ -6412,8 +6453,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - A <code>.mp4</code> giữ âm thanh gốc, không video + A <code>.mp4</code> that keeps the original audio track, with no video + A <code>.mp4</code> giữ âm thanh gốc, không video src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7114,8 +7155,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube nghĩ địa chỉ IP trên trình duyệt của bạn là . + PeerTube thinks your web browser public IP is . + PeerTube nghĩ địa chỉ IP trên trình duyệt của bạn là . src/app/+admin/system/debug/debug.component.html 4 @@ -7162,16 +7203,16 @@ - Check the trust_proxy configuration key - Kiểm tra mã cấu hình trust_proxy + Check the trust_proxy configuration key + Kiểm tra mã cấu hình trust_proxy src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - Nếu bạn vận hành PeerTube bằng Docker, kiểm tra reverse-proxy với network_mode: "host" (xem issue 1643) + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + Nếu bạn vận hành PeerTube bằng Docker, kiểm tra reverse-proxy với network_mode: "host" (xem issue 1643) src/app/+admin/system/debug/debug.component.html 16,17 @@ -7453,8 +7494,8 @@ Ownership accepted Đã chấp nhận chủ sở hữu - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. Xin kiểm tra email để xác thực email mới. @@ -7466,8 +7507,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - Email gần đây của bạn là . Nó sẽ không bao giờ hiển thị công khai. + Your current email is . It is never shown to the public. + Email gần đây của bạn là . Nó sẽ không bao giờ hiển thị công khai. src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7715,8 +7756,8 @@ Views for the day Lượt xem trong ngày - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Cập nhật kênh video @@ -8014,7 +8055,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. Không thể truy xuất thông tin đăng nhập ứng dụng khách OAuth: . Hãy chắc rằng bạn đã cấu hình đúng PeerTube (config/ directory), đặc biệt là phần "webserver". src/app/core/auth/auth.service.ts99 @@ -8078,19 +8120,14 @@ Bạn đã đổi mật khẩu thành công! src/app/+reset-password/reset-password.component.ts47 - - Any - Bất kỳ - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today Hôm nay - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Hôm qua @@ -8129,49 +8166,61 @@ Last 7 days 7 ngày qua - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days 30 ngày qua - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days 365 ngày qua - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) Ngắn (< 4 phút) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) Trung bình (4-10 phút) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) - Dài (> 10 phút) - src/app/+search/search-filters.component.ts73 - + Long (> 10 min) + Dài (> 10 phút) + + src/app/+search/search-filters.component.ts79 Relevance Liên quan - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date Ngày đăng - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views Lượt xem - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Không thể tìm kiếm tất cả. Thay vào đó, hãy thử lại với kết quả chỉ ở máy chủ. @@ -8763,8 +8812,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - Đọc tài liệu để biết cách sử dụng tính năng Trực Tiếp của PeerTube. + See the documentation to learn how to use the PeerTube live streaming feature. + Đọc tài liệu để biết cách sử dụng tính năng Trực Tiếp của PeerTube. src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9860,8 +9909,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - Bạn cần <a href="/login">đăng nhập</a> để đánh giá video này. + You need to be <a href="/login">logged in</a> to rate this video. + Bạn cần <a href="/login">đăng nhập</a> để đánh giá video này. src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10212,50 +10261,42 @@ Your video was uploaded to your account and is private. Video đã được tải lên riêng tư vào tài khoản của bạn. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? Nhưng các dữ liệu liên quan (thẻ, mô tả,...) sẽ bị mất. Bạn có chắc muốn rời khỏi trang không? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? Video của bạn vẫn chưa được tải lên, bạn có chắc muốn rời trang? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload Tải lên - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload Tải lên - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled Đã huỷ tải lên - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. Đã xuất bản video. - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - Bạn đã hết dung lượng cho phép bởi video này (kích cỡ: , đã dùng: , tối đa: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - Video này đã vượt quá giới hạn đăng video hàng ngày của bạn (video size: , đã dùng: , giới hạn: ) - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. Bạn có sửa đổi chưa lưu! Nếu rời đi, những sửa đổi này sẽ bị mất. @@ -10320,8 +10361,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - Video không khả dụng trên máy chủ này. Bạn có muốn chuyển tới máy chủ gốc: <a href=""></a>? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + Video không khả dụng trên máy chủ này. Bạn có muốn chuyển tới máy chủ gốc: <a href=""></a>? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/angular.xlf b/client/src/locale/angular.xlf index 4c3e591d5..dcb627dee 100644 --- a/client/src/locale/angular.xlf +++ b/client/src/locale/angular.xlf @@ -526,7 +526,7 @@ src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html - 25 + 20 src/app/+my-library/my-videos/modals/video-change-ownership.component.html @@ -538,11 +538,11 @@ src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 58 + 69 src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 69 + 81 src/app/+videos/+video-watch/comment/video-comment-add.component.html @@ -886,7 +886,7 @@ src/app/+search/search-filters.component.html - 165 + 184 src/app/shared/shared-moderation/server-blocklist.component.html @@ -2984,7 +2984,7 @@ color: red; src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html - 30 + 25 src/app/+my-library/my-ownership/my-ownership.component.html @@ -4043,8 +4043,8 @@ color: red; 16 - - for " + + for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -4581,7 +4581,7 @@ color: red; src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 38 + 43 @@ -6215,7 +6215,7 @@ channel with the same name ()!Views for the day src/app/+my-library/+my-video-channels/my-video-channels.component.ts - 82 + 88 @@ -6416,18 +6416,11 @@ channel with the same name ()!10 - - Channel that will receive the video - - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html - 13 - - Ownership accepted src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts - 71 + 69 @@ -6607,7 +6600,7 @@ channel with the same name ()! src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 21 + 26 src/app/+videos/+video-watch/video-watch.component.html @@ -6646,7 +6639,7 @@ channel with the same name ()! src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 14 + 19 @@ -7078,67 +7071,92 @@ channel with the same name ()! src/app/+search/search-filters.component.html - 56,57 + 61,62 src/app/+search/search-filters.component.html - 91,92 + 75,76 + + + src/app/+search/search-filters.component.html + 110,111 + + + + Display only + + src/app/+search/search-filters.component.html + 21 + + + + Live videos + + src/app/+search/search-filters.component.html + 29 + + + + VOD videos + + src/app/+search/search-filters.component.html + 34 Display sensitive content src/app/+search/search-filters.component.html - 21 + 40 Yes src/app/+search/search-filters.component.html - 29 + 48 No src/app/+search/search-filters.component.html - 34 + 53 Published date src/app/+search/search-filters.component.html - 40 + 59 Original publication year src/app/+search/search-filters.component.html - 54 + 73 After... src/app/+search/search-filters.component.html - 66 + 85 Before... src/app/+search/search-filters.component.html - 76 + 95 Duration src/app/+search/search-filters.component.html - 89 + 108 src/app/+videos/+video-watch/video-watch.component.html @@ -7149,7 +7167,7 @@ channel with the same name ()!Category src/app/+search/search-filters.component.html - 102 + 121 src/app/+videos/+video-edit/shared/video-edit.component.html @@ -7164,37 +7182,37 @@ channel with the same name ()! Reset src/app/+search/search-filters.component.html - 104,105 + 123,124 src/app/+search/search-filters.component.html - 117,118 + 136,137 src/app/+search/search-filters.component.html - 130,131 + 149,150 src/app/+search/search-filters.component.html - 145,146 + 164,165 src/app/+search/search-filters.component.html - 153,154 + 172,173 Display all categories src/app/+search/search-filters.component.html - 108 + 127 Licence src/app/+search/search-filters.component.html - 115 + 134 src/app/+videos/+video-edit/shared/video-edit.component.html @@ -7209,14 +7227,14 @@ channel with the same name ()!Display all licenses src/app/+search/search-filters.component.html - 121 + 140 Language src/app/+search/search-filters.component.html - 128 + 147 src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html @@ -7235,67 +7253,56 @@ channel with the same name ()!Display all languages src/app/+search/search-filters.component.html - 134 + 153 All of these tags src/app/+search/search-filters.component.html - 143 + 162 One of these tags src/app/+search/search-filters.component.html - 151 + 170 Search target src/app/+search/search-filters.component.html - 160 + 179 Vidiverse src/app/+search/search-filters.component.html - 170 + 189 Reset src/app/+search/search-filters.component.html - 178,179 + 197,198 Filter src/app/+search/search-filters.component.html - 181 - - - - Any - - src/app/+search/search-filters.component.ts - 38 - - - src/app/+search/search-filters.component.ts - 61 + 200 Today src/app/+search/search-filters.component.ts - 42 + 41 src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts @@ -7310,63 +7317,77 @@ channel with the same name ()!Last 7 days src/app/+search/search-filters.component.ts - 46 + 45 Last 30 days src/app/+search/search-filters.component.ts - 50 + 49 Last 365 days src/app/+search/search-filters.component.ts - 54 + 53 + + + + VOD videos + + src/app/+search/search-filters.component.ts + 60 + + + + Live videos + + src/app/+search/search-filters.component.ts + 64 Short (< 4 min) src/app/+search/search-filters.component.ts - 65 + 71 Medium (4-10 min) src/app/+search/search-filters.component.ts - 69 + 75 Long (> 10 min) src/app/+search/search-filters.component.ts - 73 + 79 Relevance src/app/+search/search-filters.component.ts - 80 + 86 Publish date src/app/+search/search-filters.component.ts - 84 + 90 Views src/app/+search/search-filters.component.ts - 88 + 94 src/app/+videos/video-list/trending/video-trending-header.component.ts @@ -8520,7 +8541,7 @@ channel with the same name ()! src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 74 + 86 @@ -8686,35 +8707,35 @@ channel with the same name ()!Video background image src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 29 + 34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 32,35 + 37,40 Total video uploaded src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 52 + 63 Processing… src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 54 + 65 Retry src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 68 + 80 Retry failed upload of a video @@ -8723,101 +8744,99 @@ channel with the same name ()! src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 79,80 + 91,92 Publish will be available when upload is finished src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 92 + 104 Publish src/app/+videos/+video-edit/video-add-components/video-upload.component.html - 94 + 106 src/app/header/header.component.html 5 + + Upload cancelled + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 125 + + Your video was uploaded to your account and is private. src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 96 + 163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 97 + 164 Your video is not uploaded yet, are you sure you want to leave this page? src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 99 + 166 Upload src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 119 + 223 Upload src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 121 - - - - Upload cancelled - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 147 - - - - video - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 228 - - - src/app/shared/shared-video-miniature/video-download.component.ts - 54 + 225 Video published. src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 266 + 246 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) + + video src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 288,289 + 289 + + + src/app/shared/shared-video-miniature/video-download.component.ts + 54 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) + + Your video quota is exceeded with this video (video size: , used: , quota: ) src/app/+videos/+video-edit/video-add-components/video-upload.component.ts - 308,309 + 324 + + + + Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 @@ -10146,28 +10165,35 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular The upload failed src/app/helpers/utils.ts - 177 + 186 The connection was interrupted src/app/helpers/utils.ts - 181 + 190 + + + + The server encountered an error + + src/app/helpers/utils.ts + 193 Your file couldn't be transferred before the set timeout (usually 10min) src/app/helpers/utils.ts - 184 + 196 Your file was too large (max. size: ) src/app/helpers/utils.ts - 188 + 200 diff --git a/client/src/locale/angular.zh-Hans-CN.xlf b/client/src/locale/angular.zh-Hans-CN.xlf index 20652f75f..0add0b595 100644 --- a/client/src/locale/angular.zh-Hans-CN.xlf +++ b/client/src/locale/angular.zh-Hans-CN.xlf @@ -317,7 +317,19 @@ - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228src/app/shared/shared-video-miniature/video-download.component.ts54 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + + subtitles @@ -542,17 +554,17 @@ Edit 编辑 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview 截取预览 @@ -807,23 +819,29 @@ The upload failed 上传失败 - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted 连接中断了 - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) 您的 文件未能再规定时间 (通常为10分钟)前传输 - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) 您的 文件太大了 (大小上限: ) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User 用户 @@ -862,7 +880,7 @@ - src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html58src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user 封禁此用户 @@ -1698,86 +1716,104 @@ The link will expire within 1 hour. Reset 重置 - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date 发布日期 - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year 最初发布年份 - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... 在....之后 - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... 在.....之前 - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration 时长 - src/app/+search/search-filters.component.html89src/app/+videos/+video-watch/video-watch.component.html280 + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content 显示敏感内容 - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category 类别 - src/app/+search/search-filters.component.html102src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset 重置 - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories 显示所有类别 - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence 许可 - src/app/+search/search-filters.component.html115src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses 显示所有授权条款 - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language 语言 @@ -1785,42 +1821,42 @@ The link will expire within 1 hour. - src/app/+search/search-filters.component.html128src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages 显示所有语言 - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags 包含以下所有标签 - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags 包含以下至少一个标签 - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target 搜寻目标 - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse 视讯联盟 - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset 重置 - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter 过滤 - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels 视频频道 @@ -1940,16 +1976,16 @@ The link will expire within 1 hour. Channel 频道 - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy 隐私 @@ -1961,7 +1997,7 @@ The link will expire within 1 hour. - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html21src/app/+videos/+video-watch/video-watch.component.html230 + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2190,11 +2226,11 @@ The link will expire within 1 hour. Sorry, but something went wrong 抱歉,出错了 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. 恭喜,在 后的视频将会汇入!您已经可以加入关于此视频的信息了。 @@ -2228,29 +2264,29 @@ The link will expire within 1 hour. Video background image 视频背景图片 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. 图片将会被合并到您的音讯档中。 选择的图像将是固定的,不能修改。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded 上传的视频总数 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… 正在处理… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry 重试 Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota 总视频配额 @@ -2262,19 +2298,19 @@ The link will expire within 1 hour. 成功! 您可以在私享库中查看您的视频。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished 上传完毕后即可发布 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish 发布 - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. 对不起,您的帐户的上传功能已被禁用。如果你想添加视频,管理员必须解锁您的权限。 @@ -3009,7 +3045,7 @@ The link will expire within 1 hour. - src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30src/app/+my-library/my-ownership/my-ownership.component.html33 + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse 拒绝 @@ -3691,7 +3727,7 @@ The link will expire within 1 hour. - src/app/+about/about.component.html5src/app/+search/search-filters.component.html165src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at 屏蔽时间 @@ -3870,8 +3906,8 @@ The link will expire within 1 hour. Popular 当下流行 src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - for " for " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 @@ -5299,11 +5335,7 @@ color: red; Select a channel to receive the video src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - Channel that will receive the video - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes 我的权限改变了 @@ -7545,8 +7577,8 @@ channel with the same name ()! Ownership accepted 转移已接受 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. 要验证您的电子邮件地址,请检查您的电子邮件。 @@ -7808,7 +7840,7 @@ channel with the same name ()! Views for the day Views for the day - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel Update video channel @@ -8194,19 +8226,14 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular 密码重置成功! src/app/+reset-password/reset-password.component.ts47 - - Any - Any - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today 今天 - src/app/+search/search-filters.component.ts42src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday Yesterday @@ -8245,49 +8272,61 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Last 7 days 过去 7 天 - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days 过去 30 天 - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days 过去 365 天 - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) 短(< 4 分钟) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) 中等(4-10 分钟) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 Long (> 10 min) 长(> 10 分钟) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance 相关程度 - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date 上传日期 - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views 观看次数 - src/app/+search/search-filters.component.ts88src/app/+videos/video-list/trending/video-trending-header.component.ts54 + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. Search index is unavailable. Retrying with instance results instead. @@ -10368,51 +10407,41 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular Your video was uploaded to your account and is private. 您的视频已经以私有方式上传至您的帐户。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? 相关信息(如标签、说明)将会丢失,您确定要离开这个页面吗? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? 您的视频尚未上传完毕,您确定要离开这个页面吗? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload 上传 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload 上传 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled 上传已取消 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. 视频已发布。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - Your video quota is exceeded with this video ( -video size: , used: , quota: ) - Your video quota is exceeded with this video ( video size: , used: , quota: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - Your daily video quota is exceeded with this video ( -video size: , used: , quota: ) - 此影片超过了您的每日视频配额(视频大小: , 已用: , 配额: ) - - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. 您有未保存的修改!如果您离开本页面,您将会失去这些修改。 diff --git a/client/src/locale/angular.zh-Hant-TW.xlf b/client/src/locale/angular.zh-Hant-TW.xlf index 698fbd4c8..49268ec1d 100644 --- a/client/src/locale/angular.zh-Hant-TW.xlf +++ b/client/src/locale/angular.zh-Hant-TW.xlf @@ -115,8 +115,8 @@ src/app/shared/shared-main/users/user-notifications.component.html150 - mentioned you on video - 提及您於 影片 + mentioned you on video + 提及您於 影片 src/app/shared/shared-main/users/user-notifications.component.html 164 @@ -133,16 +133,16 @@ src/app/shared/shared-main/users/user-notifications.component.html190 - A new version of the plugin/theme is available: - 新版的外掛程式/佈景主題已經可用: + A new version of the plugin/theme is available: + 新版的外掛程式/佈景主題已經可用: src/app/shared/shared-main/users/user-notifications.component.html 198,199 - A new version of PeerTube is available: - 新版本的 PeerTube已經可用: + A new version of PeerTube is available: + 新版本的 PeerTube已經可用: src/app/shared/shared-main/users/user-notifications.component.html 206,207 @@ -324,8 +324,20 @@ video 影片 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts228 - src/app/shared/shared-video-miniature/video-download.component.ts54 + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts289src/app/shared/shared-video-miniature/video-download.component.ts54 + Your video quota is exceeded with this video (video size: , used: , quota: )Your video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 324 + + + Your daily video quota is exceeded with this video (video size: , used: , quota: )Your daily video quota is exceeded with this video (video size: , used: , quota: ) + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts + 342 + subtitles @@ -551,17 +563,17 @@ Edit 編輯 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html38 - src/app/+videos/+video-edit/shared/video-edit.component.html270 - src/app/+admin/users/user-edit/user-edit.component.html11 - src/app/+admin/users/user-edit/user-edit.component.html11 - + + + + + + + + + + + src/app/+admin/users/user-edit/user-edit.component.html11src/app/+admin/users/user-edit/user-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html11src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html85src/app/+videos/+video-edit/shared/video-edit.component.html270src/app/+videos/+video-edit/video-add-components/video-upload.component.html43 Truncated preview 截取預覽 @@ -583,8 +595,8 @@ src/app/shared/shared-forms/markdown-textarea.component.html19 - <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: - 相容 <a href="https://zh.wikipedia.org/wiki/Markdown#%E7%A4%BA%E4%BE%8B" target="_blank" rel="noopener noreferrer">Markdown</a> ,支援: + <a href="https://en.wikipedia.org/wiki/Markdown#Example" target="_blank" rel="noopener noreferrer">Markdown</a> compatible that supports: + 相容 <a href="https://zh.wikipedia.org/wiki/Markdown#%E7%A4%BA%E4%BE%8B" target="_blank" rel="noopener noreferrer">Markdown</a> ,支援: src/app/shared/shared-main/misc/help.component.ts75 @@ -816,23 +828,29 @@ The upload failed 上載失敗 - src/app/helpers/utils.ts177 - + + src/app/helpers/utils.ts186 The connection was interrupted 連線中斷 - src/app/helpers/utils.ts181 + + src/app/helpers/utils.ts190 + The server encountered an errorThe server encountered an error + + src/app/helpers/utils.ts + 193 + Your file couldn't be transferred before the set timeout (usually 10min) 您的 檔案未能在設定的逾時 (通常為 10 分鐘) 前傳輸 - src/app/helpers/utils.ts184 - + + src/app/helpers/utils.ts196 Your file was too large (max. size: ) 您的 檔案太大 (大小上限:) - src/app/helpers/utils.ts188 - + + src/app/helpers/utils.ts200 User 使用者 @@ -853,24 +871,24 @@ Cancel 取消 - src/app/+about/about-instance/contact-admin-modal.component.html48 - src/app/+login/login.component.html117 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25 - src/app/+my-library/my-videos/modals/video-change-ownership.component.html22 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html58 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html69 - src/app/+videos/+video-watch/comment/video-comment-add.component.html70 - src/app/modal/confirm.component.html20 - src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26 - src/app/shared/shared-moderation/batch-domains-modal.component.html31 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/report.component.html54 - src/app/shared/shared-moderation/report-modals/video-report.component.html92 - src/app/shared/shared-moderation/user-ban-modal.component.html26 - src/app/shared/shared-moderation/video-block.component.html38 - src/app/shared/shared-video-miniature/video-download.component.html134 - + + + + + + + + + + + + + + + + + + src/app/+about/about-instance/contact-admin-modal.component.html48src/app/+login/login.component.html117src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html20src/app/+my-library/my-videos/modals/video-change-ownership.component.html22src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html37src/app/+videos/+video-edit/video-add-components/video-upload.component.html69src/app/+videos/+video-edit/video-add-components/video-upload.component.html81src/app/+videos/+video-watch/comment/video-comment-add.component.html70src/app/modal/confirm.component.html20src/app/shared/shared-abuse-list/moderation-comment-modal.component.html26src/app/shared/shared-moderation/batch-domains-modal.component.html31src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/report.component.html54src/app/shared/shared-moderation/report-modals/video-report.component.html92src/app/shared/shared-moderation/user-ban-modal.component.html26src/app/shared/shared-moderation/video-block.component.html38src/app/shared/shared-video-miniature/video-download.component.html134 Ban this user 阻擋此使用者 @@ -934,16 +952,16 @@ src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.html16 - This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. - 此站臺允許註冊。然而,請留心查閱條款條款 ,然後才建立帳號。您亦可搜尋另一個站臺以切合您的需要:https://joinpeertube.org/instances + This instance allows registration. However, be careful to check the TermsTerms before creating an account. You may also search for another instance to match your exact needs at: https://joinpeertube.org/instances. + 此站臺允許註冊。然而,請留心查閱條款條款 ,然後才建立帳號。您亦可搜尋另一個站臺以切合您的需要:https://joinpeertube.org/instances src/app/+login/login.component.html 60,62 - Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. - 目前此站臺不允許使用者註冊,您可查閱條款 以瞭解詳情,或尋找別的站臺,好讓您註冊帳號並上載您的影片。看看一眾站臺中有哪個合您心意:https://joinpeertube.org/instances + Currently this instance doesn't allow for user registration, you may check the Terms for more details or find an instance that gives you the possibility to sign up for an account and upload your videos there. Find yours among multiple instances at: https://joinpeertube.org/instances. + 目前此站臺不允許使用者註冊,您可查閱條款 以瞭解詳情,或尋找別的站臺,好讓您註冊帳號並上載您的影片。看看一眾站臺中有哪個合您心意:https://joinpeertube.org/instances src/app/+login/login.component.html 65,67 @@ -1020,7 +1038,8 @@ src/app/+login/login.component.html103 - An email with the reset password instructions will be sent to . The link will expire within 1 hour. + An email with the reset password instructions will be sent to . +The link will expire within 1 hour. 包含重設密碼說明的電子郵件將會傳送到 。連結會在 1 小時內過期。 src/app/+login/login.component.ts121 @@ -1058,8 +1077,8 @@ src/app/+search/search.component.html8 - for - + for + src/app/+search/search.component.html 10 @@ -1712,129 +1731,147 @@ Reset 重設 - src/app/+search/search-filters.component.html9 - src/app/+search/search-filters.component.html23 - src/app/+search/search-filters.component.html42 - src/app/+search/search-filters.component.html56 - src/app/+search/search-filters.component.html91 + + + + + + src/app/+search/search-filters.component.html9src/app/+search/search-filters.component.html23src/app/+search/search-filters.component.html42src/app/+search/search-filters.component.html61src/app/+search/search-filters.component.html75src/app/+search/search-filters.component.html110 + Display onlyDisplay only + + src/app/+search/search-filters.component.html + 21 + + + Live videosLive videos + + src/app/+search/search-filters.component.html + 29 + + + VOD videosVOD videos + + src/app/+search/search-filters.component.html + 34 + Published date 發佈日期 - src/app/+search/search-filters.component.html40 - + + src/app/+search/search-filters.component.html59 Original publication year 原始發佈年份 - src/app/+search/search-filters.component.html54 - + + src/app/+search/search-filters.component.html73 After... 在……之後 - src/app/+search/search-filters.component.html66 - + + src/app/+search/search-filters.component.html85 Before... 在……之前 - src/app/+search/search-filters.component.html76 - + + src/app/+search/search-filters.component.html95 Duration 持續時間 - src/app/+search/search-filters.component.html89 - src/app/+videos/+video-watch/video-watch.component.html280 - + + + src/app/+search/search-filters.component.html108src/app/+videos/+video-watch/video-watch.component.html280 Display sensitive content 顯示敏感內容 - src/app/+search/search-filters.component.html21 - + + src/app/+search/search-filters.component.html40 Yes - src/app/+search/search-filters.component.html29 - + + src/app/+search/search-filters.component.html48 No - src/app/+search/search-filters.component.html34 - + + src/app/+search/search-filters.component.html53 Category 分類 - src/app/+search/search-filters.component.html102 - src/app/+videos/+video-edit/shared/video-edit.component.html63 - src/app/+videos/+video-watch/video-watch.component.html245 - + + + + src/app/+search/search-filters.component.html121src/app/+videos/+video-edit/shared/video-edit.component.html63src/app/+videos/+video-watch/video-watch.component.html245 Reset 重設 - src/app/+search/search-filters.component.html104 - src/app/+search/search-filters.component.html117 - src/app/+search/search-filters.component.html130 - src/app/+search/search-filters.component.html145 - src/app/+search/search-filters.component.html153 - + + + + + + src/app/+search/search-filters.component.html123src/app/+search/search-filters.component.html136src/app/+search/search-filters.component.html149src/app/+search/search-filters.component.html164src/app/+search/search-filters.component.html172 Display all categories 顯示所有分類 - src/app/+search/search-filters.component.html108 - + + src/app/+search/search-filters.component.html127 Licence 授權條款 - src/app/+search/search-filters.component.html115 - src/app/+videos/+video-edit/shared/video-edit.component.html74 - src/app/+videos/+video-watch/video-watch.component.html254 - + + + + src/app/+search/search-filters.component.html134src/app/+videos/+video-edit/shared/video-edit.component.html74src/app/+videos/+video-watch/video-watch.component.html254 Display all licenses 顯示所有授權條款 - src/app/+search/search-filters.component.html121 - + + src/app/+search/search-filters.component.html140 Language 語言 - src/app/+search/search-filters.component.html128 - src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10 - src/app/+videos/+video-edit/shared/video-edit.component.html94 - src/app/+videos/+video-watch/video-watch.component.html263 - + + + + + src/app/+search/search-filters.component.html147src/app/+videos/+video-edit/shared/video-caption-add-modal.component.html10src/app/+videos/+video-edit/shared/video-edit.component.html94src/app/+videos/+video-watch/video-watch.component.html263 Display all languages 顯示所有語言 - src/app/+search/search-filters.component.html134 - + + src/app/+search/search-filters.component.html153 All of these tags 所有這些標籤 - src/app/+search/search-filters.component.html143 - + + src/app/+search/search-filters.component.html162 One of these tags 這些標籤的其中一個 - src/app/+search/search-filters.component.html151 - + + src/app/+search/search-filters.component.html170 Search target 搜尋目標 - src/app/+search/search-filters.component.html160 - + + src/app/+search/search-filters.component.html179 Vidiverse 視訊聯盟 - src/app/+search/search-filters.component.html170 - + + src/app/+search/search-filters.component.html189 Reset 重設 - src/app/+search/search-filters.component.html178 - + + src/app/+search/search-filters.component.html197 Filter 過濾器 - src/app/+search/search-filters.component.html181 - + + src/app/+search/search-filters.component.html200 Video channels 影片頻道 @@ -1969,28 +2006,28 @@ Channel 頻道 - src/app/+signup/+register/register.component.html33 - src/app/+signup/+register/register.component.html33 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html14 - src/app/+videos/+video-edit/shared/video-edit.component.html58 - + + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html70src/app/+signup/+register/register.component.html33src/app/+videos/+video-edit/shared/video-edit.component.html58src/app/+videos/+video-edit/video-add-components/video-go-live.component.html6src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html30src/app/+videos/+video-edit/video-add-components/video-import-url.component.html22src/app/+videos/+video-edit/video-add-components/video-upload.component.html19 Privacy 隱私 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57 - src/app/+videos/+video-edit/shared/video-edit.component.html106 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html21 - src/app/+videos/+video-watch/video-watch.component.html230 - + + + + + + + + + src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+my-library/my-video-playlists/my-video-playlist-edit.component.html57src/app/+videos/+video-edit/shared/video-edit.component.html106src/app/+videos/+video-edit/video-add-components/video-go-live.component.html13src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html37src/app/+videos/+video-edit/video-add-components/video-import-url.component.html29src/app/+videos/+video-edit/video-add-components/video-upload.component.html26src/app/+videos/+video-watch/video-watch.component.html230 FAQ FAQ @@ -2055,7 +2092,7 @@ src/app/+videos/+video-edit/shared/video-edit.component.html172 - Already uploaded ✔ + Already uploaded ✔ 已上傳 ✔ src/app/+videos/+video-edit/shared/video-edit.component.html176 @@ -2235,11 +2272,11 @@ Sorry, but something went wrong 抱歉,不過好像有什麼東西出錯了 - src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51 - src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44 - src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html74 - + + + + + src/app/+videos/+video-edit/video-add-components/video-go-live.component.html26src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.html51src/app/+videos/+video-edit/video-add-components/video-import-url.component.html44src/app/+videos/+video-edit/video-add-components/video-upload.component.html86 Congratulations, the video behind will be imported! You can already add information about this video. 恭喜,在 後的影片將會匯入!您已經可以加入關於此影片的資訊了。 @@ -2273,29 +2310,29 @@ Video background image 影片背景圖片 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html29 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html34 Image that will be merged with your audio file. The chosen image will be definitive and cannot be modified. 圖片將會被合併到您的音訊檔中。 選定的圖片將無法修改。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html32 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html37 Total video uploaded 已上載影片總計 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html52 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html63 Processing… 正在處理…… - src/app/+videos/+video-edit/video-add-components/video-upload.component.html54 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html65 Retry 重試 Retry failed upload of a video - src/app/+videos/+video-edit/video-add-components/video-upload.component.html68 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html80 Total video quota 總影片配額 @@ -2305,19 +2342,19 @@ Congratulations! Your video is now available in your private library. 恭喜!您的影片現在已在您的私有媒體庫中可用。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html79 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html91 Publish will be available when upload is finished 上傳完成時將可發佈 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html92 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html104 Publish 發佈 - src/app/header/header.component.html5 - src/app/+videos/+video-edit/video-add-components/video-upload.component.html94 - + + + src/app/+videos/+video-edit/video-add-components/video-upload.component.html106src/app/header/header.component.html5 Sorry, the upload feature is disabled for your account. If you want to add videos, an admin must unlock your quota. 抱歉,您的帳號已停用上傳功能。如果您想要新增影片,管理員必須解鎖您的配額。 @@ -3040,10 +3077,10 @@ Accept 接受 - src/app/+admin/follows/followers-list/followers-list.component.html35 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html30 - src/app/+my-library/my-ownership/my-ownership.component.html33 - + + + + src/app/+admin/follows/followers-list/followers-list.component.html35src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html25src/app/+my-library/my-ownership/my-ownership.component.html33 Refuse 拒絕 @@ -3612,8 +3649,8 @@ src/app/shared/shared-abuse-list/abuse-list-table.component.html21 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html22 @@ -3697,8 +3734,8 @@ src/app/shared/shared-abuse-list/abuse-details.component.html28 - - + + src/app/shared/shared-abuse-list/abuse-details.component.html42 @@ -3720,11 +3757,11 @@ Instance 站臺 - src/app/+about/about.component.html5 - src/app/+search/search-filters.component.html165 - src/app/shared/shared-moderation/server-blocklist.component.html31 - src/app/shared/shared-moderation/server-blocklist.component.html31 - + + + + + src/app/+about/about.component.html5src/app/+search/search-filters.component.html184src/app/shared/shared-moderation/server-blocklist.component.html31src/app/shared/shared-moderation/server-blocklist.component.html31 Muted at 靜音於 @@ -3900,15 +3937,14 @@ Popular 流行 src/app/+admin/plugins/plugin-search/plugin-search.component.html16 - - - for " - " + + for "" for "" src/app/+admin/plugins/plugin-search/plugin-search.component.html 22,24 + {VAR_PLURAL, plural, =1 {result} other {results} } {VAR_PLURAL, plural, =1 {result} other {results} } @@ -4036,8 +4072,8 @@ src/app/+admin/system/jobs/jobs.component.html46 - Priority (1 = highest priority) - 優先程度 (1 = 最高優先度) + Priority (1 = highest priority) + 優先程度 (1 = 最高優先度) src/app/+admin/system/jobs/jobs.component.html 47 @@ -4057,8 +4093,8 @@ src/app/+admin/system/jobs/jobs.component.html107 - No jobs found. - 找不到 工作。 + No jobs found. + 找不到 工作。 src/app/+admin/system/jobs/jobs.component.html108 @@ -4088,8 +4124,8 @@ src/app/+admin/system/logs/logs.component.html38 - By -> - -> + By -> + -> src/app/+admin/system/logs/logs.component.html46 @@ -4160,8 +4196,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html78 - Manage users to build a moderation team. - 管理 使用者 以建立審核團隊。 + Manage users to build a moderation team. + 管理 使用者 以建立審核團隊。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 80,81 @@ -4173,8 +4209,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html89 - Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. - 啟用此功能會讓其他管理員知道您主要是在串流敏感內容。 此外,預設情況下,系統會自動勾選影片上傳中的 NSFW 勾選框。 + Enabling it will allow other administrators to know that you are mainly federating sensitive content. Moreover, the NSFW checkbox on video upload will be automatically checked by default. + 啟用此功能會讓其他管理員知道您主要是在串流敏感內容。 此外,預設情況下,系統會自動勾選影片上傳中的 NSFW 勾選框。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 94,96 @@ -4186,8 +4222,8 @@ src/app/+admin/config/edit-custom-config/edit-instance-information.component.html102 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - 隱藏模糊縮圖,要觀看影片時將會請求確認。 + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + 隱藏模糊縮圖,要觀看影片時將會請求確認。 src/app/+admin/config/edit-custom-config/edit-instance-information.component.html 107,108 @@ -4309,8 +4345,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html4 - Use plugins & themes for more involved changes, or add slight customizations. - 使用外掛程式與佈景主題取得更多相關的變更,或新增小自訂 + Use plugins & themes for more involved changes, or add slight customizations. + 使用外掛程式與佈景主題取得更多相關的變更,或新增小自訂 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 6,7 @@ -4422,8 +4458,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html129 - Manage users to set their quota individually. - 管理使用者以單獨設定他們的配額。 + Manage users to set their quota individually. + 管理使用者以單獨設定他們的配額。 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 131,132 @@ -4594,8 +4630,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html311 - You should only use moderated search indexes in production, or host your own. - 您只應在生產環境中使用審核的搜尋索引,或自行架設 + You should only use moderated search indexes in production, or host your own. + 您只應在生產環境中使用審核的搜尋索引,或自行架設 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 314,315 @@ -4632,8 +4668,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html361 - Manage relations with other instances. - 管理與其他站台的關係 + Manage relations with other instances. + 管理與其他站台的關係 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 363,364 @@ -4672,8 +4708,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html408 - See the documentation for more information about the expected URL - 檢視文件以取得關於預期 URL 的更多資訊 + See the documentation for more information about the expected URL + 檢視文件以取得關於預期 URL 的更多資訊 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 414,415 @@ -4733,8 +4769,8 @@ src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html494 - If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. - 如果 Twitter 明確允許您的帳號,則在分享 PeerTube 影片時將會在推文中顯示嵌入的影片播放器。如果沒有,我們將會使用會重新導向到您的 PeerTube 站台的圖片連結卡片。勾選此勾選框,儲存設定並使用您站台影片的 URL 測試 (https://example.com/videos/watch/blabla) 於 https://cards-dev.twitter.com/validator 來檢視您的站台是否被允許。 + If your instance is explicitly allowed by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share. If the instance is not, we use an image link card that will redirect to your PeerTube instance. Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on https://cards-dev.twitter.com/validator to see if you instance is allowed. + 如果 Twitter 明確允許您的帳號,則在分享 PeerTube 影片時將會在推文中顯示嵌入的影片播放器。如果沒有,我們將會使用會重新導向到您的 PeerTube 站台的圖片連結卡片。勾選此勾選框,儲存設定並使用您站台影片的 URL 測試 (https://example.com/videos/watch/blabla) 於 https://cards-dev.twitter.com/validator 來檢視您的站台是否被允許。 src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.html 499,504 @@ -4781,8 +4817,8 @@ - Max simultaneous lives created on your instance (-1 for "unlimited") - 在您的站台上可同時建立的最大同時直播數(-1 為「無限制」) + Max simultaneous lives created on your instance (-1 for "unlimited") + 在您的站台上可同時建立的最大同時直播數(-1 為「無限制」) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 41 @@ -4794,8 +4830,8 @@ src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html46 - Max simultaneous lives created per user (-1 for "unlimited") - 每個使用者可同時建立的最大同時直播數(-1 為「無限制」) + Max simultaneous lives created per user (-1 for "unlimited") + 每個使用者可同時建立的最大同時直播數(-1 為「無限制」) src/app/+admin/config/edit-custom-config/edit-live-configuration.component.html 54 @@ -4939,8 +4975,8 @@ src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html94 - Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 - 需要 ffmpeg >= 4.1與普通的 WebTorrent 相比,生成 HLS 播放清單與片段化的 MP4 檔案可得到更好的播放體驗:變更解析度更平順更快的播放速度(特別是對較長的影片來說)更穩定的播放(較少臭蟲與無限載入)若您也啟用了 WebTorrent 支援,儲存空間需求將會乘以 2 + Requires ffmpeg >= 4.1Generate HLS playlists and fragmented MP4 files resulting in a better playback than with plain WebTorrent:Resolution change is smootherFaster playback especially with long videosMore stable playback (less bugs/infinite loading)If you also enabled WebTorrent support, it will multiply videos storage by 2 + 需要 ffmpeg >= 4.1與普通的 WebTorrent 相比,生成 HLS 播放清單與片段化的 MP4 檔案可得到更好的播放體驗:變更解析度更平順更快的播放速度(特別是對較長的影片來說)更穩定的播放(較少臭蟲與無限載入)若您也啟用了 WebTorrent 支援,儲存空間需求將會乘以 2 src/app/+admin/config/edit-custom-config/edit-vod-transcoding.component.html 99,108 @@ -5077,13 +5113,19 @@ src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html74 - Write JavaScript code directly.Example: console.log('my instance is amazing'); - 直接編寫 JavaScript 程式碼。範例:console.log('my instance is amazing'); + Write JavaScript code directly.Example: console.log('my instance is amazing'); + 直接編寫 JavaScript 程式碼。範例:console.log('my instance is amazing'); src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html78 - Write CSS code directly. Example:#custom-css color: red; Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email color: red; - 直接編寫 CSS 程式碼。範例:#custom-css color: red; 在前方加入 #custom-css 以覆寫樣式。範例:#custom-css .logged-in-email color: red; + Write CSS code directly. Example:#custom-css +color: red; + + Prepend with #custom-css to override styles. Example:#custom-css .logged-in-email +color: red; + + + 直接編寫 CSS 程式碼。範例:#custom-css color: red; 在前方加入 #custom-css 以覆寫樣式。範例:#custom-css .logged-in-email color: red; src/app/+admin/config/edit-custom-config/edit-advanced-configuration.component.html97 @@ -5097,8 +5139,8 @@ src/app/+admin/config/edit-custom-config/edit-custom-config.component.html43 - There are errors in the form: - 格式有誤: + There are errors in the form: + 格式有誤: src/app/+admin/config/edit-custom-config/edit-custom-config.component.html 59,65 @@ -5214,8 +5256,8 @@ src/app/shared/shared-user-settings/user-video-settings.component.html4 - With Hide or Blur thumbnails, a confirmation will be requested to watch the video. - 隱藏模糊縮圖,要觀看影片時將會請求確認。 + With Hide or Blur thumbnails, a confirmation will be requested to watch the video. + 隱藏模糊縮圖,要觀看影片時將會請求確認。 src/app/shared/shared-user-settings/user-video-settings.component.html 8,9 @@ -5319,11 +5361,7 @@ 選取要用來接收影片的頻道 src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html10 - - Channel that will receive the video - 將會接收影片的頻道 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.html13 - + My ownership changes 我的所有權變更 @@ -5421,8 +5459,9 @@ - Short text to tell people how they can support your channel (membership platform...).<br /><br /> When you will upload a video in this channel, the video support field will be automatically filled by this text. - 告訴人們他們可以怎麼支持您頻道的簡短文字(會員平台等……)。<br /><br /> 當您要在此頻道上傳影片時,影片支援欄位將會自動填入這些文字。 + Short text to tell people how they can support your channel (membership platform...).<br /><br /> + When you will upload a video in this channel, the video support field will be automatically filled by this text. + 告訴人們他們可以怎麼支持您頻道的簡短文字(會員平台等……)。<br /><br /> 當您要在此頻道上傳影片時,影片支援欄位將會自動填入這些文字。 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 src/app/+my-library/+my-video-channels/my-video-channel-edit.component.html84 @@ -5816,7 +5855,9 @@ src/app/+my-library/+my-video-channels/my-video-channels.component.html30 - Do you really want to delete ? It will delete videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + Do you really want to delete ? +It will delete videos uploaded in this channel, and you will not be able to create another +channel with the same name ()! 您真的想要刪除 嗎?其將會刪除 部上傳至此頻道的影片,且您將無法建立其他同名的頻道 ()! src/app/+my-library/+my-video-channels/my-video-channels.component.ts44 @@ -5844,8 +5885,8 @@ src/app/+accounts/account-video-channels/account-video-channels.component.html38 - SHOW THIS CHANNEL > - 顯示此頻道 > + SHOW THIS CHANNEL > + 顯示此頻道 > src/app/+accounts/account-video-channels/account-video-channels.component.html46 @@ -6098,8 +6139,8 @@ src/app/+about/about-peertube/about-peertube.component.html114 - Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information - 網路 peer 無法公開存取:因為我們使用 WebSocket 傳輸,與傳統的 BitTorrent 追蹤器不同。當您在網路瀏覽器裡時,您就會傳送包含您的 IP 的訊號到隨機選取其他 peer 轉發資訊的追蹤器。請見 此文件 以取得更多資訊 + Web peers are not publicly accessible: because we use the websocket transport, the protocol is different from classic BitTorrent tracker. 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. See this document for more information + 網路 peer 無法公開存取:因為我們使用 WebSocket 傳輸,與傳統的 BitTorrent 追蹤器不同。當您在網路瀏覽器裡時,您就會傳送包含您的 IP 的訊號到隨機選取其他 peer 轉發資訊的追蹤器。請見 此文件 以取得更多資訊 src/app/+about/about-peertube/about-peertube.component.html 118,122 @@ -6425,8 +6466,8 @@ src/app/+admin/config/edit-custom-config/edit-configuration.service.ts17 - A <code>.mp4</code> that keeps the original audio track, with no video - <code>.mp4</code> 保留了原始音訊軌,但沒有影片 + A <code>.mp4</code> that keeps the original audio track, with no video + <code>.mp4</code> 保留了原始音訊軌,但沒有影片 src/app/+admin/config/edit-custom-config/edit-configuration.service.ts18 @@ -7147,8 +7188,8 @@ - PeerTube thinks your web browser public IP is . - PeerTube 認為您的網路瀏覽器的公開 IP 為 + PeerTube thinks your web browser public IP is . + PeerTube 認為您的網路瀏覽器的公開 IP 為 src/app/+admin/system/debug/debug.component.html 4 @@ -7195,16 +7236,16 @@ - Check the trust_proxy configuration key - 檢查 trust_proxy 設定鍵 + Check the trust_proxy configuration key + 檢查 trust_proxy 設定鍵 src/app/+admin/system/debug/debug.component.html 15 - If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) - 如果您正使用 Docker 執行,請檢查您是否執行 reverse-proxynetwork_mode: "host"(請參閱議題 1643 + If you run PeerTube using Docker, check you run the reverse-proxy with network_mode: "host" (see issue 1643) + 如果您正使用 Docker 執行,請檢查您是否執行 reverse-proxynetwork_mode: "host"(請參閱議題 1643 src/app/+admin/system/debug/debug.component.html 16,17 @@ -7488,8 +7529,8 @@ Ownership accepted 所有權已接受 - src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts71 - + + src/app/+my-library/my-ownership/my-accept-ownership/my-accept-ownership.component.ts69 Please check your emails to verify your new email. 請檢查您的電子郵件以驗證您新的電子郵件。 @@ -7501,8 +7542,8 @@ src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts55 - Your current email is . It is never shown to the public. - 您目前的電子郵件為 。其不會公開顯示。 + Your current email is . It is never shown to the public. + 您目前的電子郵件為 。其不會公開顯示。 src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html 5,7 @@ -7750,8 +7791,8 @@ Views for the day 當天的觀看次數 - src/app/+my-library/+my-video-channels/my-video-channels.component.ts82 - + + src/app/+my-library/+my-video-channels/my-video-channels.component.ts88 Update video channel 更新影片頻道 @@ -8051,7 +8092,8 @@ src/app/core/auth/auth.service.ts76 - Cannot retrieve OAuth Client credentials: . Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + Cannot retrieve OAuth Client credentials: . +Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. 無法擷取 OAuth 客戶端憑證:。請確保您已正確設定 PeerTube(config/ 目錄),特別是 "webserver" 部份。 src/app/core/auth/auth.service.ts99 @@ -8115,19 +8157,14 @@ 您的密碼已成功重設! src/app/+reset-password/reset-password.component.ts47 - - Any - 任何 - src/app/+search/search-filters.component.ts38 - src/app/+search/search-filters.component.ts61 - + Today 今天 - src/app/+search/search-filters.component.ts42 - src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69 - src/app/shared/shared-video-miniature/abstract-video-list.ts135 - + + + + src/app/+search/search-filters.component.ts41src/app/+videos/+video-edit/shared/i18n-primeng-calendar.service.ts69src/app/shared/shared-video-miniature/abstract-video-list.ts135 Yesterday 昨天 @@ -8166,49 +8203,61 @@ Last 7 days 過去 7 天 - src/app/+search/search-filters.component.ts46 - + + src/app/+search/search-filters.component.ts45 Last 30 days 過去 30 天 - src/app/+search/search-filters.component.ts50 - + + src/app/+search/search-filters.component.ts49 Last 365 days 過去 365 天 - src/app/+search/search-filters.component.ts54 + + src/app/+search/search-filters.component.ts53 + VOD videosVOD videos + + src/app/+search/search-filters.component.ts + 60 + + + Live videosLive videos + + src/app/+search/search-filters.component.ts + 64 + Short (< 4 min) 短(小於 4 分鐘) - src/app/+search/search-filters.component.ts65 - + + src/app/+search/search-filters.component.ts71 Medium (4-10 min) 中(介於 4 到 10 分鐘) - src/app/+search/search-filters.component.ts69 - + + src/app/+search/search-filters.component.ts75 - Long (> 10 min) + Long (> 10 min) 長(大於 10 分鐘) - src/app/+search/search-filters.component.ts73 - + + src/app/+search/search-filters.component.ts79 Relevance 關聯 - src/app/+search/search-filters.component.ts80 - + + src/app/+search/search-filters.component.ts86 Publish date 發佈日期 - src/app/+search/search-filters.component.ts84 - + + src/app/+search/search-filters.component.ts90 Views 檢視 - src/app/+search/search-filters.component.ts88 - src/app/+videos/video-list/trending/video-trending-header.component.ts54 - + + + src/app/+search/search-filters.component.ts94src/app/+videos/video-list/trending/video-trending-header.component.ts54 Search index is unavailable. Retrying with instance results instead. 搜尋索引不可用。正在使用站臺結果重試。 @@ -8824,8 +8873,8 @@ src/app/shared/form-validators/video-channel-validators.ts50 - See the documentation to learn how to use the PeerTube live streaming feature. - 檢視文件以取得如何使用 PeerTube 直播串流功能的資訊。 + See the documentation to learn how to use the PeerTube live streaming feature. + 檢視文件以取得如何使用 PeerTube 直播串流功能的資訊。 src/app/shared/shared-video-live/live-documentation-link.component.html 2,4 @@ -9904,8 +9953,8 @@ src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts264 - You need to be <a href="/login">logged in</a> to rate this video. - 您必須 <a href="/login">登入</a> 以對此影片進行評價。 + You need to be <a href="/login">logged in</a> to rate this video. + 您必須 <a href="/login">登入</a> 以對此影片進行評價。 src/app/+videos/+video-watch/video-watch.component.ts250 @@ -10246,50 +10295,42 @@ Your video was uploaded to your account and is private. 您的影片已上傳到您的帳號並為私人影片。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts96 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts163 But associated data (tags, description...) will be lost, are you sure you want to leave this page? 但相關資料(標籤、描述等)將會遺失,您確定您想要離開此頁面嗎? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts97 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts164 Your video is not uploaded yet, are you sure you want to leave this page? 您的影片尚未上傳,您確定您想要離開此頁面嗎? - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts99 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts166 Upload 上傳 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts119 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts223 Upload 上傳 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts121 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts225 Upload cancelled 已取消上傳 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts147 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts125 Video published. 影片已發佈。 - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts266 - - - Your video quota is exceeded with this video ( video size: , used: , quota: ) - 此影片超過了您的影片配額(影片大小:,已用:,配額: - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts288 - - - Your daily video quota is exceeded with this video ( video size: , used: , quota: ) - 此影片超過了您的每日影片配額(影片大小:,已用:,配額: - src/app/+videos/+video-edit/video-add-components/video-upload.component.ts308 - + + src/app/+videos/+video-edit/video-add-components/video-upload.component.ts246 + + You have unsaved changes! If you leave, your changes will be lost. 您有未儲存的變更!如果您離開,您的變更將會遺失。 @@ -10334,8 +10375,8 @@ - This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? - 此影片在此站臺上不可用。您想要重新導向至原始站臺:<a href=""></a> 嗎? + This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=""></a>? + 此影片在此站臺上不可用。您想要重新導向至原始站臺:<a href=""></a> 嗎? src/app/+videos/+video-watch/video-watch.component.ts440 diff --git a/client/src/locale/player.ar.json b/client/src/locale/player.ar.json index cfdfd9717..120fc3edf 100644 --- a/client/src/locale/player.ar.json +++ b/client/src/locale/player.ar.json @@ -17,7 +17,22 @@ "From servers: ": "من خوادم: ", "From peers: ": "من الأقران: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "نمط المسرح", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "مشغل الصوت", "Video Player": "مشغل الفيديو", "Play": "شغل", diff --git a/client/src/locale/player.ca-ES.json b/client/src/locale/player.ca-ES.json index 8c2abba2d..3ec86f480 100644 --- a/client/src/locale/player.ca-ES.json +++ b/client/src/locale/player.ca-ES.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Reproductor d'àudio", "Video Player": "Reproductor de vídeo", "Play": "Reproduir", diff --git a/client/src/locale/player.cs-CZ.json b/client/src/locale/player.cs-CZ.json index de75d8bd5..370a4d9f3 100644 --- a/client/src/locale/player.cs-CZ.json +++ b/client/src/locale/player.cs-CZ.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Hudební přehrávač", "Video Player": "Videopřehrávač", "Play": "Přehrát", diff --git a/client/src/locale/player.de-DE.json b/client/src/locale/player.de-DE.json index 3361d22fc..590eec74a 100644 --- a/client/src/locale/player.de-DE.json +++ b/client/src/locale/player.de-DE.json @@ -17,7 +17,22 @@ "From servers: ": "Von Servern: ", "From peers: ": "Von Peers: ", "Normal mode": "Normal Modus", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater Modus", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Audio-Player", "Video Player": "Video-Player", "Play": "Wiedergabe", diff --git a/client/src/locale/player.el-GR.json b/client/src/locale/player.el-GR.json index ab15034a0..107448c96 100644 --- a/client/src/locale/player.el-GR.json +++ b/client/src/locale/player.el-GR.json @@ -17,7 +17,22 @@ "From servers: ": "Από τους διακομιστές: ", "From peers: ": "Από κόμβους: ", "Normal mode": "Κανονική λειτουργία", + "Stats for nerds": "Stats for nerds", "Theater mode": "Λειτουργία θεάτρου", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Αναπαραγωγή Ήχου", "Video Player": "Αναπαραγωγή Βίντεο", "Play": "Αναπαραγωγή", diff --git a/client/src/locale/player.en-US.json b/client/src/locale/player.en-US.json index a1914b092..31b7369f3 100644 --- a/client/src/locale/player.en-US.json +++ b/client/src/locale/player.en-US.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Audio Player", "Video Player": "Video Player", "Play": "Play", diff --git a/client/src/locale/player.eo.json b/client/src/locale/player.eo.json index 7eb223f3f..11cc56a2b 100644 --- a/client/src/locale/player.eo.json +++ b/client/src/locale/player.eo.json @@ -17,7 +17,22 @@ "From servers: ": "De serviloj: ", "From peers: ": "De samtavolanoj: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Reĝimo de filmoteatro", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Sonludilo", "Video Player": "Filmludilo", "Play": "Ludi", diff --git a/client/src/locale/player.es-ES.json b/client/src/locale/player.es-ES.json index ef9aafcb6..5b773ef40 100644 --- a/client/src/locale/player.es-ES.json +++ b/client/src/locale/player.es-ES.json @@ -17,7 +17,22 @@ "From servers: ": "De los servidores: ", "From peers: ": "De los nodos: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Modo cine", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Reproductor de audio", "Video Player": "Reproductor de vídeo", "Play": "Reproducir", diff --git a/client/src/locale/player.eu-ES.json b/client/src/locale/player.eu-ES.json index 23141cbd6..84600abb1 100644 --- a/client/src/locale/player.eu-ES.json +++ b/client/src/locale/player.eu-ES.json @@ -17,7 +17,22 @@ "From servers: ": "Zerbitzarietatik: ", "From peers: ": "Parekoengandik: ", "Normal mode": "Modu normala", + "Stats for nerds": "Stats for nerds", "Theater mode": "Antzoki modua", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Audio erreproduzigailua", "Video Player": "Bideo erreproduzigailua", "Play": "Erreproduzitu", diff --git a/client/src/locale/player.fi-FI.json b/client/src/locale/player.fi-FI.json index c7dc07c07..665ce6d40 100644 --- a/client/src/locale/player.fi-FI.json +++ b/client/src/locale/player.fi-FI.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Audiosoitin", "Video Player": "Videosoitin", "Play": "Toista", diff --git a/client/src/locale/player.fr-FR.json b/client/src/locale/player.fr-FR.json index 4eacbb577..8baf9c89a 100644 --- a/client/src/locale/player.fr-FR.json +++ b/client/src/locale/player.fr-FR.json @@ -17,7 +17,22 @@ "From servers: ": "Depuis les serveurs : ", "From peers: ": "Des pairs : ", "Normal mode": "Mode classique", + "Stats for nerds": "Stats for nerds", "Theater mode": "En mode cinéma", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Lecteur audio", "Video Player": "Lecteur vidéo", "Play": "Lecture", diff --git a/client/src/locale/player.gd.json b/client/src/locale/player.gd.json index 81d49b97a..2ab9494b3 100644 --- a/client/src/locale/player.gd.json +++ b/client/src/locale/player.gd.json @@ -17,7 +17,22 @@ "From servers: ": "O fhrithealaichean: ", "From peers: ": "O sheisean: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Modh taigh-chluich", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Cluicheadair fuaime", "Video Player": "Cluicheadair video", "Play": "Cluich", diff --git a/client/src/locale/player.gl-ES.json b/client/src/locale/player.gl-ES.json index 92be2591b..df38b4c28 100644 --- a/client/src/locale/player.gl-ES.json +++ b/client/src/locale/player.gl-ES.json @@ -17,7 +17,22 @@ "From servers: ": "Desde os servidores: ", "From peers: ": "Desde persoas: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Modo teatro", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Reprodutor de audio", "Video Player": "Reprodutor de vídeo", "Play": "Reproducir", diff --git a/client/src/locale/player.hu-HU.json b/client/src/locale/player.hu-HU.json index 583be67fc..20013c422 100644 --- a/client/src/locale/player.hu-HU.json +++ b/client/src/locale/player.hu-HU.json @@ -17,7 +17,22 @@ "From servers: ": "Kiszolgálóktól: ", "From peers: ": "Partnerektől: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Színház mód", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Hanglejátszó", "Video Player": "Videólejátszó", "Play": "Lejátszás", diff --git a/client/src/locale/player.it-IT.json b/client/src/locale/player.it-IT.json index 2c4e62a54..7d5a48e6b 100644 --- a/client/src/locale/player.it-IT.json +++ b/client/src/locale/player.it-IT.json @@ -17,7 +17,22 @@ "From servers: ": "Dai server: ", "From peers: ": "Dai peer: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Modalità teatro", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Riproduttore Audio", "Video Player": "Riproduttore Video", "Play": "Riproduci", diff --git a/client/src/locale/player.ja-JP.json b/client/src/locale/player.ja-JP.json index 0158ef088..e7b740d0e 100644 --- a/client/src/locale/player.ja-JP.json +++ b/client/src/locale/player.ja-JP.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "ノーマルモード", + "Stats for nerds": "Stats for nerds", "Theater mode": "シアターモード", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "音楽プレーヤー", "Video Player": "動画プレーヤー", "Play": "再生", diff --git a/client/src/locale/player.kab.json b/client/src/locale/player.kab.json index e23c714b8..105bb6354 100644 --- a/client/src/locale/player.kab.json +++ b/client/src/locale/player.kab.json @@ -17,7 +17,22 @@ "From servers: ": "Seg yiqeddacen: ", "From peers: ": "Seg yiyugan: ", "Normal mode": "Askan amagnu", + "Stats for nerds": "Stats for nerds", "Theater mode": "Askar n umezgun", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Imeɣri n imesli", "Video Player": "Imeɣri n uvidyu", "Play": "Urar", diff --git a/client/src/locale/player.nl-NL.json b/client/src/locale/player.nl-NL.json index 44d58f4e9..38e4b640d 100644 --- a/client/src/locale/player.nl-NL.json +++ b/client/src/locale/player.nl-NL.json @@ -17,7 +17,22 @@ "From servers: ": "Van servers: ", "From peers: ": "Van peers: ", "Normal mode": "Normale modus", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater modus", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Audiospeler", "Video Player": "Videospeler", "Play": "Afspelen", diff --git a/client/src/locale/player.oc.json b/client/src/locale/player.oc.json index 0f846e082..92ad0793a 100644 --- a/client/src/locale/player.oc.json +++ b/client/src/locale/player.oc.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Lector àudio", "Video Player": "Lector vidèo", "Play": "Lectura", diff --git a/client/src/locale/player.pl-PL.json b/client/src/locale/player.pl-PL.json index a21763171..23b529002 100644 --- a/client/src/locale/player.pl-PL.json +++ b/client/src/locale/player.pl-PL.json @@ -17,7 +17,22 @@ "From servers: ": "Od serwerów: ", "From peers: ": "Od innych: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Tryb kinowy", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Odtwarzacz audio", "Video Player": "Odtwarzacz wideo", "Play": "Odtwórz", diff --git a/client/src/locale/player.pt-BR.json b/client/src/locale/player.pt-BR.json index 619ea96d0..d9bbf0f5e 100644 --- a/client/src/locale/player.pt-BR.json +++ b/client/src/locale/player.pt-BR.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Reprodutor de áudio", "Video Player": "Reprodutor de vídeo", "Play": "Reproduzir", diff --git a/client/src/locale/player.pt-PT.json b/client/src/locale/player.pt-PT.json index 8643598c2..6cf56550a 100644 --- a/client/src/locale/player.pt-PT.json +++ b/client/src/locale/player.pt-PT.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Reprodutor de Áudio", "Video Player": "Reprodutor de Vídeo", "Play": "Reproduzir", diff --git a/client/src/locale/player.ru-RU.json b/client/src/locale/player.ru-RU.json index 13fe8d3ca..7f7d9e54e 100644 --- a/client/src/locale/player.ru-RU.json +++ b/client/src/locale/player.ru-RU.json @@ -17,7 +17,22 @@ "From servers: ": "Из серверов: ", "From peers: ": "От пиров: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Режим \"театр\"", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Аудиоплеер", "Video Player": "Видеоплеер", "Play": "Воспроизвести", diff --git a/client/src/locale/player.sq.json b/client/src/locale/player.sq.json index 4e2d5d643..858b00179 100644 --- a/client/src/locale/player.sq.json +++ b/client/src/locale/player.sq.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Theater mode", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Lojtës Audiosh", "Video Player": "Lojtës Videosh", "Play": "Luaje", diff --git a/client/src/locale/player.sv-SE.json b/client/src/locale/player.sv-SE.json index c097335b8..5a1de4765 100644 --- a/client/src/locale/player.sv-SE.json +++ b/client/src/locale/player.sv-SE.json @@ -17,7 +17,22 @@ "From servers: ": "Från servrarna: ", "From peers: ": "Från användare: ", "Normal mode": "Normal mode", + "Stats for nerds": "Stats for nerds", "Theater mode": "Biografläge", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Ljudspelare", "Video Player": "Videospelare", "Play": "Spela", diff --git a/client/src/locale/player.th-TH.json b/client/src/locale/player.th-TH.json index 8182de82d..a6605a3b6 100644 --- a/client/src/locale/player.th-TH.json +++ b/client/src/locale/player.th-TH.json @@ -17,7 +17,22 @@ "From servers: ": "From servers: ", "From peers: ": "From peers: ", "Normal mode": "โหมดปกติ", + "Stats for nerds": "Stats for nerds", "Theater mode": "โหมดโรงภาพยนตร์", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "โปรแกรมเล่นเสียง", "Video Player": "โปรแกรมเล่นวิดีโอ", "Play": "เล่น", diff --git a/client/src/locale/player.vi-VN.json b/client/src/locale/player.vi-VN.json index 9ab29b82e..6057e3573 100644 --- a/client/src/locale/player.vi-VN.json +++ b/client/src/locale/player.vi-VN.json @@ -17,7 +17,22 @@ "From servers: ": "Từ những máy chủ: ", "From peers: ": "Từ peer: ", "Normal mode": "Chế độ bình thường", + "Stats for nerds": "Stats for nerds", "Theater mode": "Chế độ chiếu rạp", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "Trình phát Âm thanh", "Video Player": "Trình phát Video", "Play": "Phát", diff --git a/client/src/locale/player.zh-Hans-CN.json b/client/src/locale/player.zh-Hans-CN.json index 5bc40846b..070a37dbb 100644 --- a/client/src/locale/player.zh-Hans-CN.json +++ b/client/src/locale/player.zh-Hans-CN.json @@ -17,7 +17,22 @@ "From servers: ": "从服务器: ", "From peers: ": "From peers: ", "Normal mode": "一般模式", + "Stats for nerds": "Stats for nerds", "Theater mode": "剧场模式", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "音乐播放器", "Video Player": "视频播放器", "Play": "播放", diff --git a/client/src/locale/player.zh-Hant-TW.json b/client/src/locale/player.zh-Hant-TW.json index 78288ed52..2c185ea8a 100644 --- a/client/src/locale/player.zh-Hant-TW.json +++ b/client/src/locale/player.zh-Hant-TW.json @@ -17,7 +17,22 @@ "From servers: ": "來自伺服器: ", "From peers: ": "來自 peer: ", "Normal mode": "一般模式", + "Stats for nerds": "Stats for nerds", "Theater mode": "劇院模式", + "Video UUID": "Video UUID", + "Viewport / Frames": "Viewport / Frames", + "Resolution": "Resolution", + "Volume": "Volume", + "Codecs": "Codecs", + "Color": "Color", + "Connection Speed": "Connection Speed", + "Network Activity": "Network Activity", + "Total Transfered": "Total Transfered", + "Download Breakdown": "Download Breakdown", + "Buffer Progress": "Buffer Progress", + "Buffer State": "Buffer State", + "Live Latency": "Live Latency", + "Player mode": "Player mode", "Audio Player": "音頻播放器", "Video Player": "影片播放器", "Play": "播放", From 2f7c441917538bbc6358eee0c04251632f453d2e Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 15:57:28 +0200 Subject: [PATCH 053/136] Update contributors list --- CREDITS.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/CREDITS.md b/CREDITS.md index c721970b3..a54cfe5f3 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -3,25 +3,27 @@ * Chocobozzz * Rigel Kent * Filip Bengtsson - * kimsible * josé m + * kimsible * Simon Brosdetzko * Александр - * Clemens Schielicke * Berto Te + * Clemens Schielicke * Jeff Huang * kontrollanten - * Phongpanot * Laurent Ettouati * Racida S - * Kim + * Phongpanot * Marcin Mikołajczak + * Kim * Tirifto - * Felix Ableitner * Vodoyo Kamal + * Felix Ableitner * Gérald Niel - * Zet + * Duy * GunChleoc + * Slimane Selyan AMIRI + * Zet * x * Frank Sträter * Julien Maulny @@ -29,12 +31,11 @@ * Jorropo * Josh Morel * BO41 - * Slimane Selyan AMIRI - * Francesc - * mando laress * Balázs Meskó - * Duy + * Francesc * John Livingston + * mando laress + * Eivind Ødegård * Quentin PAGÈS * Besnik Bleta * Ihor Hordiichuk @@ -53,7 +54,6 @@ * Thomas Citharel * Agron Selimaj * Benjamin Bouvier - * Eivind Ødegård * Joe Bill * Kemal Oktay Aktoğan * Luc Didry @@ -66,6 +66,7 @@ * David Libeau * Ewald Arnold * Florent F + * Florian CUNY * Nassim Bounouas * NorbiPeti * Rafael Fontenelle @@ -81,7 +82,6 @@ * David Soh * Dimitri Gilbert * Florent Poinsaut - * Florian CUNY * Frank Chang * Green-Star * Micah Elizabeth Scott @@ -94,6 +94,7 @@ * test2a * 路过是好事 * Ajeje Brazorf + * Andrey * Angristan * Ch * Chris Sakura 佐倉くりす on Youtube @@ -103,6 +104,7 @@ * Mildred * Okhin * Pierre-Alain TORET + * Poslovitch * Serge Victor * Théo Le Calvar * Ugaitz @@ -115,7 +117,6 @@ * Ahsan Haris Ahmed * Alberto Teira * Aliaksandr Hrankin - * Andrey * Andréas Livet * Andrés Maldonado * Arco @@ -133,6 +134,7 @@ * Kiro * LecygneNoir * Leopere + * Loukas Stamellos * Lukas Winkler * Manuel Viens * Manuela Silva @@ -250,6 +252,7 @@ * Fabio Agreles Bezerra * Fernandez, ReK2 * Florent + * Gabriel Scherer * Glandos * Guillaume Pérution-Kihli * Gérald CHATAGNON @@ -265,6 +268,7 @@ * Jacob * Jacques Foucry * Jagannath Bhat + * Jan Prunk * Janey Muñoz * Jarosław Maciejewski * Jeena @@ -315,6 +319,7 @@ * PhieF * Philip Durbin * Philipp Fischbeck + * Philo van Kemenade * Pierre-Jean * Predatorix Phoenix * Quentin Dupont @@ -361,6 +366,7 @@ * bikepunk * bsky * ctlaltdefeat + * decentral1se * dingycle * eduard pintilie * gillux From f67d1dca1aa2b9015a5ec82add123ea12c1fc4ed Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 16:28:26 +0200 Subject: [PATCH 054/136] Fix handle downs test --- server/tests/api/server/handle-down.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/tests/api/server/handle-down.ts b/server/tests/api/server/handle-down.ts index f3ba11950..817c79f6e 100644 --- a/server/tests/api/server/handle-down.ts +++ b/server/tests/api/server/handle-down.ts @@ -143,7 +143,7 @@ describe('Test handle downs', function () { await uploadVideo(servers[0].url, servers[0].accessToken, videoAttributes) } - await waitJobs(servers[0]) + await waitJobs([ servers[0], servers[2] ]) // Kill server 3 killallServers([ servers[2] ]) From 38ce2aa7a8cc51a833b85a32222da2d2c2a43cb9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 17:06:53 +0200 Subject: [PATCH 055/136] Increase tests timeout --- server/tests/plugins/filter-hooks.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts index cf1dd0854..7d4f7abb4 100644 --- a/server/tests/plugins/filter-hooks.ts +++ b/server/tests/plugins/filter-hooks.ts @@ -326,7 +326,7 @@ describe('Test plugin filter hooks', function () { }) it('Should blacklist on remote upload', async function () { - this.timeout(45000) + this.timeout(60000) const res = await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'remote please blacklist me' }) await waitJobs(servers) @@ -335,7 +335,7 @@ describe('Test plugin filter hooks', function () { }) it('Should blacklist on remote update', async function () { - this.timeout(45000) + this.timeout(60000) const res = await uploadVideo(servers[1].url, servers[1].accessToken, { name: 'video' }) await waitJobs(servers) From d61515e12a8803a1662d1122a171201622a0ed77 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 18:35:38 +0200 Subject: [PATCH 056/136] Add doc to unpublish a plugin --- support/doc/plugins/guide.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/support/doc/plugins/guide.md b/support/doc/plugins/guide.md index 5b7d1cb31..d3b9db0ed 100644 --- a/support/doc/plugins/guide.md +++ b/support/doc/plugins/guide.md @@ -39,6 +39,7 @@ - [Build your plugin](#build-your-plugin) - [Test your plugin/theme](#test-your-plugintheme) - [Publish](#publish) + - [Unpublish](#unpublish) - [Plugin & Theme hooks/helpers API](#plugin--theme-hookshelpers-api) - [Tips](#tips) - [Compatibility with PeerTube](#compatibility-with-peertube) @@ -909,6 +910,14 @@ $ npm publish Every time you want to publish another version of your plugin/theme, just update the `version` key from the `package.json` and republish it on NPM. Remember that the PeerTube index will take into account your new plugin/theme version after ~24 hours. +### Unpublish + +If for a particular reason you don't want to maintain your plugin/theme anymore +you can deprecate it. The plugin index will automatically remove it preventing users to find/install it from the PeerTube admin interface: + +```bash +$ npm deprecate peertube-plugin-xxx@"> 0.0.0" "explain here why you deprecate your plugin/theme" +``` ## Plugin & Theme hooks/helpers API From bb8f371d376c63a8774c17c2ede69fc065cfd30c Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 10 May 2021 19:02:25 +0200 Subject: [PATCH 057/136] Add monitoring dev doc --- support/doc/development/monitoring.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 support/doc/development/monitoring.md diff --git a/support/doc/development/monitoring.md b/support/doc/development/monitoring.md new file mode 100644 index 000000000..8b637e079 --- /dev/null +++ b/support/doc/development/monitoring.md @@ -0,0 +1,17 @@ +# Monitoring + +## Client modules + +To open a report of client build: + +``` +$ npm run build -- --analyze-bundle && npm run client-report +``` + +## API benchmark + +To benchmark the REST API and save result in `benchmark.json`: + +``` +$ node dist/scripts/benchmark.js benchmark.json +``` From b8375da9313e0755d664306163139220a41d9ced Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Mon, 10 May 2021 16:09:59 +0200 Subject: [PATCH 058/136] provide more schema examples in openapi spec --- server/middlewares/validators/users.ts | 1 + support/doc/api/openapi.yaml | 377 ++++++++++++++----------- 2 files changed, 206 insertions(+), 172 deletions(-) diff --git a/server/middlewares/validators/users.ts b/server/middlewares/validators/users.ts index 9cff51d45..37119e279 100644 --- a/server/middlewares/validators/users.ts +++ b/server/middlewares/validators/users.ts @@ -196,6 +196,7 @@ const deleteMeValidator = [ const usersUpdateValidator = [ param('id').isInt().not().isEmpty().withMessage('Should have a valid id'), + body('password').optional().custom(isUserPasswordValid).withMessage('Should have a valid password'), body('email').optional().isEmail().withMessage('Should have a valid email attribute'), body('emailVerified').optional().isBoolean().withMessage('Should have a valid email verified attribute'), diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 4fbf5b055..7316b0b58 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -195,7 +195,7 @@ tags: description: | PeerTube instances can mirror videos from one another, and help distribute some videos. - For importing videos as your own, refer to [video imports](#tag/Video-Upload/paths/~1videos~1imports/post). + For importing videos as your own, refer to [video imports](#operation/importVideo). x-tagGroups: - name: Accounts tags: @@ -579,7 +579,9 @@ paths: application/json: schema: $ref: '#/components/schemas/AddUser' - description: User to create + description: | + If the smtp server is configured, you can leave the password empty and an email will be sent + asking the user to set it first. required: true get: summary: List users @@ -743,9 +745,11 @@ paths: properties: videoQuotaUsed: type: number + description: The user video quota used so far in bytes example: 16810141515 videoQuotaUsedDaily: type: number + description: The user video quota used today in bytes example: 1681014151 '/users/me/videos/{videoId}/rating': get: @@ -759,9 +763,9 @@ paths: - name: videoId in: path required: true - description: 'The video id ' + description: The video id schema: - type: string + $ref: '#/components/schemas/Video/properties/id' responses: '200': description: successful operation @@ -1075,7 +1079,7 @@ paths: type: object properties: avatarfile: - description: The file to upload. + description: The file to upload type: string format: binary encoding: @@ -1370,7 +1374,12 @@ paths: content: application/json: schema: + nullable: true type: string + minLength: 3 + maxLength: 10000 + example: | + **[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)** '/videos/{id}/views': post: summary: Add a view to a video @@ -1757,7 +1766,7 @@ paths: schema: $ref: '#/components/schemas/VideoUploadResponse' '403': - description: Live is not enabled, allow replay is not enabled, or max instance/user live videos limit is exceeded + description: live is not enabled, allow replay is not enabled, or max instance/user live videos limit is exceeded requestBody: content: multipart/form-data: @@ -1862,11 +1871,11 @@ paths: $ref: '#/components/schemas/LiveVideoUpdate' responses: '204': - description: Successful operation + description: successful operation '400': - description: Bad parameters or trying to update a live that has already started + description: bad parameters or trying to update a live that has already started '403': - description: Trying to save replay of the live but saving replay is not enabled on the instance + description: trying to save replay of the live but saving replay is not enabled on the instance /users/me/abuses: get: @@ -2017,7 +2026,8 @@ paths: properties: id: description: Video id to report - type: number + allOf: + - $ref: '#/components/schemas/Video/properties/id' startAt: type: integer description: Timestamp in the video that marks the beginning of the report @@ -2031,13 +2041,14 @@ paths: properties: id: description: Comment id to report - type: number + allOf: + - $ref: '#/components/schemas/VideoComment/properties/id' account: type: object properties: id: description: Account id to report - type: number + type: integer required: - reason responses: @@ -2541,7 +2552,7 @@ paths: $ref: '#/components/schemas/VideoPlaylist' post: summary: Create a video playlist - description: 'If the video playlist is set as public, the videoChannelId is mandatory.' + description: If the video playlist is set as public, `videoChannelId` is mandatory. operationId: createPlaylist security: - OAuth2: [] @@ -2559,9 +2570,9 @@ paths: type: object properties: id: - type: integer + $ref: '#/components/schemas/VideoPlaylist/properties/id' uuid: - $ref: '#/components/schemas/UUIDv4' + $ref: '#/components/schemas/VideoPlaylist/properties/uuid' requestBody: content: multipart/form-data: @@ -2582,9 +2593,12 @@ paths: description: description: Video playlist description type: string + minLength: 3 + maxLength: 1000 videoChannelId: + allOf: + - $ref: '#/components/schemas/id' description: Video channel in which the playlist will be published - type: integer required: - displayName encoding: @@ -2638,8 +2652,9 @@ paths: description: Video playlist description type: string videoChannelId: + allOf: + - $ref: '#/components/schemas/id' description: Video channel in which the playlist will be published - type: integer encoding: thumbnailfile: contentType: image/jpeg @@ -2699,14 +2714,15 @@ paths: type: object properties: videoId: - type: integer - description: 'Video to add in the playlist' + allOf: + - $ref: '#/components/schemas/Video/properties/id' + description: Video to add in the playlist startTimestamp: type: integer - description: 'Start the video at this specific timestamp (in seconds)' + description: Start the video at this specific timestamp (in seconds) stopTimestamp: type: integer - description: 'Stop the video at this specific timestamp (in seconds)' + description: Stop the video at this specific timestamp (in seconds) required: - videoId @@ -2797,7 +2813,7 @@ paths: schema: type: array items: - type: integer + $ref: '#/components/schemas/Video/properties/id' responses: '200': description: successful operation @@ -2960,8 +2976,7 @@ paths: type: object properties: text: - type: string - description: 'Text comment' + $ref: '#/components/schemas/VideoComment/properties/text' required: - text @@ -3298,7 +3313,7 @@ paths: type: object properties: videoId: - type: integer + $ref: '#/components/schemas/Video/properties/id' required: - videoId responses: @@ -3982,9 +3997,7 @@ components: required: true description: The user id schema: - type: integer - minimum: 0 - example: 42 + $ref: '#/components/schemas/id' idOrUUID: name: id in: path @@ -3992,9 +4005,7 @@ components: description: The object id or uuid schema: oneOf: - - type: integer - minimum: 0 - example: 42 + - $ref: '#/components/schemas/id' - $ref: '#/components/schemas/UUIDv4' playlistElementId: name: playlistElementId @@ -4002,28 +4013,28 @@ components: required: true description: Playlist element id schema: - type: integer + $ref: '#/components/schemas/id' abuseId: name: abuseId in: path required: true description: Abuse id schema: - type: integer + $ref: '#/components/schemas/Abuse/properties/id' abuseMessageId: name: abuseMessageId in: path required: true description: Abuse message id schema: - type: integer + $ref: '#/components/schemas/AbuseMessage/properties/id' captionLanguage: name: captionLanguage in: path required: true description: The caption language schema: - type: string + $ref: '#/components/schemas/VideoLanguageSet' channelHandle: name: channelHandle in: path @@ -4046,14 +4057,14 @@ components: required: true description: The thread id (root comment id) schema: - type: integer + $ref: '#/components/schemas/VideoCommentThreadTree/properties/comment/properties/id' commentId: name: commentId in: path required: true description: The comment id schema: - type: integer + $ref: '#/components/schemas/VideoComment/properties/id' isLive: name: isLive in: query @@ -4068,10 +4079,10 @@ components: description: category id of the video (see [/videos/categories](#operation/getCategories)) schema: oneOf: - - type: integer + - $ref: '#/components/schemas/VideoCategorySet' - type: array items: - type: integer + $ref: '#/components/schemas/VideoCategorySet' style: form explode: false tagsOneOf: @@ -4108,10 +4119,10 @@ components: description: language id of the video (see [/videos/languages](#operation/getLanguages)). Use `_unknown` to filter on videos that don't have a video language schema: oneOf: - - type: string + - $ref: '#/components/schemas/VideoLanguageSet' - type: array items: - type: string + $ref: '#/components/schemas/VideoLanguageSet' style: form explode: false licenceOneOf: @@ -4121,10 +4132,10 @@ components: description: licence id of the video (see [/videos/licences](#operation/getLicences)) schema: oneOf: - - type: integer + - $ref: '#/components/schemas/VideoLicenceSet' - type: array items: - type: integer + $ref: '#/components/schemas/VideoLicenceSet' style: form explode: false skipCount: @@ -4221,45 +4232,72 @@ components: moderator: Moderator scope user: User scope schemas: + # Resuable core properties + id: + type: integer + minimum: 1 + example: 42 UUIDv4: type: string format: uuid example: 9c9de5e8-0a1e-484a-b099-e80766180a6d pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' - # the regex above limits the length; - # however, some tools might require explicit settings: minLength: 36 maxLength: 36 + username: + type: string + description: The username of the user + example: chocobozzz + pattern: '/^[a-z0-9._]{1,50}$/' + minLength: 1 + maxLength: 50 + usernameChannel: + type: string + description: The username for the default channel + example: The Capybara Channel + pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' + password: + type: string + format: password + description: The password of the user + minLength: 6 + maxLength: 255 VideoCategorySet: type: integer description: category id of the video (see [/videos/categories](#operation/getCategories)) + example: 15 VideoConstantNumber-Category: properties: id: $ref: '#/components/schemas/VideoCategorySet' label: type: string + example: Science & Technology VideoLicenceSet: type: integer description: licence id of the video (see [/videos/licences](#operation/getLicences)) + example: 2 VideoConstantNumber-Licence: properties: id: $ref: '#/components/schemas/VideoLicenceSet' label: type: string - + example: Attribution - Share Alike + VideoLanguageSet: type: string description: language id of the video (see [/videos/languages](#operation/getLanguages)) + example: en VideoConstantString-Language: properties: id: $ref: '#/components/schemas/VideoLanguageSet' label: type: string + example: English VideoPlaylistPrivacySet: type: integer @@ -4411,7 +4449,7 @@ components: VideoChannelSummary: properties: id: - type: integer + $ref: '#/components/schemas/id' name: type: string displayName: @@ -4473,7 +4511,7 @@ components: - type: object properties: id: - type: integer + $ref: '#/components/schemas/id' type: type: integer enum: @@ -4509,20 +4547,21 @@ components: VideoInfo: properties: id: - type: integer + $ref: '#/components/schemas/Video/properties/id' uuid: - $ref: '#/components/schemas/UUIDv4' + $ref: '#/components/schemas/Video/properties/uuid' name: - type: string - minLength: 3 - maxLength: 120 + $ref: '#/components/schemas/Video/properties/name' Video: properties: id: - type: integer - example: 8 + description: object id for the video + allOf: + - $ref: '#/components/schemas/id' uuid: - $ref: '#/components/schemas/UUIDv4' + description: universal identifier for the video, that can be used across instances + allOf: + - $ref: '#/components/schemas/UUIDv4' isLive: type: boolean createdAt: @@ -4546,13 +4585,21 @@ components: example: 2010-10-01T10:52:46.396Z description: used to represent a date of first publication, prior to the practical publication date of `publishedAt` category: - $ref: '#/components/schemas/VideoConstantNumber-Category' + allOf: + - $ref: '#/components/schemas/VideoConstantNumber-Category' + description: category in which the video is classified licence: - $ref: '#/components/schemas/VideoConstantNumber-Licence' + allOf: + - $ref: '#/components/schemas/VideoConstantNumber-Licence' + description: licence under which the video is distributed language: - $ref: '#/components/schemas/VideoConstantString-Language' + allOf: + - $ref: '#/components/schemas/VideoConstantString-Language' + description: main language used in the video privacy: - $ref: '#/components/schemas/VideoPrivacyConstant' + allOf: + - $ref: '#/components/schemas/VideoPrivacyConstant' + description: privacy policy used to distribute the video description: type: string example: | @@ -4571,6 +4618,7 @@ components: type: boolean name: type: string + description: title of the video example: What is PeerTube? minLength: 3 maxLength: 120 @@ -4598,7 +4646,9 @@ components: type: boolean nullable: true state: - $ref: '#/components/schemas/VideoStateConstant' + allOf: + - $ref: '#/components/schemas/VideoStateConstant' + description: represents the internal state of the video processing within the PeerTube instance scheduledUpdate: nullable: true allOf: @@ -4677,7 +4727,7 @@ components: FileRedundancyInformation: properties: id: - type: integer + $ref: '#/components/schemas/id' fileUrl: type: string format: url @@ -4702,7 +4752,7 @@ components: VideoRedundancy: properties: id: - type: integer + $ref: '#/components/schemas/id' name: type: string url: @@ -4736,8 +4786,7 @@ components: VideoImport: properties: id: - type: integer - example: 2 + $ref: '#/components/schemas/id' targetUrl: type: string format: url @@ -4773,8 +4822,7 @@ components: Abuse: properties: id: - type: integer - example: 7 + $ref: '#/components/schemas/id' reason: type: string example: The video is a spam @@ -4799,7 +4847,7 @@ components: AbuseMessage: properties: id: - type: integer + $ref: '#/components/schemas/id' message: type: string minLength: 2 @@ -4814,9 +4862,9 @@ components: VideoBlacklist: properties: id: - type: integer + $ref: '#/components/schemas/id' videoId: - type: integer + $ref: '#/components/schemas/Video/properties/id' createdAt: type: string format: date-time @@ -4843,29 +4891,12 @@ components: type: integer nsfw: type: boolean - VideoChannel: - properties: - displayName: - type: string - minLength: 1 - maxLength: 120 - description: - type: string - minLength: 3 - maxLength: 1000 - isLocal: - type: boolean - ownerAccount: - type: object - properties: - id: - type: integer - uuid: - $ref: '#/components/schemas/UUIDv4' VideoPlaylist: properties: id: - type: integer + $ref: '#/components/schemas/id' + uuid: + $ref: '#/components/schemas/UUIDv4' createdAt: type: string format: date-time @@ -4876,8 +4907,6 @@ components: type: string minLength: 3 maxLength: 1000 - uuid: - $ref: '#/components/schemas/UUIDv4' displayName: type: string minLength: 1 @@ -4886,6 +4915,7 @@ components: type: boolean videoLength: type: integer + minimum: 0 thumbnailPath: type: string privacy: @@ -4899,20 +4929,21 @@ components: VideoComment: properties: id: - type: integer + $ref: '#/components/schemas/id' url: type: string format: url text: type: string + description: Text of the comment in Markdown minLength: 1 maxLength: 10000 threadId: type: integer inReplyToCommentId: - type: integer + $ref: '#/components/schemas/id' videoId: - type: integer + $ref: '#/components/schemas/Video/properties/id' createdAt: type: string format: date-time @@ -4921,8 +4952,10 @@ components: format: date-time totalRepliesFromVideoAuthor: type: integer + minimum: 0 totalReplies: type: integer + minimum: 0 account: $ref: '#/components/schemas/Account' VideoCommentThreadTree: @@ -4952,8 +4985,7 @@ components: ActorInfo: properties: id: - type: integer - example: 11 + $ref: '#/components/schemas/id' name: type: string displayName: @@ -4970,8 +5002,7 @@ components: Actor: properties: id: - type: integer - example: 11 + $ref: '#/components/schemas/id' url: type: string format: url @@ -4999,8 +5030,7 @@ components: - $ref: '#/components/schemas/Actor' - properties: userId: - type: string - example: 2 + $ref: '#/components/schemas/id' displayName: type: string description: @@ -5181,8 +5211,10 @@ components: properties: videoQuota: type: integer + example: 16810141515 videoQuotaDaily: type: integer + example: 1681014151 trending: type: object properties: @@ -5301,8 +5333,10 @@ components: properties: videoQuota: type: integer + example: 16810141515 videoQuotaDaily: type: integer + example: 1681014151 transcoding: type: object description: Settings pertaining to transcoding jobs @@ -5399,7 +5433,7 @@ components: Follow: properties: id: - type: integer + $ref: '#/components/schemas/id' follower: $ref: '#/components/schemas/Actor' following: @@ -5438,9 +5472,7 @@ components: Job: properties: id: - type: integer - minimum: 0 - example: 42 + $ref: '#/components/schemas/id' state: type: string enum: @@ -5484,22 +5516,25 @@ components: type: object properties: id: - type: integer - example: 8 + $ref: '#/components/schemas/id' account: type: object properties: id: - type: integer - example: 37 + $ref: '#/components/schemas/id' VideoUploadRequestCommon: properties: name: description: Video name type: string + example: What is PeerTube? + minLength: 3 + maxLength: 120 channelId: description: Channel id that will contain this video type: integer + example: 3 + minimum: 1 privacy: $ref: '#/components/schemas/VideoPrivacySet' category: @@ -5511,6 +5546,8 @@ components: description: description: Video description type: string + example: | + **[Want to help to translate this video?](https://weblate.framasoft.org/projects/what-is-peertube-video/)**\r\n\r\n**Take back the control of your videos! [#JoinPeertube](https://joinpeertube.org)** waitTranscoding: description: Whether or not we wait transcoding before publish the video type: boolean @@ -5527,6 +5564,9 @@ components: minItems: 1 maxItems: 5 uniqueItems: true + example: + - framasoft + - peertube items: type: string minLength: 2 @@ -5576,6 +5616,7 @@ components: description: Video filename including extension type: string format: filename + example: what_is_peertube.mp4 thumbnailfile: description: Video thumbnail file type: string @@ -5590,10 +5631,9 @@ components: type: object properties: id: - type: integer - example: 8 + $ref: '#/components/schemas/Video/properties/id' uuid: - $ref: '#/components/schemas/UUIDv4' + $ref: '#/components/schemas/Video/properties/uuid' CommentThreadResponse: properties: total: @@ -5671,10 +5711,7 @@ components: type: string description: Theme enabled by this user username: - type: string - description: The user username - minLength: 1 - maxLength: 50 + $ref: '#/components/schemas/username' videoChannels: type: array items: @@ -5713,31 +5750,23 @@ components: AddUser: properties: username: - type: string - description: The user username - minLength: 1 - maxLength: 50 - pattern: '/^[a-z0-9._]{1,50}$/' + $ref: '#/components/schemas/username' password: - type: string - format: password - description: The user password. If the smtp server is configured, you can leave empty and an email will be sent - minLength: 6 - maxLength: 255 + $ref: '#/components/schemas/password' email: type: string format: email description: The user email videoQuota: type: integer - description: The user video quota + description: The user video quota in bytes + example: -1 videoQuotaDaily: type: integer - description: The user daily video quota + description: The user daily video quota in bytes + example: -1 channelName: - type: string - description: The user default channel username - pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' + $ref: '#/components/schemas/usernameChannel' role: $ref: '#/components/schemas/UserRole' adminFlags: @@ -5751,9 +5780,6 @@ components: - role UpdateUser: properties: - id: - type: string - description: The user id email: type: string format: email @@ -5763,10 +5789,10 @@ components: description: Set the email as verified videoQuota: type: integer - description: The updated video quota of the user + description: The updated video quota of the user in bytes videoQuotaDaily: type: integer - description: The updated daily video quota of the user + description: The updated daily video quota of the user in bytes pluginAuth: type: string nullable: true @@ -5776,16 +5802,10 @@ components: $ref: '#/components/schemas/UserRole' adminFlags: $ref: '#/components/schemas/UserAdminFlags' - required: - - id UpdateMe: properties: password: - type: string - format: password - description: Your new password - minLength: 6 - maxLength: 255 + $ref: '#/components/schemas/password' email: type: string format: email @@ -5808,8 +5828,7 @@ components: GetMeVideoRating: properties: id: - type: string - description: Id of the video + $ref: '#/components/schemas/id' rating: type: string enum: @@ -5837,17 +5856,9 @@ components: RegisterUser: properties: username: - type: string - description: The username of the user - minLength: 1 - maxLength: 50 - pattern: '/^[a-z0-9._]{1,50}$/' + $ref: '#/components/schemas/username' password: - type: string - format: password - description: The password of the user - minLength: 6 - maxLength: 255 + $ref: '#/components/schemas/password' email: type: string format: email @@ -5861,9 +5872,7 @@ components: type: object properties: name: - type: string - description: The username for the default channel - pattern: '/^[ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\\-_.:]+$/' + $ref: '#/components/schemas/usernameChannel' displayName: type: string description: The display name for the default channel @@ -5874,40 +5883,64 @@ components: - password - email - VideoChannelCommon: + VideoChannel: properties: + # GET/POST/PUT properties displayName: type: string + example: Videos of Framasoft minLength: 1 maxLength: 120 description: type: string + example: Videos made with <3 by Framasoft minLength: 3 maxLength: 1000 support: type: string - description: 'A text shown by default on all videos of this channel, to tell the audience how to support it' + description: text shown by default on all videos of this channel, to tell the audience how to support it example: Please support my work on ! <3 minLength: 3 maxLength: 1000 + # GET-only properties + id: + readOnly: true + allOf: + - $ref: '#/components/schemas/id' + isLocal: + readOnly: true + type: boolean + updatedAt: + readOnly: true + type: string + format: date-time + ownerAccount: + readOnly: true + nullable: true + type: object + properties: + id: + type: integer + uuid: + $ref: '#/components/schemas/UUIDv4' VideoChannelCreate: allOf: - - $ref: '#/components/schemas/VideoChannelCommon' + - $ref: '#/components/schemas/VideoChannel' - properties: name: - type: string - minLength: 1 - maxLength: 120 + description: username of the channel to create + allOf: + - $ref: '#/components/schemas/usernameChannel' required: - name - displayName VideoChannelUpdate: allOf: - - $ref: '#/components/schemas/VideoChannelCommon' + - $ref: '#/components/schemas/VideoChannel' - properties: bulkVideosSupportUpdate: type: boolean - description: 'Update the support field for all videos of this channel' + description: Update the support field for all videos of this channel VideoChannelList: properties: total: @@ -6123,7 +6156,7 @@ components: Notification: properties: id: - type: integer + $ref: '#/components/schemas/id' type: type: integer description: > @@ -6171,7 +6204,7 @@ components: type: object properties: id: - type: integer + $ref: '#/components/schemas/id' video: nullable: true $ref: '#/components/schemas/VideoInfo' @@ -6191,7 +6224,7 @@ components: type: object properties: id: - type: integer + $ref: '#/components/schemas/id' threadId: type: integer video: @@ -6203,7 +6236,7 @@ components: type: object properties: id: - type: integer + $ref: '#/components/schemas/id' video: allOf: - $ref: '#/components/schemas/VideoInfo' @@ -6212,7 +6245,7 @@ components: type: object properties: id: - type: integer + $ref: '#/components/schemas/id' video: allOf: - $ref: '#/components/schemas/VideoInfo' @@ -6225,7 +6258,7 @@ components: nullable: true properties: id: - type: integer + $ref: '#/components/schemas/id' follower: $ref: '#/components/schemas/ActorInfo' state: From de3876b815c9f095f557fe8bd6ee7c22d842c974 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Tue, 11 May 2021 01:18:02 +0200 Subject: [PATCH 059/136] explicit error formatting variant in openapi spec --- support/doc/api/openapi.yaml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 7316b0b58..1a0822c8f 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -39,12 +39,25 @@ info: The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following - format. + formats. ``` { - "code": "unauthorized_request", // example inner error code - "error": "Token is invalid." // example exposed error message + "error": "Account not found" // error debug message + } + ``` + + Some errors benefit from a more detailed message: + ``` + { + "errors": { + "id": { // where 'id' is the name of the parameter concerned by the error. + "value": "a117eb-c6a9-4756-bb09-2a956239f", // value that triggered the error. + "msg": "Should have an valid id", // error debug message + "param": "id", + "location": "params" // 'params', 'body', 'header', 'query' or 'cookies' + } + } } ``` From 2c4876f215884c0ada750245138d74460f8e4e2f Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Tue, 11 May 2021 01:50:36 +0200 Subject: [PATCH 060/136] added descriptions for video files/import fields in openapi spec --- support/doc/api/openapi.yaml | 52 +++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 1a0822c8f..458aa9c94 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -1679,14 +1679,13 @@ paths: type: string format: binary targetUrl: - description: HTTP target URL - type: string + $ref: '#/components/schemas/VideoImport/properties/targetUrl' magnetUri: - description: Magnet URI - type: string + $ref: '#/components/schemas/VideoImport/properties/magnetUri' channelId: description: Channel id that will contain this video - type: integer + allOf: + - $ref: '#/components/schemas/VideoChannel/properties/id' thumbnailfile: description: Video thumbnail file type: string @@ -4425,6 +4424,7 @@ components: `0` is used as a special value for stillimage videos dedicated to audio, a.k.a. audio-only videos. example: 240 VideoResolutionConstant: + description: resolutions and their labels for the video properties: id: $ref: '#/components/schemas/VideoResolutionSet' @@ -4490,14 +4490,19 @@ components: allOf: - $ref: '#/components/schemas/Video' VideoFile: + readOnly: true properties: magnetUri: type: string + format: uri + description: magnet URI allowing to resolve the video via BitTorrent without a metainfo file + example: magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4 + pattern: /magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32}/i resolution: $ref: '#/components/schemas/VideoResolutionConstant' size: type: integer - description: 'Video file size in bytes' + description: Video file size in bytes torrentUrl: type: string description: Direct URL of the torrent file @@ -4516,9 +4521,11 @@ components: format: url fps: type: number + description: Frames per second of the video file metadataUrl: type: string format: url + description: URL dereferencing the output of ffprobe on the file VideoStreamingPlaylists: allOf: - type: object @@ -4719,6 +4726,9 @@ components: items: type: string format: url + example: + - https://peertube2.cpy.re/tracker/announce + - wss://peertube2.cpy.re/tracker/socket files: type: array items: @@ -4803,11 +4813,14 @@ components: targetUrl: type: string format: url + description: remote URL where to find the import's source video example: https://framatube.org/videos/watch/9c9de5e8-0a1e-484a-b099-e80766180a6d magnetUri: type: string format: uri + description: magnet URI allowing to resolve the import's source video example: magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4 + pattern: /magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32}/i torrentName: type: string state: @@ -4821,7 +4834,9 @@ components: type: string format: date-time video: - $ref: '#/components/schemas/Video' + nullable: true + allOf: + - $ref: '#/components/schemas/Video' VideoImportsList: properties: total: @@ -5020,16 +5035,24 @@ components: type: string format: url name: - type: string + description: immutable name of the actor + allOf: + - $ref: '#/components/schemas/username' host: type: string format: hostname + description: server on which the actor is resident hostRedundancyAllowed: type: boolean + description: whether this actor's host allows redundancy of its videos followingCount: type: integer + minimum: 0 + description: number of actors subscribed to by this actor, as seen by this instance followersCount: type: integer + minimum: 0 + description: number of followers of this actor, as seen by this instance createdAt: type: string format: date-time @@ -5043,11 +5066,15 @@ components: - $ref: '#/components/schemas/Actor' - properties: userId: - $ref: '#/components/schemas/id' + description: object id for the user tied to this account + allOf: + - $ref: '#/components/schemas/User/properties/id' displayName: type: string + description: name displayed on the account's profile description: type: string + description: text or bio displayed on the account's profile UserWatchingVideo: properties: currentTime: @@ -5698,7 +5725,8 @@ components: type: boolean description: Has the user confirmed their email address? id: - type: integer + allOf: + - $ref: '#/components/schemas/id' readOnly: true pluginAuth: type: string @@ -6225,9 +6253,7 @@ components: type: string nullable: true magnetUri: - type: string - format: uri - nullable: true + $ref: '#/components/schemas/VideoImport/properties/magnetUri' targetUri: type: string format: uri From 71fb8b5a344a91ecf9ecc98b6acebeb96d41b834 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 08:41:26 +0200 Subject: [PATCH 061/136] Fix paused upload message --- .../+video-edit/video-add-components/video-upload.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts index 2d3fc3578..bca1b6eb6 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-upload.component.ts @@ -122,7 +122,7 @@ export class VideoUploadComponent extends VideoSend implements OnInit, OnDestroy break case 'paused': - this.notifier.info($localize`Upload cancelled`) + this.notifier.info($localize`Upload on hold`) break case 'complete': From d795b76c44fbecb1438053a7d636f6fc089c8fa9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 08:41:34 +0200 Subject: [PATCH 062/136] Fix nginx config --- support/nginx/peertube | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/support/nginx/peertube b/support/nginx/peertube index d03f14613..7c95c130c 100644 --- a/support/nginx/peertube +++ b/support/nginx/peertube @@ -79,10 +79,8 @@ server { } location = /api/v1/videos/upload-resumable { - if ($request_method = 'PUT') { - client_max_body_size 0; - proxy_request_buffering off; - } + client_max_body_size 0; + proxy_request_buffering off; try_files /dev/null @api; } From b62ce47c61c3ee9eb35ab16cbe17cba6a3d7d414 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 08:57:43 +0200 Subject: [PATCH 063/136] Update changelog --- CHANGELOG.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef0ec39bf..4f57fc529 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ # Changelog -## v3.2.0-rc.1 (~ May) +## v3.2.0-rc.1 ### IMPORTANT NOTES + * **Important:** You must update your nginx configuration to add the `upload-resumable` endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81 * **Important:** Due to a bug in ffmpeg, PeerTube is not compatible with ffmpeg 4.4. See https://github.com/Chocobozzz/PeerTube/issues/3990 + * **Important:** Drop NodeJS 10 support + * PeerTube is not compatible with NodeJS 16 yet * By default, HLS transcoding is now enabled and webtorrent is disabled. We suggest you to reflect this change. See [the documentation](https://docs.joinpeertube.org/admin-configuration?id=webtorrent-transcoding-or-hls-transcoding) for more information * PeerTube client now displays bigger video thumbnails. @@ -15,6 +18,7 @@ * Support `X-Frame-Options` header, enabled by default in the configuration * Directly use `node` in [systemd template](https://github.com/Chocobozzz/PeerTube/blob/develop/support/systemd/peertube.service) * Check ffmpeg version at PeerTube startup + * Add `upload-resumable` nginx endpoint: https://github.com/Chocobozzz/PeerTube/blob/develop/support/nginx/peertube#L81 ### CLI tools @@ -63,6 +67,7 @@ ### Features + * :tada: Most robust uploads using a resumable upload endpoint [#3933](https://github.com/Chocobozzz/PeerTube/pull/3933) * Accessibility/UI: * :tada: Redesign channel and account page * :tada: Increase video miniature size @@ -80,6 +85,7 @@ * Add link below the player to open the video on origin instance [#3624](https://github.com/Chocobozzz/PeerTube/issues/3624) * Notify admins on new available PeerTube version * Notify admins on new available plugin version + * Sort channels by last uploaded videos * Video player: * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949) * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955) @@ -103,6 +109,7 @@ * Performance: * Player now lazy loads video captions * Faster admin table filters + * Optimize feed endpoint ### Bug fixes @@ -120,6 +127,8 @@ * Fix h265 video import using CLI * Fix context menu when watching a playlist * Fix transcoding job priority preventing video publication when there are many videos to transcode + * Fix remote account/channel "joined at" + * Fix CLI plugins list command options [#4055](https://github.com/Chocobozzz/PeerTube/pull/4055) From ea868761336d1180abfa284e2717d67cc8ba0373 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 09:02:59 +0200 Subject: [PATCH 064/136] Fix changelog indentation --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f57fc529..6d9f09833 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -87,11 +87,11 @@ * Notify admins on new available plugin version * Sort channels by last uploaded videos * Video player: - * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949) - * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955) - * Add a *Previous* button in playlist watch page [#3485](https://github.com/Chocobozzz/PeerTube/pull/3485) - * Automatically close the settings menu when clicking outside the player - * Add "stats for nerds" panel in context menu [#3958](https://github.com/Chocobozzz/PeerTube/pull/3958) + * Add loop toggle to context menu [#3949](https://github.com/Chocobozzz/PeerTube/pull/3949) + * Add icons to context menu [#3955](https://github.com/Chocobozzz/PeerTube/pull/3955) + * Add a *Previous* button in playlist watch page [#3485](https://github.com/Chocobozzz/PeerTube/pull/3485) + * Automatically close the settings menu when clicking outside the player + * Add "stats for nerds" panel in context menu [#3958](https://github.com/Chocobozzz/PeerTube/pull/3958) * Add channel and playlist stats to stats endpoint [#3747](https://github.com/Chocobozzz/PeerTube/pull/3747) * Support `playlistPosition=last` and negative index (`playlistPosition=-2`) URL query parameters for playlists [#3974](https://github.com/Chocobozzz/PeerTube/pull/3974) * My videos: From 462212107a04592518193d8e9a7a7c517d982791 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 09:05:52 +0200 Subject: [PATCH 065/136] Bumped to version v3.2.0-rc.1 --- client/package.json | 2 +- package.json | 2 +- support/doc/api/openapi.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/client/package.json b/client/package.json index 8486ace22..7a9d872cd 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "peertube-client", - "version": "3.1.0", + "version": "3.2.0-rc.1", "private": true, "license": "AGPL-3.0", "author": { diff --git a/package.json b/package.json index d3375c7d4..f62cf22a8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "peertube", "description": "PeerTube, an ActivityPub-federated video streaming platform using P2P directly in your web browser.", - "version": "3.1.0", + "version": "3.2.0-rc.1", "private": true, "licence": "AGPL-3.0", "engines": { diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 458aa9c94..0e0d2ab5f 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: PeerTube - version: 3.1.0 + version: 3.2.0-rc.1 contact: name: PeerTube Community url: 'https://joinpeertube.org' From ac2a5b54271e3c3090f863754350907ec916bac2 Mon Sep 17 00:00:00 2001 From: Rigel Kent Date: Tue, 11 May 2021 10:07:15 +0200 Subject: [PATCH 066/136] factorized upload and import post fields in openapi spec closes #4075 --- support/doc/api/openapi.yaml | 108 ++++++++++++----------------------- 1 file changed, 38 insertions(+), 70 deletions(-) diff --git a/support/doc/api/openapi.yaml b/support/doc/api/openapi.yaml index 0e0d2ab5f..d5b624048 100644 --- a/support/doc/api/openapi.yaml +++ b/support/doc/api/openapi.yaml @@ -1672,74 +1672,7 @@ paths: content: multipart/form-data: schema: - type: object - properties: - torrentfile: - description: Torrent File - type: string - format: binary - targetUrl: - $ref: '#/components/schemas/VideoImport/properties/targetUrl' - magnetUri: - $ref: '#/components/schemas/VideoImport/properties/magnetUri' - channelId: - description: Channel id that will contain this video - allOf: - - $ref: '#/components/schemas/VideoChannel/properties/id' - thumbnailfile: - description: Video thumbnail file - type: string - format: binary - previewfile: - description: Video preview file - type: string - format: binary - privacy: - $ref: '#/components/schemas/VideoPrivacySet' - category: - $ref: '#/components/schemas/VideoCategorySet' - licence: - $ref: '#/components/schemas/VideoLicenceSet' - language: - $ref: '#/components/schemas/VideoLanguageSet' - description: - description: Video description - type: string - waitTranscoding: - description: Whether or not we wait transcoding before publish the video - type: boolean - support: - description: A text tell the audience how to support the video creator - example: Please support my work on ! <3 - type: string - nsfw: - description: Whether or not this video contains sensitive content - type: boolean - name: - description: Video name - type: string - minLength: 3 - maxLength: 120 - tags: - description: Video tags (maximum 5 tags each between 2 and 30 characters) - type: array - minItems: 1 - maxItems: 5 - items: - type: string - minLength: 2 - maxLength: 30 - commentsEnabled: - description: Enable or disable comments for this video - type: boolean - downloadEnabled: - description: Enable or disable downloading for this video - type: boolean - scheduleUpdate: - $ref: '#/components/schemas/VideoScheduledUpdate' - required: - - channelId - - name + $ref: '#/components/schemas/VideoCreateImport' encoding: torrentfile: contentType: application/x-bittorrent @@ -4806,10 +4739,33 @@ components: label: type: string example: Pending + VideoCreateImport: + allOf: + - type: object + additionalProperties: false + oneOf: + - properties: + targetUrl: + $ref: '#/components/schemas/VideoImport/properties/targetUrl' + required: [targetUrl] + - properties: + magnetUri: + $ref: '#/components/schemas/VideoImport/properties/magnetUri' + required: [magnetUri] + - properties: + torrentfile: + $ref: '#/components/schemas/VideoImport/properties/torrentfile' + required: [torrentfile] + - $ref: '#/components/schemas/VideoUploadRequestCommon' + required: + - channelId + - name VideoImport: properties: id: - $ref: '#/components/schemas/id' + readOnly: true + allOf: + - $ref: '#/components/schemas/id' targetUrl: type: string format: url @@ -4821,19 +4777,31 @@ components: description: magnet URI allowing to resolve the import's source video example: magnet:?xs=https%3A%2F%2Fframatube.org%2Fstatic%2Ftorrents%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.torrent&xt=urn:btih:38b4747ff788b30bf61f59d1965cd38f9e48e01f&dn=What+is+PeerTube%3F&tr=wss%3A%2F%2Fframatube.org%2Ftracker%2Fsocket&tr=https%3A%2F%2Fframatube.org%2Ftracker%2Fannounce&ws=https%3A%2F%2Fframatube.org%2Fstatic%2Fwebseed%2F9c9de5e8-0a1e-484a-b099-e80766180a6d-240.mp4 pattern: /magnet:\?xt=urn:[a-z0-9]+:[a-z0-9]{32}/i + torrentfile: + writeOnly: true + type: string + format: binary + description: Torrent file containing only the video file torrentName: + readOnly: true type: string state: - $ref: '#/components/schemas/VideoImportStateConstant' + readOnly: true + allOf: + - $ref: '#/components/schemas/VideoImportStateConstant' error: + readOnly: true type: string createdAt: + readOnly: true type: string format: date-time updatedAt: + readOnly: true type: string format: date-time video: + readOnly: true nullable: true allOf: - $ref: '#/components/schemas/Video' From 1bcb03a100d172903b877d6a0e4ed11d63b14f3d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 10:54:05 +0200 Subject: [PATCH 067/136] Use a class for youtube-dl --- server/controllers/api/videos/import.ts | 9 +- server/controllers/static.ts | 3 +- server/helpers/youtube-dl.ts | 657 +++++++++--------- server/lib/config.ts | 12 +- server/lib/job-queue/handlers/video-import.ts | 7 +- .../schedulers/youtube-dl-update-scheduler.ts | 6 +- server/lib/video-transcoding.ts | 13 +- server/tools/peertube-import-videos.ts | 25 +- 8 files changed, 368 insertions(+), 364 deletions(-) diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts index 3b9b887e2..37fd42b90 100644 --- a/server/controllers/api/videos/import.ts +++ b/server/controllers/api/videos/import.ts @@ -3,6 +3,7 @@ import { move, readFile } from 'fs-extra' import * as magnetUtil from 'magnet-uri' import * as parseTorrent from 'parse-torrent' import { join } from 'path' +import { getEnabledResolutions } from '@server/lib/config' import { setVideoTags } from '@server/lib/video' import { MChannelAccountDefault, @@ -24,7 +25,7 @@ import { isArray } from '../../../helpers/custom-validators/misc' import { createReqFiles } from '../../../helpers/express-utils' import { logger } from '../../../helpers/logger' import { getSecureTorrentName } from '../../../helpers/utils' -import { getYoutubeDLInfo, getYoutubeDLSubs, YoutubeDLInfo } from '../../../helpers/youtube-dl' +import { YoutubeDL, YoutubeDLInfo } from '../../../helpers/youtube-dl' import { CONFIG } from '../../../initializers/config' import { MIMETYPES } from '../../../initializers/constants' import { sequelizeTypescript } from '../../../initializers/database' @@ -139,10 +140,12 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response) const targetUrl = body.targetUrl const user = res.locals.oauth.token.User + const youtubeDL = new YoutubeDL(targetUrl, getEnabledResolutions('vod')) + // Get video infos let youtubeDLInfo: YoutubeDLInfo try { - youtubeDLInfo = await getYoutubeDLInfo(targetUrl) + youtubeDLInfo = await youtubeDL.getYoutubeDLInfo() } catch (err) { logger.info('Cannot fetch information from import for URL %s.', targetUrl, { err }) @@ -188,7 +191,7 @@ async function addYoutubeDLImport (req: express.Request, res: express.Response) // Get video subtitles try { - const subtitles = await getYoutubeDLSubs(targetUrl) + const subtitles = await youtubeDL.getYoutubeDLSubs() logger.info('Will create %s subtitles from youtube import %s.', subtitles.length, targetUrl) diff --git a/server/controllers/static.ts b/server/controllers/static.ts index 8d9003a3e..5cf4e9575 100644 --- a/server/controllers/static.ts +++ b/server/controllers/static.ts @@ -2,7 +2,7 @@ import * as cors from 'cors' import * as express from 'express' import { join } from 'path' import { serveIndexHTML } from '@server/lib/client-html' -import { getRegisteredPlugins, getRegisteredThemes } from '@server/lib/config' +import { getEnabledResolutions, getRegisteredPlugins, getRegisteredThemes } from '@server/lib/config' import { HttpStatusCode } from '@shared/core-utils/miscs/http-error-codes' import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../../shared/models/nodeinfo' import { root } from '../helpers/core-utils' @@ -18,7 +18,6 @@ import { WEBSERVER } from '../initializers/constants' import { getThemeOrDefault } from '../lib/plugins/theme-utils' -import { getEnabledResolutions } from '../lib/video-transcoding' import { asyncMiddleware } from '../middlewares' import { cacheRoute } from '../middlewares/cache' import { UserModel } from '../models/account/user' diff --git a/server/helpers/youtube-dl.ts b/server/helpers/youtube-dl.ts index fac3da6ba..d003ea3cf 100644 --- a/server/helpers/youtube-dl.ts +++ b/server/helpers/youtube-dl.ts @@ -6,7 +6,6 @@ import { CONFIG } from '@server/initializers/config' import { HttpStatusCode } from '../../shared/core-utils/miscs/http-error-codes' import { VideoResolution } from '../../shared/models/videos' import { CONSTRAINTS_FIELDS, VIDEO_CATEGORIES, VIDEO_LANGUAGES, VIDEO_LICENCES } from '../initializers/constants' -import { getEnabledResolutions } from '../lib/video-transcoding' import { peertubeTruncate, pipelinePromise, root } from './core-utils' import { isVideoFileExtnameValid } from './custom-validators/videos' import { logger } from './logger' @@ -35,361 +34,359 @@ const processOptions = { maxBuffer: 1024 * 1024 * 10 // 10MB } -function getYoutubeDLInfo (url: string, opts?: string[]): Promise { - return new Promise((res, rej) => { - let args = opts || [ '-j', '--flat-playlist' ] +class YoutubeDL { - if (CONFIG.IMPORT.VIDEOS.HTTP.FORCE_IPV4) { - args.push('--force-ipv4') + constructor (private readonly url: string = '', private readonly enabledResolutions: number[] = []) { + + } + + getYoutubeDLInfo (opts?: string[]): Promise { + return new Promise((res, rej) => { + let args = opts || [ '-j', '--flat-playlist' ] + + if (CONFIG.IMPORT.VIDEOS.HTTP.FORCE_IPV4) { + args.push('--force-ipv4') + } + + args = this.wrapWithProxyOptions(args) + args = [ '-f', this.getYoutubeDLVideoFormat() ].concat(args) + + YoutubeDL.safeGetYoutubeDL() + .then(youtubeDL => { + youtubeDL.getInfo(this.url, args, processOptions, (err, info) => { + if (err) return rej(err) + if (info.is_live === true) return rej(new Error('Cannot download a live streaming.')) + + const obj = this.buildVideoInfo(this.normalizeObject(info)) + if (obj.name && obj.name.length < CONSTRAINTS_FIELDS.VIDEOS.NAME.min) obj.name += ' video' + + return res(obj) + }) + }) + .catch(err => rej(err)) + }) + } + + getYoutubeDLSubs (opts?: object): Promise { + return new Promise((res, rej) => { + const cwd = CONFIG.STORAGE.TMP_DIR + const options = opts || { all: true, format: 'vtt', cwd } + + YoutubeDL.safeGetYoutubeDL() + .then(youtubeDL => { + youtubeDL.getSubs(this.url, options, (err, files) => { + if (err) return rej(err) + if (!files) return [] + + logger.debug('Get subtitles from youtube dl.', { url: this.url, files }) + + const subtitles = files.reduce((acc, filename) => { + const matched = filename.match(/\.([a-z]{2})(-[a-z]+)?\.(vtt|ttml)/i) + if (!matched || !matched[1]) return acc + + return [ + ...acc, + { + language: matched[1], + path: join(cwd, filename), + filename + } + ] + }, []) + + return res(subtitles) + }) + }) + .catch(err => rej(err)) + }) + } + + getYoutubeDLVideoFormat () { + /** + * list of format selectors in order or preference + * see https://github.com/ytdl-org/youtube-dl#format-selection + * + * case #1 asks for a mp4 using h264 (avc1) and the exact resolution in the hope + * of being able to do a "quick-transcode" + * case #2 is the first fallback. No "quick-transcode" means we can get anything else (like vp9) + * case #3 is the resolution-degraded equivalent of #1, and already a pretty safe fallback + * + * in any case we avoid AV1, see https://github.com/Chocobozzz/PeerTube/issues/3499 + **/ + const resolution = this.enabledResolutions.length === 0 + ? VideoResolution.H_720P + : Math.max(...this.enabledResolutions) + + return [ + `bestvideo[vcodec^=avc1][height=${resolution}]+bestaudio[ext=m4a]`, // case #1 + `bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=${resolution}]+bestaudio`, // case #2 + `bestvideo[vcodec^=avc1][height<=${resolution}]+bestaudio[ext=m4a]`, // case #3 + `bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio`, + 'best[vcodec!*=av01][vcodec!*=vp9.2]', // case fallback for known formats + 'best' // Ultimate fallback + ].join('/') + } + + downloadYoutubeDLVideo (fileExt: string, timeout: number) { + // Leave empty the extension, youtube-dl will add it + const pathWithoutExtension = generateVideoImportTmpPath(this.url, '') + + let timer + + logger.info('Importing youtubeDL video %s to %s', this.url, pathWithoutExtension) + + let options = [ '-f', this.getYoutubeDLVideoFormat(), '-o', pathWithoutExtension ] + options = this.wrapWithProxyOptions(options) + + if (process.env.FFMPEG_PATH) { + options = options.concat([ '--ffmpeg-location', process.env.FFMPEG_PATH ]) } - args = wrapWithProxyOptions(args) - args = [ '-f', getYoutubeDLVideoFormat() ].concat(args) + logger.debug('YoutubeDL options for %s.', this.url, { options }) - safeGetYoutubeDL() - .then(youtubeDL => { - youtubeDL.getInfo(url, args, processOptions, (err, info) => { - if (err) return rej(err) - if (info.is_live === true) return rej(new Error('Cannot download a live streaming.')) + return new Promise((res, rej) => { + YoutubeDL.safeGetYoutubeDL() + .then(youtubeDL => { + youtubeDL.exec(this.url, options, processOptions, async err => { + clearTimeout(timer) - const obj = buildVideoInfo(normalizeObject(info)) - if (obj.name && obj.name.length < CONSTRAINTS_FIELDS.VIDEOS.NAME.min) obj.name += ' video' - - return res(obj) - }) - }) - .catch(err => rej(err)) - }) -} - -function getYoutubeDLSubs (url: string, opts?: object): Promise { - return new Promise((res, rej) => { - const cwd = CONFIG.STORAGE.TMP_DIR - const options = opts || { all: true, format: 'vtt', cwd } - - safeGetYoutubeDL() - .then(youtubeDL => { - youtubeDL.getSubs(url, options, (err, files) => { - if (err) return rej(err) - if (!files) return [] - - logger.debug('Get subtitles from youtube dl.', { url, files }) - - const subtitles = files.reduce((acc, filename) => { - const matched = filename.match(/\.([a-z]{2})(-[a-z]+)?\.(vtt|ttml)/i) - if (!matched || !matched[1]) return acc - - return [ - ...acc, - { - language: matched[1], - path: join(cwd, filename), - filename + try { + // If youtube-dl did not guess an extension for our file, just use .mp4 as default + if (await pathExists(pathWithoutExtension)) { + await move(pathWithoutExtension, pathWithoutExtension + '.mp4') } - ] - }, []) - return res(subtitles) + const path = await this.guessVideoPathWithExtension(pathWithoutExtension, fileExt) + + if (err) { + remove(path) + .catch(err => logger.error('Cannot delete path on YoutubeDL error.', { err })) + + return rej(err) + } + + return res(path) + } catch (err) { + return rej(err) + } + }) + + timer = setTimeout(() => { + const err = new Error('YoutubeDL download timeout.') + + this.guessVideoPathWithExtension(pathWithoutExtension, fileExt) + .then(path => remove(path)) + .finally(() => rej(err)) + .catch(err => { + logger.error('Cannot remove file in youtubeDL timeout.', { err }) + return rej(err) + }) + }, timeout) }) - }) - .catch(err => rej(err)) - }) -} - -function getYoutubeDLVideoFormat () { - /** - * list of format selectors in order or preference - * see https://github.com/ytdl-org/youtube-dl#format-selection - * - * case #1 asks for a mp4 using h264 (avc1) and the exact resolution in the hope - * of being able to do a "quick-transcode" - * case #2 is the first fallback. No "quick-transcode" means we can get anything else (like vp9) - * case #3 is the resolution-degraded equivalent of #1, and already a pretty safe fallback - * - * in any case we avoid AV1, see https://github.com/Chocobozzz/PeerTube/issues/3499 - **/ - const enabledResolutions = getEnabledResolutions('vod') - const resolution = enabledResolutions.length === 0 - ? VideoResolution.H_720P - : Math.max(...enabledResolutions) - - return [ - `bestvideo[vcodec^=avc1][height=${resolution}]+bestaudio[ext=m4a]`, // case #1 - `bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=${resolution}]+bestaudio`, // case #2 - `bestvideo[vcodec^=avc1][height<=${resolution}]+bestaudio[ext=m4a]`, // case #3 - `bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio`, - 'best[vcodec!*=av01][vcodec!*=vp9.2]', // case fallback for known formats - 'best' // Ultimate fallback - ].join('/') -} - -function downloadYoutubeDLVideo (url: string, fileExt: string, timeout: number) { - // Leave empty the extension, youtube-dl will add it - const pathWithoutExtension = generateVideoImportTmpPath(url, '') - - let timer - - logger.info('Importing youtubeDL video %s to %s', url, pathWithoutExtension) - - let options = [ '-f', getYoutubeDLVideoFormat(), '-o', pathWithoutExtension ] - options = wrapWithProxyOptions(options) - - if (process.env.FFMPEG_PATH) { - options = options.concat([ '--ffmpeg-location', process.env.FFMPEG_PATH ]) + .catch(err => rej(err)) + }) } - logger.debug('YoutubeDL options for %s.', url, { options }) + buildOriginallyPublishedAt (obj: any) { + let originallyPublishedAt: Date = null - return new Promise((res, rej) => { - safeGetYoutubeDL() - .then(youtubeDL => { - youtubeDL.exec(url, options, processOptions, async err => { - clearTimeout(timer) + const uploadDateMatcher = /^(\d{4})(\d{2})(\d{2})$/.exec(obj.upload_date) + if (uploadDateMatcher) { + originallyPublishedAt = new Date() + originallyPublishedAt.setHours(0, 0, 0, 0) - try { - // If youtube-dl did not guess an extension for our file, just use .mp4 as default - if (await pathExists(pathWithoutExtension)) { - await move(pathWithoutExtension, pathWithoutExtension + '.mp4') - } + const year = parseInt(uploadDateMatcher[1], 10) + // Month starts from 0 + const month = parseInt(uploadDateMatcher[2], 10) - 1 + const day = parseInt(uploadDateMatcher[3], 10) - const path = await guessVideoPathWithExtension(pathWithoutExtension, fileExt) - - if (err) { - remove(path) - .catch(err => logger.error('Cannot delete path on YoutubeDL error.', { err })) - - return rej(err) - } - - return res(path) - } catch (err) { - return rej(err) - } - }) - - timer = setTimeout(() => { - const err = new Error('YoutubeDL download timeout.') - - guessVideoPathWithExtension(pathWithoutExtension, fileExt) - .then(path => remove(path)) - .finally(() => rej(err)) - .catch(err => { - logger.error('Cannot remove file in youtubeDL timeout.', { err }) - return rej(err) - }) - }, timeout) - }) - .catch(err => rej(err)) - }) -} - -// Thanks: https://github.com/przemyslawpluta/node-youtube-dl/blob/master/lib/downloader.js -// We rewrote it to avoid sync calls -async function updateYoutubeDLBinary () { - logger.info('Updating youtubeDL binary.') - - const binDirectory = join(root(), 'node_modules', 'youtube-dl', 'bin') - const bin = join(binDirectory, 'youtube-dl') - const detailsPath = join(binDirectory, 'details') - const url = process.env.YOUTUBE_DL_DOWNLOAD_HOST || 'https://yt-dl.org/downloads/latest/youtube-dl' - - await ensureDir(binDirectory) - - try { - const result = await got(url, { followRedirect: false }) - - if (result.statusCode !== HttpStatusCode.FOUND_302) { - logger.error('youtube-dl update error: did not get redirect for the latest version link. Status %d', result.statusCode) - return + originallyPublishedAt.setFullYear(year, month, day) } - const newUrl = result.headers.location - const newVersion = /yt-dl\.org\/downloads\/(\d{4}\.\d\d\.\d\d(\.\d)?)\/youtube-dl/.exec(newUrl)[1] - - const downloadFileStream = got.stream(newUrl) - const writeStream = createWriteStream(bin, { mode: 493 }) - - await pipelinePromise( - downloadFileStream, - writeStream - ) - - const details = JSON.stringify({ version: newVersion, path: bin, exec: 'youtube-dl' }) - await writeFile(detailsPath, details, { encoding: 'utf8' }) - - logger.info('youtube-dl updated to version %s.', newVersion) - } catch (err) { - logger.error('Cannot update youtube-dl.', { err }) - } -} - -async function safeGetYoutubeDL () { - let youtubeDL - - try { - youtubeDL = require('youtube-dl') - } catch (e) { - // Download binary - await updateYoutubeDLBinary() - youtubeDL = require('youtube-dl') + return originallyPublishedAt } - return youtubeDL -} + private async guessVideoPathWithExtension (tmpPath: string, sourceExt: string) { + if (!isVideoFileExtnameValid(sourceExt)) { + throw new Error('Invalid video extension ' + sourceExt) + } -function buildOriginallyPublishedAt (obj: any) { - let originallyPublishedAt: Date = null + const extensions = [ sourceExt, '.mp4', '.mkv', '.webm' ] - const uploadDateMatcher = /^(\d{4})(\d{2})(\d{2})$/.exec(obj.upload_date) - if (uploadDateMatcher) { - originallyPublishedAt = new Date() - originallyPublishedAt.setHours(0, 0, 0, 0) + for (const extension of extensions) { + const path = tmpPath + extension - const year = parseInt(uploadDateMatcher[1], 10) - // Month starts from 0 - const month = parseInt(uploadDateMatcher[2], 10) - 1 - const day = parseInt(uploadDateMatcher[3], 10) + if (await pathExists(path)) return path + } - originallyPublishedAt.setFullYear(year, month, day) + throw new Error('Cannot guess path of ' + tmpPath) } - return originallyPublishedAt + private normalizeObject (obj: any) { + const newObj: any = {} + + for (const key of Object.keys(obj)) { + // Deprecated key + if (key === 'resolution') continue + + const value = obj[key] + + if (typeof value === 'string') { + newObj[key] = value.normalize() + } else { + newObj[key] = value + } + } + + return newObj + } + + private buildVideoInfo (obj: any): YoutubeDLInfo { + return { + name: this.titleTruncation(obj.title), + description: this.descriptionTruncation(obj.description), + category: this.getCategory(obj.categories), + licence: this.getLicence(obj.license), + language: this.getLanguage(obj.language), + nsfw: this.isNSFW(obj), + tags: this.getTags(obj.tags), + thumbnailUrl: obj.thumbnail || undefined, + originallyPublishedAt: this.buildOriginallyPublishedAt(obj), + ext: obj.ext + } + } + + private titleTruncation (title: string) { + return peertubeTruncate(title, { + length: CONSTRAINTS_FIELDS.VIDEOS.NAME.max, + separator: /,? +/, + omission: ' […]' + }) + } + + private descriptionTruncation (description: string) { + if (!description || description.length < CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.min) return undefined + + return peertubeTruncate(description, { + length: CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.max, + separator: /,? +/, + omission: ' […]' + }) + } + + private isNSFW (info: any) { + return info.age_limit && info.age_limit >= 16 + } + + private getTags (tags: any) { + if (Array.isArray(tags) === false) return [] + + return tags + .filter(t => t.length < CONSTRAINTS_FIELDS.VIDEOS.TAG.max && t.length > CONSTRAINTS_FIELDS.VIDEOS.TAG.min) + .map(t => t.normalize()) + .slice(0, 5) + } + + private getLicence (licence: string) { + if (!licence) return undefined + + if (licence.includes('Creative Commons Attribution')) return 1 + + for (const key of Object.keys(VIDEO_LICENCES)) { + const peertubeLicence = VIDEO_LICENCES[key] + if (peertubeLicence.toLowerCase() === licence.toLowerCase()) return parseInt(key, 10) + } + + return undefined + } + + private getCategory (categories: string[]) { + if (!categories) return undefined + + const categoryString = categories[0] + if (!categoryString || typeof categoryString !== 'string') return undefined + + if (categoryString === 'News & Politics') return 11 + + for (const key of Object.keys(VIDEO_CATEGORIES)) { + const category = VIDEO_CATEGORIES[key] + if (categoryString.toLowerCase() === category.toLowerCase()) return parseInt(key, 10) + } + + return undefined + } + + private getLanguage (language: string) { + return VIDEO_LANGUAGES[language] ? language : undefined + } + + private wrapWithProxyOptions (options: string[]) { + if (CONFIG.IMPORT.VIDEOS.HTTP.PROXY.ENABLED) { + logger.debug('Using proxy for YoutubeDL') + + return [ '--proxy', CONFIG.IMPORT.VIDEOS.HTTP.PROXY.URL ].concat(options) + } + + return options + } + + // Thanks: https://github.com/przemyslawpluta/node-youtube-dl/blob/master/lib/downloader.js + // We rewrote it to avoid sync calls + static async updateYoutubeDLBinary () { + logger.info('Updating youtubeDL binary.') + + const binDirectory = join(root(), 'node_modules', 'youtube-dl', 'bin') + const bin = join(binDirectory, 'youtube-dl') + const detailsPath = join(binDirectory, 'details') + const url = process.env.YOUTUBE_DL_DOWNLOAD_HOST || 'https://yt-dl.org/downloads/latest/youtube-dl' + + await ensureDir(binDirectory) + + try { + const result = await got(url, { followRedirect: false }) + + if (result.statusCode !== HttpStatusCode.FOUND_302) { + logger.error('youtube-dl update error: did not get redirect for the latest version link. Status %d', result.statusCode) + return + } + + const newUrl = result.headers.location + const newVersion = /yt-dl\.org\/downloads\/(\d{4}\.\d\d\.\d\d(\.\d)?)\/youtube-dl/.exec(newUrl)[1] + + const downloadFileStream = got.stream(newUrl) + const writeStream = createWriteStream(bin, { mode: 493 }) + + await pipelinePromise( + downloadFileStream, + writeStream + ) + + const details = JSON.stringify({ version: newVersion, path: bin, exec: 'youtube-dl' }) + await writeFile(detailsPath, details, { encoding: 'utf8' }) + + logger.info('youtube-dl updated to version %s.', newVersion) + } catch (err) { + logger.error('Cannot update youtube-dl.', { err }) + } + } + + static async safeGetYoutubeDL () { + let youtubeDL + + try { + youtubeDL = require('youtube-dl') + } catch (e) { + // Download binary + await this.updateYoutubeDLBinary() + youtubeDL = require('youtube-dl') + } + + return youtubeDL + } } // --------------------------------------------------------------------------- export { - updateYoutubeDLBinary, - getYoutubeDLVideoFormat, - downloadYoutubeDLVideo, - getYoutubeDLSubs, - getYoutubeDLInfo, - safeGetYoutubeDL, - buildOriginallyPublishedAt -} - -// --------------------------------------------------------------------------- - -async function guessVideoPathWithExtension (tmpPath: string, sourceExt: string) { - if (!isVideoFileExtnameValid(sourceExt)) { - throw new Error('Invalid video extension ' + sourceExt) - } - - const extensions = [ sourceExt, '.mp4', '.mkv', '.webm' ] - - for (const extension of extensions) { - const path = tmpPath + extension - - if (await pathExists(path)) return path - } - - throw new Error('Cannot guess path of ' + tmpPath) -} - -function normalizeObject (obj: any) { - const newObj: any = {} - - for (const key of Object.keys(obj)) { - // Deprecated key - if (key === 'resolution') continue - - const value = obj[key] - - if (typeof value === 'string') { - newObj[key] = value.normalize() - } else { - newObj[key] = value - } - } - - return newObj -} - -function buildVideoInfo (obj: any): YoutubeDLInfo { - return { - name: titleTruncation(obj.title), - description: descriptionTruncation(obj.description), - category: getCategory(obj.categories), - licence: getLicence(obj.license), - language: getLanguage(obj.language), - nsfw: isNSFW(obj), - tags: getTags(obj.tags), - thumbnailUrl: obj.thumbnail || undefined, - originallyPublishedAt: buildOriginallyPublishedAt(obj), - ext: obj.ext - } -} - -function titleTruncation (title: string) { - return peertubeTruncate(title, { - length: CONSTRAINTS_FIELDS.VIDEOS.NAME.max, - separator: /,? +/, - omission: ' […]' - }) -} - -function descriptionTruncation (description: string) { - if (!description || description.length < CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.min) return undefined - - return peertubeTruncate(description, { - length: CONSTRAINTS_FIELDS.VIDEOS.DESCRIPTION.max, - separator: /,? +/, - omission: ' […]' - }) -} - -function isNSFW (info: any) { - return info.age_limit && info.age_limit >= 16 -} - -function getTags (tags: any) { - if (Array.isArray(tags) === false) return [] - - return tags - .filter(t => t.length < CONSTRAINTS_FIELDS.VIDEOS.TAG.max && t.length > CONSTRAINTS_FIELDS.VIDEOS.TAG.min) - .map(t => t.normalize()) - .slice(0, 5) -} - -function getLicence (licence: string) { - if (!licence) return undefined - - if (licence.includes('Creative Commons Attribution')) return 1 - - for (const key of Object.keys(VIDEO_LICENCES)) { - const peertubeLicence = VIDEO_LICENCES[key] - if (peertubeLicence.toLowerCase() === licence.toLowerCase()) return parseInt(key, 10) - } - - return undefined -} - -function getCategory (categories: string[]) { - if (!categories) return undefined - - const categoryString = categories[0] - if (!categoryString || typeof categoryString !== 'string') return undefined - - if (categoryString === 'News & Politics') return 11 - - for (const key of Object.keys(VIDEO_CATEGORIES)) { - const category = VIDEO_CATEGORIES[key] - if (categoryString.toLowerCase() === category.toLowerCase()) return parseInt(key, 10) - } - - return undefined -} - -function getLanguage (language: string) { - return VIDEO_LANGUAGES[language] ? language : undefined -} - -function wrapWithProxyOptions (options: string[]) { - if (CONFIG.IMPORT.VIDEOS.HTTP.PROXY.ENABLED) { - logger.debug('Using proxy for YoutubeDL') - - return [ '--proxy', CONFIG.IMPORT.VIDEOS.HTTP.PROXY.URL ].concat(options) - } - - return options + YoutubeDL } diff --git a/server/lib/config.ts b/server/lib/config.ts index b4c4c9299..eb4510680 100644 --- a/server/lib/config.ts +++ b/server/lib/config.ts @@ -6,7 +6,6 @@ import { RegisteredExternalAuthConfig, RegisteredIdAndPassAuthConfig, ServerConf import { Hooks } from './plugins/hooks' import { PluginManager } from './plugins/plugin-manager' import { getThemeOrDefault } from './plugins/theme-utils' -import { getEnabledResolutions } from './video-transcoding' import { VideoTranscodingProfilesManager } from './video-transcoding-profiles' let serverCommit: string @@ -208,11 +207,22 @@ function getRegisteredPlugins () { })) } +function getEnabledResolutions (type: 'vod' | 'live') { + const transcoding = type === 'vod' + ? CONFIG.TRANSCODING + : CONFIG.LIVE.TRANSCODING + + return Object.keys(transcoding.RESOLUTIONS) + .filter(key => transcoding.ENABLED && transcoding.RESOLUTIONS[key] === true) + .map(r => parseInt(r, 10)) +} + // --------------------------------------------------------------------------- export { getServerConfig, getRegisteredThemes, + getEnabledResolutions, getRegisteredPlugins } diff --git a/server/lib/job-queue/handlers/video-import.ts b/server/lib/job-queue/handlers/video-import.ts index ed2c5eac0..3067ce214 100644 --- a/server/lib/job-queue/handlers/video-import.ts +++ b/server/lib/job-queue/handlers/video-import.ts @@ -23,7 +23,6 @@ import { getDurationFromVideoFile, getVideoFileFPS, getVideoFileResolution } fro import { logger } from '../../../helpers/logger' import { getSecureTorrentName } from '../../../helpers/utils' import { createTorrentAndSetInfoHash, downloadWebTorrentVideo } from '../../../helpers/webtorrent' -import { downloadYoutubeDLVideo } from '../../../helpers/youtube-dl' import { CONFIG } from '../../../initializers/config' import { VIDEO_IMPORT_TIMEOUT } from '../../../initializers/constants' import { sequelizeTypescript } from '../../../initializers/database' @@ -34,6 +33,8 @@ import { MThumbnail } from '../../../types/models/video/thumbnail' import { federateVideoIfNeeded } from '../../activitypub/videos' import { Notifier } from '../../notifier' import { generateVideoMiniature } from '../../thumbnail' +import { YoutubeDL } from '@server/helpers/youtube-dl' +import { getEnabledResolutions } from '@server/lib/config' async function processVideoImport (job: Bull.Job) { const payload = job.data as VideoImportPayload @@ -75,8 +76,10 @@ async function processYoutubeDLImport (job: Bull.Job, payload: VideoImportYoutub videoImportId: videoImport.id } + const youtubeDL = new YoutubeDL(videoImport.targetUrl, getEnabledResolutions('vod')) + return processFile( - () => downloadYoutubeDLVideo(videoImport.targetUrl, payload.fileExt, VIDEO_IMPORT_TIMEOUT), + () => youtubeDL.downloadYoutubeDLVideo(payload.fileExt, VIDEO_IMPORT_TIMEOUT), videoImport, options ) diff --git a/server/lib/schedulers/youtube-dl-update-scheduler.ts b/server/lib/schedulers/youtube-dl-update-scheduler.ts index aefe6aba4..898691c13 100644 --- a/server/lib/schedulers/youtube-dl-update-scheduler.ts +++ b/server/lib/schedulers/youtube-dl-update-scheduler.ts @@ -1,6 +1,6 @@ -import { AbstractScheduler } from './abstract-scheduler' +import { YoutubeDL } from '@server/helpers/youtube-dl' import { SCHEDULER_INTERVALS_MS } from '../../initializers/constants' -import { updateYoutubeDLBinary } from '../../helpers/youtube-dl' +import { AbstractScheduler } from './abstract-scheduler' export class YoutubeDlUpdateScheduler extends AbstractScheduler { @@ -13,7 +13,7 @@ export class YoutubeDlUpdateScheduler extends AbstractScheduler { } protected internalExecute () { - return updateYoutubeDLBinary() + return YoutubeDL.updateYoutubeDLBinary() } static get Instance () { diff --git a/server/lib/video-transcoding.ts b/server/lib/video-transcoding.ts index c949dca2e..51949f51a 100644 --- a/server/lib/video-transcoding.ts +++ b/server/lib/video-transcoding.ts @@ -215,16 +215,6 @@ function generateHlsPlaylistResolution (options: { }) } -function getEnabledResolutions (type: 'vod' | 'live') { - const transcoding = type === 'vod' - ? CONFIG.TRANSCODING - : CONFIG.LIVE.TRANSCODING - - return Object.keys(transcoding.RESOLUTIONS) - .filter(key => transcoding.ENABLED && transcoding.RESOLUTIONS[key] === true) - .map(r => parseInt(r, 10)) -} - // --------------------------------------------------------------------------- export { @@ -232,8 +222,7 @@ export { generateHlsPlaylistResolutionFromTS, optimizeOriginalVideofile, transcodeNewWebTorrentResolution, - mergeAudioVideofile, - getEnabledResolutions + mergeAudioVideofile } // --------------------------------------------------------------------------- diff --git a/server/tools/peertube-import-videos.ts b/server/tools/peertube-import-videos.ts index 915995031..b3f57a8f9 100644 --- a/server/tools/peertube-import-videos.ts +++ b/server/tools/peertube-import-videos.ts @@ -11,9 +11,9 @@ import { promisify } from 'util' import { advancedVideosSearch, getClient, getVideoCategories, login, uploadVideo } from '../../shared/extra-utils/index' import { sha256 } from '../helpers/core-utils' import { doRequestAndSaveToFile } from '../helpers/requests' -import { buildOriginallyPublishedAt, getYoutubeDLVideoFormat, safeGetYoutubeDL } from '../helpers/youtube-dl' import { CONSTRAINTS_FIELDS } from '../initializers/constants' import { buildCommonVideoOptions, buildVideoAttributesFromCommander, getLogger, getServerCredentials } from './cli' +import { YoutubeDL } from '@server/helpers/youtube-dl' type UserInfo = { username: string @@ -74,9 +74,9 @@ async function run (url: string, user: UserInfo) { user.password = await promptPassword() } - const youtubeDL = await safeGetYoutubeDL() + const youtubeDLBinary = await YoutubeDL.safeGetYoutubeDL() - let info = await getYoutubeDLInfo(youtubeDL, options.targetUrl, command.args) + let info = await getYoutubeDLInfo(youtubeDLBinary, options.targetUrl, command.args) if (!Array.isArray(info)) info = [ info ] @@ -86,7 +86,7 @@ async function run (url: string, user: UserInfo) { if (uploadsObject) { console.log('Fixing URL to %s.', uploadsObject.url) - info = await getYoutubeDLInfo(youtubeDL, uploadsObject.url, command.args) + info = await getYoutubeDLInfo(youtubeDLBinary, uploadsObject.url, command.args) } let infoArray: any[] @@ -130,13 +130,14 @@ async function processVideo (parameters: { youtubeInfo: any }) { const { youtubeInfo, cwd, url, user } = parameters + const youtubeDL = new YoutubeDL('', []) log.debug('Fetching object.', youtubeInfo) const videoInfo = await fetchObject(youtubeInfo) log.debug('Fetched object.', videoInfo) - const originallyPublishedAt = buildOriginallyPublishedAt(videoInfo) + const originallyPublishedAt = youtubeDL.buildOriginallyPublishedAt(videoInfo) if (options.since && originallyPublishedAt && originallyPublishedAt.getTime() < options.since.getTime()) { log.info('Video "%s" has been published before "%s", don\'t upload it.\n', videoInfo.title, formatDate(options.since)) @@ -161,13 +162,14 @@ async function processVideo (parameters: { log.info('Downloading video "%s"...', videoInfo.title) - const youtubeDLOptions = [ '-f', getYoutubeDLVideoFormat(), ...command.args, '-o', path ] + const youtubeDLOptions = [ '-f', youtubeDL.getYoutubeDLVideoFormat(), ...command.args, '-o', path ] try { - const youtubeDL = await safeGetYoutubeDL() - const youtubeDLExec = promisify(youtubeDL.exec).bind(youtubeDL) + const youtubeDLBinary = await YoutubeDL.safeGetYoutubeDL() + const youtubeDLExec = promisify(youtubeDLBinary.exec).bind(youtubeDLBinary) const output = await youtubeDLExec(videoInfo.url, youtubeDLOptions, processOptions) log.info(output.join('\n')) await uploadVideoOnPeerTube({ + youtubeDL, cwd, url, user, @@ -180,13 +182,14 @@ async function processVideo (parameters: { } async function uploadVideoOnPeerTube (parameters: { + youtubeDL: YoutubeDL videoInfo: any videoPath: string cwd: string url: string user: { username: string, password: string } }) { - const { videoInfo, videoPath, cwd, url, user } = parameters + const { youtubeDL, videoInfo, videoPath, cwd, url, user } = parameters const category = await getCategory(videoInfo.categories, url) const licence = getLicence(videoInfo.license) @@ -205,7 +208,7 @@ async function uploadVideoOnPeerTube (parameters: { await doRequestAndSaveToFile(videoInfo.thumbnail, thumbnailfile) } - const originallyPublishedAt = buildOriginallyPublishedAt(videoInfo) + const originallyPublishedAt = youtubeDL.buildOriginallyPublishedAt(videoInfo) const defaultAttributes = { name: truncate(videoInfo.title, { @@ -304,7 +307,7 @@ function fetchObject (info: any) { const url = buildUrl(info) return new Promise(async (res, rej) => { - const youtubeDL = await safeGetYoutubeDL() + const youtubeDL = await YoutubeDL.safeGetYoutubeDL() youtubeDL.getInfo(url, undefined, processOptions, (err, videoInfo) => { if (err) return rej(err) From c07902b9083ab5756436cd020bed5bdfa51028bf Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 10:57:25 +0200 Subject: [PATCH 068/136] Move transcoding files in their own directory --- scripts/optimize-old-videos.ts | 2 +- scripts/print-transcode-command.ts | 2 +- server/lib/config.ts | 2 +- .../job-queue/handlers/video-live-ending.ts | 2 +- .../job-queue/handlers/video-transcoding.ts | 2 +- server/lib/live-manager.ts | 2 +- server/lib/plugins/register-helpers.ts | 2 +- .../video-transcoding-profiles.ts | 8 +++---- .../{ => transcoding}/video-transcoding.ts | 22 +++++++++---------- 9 files changed, 22 insertions(+), 22 deletions(-) rename server/lib/{ => transcoding}/video-transcoding-profiles.ts (96%) rename server/lib/{ => transcoding}/video-transcoding.ts (94%) diff --git a/scripts/optimize-old-videos.ts b/scripts/optimize-old-videos.ts index 01d30244f..9692d76ba 100644 --- a/scripts/optimize-old-videos.ts +++ b/scripts/optimize-old-videos.ts @@ -5,7 +5,7 @@ import { VIDEO_TRANSCODING_FPS } from '../server/initializers/constants' import { getDurationFromVideoFile, getVideoFileBitrate, getVideoFileFPS, getVideoFileResolution } from '../server/helpers/ffprobe-utils' import { getMaxBitrate } from '../shared/models/videos' import { VideoModel } from '../server/models/video/video' -import { optimizeOriginalVideofile } from '../server/lib/video-transcoding' +import { optimizeOriginalVideofile } from '../server/lib/transcoding/video-transcoding' import { initDatabaseModels } from '../server/initializers/database' import { basename, dirname } from 'path' import { copy, move, remove } from 'fs-extra' diff --git a/scripts/print-transcode-command.ts b/scripts/print-transcode-command.ts index f6c96790e..00ac9ab6c 100644 --- a/scripts/print-transcode-command.ts +++ b/scripts/print-transcode-command.ts @@ -5,7 +5,7 @@ import * as program from 'commander' import * as ffmpeg from 'fluent-ffmpeg' import { buildx264VODCommand, runCommand, TranscodeOptions } from '@server/helpers/ffmpeg-utils' import { exit } from 'process' -import { VideoTranscodingProfilesManager } from '@server/lib/video-transcoding-profiles' +import { VideoTranscodingProfilesManager } from '@server/lib/transcoding/video-transcoding-profiles' program .arguments('') diff --git a/server/lib/config.ts b/server/lib/config.ts index eb4510680..fed468fe1 100644 --- a/server/lib/config.ts +++ b/server/lib/config.ts @@ -6,7 +6,7 @@ import { RegisteredExternalAuthConfig, RegisteredIdAndPassAuthConfig, ServerConf import { Hooks } from './plugins/hooks' import { PluginManager } from './plugins/plugin-manager' import { getThemeOrDefault } from './plugins/theme-utils' -import { VideoTranscodingProfilesManager } from './video-transcoding-profiles' +import { VideoTranscodingProfilesManager } from './transcoding/video-transcoding-profiles' let serverCommit: string diff --git a/server/lib/job-queue/handlers/video-live-ending.ts b/server/lib/job-queue/handlers/video-live-ending.ts index d57202ca5..517b90abc 100644 --- a/server/lib/job-queue/handlers/video-live-ending.ts +++ b/server/lib/job-queue/handlers/video-live-ending.ts @@ -5,9 +5,9 @@ import { ffprobePromise, getAudioStream, getDurationFromVideoFile, getVideoFileR import { VIDEO_LIVE } from '@server/initializers/constants' import { LiveManager } from '@server/lib/live-manager' import { generateVideoMiniature } from '@server/lib/thumbnail' +import { generateHlsPlaylistResolutionFromTS } from '@server/lib/transcoding/video-transcoding' import { publishAndFederateIfNeeded } from '@server/lib/video' import { getHLSDirectory } from '@server/lib/video-paths' -import { generateHlsPlaylistResolutionFromTS } from '@server/lib/video-transcoding' import { VideoModel } from '@server/models/video/video' import { VideoFileModel } from '@server/models/video/video-file' import { VideoLiveModel } from '@server/models/video/video-live' diff --git a/server/lib/job-queue/handlers/video-transcoding.ts b/server/lib/job-queue/handlers/video-transcoding.ts index 010b95b05..e31bc82f5 100644 --- a/server/lib/job-queue/handlers/video-transcoding.ts +++ b/server/lib/job-queue/handlers/video-transcoding.ts @@ -24,7 +24,7 @@ import { mergeAudioVideofile, optimizeOriginalVideofile, transcodeNewWebTorrentResolution -} from '../../video-transcoding' +} from '../../transcoding/video-transcoding' import { JobQueue } from '../job-queue' type HandlerFunction = (job: Bull.Job, payload: VideoTranscodingPayload, video: MVideoFullLight, user: MUser) => Promise diff --git a/server/lib/live-manager.ts b/server/lib/live-manager.ts index 66b5d119b..fe2a43f61 100644 --- a/server/lib/live-manager.ts +++ b/server/lib/live-manager.ts @@ -23,9 +23,9 @@ import { buildSha256Segment } from './hls' import { JobQueue } from './job-queue' import { cleanupLive } from './job-queue/handlers/video-live-ending' import { PeerTubeSocket } from './peertube-socket' +import { VideoTranscodingProfilesManager } from './transcoding/video-transcoding-profiles' import { isAbleToUploadVideo } from './user' import { getHLSDirectory } from './video-paths' -import { VideoTranscodingProfilesManager } from './video-transcoding-profiles' import memoizee = require('memoizee') const NodeRtmpSession = require('node-media-server/node_rtmp_session') diff --git a/server/lib/plugins/register-helpers.ts b/server/lib/plugins/register-helpers.ts index aa69ca2a2..203217b70 100644 --- a/server/lib/plugins/register-helpers.ts +++ b/server/lib/plugins/register-helpers.ts @@ -29,7 +29,7 @@ import { RegisterServerSettingOptions } from '@shared/models' import { serverHookObject } from '@shared/models/plugins/server-hook.model' -import { VideoTranscodingProfilesManager } from '../video-transcoding-profiles' +import { VideoTranscodingProfilesManager } from '../transcoding/video-transcoding-profiles' import { buildPluginHelpers } from './plugin-helpers-builder' type AlterableVideoConstant = 'language' | 'licence' | 'category' | 'privacy' | 'playlistPrivacy' diff --git a/server/lib/video-transcoding-profiles.ts b/server/lib/transcoding/video-transcoding-profiles.ts similarity index 96% rename from server/lib/video-transcoding-profiles.ts rename to server/lib/transcoding/video-transcoding-profiles.ts index 81f5e1962..c5ea72a5f 100644 --- a/server/lib/video-transcoding-profiles.ts +++ b/server/lib/transcoding/video-transcoding-profiles.ts @@ -1,6 +1,6 @@ import { logger } from '@server/helpers/logger' -import { AvailableEncoders, EncoderOptionsBuilder, getTargetBitrate, VideoResolution } from '../../shared/models/videos' -import { buildStreamSuffix, resetSupportedEncoders } from '../helpers/ffmpeg-utils' +import { AvailableEncoders, EncoderOptionsBuilder, getTargetBitrate, VideoResolution } from '../../../shared/models/videos' +import { buildStreamSuffix, resetSupportedEncoders } from '../../helpers/ffmpeg-utils' import { canDoQuickAudioTranscode, ffprobePromise, @@ -8,8 +8,8 @@ import { getMaxAudioBitrate, getVideoFileBitrate, getVideoStreamFromFile -} from '../helpers/ffprobe-utils' -import { VIDEO_TRANSCODING_FPS } from '../initializers/constants' +} from '../../helpers/ffprobe-utils' +import { VIDEO_TRANSCODING_FPS } from '../../initializers/constants' /** * diff --git a/server/lib/video-transcoding.ts b/server/lib/transcoding/video-transcoding.ts similarity index 94% rename from server/lib/video-transcoding.ts rename to server/lib/transcoding/video-transcoding.ts index 51949f51a..5df192575 100644 --- a/server/lib/video-transcoding.ts +++ b/server/lib/transcoding/video-transcoding.ts @@ -3,17 +3,17 @@ import { copyFile, ensureDir, move, remove, stat } from 'fs-extra' import { basename, extname as extnameUtil, join } from 'path' import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' import { MStreamingPlaylistFilesVideo, MVideoFile, MVideoFullLight } from '@server/types/models' -import { VideoResolution } from '../../shared/models/videos' -import { VideoStreamingPlaylistType } from '../../shared/models/videos/video-streaming-playlist.type' -import { transcode, TranscodeOptions, TranscodeOptionsType } from '../helpers/ffmpeg-utils' -import { canDoQuickTranscode, getDurationFromVideoFile, getMetadataFromFile, getVideoFileFPS } from '../helpers/ffprobe-utils' -import { logger } from '../helpers/logger' -import { CONFIG } from '../initializers/config' -import { HLS_STREAMING_PLAYLIST_DIRECTORY, P2P_MEDIA_LOADER_PEER_VERSION, WEBSERVER } from '../initializers/constants' -import { VideoFileModel } from '../models/video/video-file' -import { VideoStreamingPlaylistModel } from '../models/video/video-streaming-playlist' -import { updateMasterHLSPlaylist, updateSha256VODSegments } from './hls' -import { generateVideoFilename, generateVideoStreamingPlaylistName, getVideoFilePath } from './video-paths' +import { VideoResolution } from '../../../shared/models/videos' +import { VideoStreamingPlaylistType } from '../../../shared/models/videos/video-streaming-playlist.type' +import { transcode, TranscodeOptions, TranscodeOptionsType } from '../../helpers/ffmpeg-utils' +import { canDoQuickTranscode, getDurationFromVideoFile, getMetadataFromFile, getVideoFileFPS } from '../../helpers/ffprobe-utils' +import { logger } from '../../helpers/logger' +import { CONFIG } from '../../initializers/config' +import { HLS_STREAMING_PLAYLIST_DIRECTORY, P2P_MEDIA_LOADER_PEER_VERSION, WEBSERVER } from '../../initializers/constants' +import { VideoFileModel } from '../../models/video/video-file' +import { VideoStreamingPlaylistModel } from '../../models/video/video-streaming-playlist' +import { updateMasterHLSPlaylist, updateSha256VODSegments } from '../hls' +import { generateVideoFilename, generateVideoStreamingPlaylistName, getVideoFilePath } from '../video-paths' import { VideoTranscodingProfilesManager } from './video-transcoding-profiles' /** From 7d9ba5c08999c6482f0bc5e0c09c6f55b7724090 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 11:15:29 +0200 Subject: [PATCH 069/136] Cleanup models directory organization --- scripts/prune-storage.ts | 2 +- scripts/reset-password.ts | 2 +- scripts/update-host.ts | 4 +-- server/controllers/activitypub/client.ts | 2 +- server/controllers/api/server/follows.ts | 18 ++++++------- .../api/server/server-blocklist.ts | 2 +- server/controllers/api/users/index.ts | 2 +- server/controllers/api/users/me.ts | 2 +- server/controllers/api/users/my-blocklist.ts | 2 +- server/controllers/api/users/my-history.ts | 2 +- .../controllers/api/users/my-notifications.ts | 14 +++++----- .../controllers/api/users/my-subscriptions.ts | 2 +- server/controllers/api/videos/watching.ts | 2 +- server/controllers/lazy-static.ts | 2 +- server/controllers/static.ts | 2 +- server/helpers/actor.ts | 2 +- server/helpers/middlewares/accounts.ts | 2 +- server/helpers/signup.ts | 2 +- server/helpers/webfinger.ts | 6 ++--- server/initializers/checker-after-init.ts | 2 +- server/initializers/database.ts | 14 +++++----- server/initializers/installer.ts | 2 +- server/lib/activitypub/actor.ts | 4 +-- server/lib/activitypub/audience.ts | 2 +- .../lib/activitypub/process/process-accept.ts | 4 +-- .../lib/activitypub/process/process-delete.ts | 2 +- .../lib/activitypub/process/process-follow.ts | 14 +++++----- .../lib/activitypub/process/process-reject.ts | 2 +- .../lib/activitypub/process/process-undo.ts | 4 +-- .../lib/activitypub/process/process-update.ts | 24 ++++++++--------- server/lib/activitypub/send/send-delete.ts | 2 +- server/lib/activitypub/send/send-view.ts | 2 +- server/lib/activitypub/send/utils.ts | 16 ++++++------ server/lib/auth/oauth-model.ts | 4 +-- .../job-queue/handlers/activitypub-follow.ts | 26 +++++++++---------- .../handlers/activitypub-refresher.ts | 8 +++--- server/lib/job-queue/handlers/actor-keys.ts | 2 +- .../handlers/utils/activitypub-http-utils.ts | 10 +++---- .../job-queue/handlers/video-file-import.ts | 2 +- .../job-queue/handlers/video-transcoding.ts | 2 +- server/lib/live-manager.ts | 2 +- server/lib/moderation.ts | 4 +-- server/lib/notifier.ts | 4 +-- server/lib/plugins/plugin-helpers-builder.ts | 2 +- server/lib/redundancy.ts | 14 +++++----- .../lib/schedulers/actor-follow-scheduler.ts | 4 +-- .../schedulers/auto-follow-index-instances.ts | 2 +- .../remove-old-history-scheduler.ts | 2 +- server/lib/stat-manager.ts | 4 +-- server/lib/user.ts | 9 ++++--- server/middlewares/validators/follows.ts | 20 +++++++------- .../validators/user-subscriptions.ts | 8 +++--- server/middlewares/validators/users.ts | 4 +-- .../validators/videos/video-channels.ts | 4 +-- server/middlewares/validators/webfinger.ts | 10 +++---- server/models/account/account-blocklist.ts | 2 +- server/models/account/account-video-rate.ts | 2 +- server/models/account/account.ts | 8 +++--- .../{activitypub => actor}/actor-follow.ts | 0 .../models/{account => actor}/actor-image.ts | 0 server/models/{activitypub => actor}/actor.ts | 2 +- server/models/oauth/oauth-token.ts | 4 +-- server/models/redundancy/video-redundancy.ts | 2 +- server/models/server/server.ts | 2 +- .../user-notification-setting.ts | 0 .../{account => user}/user-notification.ts | 8 +++--- .../{account => user}/user-video-history.ts | 0 server/models/{account => user}/user.ts | 8 +++--- server/models/video/video-channel.ts | 6 ++--- server/models/video/video-comment.ts | 2 +- server/models/video/video-import.ts | 4 +-- server/models/video/video-playlist.ts | 2 +- server/models/video/video-share.ts | 2 +- server/models/video/video.ts | 8 +++--- .../{moderation => abuse}/abuse-message.ts | 0 .../models/{moderation => abuse}/abuse.ts | 0 .../models/{moderation => abuse}/index.ts | 0 server/types/models/account/account.ts | 6 ++--- server/types/models/account/index.ts | 3 --- .../models/{account => actor}/actor-follow.ts | 2 +- .../models/{account => actor}/actor-image.ts | 2 +- .../types/models/{account => actor}/actor.ts | 5 ++-- server/types/models/actor/index.ts | 3 +++ server/types/models/index.ts | 3 ++- .../models/user/user-notification-setting.ts | 2 +- server/types/models/user/user-notification.ts | 8 +++--- .../types/models/user/user-video-history.ts | 2 +- server/types/models/user/user.ts | 2 +- server/types/models/video/video-channels.ts | 6 +++-- server/types/models/video/video-share.ts | 4 +-- .../plugins/register-server-option.model.ts | 4 +-- 91 files changed, 215 insertions(+), 212 deletions(-) rename server/models/{activitypub => actor}/actor-follow.ts (100%) rename server/models/{account => actor}/actor-image.ts (100%) rename server/models/{activitypub => actor}/actor.ts (99%) rename server/models/{account => user}/user-notification-setting.ts (100%) rename server/models/{account => user}/user-notification.ts (98%) rename server/models/{account => user}/user-video-history.ts (100%) rename server/models/{account => user}/user.ts (99%) rename server/types/models/{moderation => abuse}/abuse-message.ts (100%) rename server/types/models/{moderation => abuse}/abuse.ts (100%) rename server/types/models/{moderation => abuse}/index.ts (100%) rename server/types/models/{account => actor}/actor-follow.ts (96%) rename server/types/models/{account => actor}/actor-image.ts (83%) rename server/types/models/{account => actor}/actor.ts (98%) create mode 100644 server/types/models/actor/index.ts diff --git a/scripts/prune-storage.ts b/scripts/prune-storage.ts index 32314b0b7..0f2d1320e 100755 --- a/scripts/prune-storage.ts +++ b/scripts/prune-storage.ts @@ -11,7 +11,7 @@ import { VideoRedundancyModel } from '../server/models/redundancy/video-redundan import * as Bluebird from 'bluebird' import { getUUIDFromFilename } from '../server/helpers/utils' import { ThumbnailModel } from '../server/models/video/thumbnail' -import { ActorImageModel } from '../server/models/account/actor-image' +import { ActorImageModel } from '../server/models/actor/actor-image' import { uniq, values } from 'lodash' import { ThumbnailType } from '@shared/models' diff --git a/scripts/reset-password.ts b/scripts/reset-password.ts index 7e7de6b8a..7c1a64a3f 100755 --- a/scripts/reset-password.ts +++ b/scripts/reset-password.ts @@ -3,7 +3,7 @@ registerTSPaths() import * as program from 'commander' import { initDatabaseModels } from '../server/initializers/database' -import { UserModel } from '../server/models/account/user' +import { UserModel } from '../server/models/user/user' import { isUserPasswordValid } from '../server/helpers/custom-validators/users' program diff --git a/scripts/update-host.ts b/scripts/update-host.ts index e497be4e2..592684225 100755 --- a/scripts/update-host.ts +++ b/scripts/update-host.ts @@ -2,9 +2,9 @@ import { registerTSPaths } from '../server/helpers/register-ts-paths' registerTSPaths() import { WEBSERVER } from '../server/initializers/constants' -import { ActorFollowModel } from '../server/models/activitypub/actor-follow' +import { ActorFollowModel } from '../server/models/actor/actor-follow' import { VideoModel } from '../server/models/video/video' -import { ActorModel } from '../server/models/activitypub/actor' +import { ActorModel } from '../server/models/actor/actor' import { getLocalAccountActivityPubUrl, getLocalVideoActivityPubUrl, diff --git a/server/controllers/activitypub/client.ts b/server/controllers/activitypub/client.ts index 1b4acc234..1982e171d 100644 --- a/server/controllers/activitypub/client.ts +++ b/server/controllers/activitypub/client.ts @@ -30,7 +30,7 @@ import { videoFileRedundancyGetValidator, videoPlaylistRedundancyGetValidator } import { videoPlaylistElementAPGetValidator, videoPlaylistsGetValidator } from '../../middlewares/validators/videos/video-playlists' import { AccountModel } from '../../models/account/account' import { AccountVideoRateModel } from '../../models/account/account-video-rate' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' +import { ActorFollowModel } from '../../models/actor/actor-follow' import { VideoModel } from '../../models/video/video' import { VideoCaptionModel } from '../../models/video/video-caption' import { VideoCommentModel } from '../../models/video/video-comment' diff --git a/server/controllers/api/server/follows.ts b/server/controllers/api/server/follows.ts index 80025bc5b..daeef22de 100644 --- a/server/controllers/api/server/follows.ts +++ b/server/controllers/api/server/follows.ts @@ -1,9 +1,15 @@ import * as express from 'express' +import { getServerActor } from '@server/models/application/application' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { UserRight } from '../../../../shared/models/users' import { logger } from '../../../helpers/logger' import { getFormattedObjects } from '../../../helpers/utils' import { SERVER_ACTOR_NAME } from '../../../initializers/constants' +import { sequelizeTypescript } from '../../../initializers/database' +import { autoFollowBackIfNeeded } from '../../../lib/activitypub/follow' import { sendAccept, sendReject, sendUndoFollow } from '../../../lib/activitypub/send' +import { JobQueue } from '../../../lib/job-queue' +import { removeRedundanciesOfServer } from '../../../lib/redundancy' import { asyncMiddleware, authenticate, @@ -19,16 +25,10 @@ import { followingSortValidator, followValidator, getFollowerValidator, - removeFollowingValidator, - listFollowsValidator + listFollowsValidator, + removeFollowingValidator } from '../../../middlewares/validators' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { JobQueue } from '../../../lib/job-queue' -import { removeRedundanciesOfServer } from '../../../lib/redundancy' -import { sequelizeTypescript } from '../../../initializers/database' -import { autoFollowBackIfNeeded } from '../../../lib/activitypub/follow' -import { getServerActor } from '@server/models/application/application' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { ActorFollowModel } from '../../../models/actor/actor-follow' const serverFollowsRouter = express.Router() serverFollowsRouter.get('/following', diff --git a/server/controllers/api/server/server-blocklist.ts b/server/controllers/api/server/server-blocklist.ts index 6e341c0fb..a86bc7d19 100644 --- a/server/controllers/api/server/server-blocklist.ts +++ b/server/controllers/api/server/server-blocklist.ts @@ -1,7 +1,7 @@ import 'multer' import * as express from 'express' import { logger } from '@server/helpers/logger' -import { UserNotificationModel } from '@server/models/account/user-notification' +import { UserNotificationModel } from '@server/models/user/user-notification' import { getServerActor } from '@server/models/application/application' import { UserRight } from '../../../../shared/models/users' import { getFormattedObjects } from '../../../helpers/utils' diff --git a/server/controllers/api/users/index.ts b/server/controllers/api/users/index.ts index e2b1ea7cd..c655d1648 100644 --- a/server/controllers/api/users/index.ts +++ b/server/controllers/api/users/index.ts @@ -45,7 +45,7 @@ import { usersResetPasswordValidator, usersVerifyEmailValidator } from '../../../middlewares/validators' -import { UserModel } from '../../../models/account/user' +import { UserModel } from '../../../models/user/user' import { meRouter } from './me' import { myAbusesRouter } from './my-abuses' import { myBlocklistRouter } from './my-blocklist' diff --git a/server/controllers/api/users/me.ts b/server/controllers/api/users/me.ts index 0763d1900..d97652840 100644 --- a/server/controllers/api/users/me.ts +++ b/server/controllers/api/users/me.ts @@ -28,7 +28,7 @@ import { deleteMeValidator, videoImportsSortValidator, videosSortValidator } fro import { updateAvatarValidator } from '../../../middlewares/validators/actor-image' import { AccountModel } from '../../../models/account/account' import { AccountVideoRateModel } from '../../../models/account/account-video-rate' -import { UserModel } from '../../../models/account/user' +import { UserModel } from '../../../models/user/user' import { VideoModel } from '../../../models/video/video' import { VideoImportModel } from '../../../models/video/video-import' diff --git a/server/controllers/api/users/my-blocklist.ts b/server/controllers/api/users/my-blocklist.ts index faaef3ac0..a1561b751 100644 --- a/server/controllers/api/users/my-blocklist.ts +++ b/server/controllers/api/users/my-blocklist.ts @@ -20,7 +20,7 @@ import { import { AccountBlocklistModel } from '../../../models/account/account-blocklist' import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../../../lib/blocklist' import { ServerBlocklistModel } from '../../../models/server/server-blocklist' -import { UserNotificationModel } from '@server/models/account/user-notification' +import { UserNotificationModel } from '@server/models/user/user-notification' import { logger } from '@server/helpers/logger' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' diff --git a/server/controllers/api/users/my-history.ts b/server/controllers/api/users/my-history.ts index 72c7da373..cff1697ab 100644 --- a/server/controllers/api/users/my-history.ts +++ b/server/controllers/api/users/my-history.ts @@ -9,7 +9,7 @@ import { userHistoryRemoveValidator } from '../../../middlewares' import { getFormattedObjects } from '../../../helpers/utils' -import { UserVideoHistoryModel } from '../../../models/account/user-video-history' +import { UserVideoHistoryModel } from '../../../models/user/user-video-history' import { sequelizeTypescript } from '../../../initializers/database' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' diff --git a/server/controllers/api/users/my-notifications.ts b/server/controllers/api/users/my-notifications.ts index 0a9101a46..2909770da 100644 --- a/server/controllers/api/users/my-notifications.ts +++ b/server/controllers/api/users/my-notifications.ts @@ -1,5 +1,9 @@ -import * as express from 'express' import 'multer' +import * as express from 'express' +import { UserNotificationModel } from '@server/models/user/user-notification' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { UserNotificationSetting } from '../../../../shared/models/users' +import { getFormattedObjects } from '../../../helpers/utils' import { asyncMiddleware, asyncRetryTransactionMiddleware, @@ -9,17 +13,13 @@ import { setDefaultSort, userNotificationsSortValidator } from '../../../middlewares' -import { getFormattedObjects } from '../../../helpers/utils' -import { UserNotificationModel } from '../../../models/account/user-notification' -import { meRouter } from './me' import { listUserNotificationsValidator, markAsReadUserNotificationsValidator, updateNotificationSettingsValidator } from '../../../middlewares/validators/user-notifications' -import { UserNotificationSetting } from '../../../../shared/models/users' -import { UserNotificationSettingModel } from '../../../models/account/user-notification-setting' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { UserNotificationSettingModel } from '../../../models/user/user-notification-setting' +import { meRouter } from './me' const myNotificationsRouter = express.Router() diff --git a/server/controllers/api/users/my-subscriptions.ts b/server/controllers/api/users/my-subscriptions.ts index 56b93276f..46a73d49e 100644 --- a/server/controllers/api/users/my-subscriptions.ts +++ b/server/controllers/api/users/my-subscriptions.ts @@ -27,7 +27,7 @@ import { userSubscriptionsSortValidator, videosSortValidator } from '../../../middlewares/validators' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { VideoModel } from '../../../models/video/video' const mySubscriptionsRouter = express.Router() diff --git a/server/controllers/api/videos/watching.ts b/server/controllers/api/videos/watching.ts index 627f12aa9..08190e583 100644 --- a/server/controllers/api/videos/watching.ts +++ b/server/controllers/api/videos/watching.ts @@ -1,7 +1,7 @@ import * as express from 'express' import { UserWatchingVideo } from '../../../../shared' import { asyncMiddleware, asyncRetryTransactionMiddleware, authenticate, videoWatchingValidator } from '../../../middlewares' -import { UserVideoHistoryModel } from '../../../models/account/user-video-history' +import { UserVideoHistoryModel } from '../../../models/user/user-video-history' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' const watchingRouter = express.Router() diff --git a/server/controllers/lazy-static.ts b/server/controllers/lazy-static.ts index 6f71fdb16..25d3b49b4 100644 --- a/server/controllers/lazy-static.ts +++ b/server/controllers/lazy-static.ts @@ -7,7 +7,7 @@ import { LAZY_STATIC_PATHS, STATIC_MAX_AGE } from '../initializers/constants' import { actorImagePathUnsafeCache, pushActorImageProcessInQueue } from '../lib/actor-image' import { VideosCaptionCache, VideosPreviewCache } from '../lib/files-cache' import { asyncMiddleware } from '../middlewares' -import { ActorImageModel } from '../models/account/actor-image' +import { ActorImageModel } from '../models/actor/actor-image' const lazyStaticRouter = express.Router() diff --git a/server/controllers/static.ts b/server/controllers/static.ts index 5cf4e9575..97c48b1d7 100644 --- a/server/controllers/static.ts +++ b/server/controllers/static.ts @@ -20,7 +20,7 @@ import { import { getThemeOrDefault } from '../lib/plugins/theme-utils' import { asyncMiddleware } from '../middlewares' import { cacheRoute } from '../middlewares/cache' -import { UserModel } from '../models/account/user' +import { UserModel } from '../models/user/user' import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' diff --git a/server/helpers/actor.ts b/server/helpers/actor.ts index a60d3ed5d..5f742505b 100644 --- a/server/helpers/actor.ts +++ b/server/helpers/actor.ts @@ -1,5 +1,5 @@ -import { ActorModel } from '../models/activitypub/actor' +import { ActorModel } from '../models/actor/actor' import { MActorAccountChannelId, MActorFull } from '../types/models' type ActorFetchByUrlType = 'all' | 'association-ids' diff --git a/server/helpers/middlewares/accounts.ts b/server/helpers/middlewares/accounts.ts index 13ae6cdf4..5addd3e1a 100644 --- a/server/helpers/middlewares/accounts.ts +++ b/server/helpers/middlewares/accounts.ts @@ -1,5 +1,5 @@ import { Response } from 'express' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' import { AccountModel } from '../../models/account/account' import { MAccountDefault } from '../../types/models' diff --git a/server/helpers/signup.ts b/server/helpers/signup.ts index ed872539b..8fa81e601 100644 --- a/server/helpers/signup.ts +++ b/server/helpers/signup.ts @@ -1,4 +1,4 @@ -import { UserModel } from '../models/account/user' +import { UserModel } from '../models/user/user' import * as ipaddr from 'ipaddr.js' import { CONFIG } from '../initializers/config' diff --git a/server/helpers/webfinger.ts b/server/helpers/webfinger.ts index da7e88077..33367f651 100644 --- a/server/helpers/webfinger.ts +++ b/server/helpers/webfinger.ts @@ -1,10 +1,10 @@ import * as WebFinger from 'webfinger.js' import { WebFingerData } from '../../shared' -import { ActorModel } from '../models/activitypub/actor' +import { WEBSERVER } from '../initializers/constants' +import { ActorModel } from '../models/actor/actor' +import { MActorFull } from '../types/models' import { isTestInstance } from './core-utils' import { isActivityPubUrlValid } from './custom-validators/activitypub/misc' -import { WEBSERVER } from '../initializers/constants' -import { MActorFull } from '../types/models' const webfinger = new WebFinger({ webfist_fallback: false, diff --git a/server/initializers/checker-after-init.ts b/server/initializers/checker-after-init.ts index a93c8b7fd..911734fa0 100644 --- a/server/initializers/checker-after-init.ts +++ b/server/initializers/checker-after-init.ts @@ -7,7 +7,7 @@ import { RecentlyAddedStrategy } from '../../shared/models/redundancy' import { isProdInstance, isTestInstance, parseSemVersion } from '../helpers/core-utils' import { isArray } from '../helpers/custom-validators/misc' import { logger } from '../helpers/logger' -import { UserModel } from '../models/account/user' +import { UserModel } from '../models/user/user' import { ApplicationModel, getServerActor } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' import { CONFIG, isEmailEnabled } from './config' diff --git a/server/initializers/database.ts b/server/initializers/database.ts index edf12bc41..75a13ec8b 100644 --- a/server/initializers/database.ts +++ b/server/initializers/database.ts @@ -2,6 +2,9 @@ import { QueryTypes, Transaction } from 'sequelize' import { Sequelize as SequelizeTypescript } from 'sequelize-typescript' import { TrackerModel } from '@server/models/server/tracker' import { VideoTrackerModel } from '@server/models/server/video-tracker' +import { UserModel } from '@server/models/user/user' +import { UserNotificationModel } from '@server/models/user/user-notification' +import { UserVideoHistoryModel } from '@server/models/user/user-video-history' import { isTestInstance } from '../helpers/core-utils' import { logger } from '../helpers/logger' import { AbuseModel } from '../models/abuse/abuse' @@ -11,13 +14,9 @@ import { VideoCommentAbuseModel } from '../models/abuse/video-comment-abuse' import { AccountModel } from '../models/account/account' import { AccountBlocklistModel } from '../models/account/account-blocklist' import { AccountVideoRateModel } from '../models/account/account-video-rate' -import { ActorImageModel } from '../models/account/actor-image' -import { UserModel } from '../models/account/user' -import { UserNotificationModel } from '../models/account/user-notification' -import { UserNotificationSettingModel } from '../models/account/user-notification-setting' -import { UserVideoHistoryModel } from '../models/account/user-video-history' -import { ActorModel } from '../models/activitypub/actor' -import { ActorFollowModel } from '../models/activitypub/actor-follow' +import { ActorModel } from '../models/actor/actor' +import { ActorFollowModel } from '../models/actor/actor-follow' +import { ActorImageModel } from '../models/actor/actor-image' import { ApplicationModel } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' import { OAuthTokenModel } from '../models/oauth/oauth-token' @@ -25,6 +24,7 @@ import { VideoRedundancyModel } from '../models/redundancy/video-redundancy' import { PluginModel } from '../models/server/plugin' import { ServerModel } from '../models/server/server' import { ServerBlocklistModel } from '../models/server/server-blocklist' +import { UserNotificationSettingModel } from '../models/user/user-notification-setting' import { ScheduleVideoUpdateModel } from '../models/video/schedule-video-update' import { TagModel } from '../models/video/tag' import { ThumbnailModel } from '../models/video/thumbnail' diff --git a/server/initializers/installer.ts b/server/initializers/installer.ts index 8dcff64e2..676f88653 100644 --- a/server/initializers/installer.ts +++ b/server/initializers/installer.ts @@ -2,7 +2,7 @@ import * as passwordGenerator from 'password-generator' import { UserRole } from '../../shared' import { logger } from '../helpers/logger' import { createApplicationActor, createUserAccountAndChannelAndPlaylist } from '../lib/user' -import { UserModel } from '../models/account/user' +import { UserModel } from '../models/user/user' import { ApplicationModel } from '../models/application/application' import { OAuthClientModel } from '../models/oauth/oauth-client' import { applicationExist, clientsExist, usersExist } from './checker-after-init' diff --git a/server/lib/activitypub/actor.ts b/server/lib/activitypub/actor.ts index 5fe7381c9..8865b6277 100644 --- a/server/lib/activitypub/actor.ts +++ b/server/lib/activitypub/actor.ts @@ -20,8 +20,8 @@ import { getUrlFromWebfinger } from '../../helpers/webfinger' import { MIMETYPES, WEBSERVER } from '../../initializers/constants' import { sequelizeTypescript } from '../../initializers/database' import { AccountModel } from '../../models/account/account' -import { ActorImageModel } from '../../models/account/actor-image' -import { ActorModel } from '../../models/activitypub/actor' +import { ActorModel } from '../../models/actor/actor' +import { ActorImageModel } from '../../models/actor/actor-image' import { ServerModel } from '../../models/server/server' import { VideoChannelModel } from '../../models/video/video-channel' import { diff --git a/server/lib/activitypub/audience.ts b/server/lib/activitypub/audience.ts index 2986714d3..d0558f191 100644 --- a/server/lib/activitypub/audience.ts +++ b/server/lib/activitypub/audience.ts @@ -1,7 +1,7 @@ import { Transaction } from 'sequelize' import { ActivityAudience } from '../../../shared/models/activitypub' import { ACTIVITY_PUB } from '../../initializers/constants' -import { ActorModel } from '../../models/activitypub/actor' +import { ActorModel } from '../../models/actor/actor' import { VideoModel } from '../../models/video/video' import { VideoShareModel } from '../../models/video/video-share' import { MActorFollowersUrl, MActorLight, MActorUrl, MCommentOwner, MCommentOwnerVideo, MVideoId } from '../../types/models' diff --git a/server/lib/activitypub/process/process-accept.ts b/server/lib/activitypub/process/process-accept.ts index 1799829f8..8ad470cf4 100644 --- a/server/lib/activitypub/process/process-accept.ts +++ b/server/lib/activitypub/process/process-accept.ts @@ -1,8 +1,8 @@ import { ActivityAccept } from '../../../../shared/models/activitypub' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { addFetchOutboxJob } from '../actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { APProcessorOptions } from '../../../types/activitypub-processor.model' import { MActorDefault, MActorSignature } from '../../../types/models' +import { addFetchOutboxJob } from '../actor' async function processAcceptActivity (options: APProcessorOptions) { const { byActor: targetActor, inboxActor } = options diff --git a/server/lib/activitypub/process/process-delete.ts b/server/lib/activitypub/process/process-delete.ts index 88a968318..20214246c 100644 --- a/server/lib/activitypub/process/process-delete.ts +++ b/server/lib/activitypub/process/process-delete.ts @@ -2,7 +2,7 @@ import { ActivityDelete } from '../../../../shared/models/activitypub' import { retryTransactionWrapper } from '../../../helpers/database-utils' import { logger } from '../../../helpers/logger' import { sequelizeTypescript } from '../../../initializers/database' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' import { VideoModel } from '../../../models/video/video' import { VideoCommentModel } from '../../../models/video/video-comment' import { VideoPlaylistModel } from '../../../models/video/video-playlist' diff --git a/server/lib/activitypub/process/process-follow.ts b/server/lib/activitypub/process/process-follow.ts index 38d684512..9009c6469 100644 --- a/server/lib/activitypub/process/process-follow.ts +++ b/server/lib/activitypub/process/process-follow.ts @@ -1,17 +1,17 @@ +import { getServerActor } from '@server/models/application/application' import { ActivityFollow } from '../../../../shared/models/activitypub' +import { getAPId } from '../../../helpers/activitypub' import { retryTransactionWrapper } from '../../../helpers/database-utils' import { logger } from '../../../helpers/logger' -import { sequelizeTypescript } from '../../../initializers/database' -import { ActorModel } from '../../../models/activitypub/actor' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { sendAccept, sendReject } from '../send' -import { Notifier } from '../../notifier' -import { getAPId } from '../../../helpers/activitypub' import { CONFIG } from '../../../initializers/config' +import { sequelizeTypescript } from '../../../initializers/database' +import { ActorModel } from '../../../models/actor/actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { APProcessorOptions } from '../../../types/activitypub-processor.model' import { MActorFollowActors, MActorSignature } from '../../../types/models' +import { Notifier } from '../../notifier' import { autoFollowBackIfNeeded } from '../follow' -import { getServerActor } from '@server/models/application/application' +import { sendAccept, sendReject } from '../send' async function processFollowActivity (options: APProcessorOptions) { const { activity, byActor } = options diff --git a/server/lib/activitypub/process/process-reject.ts b/server/lib/activitypub/process/process-reject.ts index 03b669fd9..7f7ab305f 100644 --- a/server/lib/activitypub/process/process-reject.ts +++ b/server/lib/activitypub/process/process-reject.ts @@ -1,6 +1,6 @@ import { ActivityReject } from '../../../../shared/models/activitypub/activity' import { sequelizeTypescript } from '../../../initializers/database' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { APProcessorOptions } from '../../../types/activitypub-processor.model' import { MActor } from '../../../types/models' diff --git a/server/lib/activitypub/process/process-undo.ts b/server/lib/activitypub/process/process-undo.ts index e520c2f0d..9f031b528 100644 --- a/server/lib/activitypub/process/process-undo.ts +++ b/server/lib/activitypub/process/process-undo.ts @@ -4,8 +4,8 @@ import { retryTransactionWrapper } from '../../../helpers/database-utils' import { logger } from '../../../helpers/logger' import { sequelizeTypescript } from '../../../initializers/database' import { AccountVideoRateModel } from '../../../models/account/account-video-rate' -import { ActorModel } from '../../../models/activitypub/actor' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { ActorModel } from '../../../models/actor/actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy' import { VideoShareModel } from '../../../models/video/video-share' import { APProcessorOptions } from '../../../types/activitypub-processor.model' diff --git a/server/lib/activitypub/process/process-update.ts b/server/lib/activitypub/process/process-update.ts index 6df9b93b2..6cd9d0fba 100644 --- a/server/lib/activitypub/process/process-update.ts +++ b/server/lib/activitypub/process/process-update.ts @@ -1,23 +1,23 @@ +import { isRedundancyAccepted } from '@server/lib/redundancy' +import { ActorImageType } from '@shared/models' import { ActivityUpdate, CacheFileObject, VideoObject } from '../../../../shared/models/activitypub' import { ActivityPubActor } from '../../../../shared/models/activitypub/activitypub-actor' +import { PlaylistObject } from '../../../../shared/models/activitypub/objects/playlist-object' +import { isCacheFileObjectValid } from '../../../helpers/custom-validators/activitypub/cache-file' +import { sanitizeAndCheckVideoTorrentObject } from '../../../helpers/custom-validators/activitypub/videos' import { resetSequelizeInstance, retryTransactionWrapper } from '../../../helpers/database-utils' import { logger } from '../../../helpers/logger' import { sequelizeTypescript } from '../../../initializers/database' import { AccountModel } from '../../../models/account/account' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' import { VideoChannelModel } from '../../../models/video/video-channel' -import { getImageInfoIfExists, updateActorImageInstance, updateActorInstance } from '../actor' -import { getOrCreateVideoAndAccountAndChannel, getOrCreateVideoChannelFromVideoObject, updateVideoFromAP } from '../videos' -import { sanitizeAndCheckVideoTorrentObject } from '../../../helpers/custom-validators/activitypub/videos' -import { isCacheFileObjectValid } from '../../../helpers/custom-validators/activitypub/cache-file' -import { createOrUpdateCacheFile } from '../cache-file' -import { forwardVideoRelatedActivity } from '../send/utils' -import { PlaylistObject } from '../../../../shared/models/activitypub/objects/playlist-object' -import { createOrUpdateVideoPlaylist } from '../playlist' import { APProcessorOptions } from '../../../types/activitypub-processor.model' -import { MActorSignature, MAccountIdActor } from '../../../types/models' -import { isRedundancyAccepted } from '@server/lib/redundancy' -import { ActorImageType } from '@shared/models' +import { MAccountIdActor, MActorSignature } from '../../../types/models' +import { getImageInfoIfExists, updateActorImageInstance, updateActorInstance } from '../actor' +import { createOrUpdateCacheFile } from '../cache-file' +import { createOrUpdateVideoPlaylist } from '../playlist' +import { forwardVideoRelatedActivity } from '../send/utils' +import { getOrCreateVideoAndAccountAndChannel, getOrCreateVideoChannelFromVideoObject, updateVideoFromAP } from '../videos' async function processUpdateActivity (options: APProcessorOptions) { const { activity, byActor } = options diff --git a/server/lib/activitypub/send/send-delete.ts b/server/lib/activitypub/send/send-delete.ts index e0acced18..d31f8c10b 100644 --- a/server/lib/activitypub/send/send-delete.ts +++ b/server/lib/activitypub/send/send-delete.ts @@ -2,7 +2,7 @@ import { Transaction } from 'sequelize' import { getServerActor } from '@server/models/application/application' import { ActivityAudience, ActivityDelete } from '../../../../shared/models/activitypub' import { logger } from '../../../helpers/logger' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' import { VideoCommentModel } from '../../../models/video/video-comment' import { VideoShareModel } from '../../../models/video/video-share' import { MActorUrl } from '../../../types/models' diff --git a/server/lib/activitypub/send/send-view.ts b/server/lib/activitypub/send/send-view.ts index 9254dc7c5..153e94295 100644 --- a/server/lib/activitypub/send/send-view.ts +++ b/server/lib/activitypub/send/send-view.ts @@ -2,7 +2,7 @@ import { Transaction } from 'sequelize' import { MActorAudience, MVideoImmutable, MVideoUrl } from '@server/types/models' import { ActivityAudience, ActivityView } from '../../../../shared/models/activitypub' import { logger } from '../../../helpers/logger' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' import { audiencify, getAudience } from '../audience' import { getLocalVideoViewActivityPubUrl } from '../url' import { sendVideoRelatedActivity } from './utils' diff --git a/server/lib/activitypub/send/utils.ts b/server/lib/activitypub/send/utils.ts index 85a9f009d..db0e91b71 100644 --- a/server/lib/activitypub/send/utils.ts +++ b/server/lib/activitypub/send/utils.ts @@ -1,14 +1,14 @@ import { Transaction } from 'sequelize' -import { Activity, ActivityAudience } from '../../../../shared/models/activitypub' -import { logger } from '../../../helpers/logger' -import { ActorModel } from '../../../models/activitypub/actor' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { JobQueue } from '../../job-queue' -import { getActorsInvolvedInVideo, getAudienceFromFollowersOf, getRemoteVideoAudience } from '../audience' -import { afterCommitIfTransaction } from '../../../helpers/database-utils' -import { MActor, MActorId, MActorLight, MActorWithInboxes, MVideoAccountLight, MVideoId, MVideoImmutable } from '../../../types/models' import { getServerActor } from '@server/models/application/application' import { ContextType } from '@shared/models/activitypub/context' +import { Activity, ActivityAudience } from '../../../../shared/models/activitypub' +import { afterCommitIfTransaction } from '../../../helpers/database-utils' +import { logger } from '../../../helpers/logger' +import { ActorModel } from '../../../models/actor/actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' +import { MActor, MActorId, MActorLight, MActorWithInboxes, MVideoAccountLight, MVideoId, MVideoImmutable } from '../../../types/models' +import { JobQueue } from '../../job-queue' +import { getActorsInvolvedInVideo, getAudienceFromFollowersOf, getRemoteVideoAudience } from '../audience' async function sendVideoRelatedActivity (activityBuilder: (audience: ActivityAudience) => Activity, options: { byActor: MActorLight diff --git a/server/lib/auth/oauth-model.ts b/server/lib/auth/oauth-model.ts index b9c69eb2d..ae728d080 100644 --- a/server/lib/auth/oauth-model.ts +++ b/server/lib/auth/oauth-model.ts @@ -1,7 +1,7 @@ import * as express from 'express' import { AccessDeniedError } from 'oauth2-server' import { PluginManager } from '@server/lib/plugins/plugin-manager' -import { ActorModel } from '@server/models/activitypub/actor' +import { ActorModel } from '@server/models/actor/actor' import { MOAuthClient } from '@server/types/models' import { MOAuthTokenUser } from '@server/types/models/oauth/oauth-token' import { MUser } from '@server/types/models/user/user' @@ -9,7 +9,7 @@ import { UserAdminFlag } from '@shared/models/users/user-flag.model' import { UserRole } from '@shared/models/users/user-role' import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' -import { UserModel } from '../../models/account/user' +import { UserModel } from '../../models/user/user' import { OAuthClientModel } from '../../models/oauth/oauth-client' import { OAuthTokenModel } from '../../models/oauth/oauth-token' import { createUserAccountAndChannelAndPlaylist } from '../user' diff --git a/server/lib/job-queue/handlers/activitypub-follow.ts b/server/lib/job-queue/handlers/activitypub-follow.ts index 82c95be80..ec8df8969 100644 --- a/server/lib/job-queue/handlers/activitypub-follow.ts +++ b/server/lib/job-queue/handlers/activitypub-follow.ts @@ -1,18 +1,18 @@ import * as Bull from 'bull' -import { logger } from '../../../helpers/logger' -import { REMOTE_SCHEME, WEBSERVER } from '../../../initializers/constants' -import { sendFollow } from '../../activitypub/send' -import { sanitizeHost } from '../../../helpers/core-utils' -import { loadActorUrlOrGetFromWebfinger } from '../../../helpers/webfinger' -import { getOrCreateActorAndServerAndModel } from '../../activitypub/actor' -import { retryTransactionWrapper } from '../../../helpers/database-utils' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' -import { ActorModel } from '../../../models/activitypub/actor' -import { Notifier } from '../../notifier' -import { sequelizeTypescript } from '../../../initializers/database' -import { MActor, MActorFollowActors, MActorFull } from '../../../types/models' -import { ActivitypubFollowPayload } from '@shared/models' import { getLocalActorFollowActivityPubUrl } from '@server/lib/activitypub/url' +import { ActivitypubFollowPayload } from '@shared/models' +import { sanitizeHost } from '../../../helpers/core-utils' +import { retryTransactionWrapper } from '../../../helpers/database-utils' +import { logger } from '../../../helpers/logger' +import { loadActorUrlOrGetFromWebfinger } from '../../../helpers/webfinger' +import { REMOTE_SCHEME, WEBSERVER } from '../../../initializers/constants' +import { sequelizeTypescript } from '../../../initializers/database' +import { ActorModel } from '../../../models/actor/actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' +import { MActor, MActorFollowActors, MActorFull } from '../../../types/models' +import { getOrCreateActorAndServerAndModel } from '../../activitypub/actor' +import { sendFollow } from '../../activitypub/send' +import { Notifier } from '../../notifier' async function processActivityPubFollow (job: Bull.Job) { const payload = job.data as ActivitypubFollowPayload diff --git a/server/lib/job-queue/handlers/activitypub-refresher.ts b/server/lib/job-queue/handlers/activitypub-refresher.ts index 666e56868..c09b1bcc8 100644 --- a/server/lib/job-queue/handlers/activitypub-refresher.ts +++ b/server/lib/job-queue/handlers/activitypub-refresher.ts @@ -1,12 +1,12 @@ import * as Bull from 'bull' +import { refreshVideoPlaylistIfNeeded } from '@server/lib/activitypub/playlist' +import { RefreshPayload } from '@shared/models' import { logger } from '../../../helpers/logger' import { fetchVideoByUrl } from '../../../helpers/video' +import { ActorModel } from '../../../models/actor/actor' +import { VideoPlaylistModel } from '../../../models/video/video-playlist' import { refreshActorIfNeeded } from '../../activitypub/actor' import { refreshVideoIfNeeded } from '../../activitypub/videos' -import { ActorModel } from '../../../models/activitypub/actor' -import { VideoPlaylistModel } from '../../../models/video/video-playlist' -import { RefreshPayload } from '@shared/models' -import { refreshVideoPlaylistIfNeeded } from '@server/lib/activitypub/playlist' async function refreshAPObject (job: Bull.Job) { const payload = job.data as RefreshPayload diff --git a/server/lib/job-queue/handlers/actor-keys.ts b/server/lib/job-queue/handlers/actor-keys.ts index 125307843..3eef565d0 100644 --- a/server/lib/job-queue/handlers/actor-keys.ts +++ b/server/lib/job-queue/handlers/actor-keys.ts @@ -1,6 +1,6 @@ import * as Bull from 'bull' import { generateAndSaveActorKeys } from '@server/lib/activitypub/actor' -import { ActorModel } from '@server/models/activitypub/actor' +import { ActorModel } from '@server/models/actor/actor' import { ActorKeysPayload } from '@shared/models' import { logger } from '../../../helpers/logger' diff --git a/server/lib/job-queue/handlers/utils/activitypub-http-utils.ts b/server/lib/job-queue/handlers/utils/activitypub-http-utils.ts index e8a91450d..37e7c1fad 100644 --- a/server/lib/job-queue/handlers/utils/activitypub-http-utils.ts +++ b/server/lib/job-queue/handlers/utils/activitypub-http-utils.ts @@ -1,10 +1,10 @@ -import { buildSignedActivity } from '../../../../helpers/activitypub' -import { ActorModel } from '../../../../models/activitypub/actor' -import { ACTIVITY_PUB, HTTP_SIGNATURE } from '../../../../initializers/constants' -import { MActor } from '../../../../types/models' -import { getServerActor } from '@server/models/application/application' import { buildDigest } from '@server/helpers/peertube-crypto' +import { getServerActor } from '@server/models/application/application' import { ContextType } from '@shared/models/activitypub/context' +import { buildSignedActivity } from '../../../../helpers/activitypub' +import { ACTIVITY_PUB, HTTP_SIGNATURE } from '../../../../initializers/constants' +import { ActorModel } from '../../../../models/actor/actor' +import { MActor } from '../../../../types/models' type Payload = { body: T, contextType?: ContextType, signatureActorId?: number } diff --git a/server/lib/job-queue/handlers/video-file-import.ts b/server/lib/job-queue/handlers/video-file-import.ts index 71f2cafcd..8297a1571 100644 --- a/server/lib/job-queue/handlers/video-file-import.ts +++ b/server/lib/job-queue/handlers/video-file-import.ts @@ -3,7 +3,7 @@ import { copy, stat } from 'fs-extra' import { extname } from 'path' import { createTorrentAndSetInfoHash } from '@server/helpers/webtorrent' import { generateVideoFilename, getVideoFilePath } from '@server/lib/video-paths' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' import { MVideoFullLight } from '@server/types/models' import { VideoFileImportPayload } from '@shared/models' import { getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffprobe-utils' diff --git a/server/lib/job-queue/handlers/video-transcoding.ts b/server/lib/job-queue/handlers/video-transcoding.ts index e31bc82f5..8d659daa6 100644 --- a/server/lib/job-queue/handlers/video-transcoding.ts +++ b/server/lib/job-queue/handlers/video-transcoding.ts @@ -2,7 +2,7 @@ import * as Bull from 'bull' import { TranscodeOptionsType } from '@server/helpers/ffmpeg-utils' import { getTranscodingJobPriority, publishAndFederateIfNeeded } from '@server/lib/video' import { getVideoFilePath } from '@server/lib/video-paths' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' import { MUser, MUserId, MVideoFullLight, MVideoUUID, MVideoWithFile } from '@server/types/models' import { HLSTranscodingPayload, diff --git a/server/lib/live-manager.ts b/server/lib/live-manager.ts index fe2a43f61..8e7fd5511 100644 --- a/server/lib/live-manager.ts +++ b/server/lib/live-manager.ts @@ -11,7 +11,7 @@ import { computeResolutionsToTranscode, getVideoFileFPS, getVideoFileResolution import { logger } from '@server/helpers/logger' import { CONFIG, registerConfigChangedHandler } from '@server/initializers/config' import { MEMOIZE_TTL, P2P_MEDIA_LOADER_PEER_VERSION, VIDEO_LIVE, VIEW_LIFETIME, WEBSERVER } from '@server/initializers/constants' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' import { VideoModel } from '@server/models/video/video' import { VideoFileModel } from '@server/models/video/video-file' import { VideoLiveModel } from '@server/models/video/video-live' diff --git a/server/lib/moderation.ts b/server/lib/moderation.ts index 925d64902..d83086005 100644 --- a/server/lib/moderation.ts +++ b/server/lib/moderation.ts @@ -24,8 +24,8 @@ import { VideoObject } from '../../shared/models/activitypub/objects' import { VideoCommentObject } from '../../shared/models/activitypub/objects/video-comment-object' import { LiveVideoCreate, VideoCreate, VideoImportCreate } from '../../shared/models/videos' import { VideoCommentCreate } from '../../shared/models/videos/video-comment.model' -import { UserModel } from '../models/account/user' -import { ActorModel } from '../models/activitypub/actor' +import { UserModel } from '../models/user/user' +import { ActorModel } from '../models/actor/actor' import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' import { sendAbuse } from './activitypub/send/send-flag' diff --git a/server/lib/notifier.ts b/server/lib/notifier.ts index da7f7cc05..1f9ff16df 100644 --- a/server/lib/notifier.ts +++ b/server/lib/notifier.ts @@ -17,8 +17,8 @@ import { VideoPrivacy, VideoState } from '../../shared/models/videos' import { logger } from '../helpers/logger' import { CONFIG } from '../initializers/config' import { AccountBlocklistModel } from '../models/account/account-blocklist' -import { UserModel } from '../models/account/user' -import { UserNotificationModel } from '../models/account/user-notification' +import { UserModel } from '../models/user/user' +import { UserNotificationModel } from '../models/user/user-notification' import { MAbuseFull, MAbuseMessage, MAccountServer, MActorFollowFull, MApplication, MPlugin } from '../types/models' import { MCommentOwnerVideo, MVideoAccountLight, MVideoFullLight } from '../types/models/video' import { isBlockedByServerOrAccount } from './blocklist' diff --git a/server/lib/plugins/plugin-helpers-builder.ts b/server/lib/plugins/plugin-helpers-builder.ts index f1bc24d8b..cb1cd4d9a 100644 --- a/server/lib/plugins/plugin-helpers-builder.ts +++ b/server/lib/plugins/plugin-helpers-builder.ts @@ -17,7 +17,7 @@ import { VideoBlacklistCreate } from '@shared/models' import { addAccountInBlocklist, addServerInBlocklist, removeAccountFromBlocklist, removeServerFromBlocklist } from '../blocklist' import { getServerConfig } from '../config' import { blacklistVideo, unblacklistVideo } from '../video-blacklist' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' function buildPluginHelpers (pluginModel: MPlugin, npmName: string): PeerTubeHelpers { const logger = buildPluginLogger(npmName) diff --git a/server/lib/redundancy.ts b/server/lib/redundancy.ts index da620b607..2a9241249 100644 --- a/server/lib/redundancy.ts +++ b/server/lib/redundancy.ts @@ -1,12 +1,12 @@ +import { Transaction } from 'sequelize' +import { logger } from '@server/helpers/logger' +import { CONFIG } from '@server/initializers/config' +import { ActorFollowModel } from '@server/models/actor/actor-follow' +import { getServerActor } from '@server/models/application/application' +import { MActorSignature, MVideoRedundancyVideo } from '@server/types/models' +import { Activity } from '@shared/models' import { VideoRedundancyModel } from '../models/redundancy/video-redundancy' import { sendUndoCacheFile } from './activitypub/send' -import { Transaction } from 'sequelize' -import { MActorSignature, MVideoRedundancyVideo } from '@server/types/models' -import { CONFIG } from '@server/initializers/config' -import { logger } from '@server/helpers/logger' -import { ActorFollowModel } from '@server/models/activitypub/actor-follow' -import { Activity } from '@shared/models' -import { getServerActor } from '@server/models/application/application' async function removeVideoRedundancy (videoRedundancy: MVideoRedundancyVideo, t?: Transaction) { const serverActor = await getServerActor() diff --git a/server/lib/schedulers/actor-follow-scheduler.ts b/server/lib/schedulers/actor-follow-scheduler.ts index 598c0211f..1b80316e9 100644 --- a/server/lib/schedulers/actor-follow-scheduler.ts +++ b/server/lib/schedulers/actor-follow-scheduler.ts @@ -1,9 +1,9 @@ import { isTestInstance } from '../../helpers/core-utils' import { logger } from '../../helpers/logger' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' -import { AbstractScheduler } from './abstract-scheduler' import { ACTOR_FOLLOW_SCORE, SCHEDULER_INTERVALS_MS } from '../../initializers/constants' +import { ActorFollowModel } from '../../models/actor/actor-follow' import { ActorFollowScoreCache } from '../files-cache' +import { AbstractScheduler } from './abstract-scheduler' export class ActorFollowScheduler extends AbstractScheduler { diff --git a/server/lib/schedulers/auto-follow-index-instances.ts b/server/lib/schedulers/auto-follow-index-instances.ts index 0b8cd1389..aaa5feed5 100644 --- a/server/lib/schedulers/auto-follow-index-instances.ts +++ b/server/lib/schedulers/auto-follow-index-instances.ts @@ -1,7 +1,7 @@ import { chunk } from 'lodash' import { doJSONRequest } from '@server/helpers/requests' import { JobQueue } from '@server/lib/job-queue' -import { ActorFollowModel } from '@server/models/activitypub/actor-follow' +import { ActorFollowModel } from '@server/models/actor/actor-follow' import { getServerActor } from '@server/models/application/application' import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' diff --git a/server/lib/schedulers/remove-old-history-scheduler.ts b/server/lib/schedulers/remove-old-history-scheduler.ts index 17a42b2c4..225669ea2 100644 --- a/server/lib/schedulers/remove-old-history-scheduler.ts +++ b/server/lib/schedulers/remove-old-history-scheduler.ts @@ -1,7 +1,7 @@ import { logger } from '../../helpers/logger' import { AbstractScheduler } from './abstract-scheduler' import { SCHEDULER_INTERVALS_MS } from '../../initializers/constants' -import { UserVideoHistoryModel } from '../../models/account/user-video-history' +import { UserVideoHistoryModel } from '../../models/user/user-video-history' import { CONFIG } from '../../initializers/config' export class RemoveOldHistoryScheduler extends AbstractScheduler { diff --git a/server/lib/stat-manager.ts b/server/lib/stat-manager.ts index 09ba208bd..25ed21927 100644 --- a/server/lib/stat-manager.ts +++ b/server/lib/stat-manager.ts @@ -1,6 +1,6 @@ import { CONFIG } from '@server/initializers/config' -import { UserModel } from '@server/models/account/user' -import { ActorFollowModel } from '@server/models/activitypub/actor-follow' +import { UserModel } from '@server/models/user/user' +import { ActorFollowModel } from '@server/models/actor/actor-follow' import { VideoRedundancyModel } from '@server/models/redundancy/video-redundancy' import { VideoModel } from '@server/models/video/video' import { VideoChannelModel } from '@server/models/video/video-channel' diff --git a/server/lib/user.ts b/server/lib/user.ts index 9b0a0a2f1..8a6fcebc7 100644 --- a/server/lib/user.ts +++ b/server/lib/user.ts @@ -1,14 +1,15 @@ import { Transaction } from 'sequelize/types' import { v4 as uuidv4 } from 'uuid' -import { UserModel } from '@server/models/account/user' +import { UserModel } from '@server/models/user/user' +import { MActorDefault } from '@server/types/models/actor' import { ActivityPubActorType } from '../../shared/models/activitypub' import { UserNotificationSetting, UserNotificationSettingValue } from '../../shared/models/users' import { SERVER_ACTOR_NAME, WEBSERVER } from '../initializers/constants' import { sequelizeTypescript } from '../initializers/database' import { AccountModel } from '../models/account/account' -import { UserNotificationSettingModel } from '../models/account/user-notification-setting' -import { ActorModel } from '../models/activitypub/actor' -import { MAccountDefault, MActorDefault, MChannelActor } from '../types/models' +import { ActorModel } from '../models/actor/actor' +import { UserNotificationSettingModel } from '../models/user/user-notification-setting' +import { MAccountDefault, MChannelActor } from '../types/models' import { MUser, MUserDefault, MUserId } from '../types/models/user' import { buildActorInstance, generateAndSaveActorKeys } from './activitypub/actor' import { getLocalAccountActivityPubUrl } from './activitypub/url' diff --git a/server/middlewares/validators/follows.ts b/server/middlewares/validators/follows.ts index bb849dc72..1d18de8cd 100644 --- a/server/middlewares/validators/follows.ts +++ b/server/middlewares/validators/follows.ts @@ -1,18 +1,18 @@ import * as express from 'express' import { body, param, query } from 'express-validator' -import { isTestInstance } from '../../helpers/core-utils' -import { isEachUniqueHostValid, isHostValid } from '../../helpers/custom-validators/servers' -import { logger } from '../../helpers/logger' -import { SERVER_ACTOR_NAME, WEBSERVER } from '../../initializers/constants' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' -import { areValidationErrors } from './utils' -import { ActorModel } from '../../models/activitypub/actor' -import { loadActorUrlOrGetFromWebfinger } from '../../helpers/webfinger' -import { isActorTypeValid, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor' -import { MActorFollowActorsDefault } from '@server/types/models' import { isFollowStateValid } from '@server/helpers/custom-validators/follows' import { getServerActor } from '@server/models/application/application' +import { MActorFollowActorsDefault } from '@server/types/models' import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { isTestInstance } from '../../helpers/core-utils' +import { isActorTypeValid, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor' +import { isEachUniqueHostValid, isHostValid } from '../../helpers/custom-validators/servers' +import { logger } from '../../helpers/logger' +import { loadActorUrlOrGetFromWebfinger } from '../../helpers/webfinger' +import { SERVER_ACTOR_NAME, WEBSERVER } from '../../initializers/constants' +import { ActorModel } from '../../models/actor/actor' +import { ActorFollowModel } from '../../models/actor/actor-follow' +import { areValidationErrors } from './utils' const listFollowsValidator = [ query('state') diff --git a/server/middlewares/validators/user-subscriptions.ts b/server/middlewares/validators/user-subscriptions.ts index 0d0c8ccbf..1823892b6 100644 --- a/server/middlewares/validators/user-subscriptions.ts +++ b/server/middlewares/validators/user-subscriptions.ts @@ -1,12 +1,12 @@ import * as express from 'express' import { body, param, query } from 'express-validator' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' +import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' import { areValidActorHandles, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor' import { toArray } from '../../helpers/custom-validators/misc' +import { logger } from '../../helpers/logger' import { WEBSERVER } from '../../initializers/constants' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { ActorFollowModel } from '../../models/actor/actor-follow' +import { areValidationErrors } from './utils' const userSubscriptionListValidator = [ query('search').optional().not().isEmpty().withMessage('Should have a valid search'), diff --git a/server/middlewares/validators/users.ts b/server/middlewares/validators/users.ts index 37119e279..548d5df4d 100644 --- a/server/middlewares/validators/users.ts +++ b/server/middlewares/validators/users.ts @@ -34,8 +34,8 @@ import { doesVideoExist } from '../../helpers/middlewares' import { isSignupAllowed, isSignupAllowedForCurrentIP } from '../../helpers/signup' import { isThemeRegistered } from '../../lib/plugins/theme-utils' import { Redis } from '../../lib/redis' -import { UserModel } from '../../models/account/user' -import { ActorModel } from '../../models/activitypub/actor' +import { UserModel } from '../../models/user/user' +import { ActorModel } from '../../models/actor/actor' import { areValidationErrors } from './utils' const usersListValidator = [ diff --git a/server/middlewares/validators/videos/video-channels.ts b/server/middlewares/validators/videos/video-channels.ts index 2463d281c..e881f0d3e 100644 --- a/server/middlewares/validators/videos/video-channels.ts +++ b/server/middlewares/validators/videos/video-channels.ts @@ -3,6 +3,7 @@ import { body, param, query } from 'express-validator' import { VIDEO_CHANNELS } from '@server/initializers/constants' import { MChannelAccountDefault, MUser } from '@server/types/models' import { UserRight } from '../../../../shared' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { isActorPreferredUsernameValid } from '../../../helpers/custom-validators/activitypub/actor' import { isBooleanValid, toBooleanOrNull } from '../../../helpers/custom-validators/misc' import { @@ -12,10 +13,9 @@ import { } from '../../../helpers/custom-validators/video-channels' import { logger } from '../../../helpers/logger' import { doesLocalVideoChannelNameExist, doesVideoChannelNameWithHostExist } from '../../../helpers/middlewares' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' import { VideoChannelModel } from '../../../models/video/video-channel' import { areValidationErrors } from '../utils' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' const videoChannelsAddValidator = [ body('name').custom(isActorPreferredUsernameValid).withMessage('Should have a valid channel name'), diff --git a/server/middlewares/validators/webfinger.ts b/server/middlewares/validators/webfinger.ts index a71422ed8..c2dfccc96 100644 --- a/server/middlewares/validators/webfinger.ts +++ b/server/middlewares/validators/webfinger.ts @@ -1,11 +1,11 @@ import * as express from 'express' import { query } from 'express-validator' -import { isWebfingerLocalResourceValid } from '../../helpers/custom-validators/webfinger' -import { logger } from '../../helpers/logger' -import { ActorModel } from '../../models/activitypub/actor' -import { areValidationErrors } from './utils' -import { getHostWithPort } from '../../helpers/express-utils' import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { isWebfingerLocalResourceValid } from '../../helpers/custom-validators/webfinger' +import { getHostWithPort } from '../../helpers/express-utils' +import { logger } from '../../helpers/logger' +import { ActorModel } from '../../models/actor/actor' +import { areValidationErrors } from './utils' const webfingerValidator = [ query('resource').custom(isWebfingerLocalResourceValid).withMessage('Should have a valid webfinger resource'), diff --git a/server/models/account/account-blocklist.ts b/server/models/account/account-blocklist.ts index fe9168ab8..9f3be22bd 100644 --- a/server/models/account/account-blocklist.ts +++ b/server/models/account/account-blocklist.ts @@ -2,7 +2,7 @@ import { Op } from 'sequelize' import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' import { MAccountBlocklist, MAccountBlocklistAccounts, MAccountBlocklistFormattable } from '@server/types/models' import { AccountBlock } from '../../../shared/models' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' import { ServerModel } from '../server/server' import { getSort, searchAttribute } from '../utils' import { AccountModel } from './account' diff --git a/server/models/account/account-video-rate.ts b/server/models/account/account-video-rate.ts index 801f76bba..576a44576 100644 --- a/server/models/account/account-video-rate.ts +++ b/server/models/account/account-video-rate.ts @@ -11,7 +11,7 @@ import { AccountVideoRate } from '../../../shared' import { VideoRateType } from '../../../shared/models/videos' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' import { CONSTRAINTS_FIELDS, VIDEO_RATE_TYPES } from '../../initializers/constants' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' import { buildLocalAccountIdsIn, getSort, throwIfNotValid } from '../utils' import { VideoModel } from '../video/video' import { ScopeNames as VideoChannelScopeNames, SummaryOptions, VideoChannelModel } from '../video/video-channel' diff --git a/server/models/account/account.ts b/server/models/account/account.ts index d33353af7..7b2af706d 100644 --- a/server/models/account/account.ts +++ b/server/models/account/account.ts @@ -30,19 +30,19 @@ import { MAccountSummaryFormattable, MChannelActor } from '../../types/models' -import { ActorModel } from '../activitypub/actor' -import { ActorFollowModel } from '../activitypub/actor-follow' +import { ActorModel } from '../actor/actor' +import { ActorFollowModel } from '../actor/actor-follow' +import { ActorImageModel } from '../actor/actor-image' import { ApplicationModel } from '../application/application' -import { ActorImageModel } from './actor-image' import { ServerModel } from '../server/server' import { ServerBlocklistModel } from '../server/server-blocklist' +import { UserModel } from '../user/user' import { getSort, throwIfNotValid } from '../utils' import { VideoModel } from '../video/video' import { VideoChannelModel } from '../video/video-channel' import { VideoCommentModel } from '../video/video-comment' import { VideoPlaylistModel } from '../video/video-playlist' import { AccountBlocklistModel } from './account-blocklist' -import { UserModel } from './user' export enum ScopeNames { SUMMARY = 'SUMMARY' diff --git a/server/models/activitypub/actor-follow.ts b/server/models/actor/actor-follow.ts similarity index 100% rename from server/models/activitypub/actor-follow.ts rename to server/models/actor/actor-follow.ts diff --git a/server/models/account/actor-image.ts b/server/models/actor/actor-image.ts similarity index 100% rename from server/models/account/actor-image.ts rename to server/models/actor/actor-image.ts diff --git a/server/models/activitypub/actor.ts b/server/models/actor/actor.ts similarity index 99% rename from server/models/activitypub/actor.ts rename to server/models/actor/actor.ts index 1af9efac2..5cf6fb8f1 100644 --- a/server/models/activitypub/actor.ts +++ b/server/models/actor/actor.ts @@ -51,12 +51,12 @@ import { MActorWithInboxes } from '../../types/models' import { AccountModel } from '../account/account' -import { ActorImageModel } from '../account/actor-image' import { ServerModel } from '../server/server' import { isOutdated, throwIfNotValid } from '../utils' import { VideoModel } from '../video/video' import { VideoChannelModel } from '../video/video-channel' import { ActorFollowModel } from './actor-follow' +import { ActorImageModel } from './actor-image' enum ScopeNames { FULL = 'FULL' diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index 27e643aa7..aa512a985 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts @@ -17,8 +17,8 @@ import { MUserAccountId } from '@server/types/models' import { MOAuthTokenUser } from '@server/types/models/oauth/oauth-token' import { logger } from '../../helpers/logger' import { AccountModel } from '../account/account' -import { UserModel } from '../account/user' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' +import { UserModel } from '../user/user' import { OAuthClientModel } from './oauth-client' export type OAuthTokenInfo = { diff --git a/server/models/redundancy/video-redundancy.ts b/server/models/redundancy/video-redundancy.ts index 53ebadeaf..b6538c8fd 100644 --- a/server/models/redundancy/video-redundancy.ts +++ b/server/models/redundancy/video-redundancy.ts @@ -29,7 +29,7 @@ import { isActivityPubUrlValid, isUrlValid } from '../../helpers/custom-validato import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' import { CONSTRAINTS_FIELDS, MIMETYPES } from '../../initializers/constants' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' import { ServerModel } from '../server/server' import { getSort, getVideoSort, parseAggregateResult, throwIfNotValid } from '../utils' import { ScheduleVideoUpdateModel } from '../video/schedule-video-update' diff --git a/server/models/server/server.ts b/server/models/server/server.ts index 0e58beeaf..fb4c15d97 100644 --- a/server/models/server/server.ts +++ b/server/models/server/server.ts @@ -1,7 +1,7 @@ import { AllowNull, Column, CreatedAt, Default, HasMany, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MServer, MServerFormattable } from '@server/types/models/server' import { isHostValid } from '../../helpers/custom-validators/servers' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' import { throwIfNotValid } from '../utils' import { ServerBlocklistModel } from './server-blocklist' diff --git a/server/models/account/user-notification-setting.ts b/server/models/user/user-notification-setting.ts similarity index 100% rename from server/models/account/user-notification-setting.ts rename to server/models/user/user-notification-setting.ts diff --git a/server/models/account/user-notification.ts b/server/models/user/user-notification.ts similarity index 98% rename from server/models/account/user-notification.ts rename to server/models/user/user-notification.ts index 805095002..f7f9ac867 100644 --- a/server/models/account/user-notification.ts +++ b/server/models/user/user-notification.ts @@ -7,8 +7,10 @@ import { isUserNotificationTypeValid } from '../../helpers/custom-validators/use import { AbuseModel } from '../abuse/abuse' import { VideoAbuseModel } from '../abuse/video-abuse' import { VideoCommentAbuseModel } from '../abuse/video-comment-abuse' -import { ActorModel } from '../activitypub/actor' -import { ActorFollowModel } from '../activitypub/actor-follow' +import { AccountModel } from '../account/account' +import { ActorModel } from '../actor/actor' +import { ActorFollowModel } from '../actor/actor-follow' +import { ActorImageModel } from '../actor/actor-image' import { ApplicationModel } from '../application/application' import { PluginModel } from '../server/plugin' import { ServerModel } from '../server/server' @@ -18,8 +20,6 @@ import { VideoBlacklistModel } from '../video/video-blacklist' import { VideoChannelModel } from '../video/video-channel' import { VideoCommentModel } from '../video/video-comment' import { VideoImportModel } from '../video/video-import' -import { AccountModel } from './account' -import { ActorImageModel } from './actor-image' import { UserModel } from './user' enum ScopeNames { diff --git a/server/models/account/user-video-history.ts b/server/models/user/user-video-history.ts similarity index 100% rename from server/models/account/user-video-history.ts rename to server/models/user/user-video-history.ts diff --git a/server/models/account/user.ts b/server/models/user/user.ts similarity index 99% rename from server/models/account/user.ts rename to server/models/user/user.ts index 513455773..8d2564e54 100644 --- a/server/models/account/user.ts +++ b/server/models/user/user.ts @@ -60,8 +60,10 @@ import { import { comparePassword, cryptPassword } from '../../helpers/peertube-crypto' import { DEFAULT_USER_THEME_NAME, NSFW_POLICY_TYPES } from '../../initializers/constants' import { getThemeOrDefault } from '../../lib/plugins/theme-utils' -import { ActorModel } from '../activitypub/actor' -import { ActorFollowModel } from '../activitypub/actor-follow' +import { AccountModel } from '../account/account' +import { ActorModel } from '../actor/actor' +import { ActorFollowModel } from '../actor/actor-follow' +import { ActorImageModel } from '../actor/actor-image' import { OAuthTokenModel } from '../oauth/oauth-token' import { getSort, throwIfNotValid } from '../utils' import { VideoModel } from '../video/video' @@ -69,9 +71,7 @@ import { VideoChannelModel } from '../video/video-channel' import { VideoImportModel } from '../video/video-import' import { VideoLiveModel } from '../video/video-live' import { VideoPlaylistModel } from '../video/video-playlist' -import { AccountModel } from './account' import { UserNotificationSettingModel } from './user-notification-setting' -import { ActorImageModel } from './actor-image' enum ScopeNames { FOR_ME_API = 'FOR_ME_API', diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts index 081b21f2d..8e4b78723 100644 --- a/server/models/video/video-channel.ts +++ b/server/models/video/video-channel.ts @@ -36,9 +36,9 @@ import { MChannelSummaryFormattable } from '../../types/models/video' import { AccountModel, ScopeNames as AccountModelScopeNames, SummaryOptions as AccountSummaryOptions } from '../account/account' -import { ActorImageModel } from '../account/actor-image' -import { ActorModel, unusedActorAttributesForAPI } from '../activitypub/actor' -import { ActorFollowModel } from '../activitypub/actor-follow' +import { ActorModel, unusedActorAttributesForAPI } from '../actor/actor' +import { ActorFollowModel } from '../actor/actor-follow' +import { ActorImageModel } from '../actor/actor-image' import { ServerModel } from '../server/server' import { buildServerIdsFollowedBy, buildTrigramSearchIndex, createSimilarityAttribute, getSort, throwIfNotValid } from '../utils' import { VideoModel } from './video' diff --git a/server/models/video/video-comment.ts b/server/models/video/video-comment.ts index 151c2bc81..87c66dc9f 100644 --- a/server/models/video/video-comment.ts +++ b/server/models/video/video-comment.ts @@ -39,7 +39,7 @@ import { } from '../../types/models/video' import { VideoCommentAbuseModel } from '../abuse/video-comment-abuse' import { AccountModel } from '../account/account' -import { ActorModel, unusedActorAttributesForAPI } from '../activitypub/actor' +import { ActorModel, unusedActorAttributesForAPI } from '../actor/actor' import { buildBlockedAccountSQL, buildBlockedAccountSQLOptimized, diff --git a/server/models/video/video-import.ts b/server/models/video/video-import.ts index 8324166cc..d8f09e1e5 100644 --- a/server/models/video/video-import.ts +++ b/server/models/video/video-import.ts @@ -13,15 +13,15 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { MVideoImportDefault, MVideoImportFormattable } from '@server/types/models/video/video-import' import { VideoImport, VideoImportState } from '../../../shared' import { isVideoImportStateValid, isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports' import { isVideoMagnetUriValid } from '../../helpers/custom-validators/videos' import { CONSTRAINTS_FIELDS, VIDEO_IMPORT_STATES } from '../../initializers/constants' -import { UserModel } from '../account/user' +import { UserModel } from '../user/user' import { getSort, throwIfNotValid } from '../utils' import { ScopeNames as VideoModelScopeNames, VideoModel } from './video' -import { afterCommitIfTransaction } from '@server/helpers/database-utils' @DefaultScope(() => ({ include: [ diff --git a/server/models/video/video-playlist.ts b/server/models/video/video-playlist.ts index efe5be36d..b48dd2945 100644 --- a/server/models/video/video-playlist.ts +++ b/server/models/video/video-playlist.ts @@ -50,11 +50,11 @@ import { MVideoPlaylistIdWithElements } from '../../types/models/video/video-playlist' import { AccountModel, ScopeNames as AccountScopeNames, SummaryOptions } from '../account/account' +import { ActorModel } from '../actor/actor' import { buildServerIdsFollowedBy, buildWhereIdOrUUID, getPlaylistSort, isOutdated, throwIfNotValid } from '../utils' import { ThumbnailModel } from './thumbnail' import { ScopeNames as VideoChannelScopeNames, VideoChannelModel } from './video-channel' import { VideoPlaylistElementModel } from './video-playlist-element' -import { ActorModel } from '../activitypub/actor' enum ScopeNames { AVAILABLE_FOR_LIST = 'AVAILABLE_FOR_LIST', diff --git a/server/models/video/video-share.ts b/server/models/video/video-share.ts index 5059c1fa6..99a24dbdf 100644 --- a/server/models/video/video-share.ts +++ b/server/models/video/video-share.ts @@ -4,7 +4,7 @@ import { isActivityPubUrlValid } from '../../helpers/custom-validators/activityp import { CONSTRAINTS_FIELDS } from '../../initializers/constants' import { MActorDefault } from '../../types/models' import { MVideoShareActor, MVideoShareFull } from '../../types/models/video' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' import { buildLocalActorIdsIn, throwIfNotValid } from '../utils' import { VideoModel } from './video' diff --git a/server/models/video/video.ts b/server/models/video/video.ts index 8c316e00c..f8a099d9c 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts @@ -100,14 +100,14 @@ import { MVideoFile, MVideoFileStreamingPlaylistVideo } from '../../types/models import { VideoAbuseModel } from '../abuse/video-abuse' import { AccountModel } from '../account/account' import { AccountVideoRateModel } from '../account/account-video-rate' -import { ActorImageModel } from '../account/actor-image' -import { UserModel } from '../account/user' -import { UserVideoHistoryModel } from '../account/user-video-history' -import { ActorModel } from '../activitypub/actor' +import { ActorModel } from '../actor/actor' +import { ActorImageModel } from '../actor/actor-image' import { VideoRedundancyModel } from '../redundancy/video-redundancy' import { ServerModel } from '../server/server' import { TrackerModel } from '../server/tracker' import { VideoTrackerModel } from '../server/video-tracker' +import { UserModel } from '../user/user' +import { UserVideoHistoryModel } from '../user/user-video-history' import { buildTrigramSearchIndex, buildWhereIdOrUUID, getVideoSort, isOutdated, throwIfNotValid } from '../utils' import { ScheduleVideoUpdateModel } from './schedule-video-update' import { TagModel } from './tag' diff --git a/server/types/models/moderation/abuse-message.ts b/server/types/models/abuse/abuse-message.ts similarity index 100% rename from server/types/models/moderation/abuse-message.ts rename to server/types/models/abuse/abuse-message.ts diff --git a/server/types/models/moderation/abuse.ts b/server/types/models/abuse/abuse.ts similarity index 100% rename from server/types/models/moderation/abuse.ts rename to server/types/models/abuse/abuse.ts diff --git a/server/types/models/moderation/index.ts b/server/types/models/abuse/index.ts similarity index 100% rename from server/types/models/moderation/index.ts rename to server/types/models/abuse/index.ts diff --git a/server/types/models/account/account.ts b/server/types/models/account/account.ts index 9513acad8..984841291 100644 --- a/server/types/models/account/account.ts +++ b/server/types/models/account/account.ts @@ -1,7 +1,5 @@ import { FunctionProperties, PickWith } from '@shared/core-utils' import { AccountModel } from '../../../models/account/account' -import { MChannelDefault } from '../video/video-channels' -import { MAccountBlocklistId } from './account-blocklist' import { MActor, MActorAPAccount, @@ -15,7 +13,9 @@ import { MActorSummary, MActorSummaryFormattable, MActorUrl -} from './actor' +} from '../actor' +import { MChannelDefault } from '../video/video-channels' +import { MAccountBlocklistId } from './account-blocklist' type Use = PickWith diff --git a/server/types/models/account/index.ts b/server/types/models/account/index.ts index e3fc00f94..dab2eea7e 100644 --- a/server/types/models/account/index.ts +++ b/server/types/models/account/index.ts @@ -1,5 +1,2 @@ export * from './account' export * from './account-blocklist' -export * from './actor-follow' -export * from './actor-image' -export * from './actor' diff --git a/server/types/models/account/actor-follow.ts b/server/types/models/actor/actor-follow.ts similarity index 96% rename from server/types/models/account/actor-follow.ts rename to server/types/models/actor/actor-follow.ts index 8e19c6140..98a6ca8a5 100644 --- a/server/types/models/account/actor-follow.ts +++ b/server/types/models/actor/actor-follow.ts @@ -1,5 +1,5 @@ import { PickWith } from '@shared/core-utils' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { ActorFollowModel } from '../../../models/actor/actor-follow' import { MActor, MActorChannelAccountActor, diff --git a/server/types/models/account/actor-image.ts b/server/types/models/actor/actor-image.ts similarity index 83% rename from server/types/models/account/actor-image.ts rename to server/types/models/actor/actor-image.ts index e59f8b141..89adb01ae 100644 --- a/server/types/models/account/actor-image.ts +++ b/server/types/models/actor/actor-image.ts @@ -1,5 +1,5 @@ -import { ActorImageModel } from '../../../models/account/actor-image' import { FunctionProperties } from '@shared/core-utils' +import { ActorImageModel } from '../../../models/actor/actor-image' export type MActorImage = ActorImageModel diff --git a/server/types/models/account/actor.ts b/server/types/models/actor/actor.ts similarity index 98% rename from server/types/models/account/actor.ts rename to server/types/models/actor/actor.ts index 0b620872e..b3a70cbce 100644 --- a/server/types/models/account/actor.ts +++ b/server/types/models/actor/actor.ts @@ -1,9 +1,8 @@ - import { FunctionProperties, PickWith, PickWithOpt } from '@shared/core-utils' -import { ActorModel } from '../../../models/activitypub/actor' +import { ActorModel } from '../../../models/actor/actor' +import { MAccount, MAccountDefault, MAccountId, MAccountIdActor } from '../account' import { MServer, MServerHost, MServerHostBlocks, MServerRedundancyAllowed } from '../server' import { MChannel, MChannelAccountActor, MChannelAccountDefault, MChannelId, MChannelIdActor } from '../video' -import { MAccount, MAccountDefault, MAccountId, MAccountIdActor } from './account' import { MActorImage, MActorImageFormattable } from './actor-image' type Use = PickWith diff --git a/server/types/models/actor/index.ts b/server/types/models/actor/index.ts new file mode 100644 index 000000000..b27815255 --- /dev/null +++ b/server/types/models/actor/index.ts @@ -0,0 +1,3 @@ +export * from './actor-follow' +export * from './actor-image' +export * from './actor' diff --git a/server/types/models/index.ts b/server/types/models/index.ts index b4fdb1ff3..704cb9844 100644 --- a/server/types/models/index.ts +++ b/server/types/models/index.ts @@ -1,6 +1,7 @@ +export * from './abuse' export * from './account' +export * from './actor' export * from './application' -export * from './moderation' export * from './oauth' export * from './server' export * from './user' diff --git a/server/types/models/user/user-notification-setting.ts b/server/types/models/user/user-notification-setting.ts index c674add1b..d1db645e7 100644 --- a/server/types/models/user/user-notification-setting.ts +++ b/server/types/models/user/user-notification-setting.ts @@ -1,4 +1,4 @@ -import { UserNotificationSettingModel } from '@server/models/account/user-notification-setting' +import { UserNotificationSettingModel } from '@server/models/user/user-notification-setting' export type MNotificationSetting = Omit diff --git a/server/types/models/user/user-notification.ts b/server/types/models/user/user-notification.ts index 7ebb0485d..918614dd1 100644 --- a/server/types/models/user/user-notification.ts +++ b/server/types/models/user/user-notification.ts @@ -2,13 +2,13 @@ import { VideoAbuseModel } from '@server/models/abuse/video-abuse' import { VideoCommentAbuseModel } from '@server/models/abuse/video-comment-abuse' import { ApplicationModel } from '@server/models/application/application' import { PluginModel } from '@server/models/server/plugin' +import { UserNotificationModel } from '@server/models/user/user-notification' import { PickWith, PickWithOpt } from '@shared/core-utils' import { AbuseModel } from '../../../models/abuse/abuse' import { AccountModel } from '../../../models/account/account' -import { ActorImageModel } from '../../../models/account/actor-image' -import { UserNotificationModel } from '../../../models/account/user-notification' -import { ActorModel } from '../../../models/activitypub/actor' -import { ActorFollowModel } from '../../../models/activitypub/actor-follow' +import { ActorModel } from '../../../models/actor/actor' +import { ActorFollowModel } from '../../../models/actor/actor-follow' +import { ActorImageModel } from '../../../models/actor/actor-image' import { ServerModel } from '../../../models/server/server' import { VideoModel } from '../../../models/video/video' import { VideoBlacklistModel } from '../../../models/video/video-blacklist' diff --git a/server/types/models/user/user-video-history.ts b/server/types/models/user/user-video-history.ts index 62673ab1b..34e2930e7 100644 --- a/server/types/models/user/user-video-history.ts +++ b/server/types/models/user/user-video-history.ts @@ -1,4 +1,4 @@ -import { UserVideoHistoryModel } from '../../../models/account/user-video-history' +import { UserVideoHistoryModel } from '../../../models/user/user-video-history' export type MUserVideoHistory = Omit diff --git a/server/types/models/user/user.ts b/server/types/models/user/user.ts index fa7de9c52..f79220e11 100644 --- a/server/types/models/user/user.ts +++ b/server/types/models/user/user.ts @@ -1,7 +1,7 @@ import { AccountModel } from '@server/models/account/account' +import { UserModel } from '@server/models/user/user' import { MVideoPlaylist } from '@server/types/models' import { PickWith, PickWithOpt } from '@shared/core-utils' -import { UserModel } from '../../../models/account/user' import { MAccount, MAccountDefault, diff --git a/server/types/models/video/video-channels.ts b/server/types/models/video/video-channels.ts index f577807ca..c147567d9 100644 --- a/server/types/models/video/video-channels.ts +++ b/server/types/models/video/video-channels.ts @@ -9,7 +9,9 @@ import { MAccountSummaryBlocks, MAccountSummaryFormattable, MAccountUrl, - MAccountUserId, + MAccountUserId +} from '../account' +import { MActor, MActorAccountChannelId, MActorAPChannel, @@ -23,7 +25,7 @@ import { MActorSummary, MActorSummaryFormattable, MActorUrl -} from '../account' +} from '../actor' import { MVideo } from './video' type Use = PickWith diff --git a/server/types/models/video/video-share.ts b/server/types/models/video/video-share.ts index b7a783bb6..78f44e58c 100644 --- a/server/types/models/video/video-share.ts +++ b/server/types/models/video/video-share.ts @@ -1,6 +1,6 @@ -import { VideoShareModel } from '../../../models/video/video-share' import { PickWith } from '@shared/core-utils' -import { MActorDefault } from '../account' +import { VideoShareModel } from '../../../models/video/video-share' +import { MActorDefault } from '../actor' import { MVideo } from './video' type Use = PickWith diff --git a/server/types/plugins/register-server-option.model.ts b/server/types/plugins/register-server-option.model.ts index 2432b7ac4..8774bcd8c 100644 --- a/server/types/plugins/register-server-option.model.ts +++ b/server/types/plugins/register-server-option.model.ts @@ -1,6 +1,6 @@ -import { Router, Response } from 'express' +import { Response, Router } from 'express' import { Logger } from 'winston' -import { ActorModel } from '@server/models/activitypub/actor' +import { ActorModel } from '@server/models/actor/actor' import { PluginPlaylistPrivacyManager, PluginSettingsManager, From 2b02c520e66ea452687cab39401b371711caa9ed Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 11:27:40 +0200 Subject: [PATCH 070/136] Cleanup shared models --- server/controllers/api/videos/comment.ts | 2 +- server/controllers/static.ts | 2 +- server/helpers/audit-logger.ts | 2 +- server/helpers/ffprobe-utils.ts | 3 +- server/lib/moderation.ts | 4 +- server/lib/video-comment.ts | 2 +- .../middlewares/validators/videos/videos.ts | 2 +- server/models/video/video-comment.ts | 2 +- server/tests/api/moderation/blocklist.ts | 60 ++++++++++--------- .../notifications/comments-notifications.ts | 25 ++++---- server/tests/api/server/bulk.ts | 9 ++- server/tests/api/server/follows.ts | 52 ++++++++-------- server/tests/api/server/handle-down.ts | 2 +- server/tests/api/videos/multiple-servers.ts | 13 ++-- server/tests/api/videos/video-comments.ts | 3 +- server/tests/plugins/filter-hooks.ts | 2 +- shared/extra-utils/index.ts | 16 ++++- shared/models/nodeinfo/index.ts | 1 + .../{index.d.ts => nodeinfo.model.ts} | 0 shared/models/overviews/index.ts | 2 +- ...s-overview.ts => videos-overview.model.ts} | 0 shared/models/redundancy/index.ts | 3 +- .../models/videos/change-ownership/index.ts | 3 + .../video-change-ownership-accept.model.ts | 0 .../video-change-ownership-create.model.ts | 0 .../video-change-ownership.model.ts | 4 +- shared/models/videos/comment/index.ts | 1 + .../{ => comment}/video-comment.model.ts | 2 +- shared/models/videos/index.ts | 12 ++-- ...tadata.ts => video-file-metadata.model.ts} | 0 shared/models/videos/video-file.model.ts | 2 +- 31 files changed, 125 insertions(+), 106 deletions(-) create mode 100644 shared/models/nodeinfo/index.ts rename shared/models/nodeinfo/{index.d.ts => nodeinfo.model.ts} (100%) rename shared/models/overviews/{videos-overview.ts => videos-overview.model.ts} (100%) create mode 100644 shared/models/videos/change-ownership/index.ts rename shared/models/videos/{ => change-ownership}/video-change-ownership-accept.model.ts (100%) rename shared/models/videos/{ => change-ownership}/video-change-ownership-create.model.ts (100%) rename shared/models/videos/{ => change-ownership}/video-change-ownership.model.ts (79%) create mode 100644 shared/models/videos/comment/index.ts rename shared/models/videos/{ => comment}/video-comment.model.ts (95%) rename shared/models/videos/{video-file-metadata.ts => video-file-metadata.model.ts} (100%) diff --git a/server/controllers/api/videos/comment.ts b/server/controllers/api/videos/comment.ts index f1f53d354..cfdf2773f 100644 --- a/server/controllers/api/videos/comment.ts +++ b/server/controllers/api/videos/comment.ts @@ -1,7 +1,7 @@ import * as express from 'express' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { ResultList, ThreadsResultList, UserRight } from '../../../../shared/models' -import { VideoCommentCreate } from '../../../../shared/models/videos/video-comment.model' +import { VideoCommentCreate } from '../../../../shared/models/videos/comment/video-comment.model' import { auditLoggerFactory, CommentAuditView, getAuditIdFromRes } from '../../../helpers/audit-logger' import { getFormattedObjects } from '../../../helpers/utils' import { sequelizeTypescript } from '../../../initializers/database' diff --git a/server/controllers/static.ts b/server/controllers/static.ts index 97c48b1d7..8a747ec52 100644 --- a/server/controllers/static.ts +++ b/server/controllers/static.ts @@ -4,7 +4,7 @@ import { join } from 'path' import { serveIndexHTML } from '@server/lib/client-html' import { getEnabledResolutions, getRegisteredPlugins, getRegisteredThemes } from '@server/lib/config' import { HttpStatusCode } from '@shared/core-utils/miscs/http-error-codes' -import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../../shared/models/nodeinfo' +import { HttpNodeinfoDiasporaSoftwareNsSchema20 } from '../../shared/models/nodeinfo/nodeinfo.model' import { root } from '../helpers/core-utils' import { CONFIG, isEmailEnabled } from '../initializers/config' import { diff --git a/server/helpers/audit-logger.ts b/server/helpers/audit-logger.ts index 6aae5e821..884bd187d 100644 --- a/server/helpers/audit-logger.ts +++ b/server/helpers/audit-logger.ts @@ -7,7 +7,7 @@ import * as winston from 'winston' import { AUDIT_LOG_FILENAME } from '@server/initializers/constants' import { AdminAbuse, User, VideoChannel, VideoDetails, VideoImport } from '../../shared' import { CustomConfig } from '../../shared/models/server/custom-config.model' -import { VideoComment } from '../../shared/models/videos/video-comment.model' +import { VideoComment } from '../../shared/models/videos/comment/video-comment.model' import { CONFIG } from '../initializers/config' import { jsonLoggerFormat, labelFormatter } from './logger' diff --git a/server/helpers/ffprobe-utils.ts b/server/helpers/ffprobe-utils.ts index 40eaafd57..ef2aa3f89 100644 --- a/server/helpers/ffprobe-utils.ts +++ b/server/helpers/ffprobe-utils.ts @@ -1,6 +1,5 @@ import * as ffmpeg from 'fluent-ffmpeg' -import { VideoFileMetadata } from '@shared/models/videos/video-file-metadata' -import { getMaxBitrate, VideoResolution } from '../../shared/models/videos' +import { getMaxBitrate, VideoFileMetadata, VideoResolution } from '../../shared/models/videos' import { CONFIG } from '../initializers/config' import { VIDEO_TRANSCODING_FPS } from '../initializers/constants' import { logger } from './logger' diff --git a/server/lib/moderation.ts b/server/lib/moderation.ts index d83086005..0cefe1648 100644 --- a/server/lib/moderation.ts +++ b/server/lib/moderation.ts @@ -23,9 +23,9 @@ import { ActivityCreate } from '../../shared/models/activitypub' import { VideoObject } from '../../shared/models/activitypub/objects' import { VideoCommentObject } from '../../shared/models/activitypub/objects/video-comment-object' import { LiveVideoCreate, VideoCreate, VideoImportCreate } from '../../shared/models/videos' -import { VideoCommentCreate } from '../../shared/models/videos/video-comment.model' -import { UserModel } from '../models/user/user' +import { VideoCommentCreate } from '../../shared/models/videos/comment/video-comment.model' import { ActorModel } from '../models/actor/actor' +import { UserModel } from '../models/user/user' import { VideoModel } from '../models/video/video' import { VideoCommentModel } from '../models/video/video-comment' import { sendAbuse } from './activitypub/send/send-flag' diff --git a/server/lib/video-comment.ts b/server/lib/video-comment.ts index 736ebb2f8..51a9c747e 100644 --- a/server/lib/video-comment.ts +++ b/server/lib/video-comment.ts @@ -3,7 +3,7 @@ import * as Sequelize from 'sequelize' import { logger } from '@server/helpers/logger' import { sequelizeTypescript } from '@server/initializers/database' import { ResultList } from '../../shared/models' -import { VideoCommentThreadTree } from '../../shared/models/videos/video-comment.model' +import { VideoCommentThreadTree } from '../../shared/models/videos/comment/video-comment.model' import { VideoCommentModel } from '../models/video/video-comment' import { MAccountDefault, MComment, MCommentOwnerVideo, MCommentOwnerVideoReply, MVideoFullLight } from '../types/models' import { sendCreateVideoComment, sendDeleteVideoComment } from './activitypub/send' diff --git a/server/middlewares/validators/videos/videos.ts b/server/middlewares/validators/videos/videos.ts index d26bcd4a6..3219e10d4 100644 --- a/server/middlewares/validators/videos/videos.ts +++ b/server/middlewares/validators/videos/videos.ts @@ -7,7 +7,7 @@ import { ExpressPromiseHandler } from '@server/types/express' import { MUserAccountId, MVideoWithRights } from '@server/types/models' import { ServerErrorCode, UserRight, VideoChangeOwnershipStatus, VideoPrivacy } from '../../../../shared' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' -import { VideoChangeOwnershipAccept } from '../../../../shared/models/videos/video-change-ownership-accept.model' +import { VideoChangeOwnershipAccept } from '../../../../shared/models/videos/change-ownership/video-change-ownership-accept.model' import { exists, isBooleanValid, diff --git a/server/models/video/video-comment.ts b/server/models/video/video-comment.ts index 87c66dc9f..ffd324526 100644 --- a/server/models/video/video-comment.ts +++ b/server/models/video/video-comment.ts @@ -19,7 +19,7 @@ import { MAccount, MAccountId, MUserAccountId } from '@server/types/models' import { VideoPrivacy } from '@shared/models' import { ActivityTagObject, ActivityTombstoneObject } from '../../../shared/models/activitypub/objects/common-objects' import { VideoCommentObject } from '../../../shared/models/activitypub/objects/video-comment-object' -import { VideoComment, VideoCommentAdmin } from '../../../shared/models/videos/video-comment.model' +import { VideoComment, VideoCommentAdmin } from '../../../shared/models/videos/comment/video-comment.model' import { actorNameAlphabet } from '../../helpers/custom-validators/activitypub/actor' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' import { regexpCapture } from '../../helpers/regexp' diff --git a/server/tests/api/moderation/blocklist.ts b/server/tests/api/moderation/blocklist.ts index e8202aff1..b767d38c7 100644 --- a/server/tests/api/moderation/blocklist.ts +++ b/server/tests/api/moderation/blocklist.ts @@ -1,46 +1,50 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import * as chai from 'chai' import 'mocha' -import { AccountBlock, ServerBlock, Video, UserNotification, UserNotificationType } from '../../../../shared/index' -import { - cleanupTests, - createUser, - deleteVideoComment, - doubleFollow, - flushAndRunMultipleServers, - ServerInfo, - uploadVideo, - userLogin, - follow, - unfollow -} from '../../../../shared/extra-utils/index' -import { setAccessTokensToServers } from '../../../../shared/extra-utils/users/login' -import { getVideosList, getVideosListWithToken } from '../../../../shared/extra-utils/videos/videos' -import { - addVideoCommentReply, - addVideoCommentThread, - getVideoCommentThreads, - getVideoThreadComments, - findCommentId -} from '../../../../shared/extra-utils/videos/video-comments' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' +import * as chai from 'chai' import { addAccountToAccountBlocklist, addAccountToServerBlocklist, addServerToAccountBlocklist, addServerToServerBlocklist, + addVideoCommentReply, + addVideoCommentThread, + cleanupTests, + createUser, + deleteVideoComment, + doubleFollow, + findCommentId, + flushAndRunMultipleServers, + follow, getAccountBlocklistByAccount, getAccountBlocklistByServer, getServerBlocklistByAccount, getServerBlocklistByServer, + getUserNotifications, + getVideoCommentThreads, + getVideosList, + getVideosListWithToken, + getVideoThreadComments, removeAccountFromAccountBlocklist, removeAccountFromServerBlocklist, removeServerFromAccountBlocklist, - removeServerFromServerBlocklist -} from '../../../../shared/extra-utils/users/blocklist' -import { getUserNotifications } from '../../../../shared/extra-utils/users/user-notifications' + removeServerFromServerBlocklist, + ServerInfo, + setAccessTokensToServers, + unfollow, + uploadVideo, + userLogin, + waitJobs +} from '@shared/extra-utils' +import { + AccountBlock, + ServerBlock, + UserNotification, + UserNotificationType, + Video, + VideoComment, + VideoCommentThreadTree +} from '@shared/models' const expect = chai.expect diff --git a/server/tests/api/notifications/comments-notifications.ts b/server/tests/api/notifications/comments-notifications.ts index 5e4ab0d6c..d2badf237 100644 --- a/server/tests/api/notifications/comments-notifications.ts +++ b/server/tests/api/notifications/comments-notifications.ts @@ -2,20 +2,25 @@ import 'mocha' import * as chai from 'chai' -import { cleanupTests, getVideoCommentThreads, getVideoThreadComments, updateMyUser } from '../../../../shared/extra-utils' -import { ServerInfo, uploadVideo } from '../../../../shared/extra-utils/index' -import { MockSmtpServer } from '../../../../shared/extra-utils/miscs/email' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { addAccountToAccountBlocklist, removeAccountFromAccountBlocklist } from '../../../../shared/extra-utils/users/blocklist' import { + addAccountToAccountBlocklist, + addVideoCommentReply, + addVideoCommentThread, checkCommentMention, CheckerBaseParams, checkNewCommentOnMyVideo, - prepareNotificationsTest -} from '../../../../shared/extra-utils/users/user-notifications' -import { addVideoCommentReply, addVideoCommentThread } from '../../../../shared/extra-utils/videos/video-comments' -import { UserNotification } from '../../../../shared/models/users' -import { VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' + cleanupTests, + getVideoCommentThreads, + getVideoThreadComments, + MockSmtpServer, + prepareNotificationsTest, + removeAccountFromAccountBlocklist, + ServerInfo, + updateMyUser, + uploadVideo, + waitJobs +} from '@shared/extra-utils' +import { UserNotification, VideoCommentThreadTree } from '@shared/models' const expect = chai.expect diff --git a/server/tests/api/server/bulk.ts b/server/tests/api/server/bulk.ts index 51ba0e7af..80fa7fce6 100644 --- a/server/tests/api/server/bulk.ts +++ b/server/tests/api/server/bulk.ts @@ -2,12 +2,14 @@ import 'mocha' import * as chai from 'chai' -import { VideoComment } from '@shared/models/videos/video-comment.model' +import { Video, VideoComment } from '@shared/models' import { + addVideoCommentReply, addVideoCommentThread, bulkRemoveCommentsOf, cleanupTests, createUser, + doubleFollow, flushAndRunMultipleServers, getVideoCommentThreads, getVideosList, @@ -15,11 +17,8 @@ import { setAccessTokensToServers, uploadVideo, userLogin, - waitJobs, - addVideoCommentReply + waitJobs } from '../../../../shared/extra-utils/index' -import { doubleFollow } from '../../../../shared/extra-utils/server/follows' -import { Video } from '@shared/models' const expect = chai.expect diff --git a/server/tests/api/server/follows.ts b/server/tests/api/server/follows.ts index eb9ab10eb..e1c062020 100644 --- a/server/tests/api/server/follows.ts +++ b/server/tests/api/server/follows.ts @@ -1,37 +1,35 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import * as chai from 'chai' import 'mocha' -import { Video, VideoPrivacy } from '../../../../shared/models/videos' -import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' -import { cleanupTests, completeVideoCheck, deleteVideoComment } from '../../../../shared/extra-utils' -import { - flushAndRunMultipleServers, - getVideosList, - ServerInfo, - setAccessTokensToServers, - uploadVideo -} from '../../../../shared/extra-utils/index' -import { dateIsValid } from '../../../../shared/extra-utils/miscs/miscs' -import { - follow, - getFollowersListPaginationAndSort, - getFollowingListPaginationAndSort, - unfollow -} from '../../../../shared/extra-utils/server/follows' -import { expectAccountFollows } from '../../../../shared/extra-utils/users/accounts' -import { userLogin } from '../../../../shared/extra-utils/users/login' -import { createUser } from '../../../../shared/extra-utils/users/users' +import * as chai from 'chai' import { addVideoCommentReply, addVideoCommentThread, + cleanupTests, + completeVideoCheck, + createUser, + createVideoCaption, + dateIsValid, + deleteVideoComment, + expectAccountFollows, + flushAndRunMultipleServers, + follow, + getFollowersListPaginationAndSort, + getFollowingListPaginationAndSort, getVideoCommentThreads, - getVideoThreadComments -} from '../../../../shared/extra-utils/videos/video-comments' -import { rateVideo } from '../../../../shared/extra-utils/videos/videos' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { createVideoCaption, listVideoCaptions, testCaptionFile } from '../../../../shared/extra-utils/videos/video-captions' -import { VideoCaption } from '../../../../shared/models/videos/caption/video-caption.model' + getVideosList, + getVideoThreadComments, + listVideoCaptions, + rateVideo, + ServerInfo, + setAccessTokensToServers, + testCaptionFile, + unfollow, + uploadVideo, + userLogin, + waitJobs +} from '@shared/extra-utils' +import { Video, VideoCaption, VideoComment, VideoCommentThreadTree, VideoPrivacy } from '@shared/models' const expect = chai.expect diff --git a/server/tests/api/server/handle-down.ts b/server/tests/api/server/handle-down.ts index 817c79f6e..fa1a3c444 100644 --- a/server/tests/api/server/handle-down.ts +++ b/server/tests/api/server/handle-down.ts @@ -4,7 +4,7 @@ import * as chai from 'chai' import 'mocha' import { JobState, Video } from '../../../../shared/models' import { VideoPrivacy } from '../../../../shared/models/videos' -import { VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' +import { VideoCommentThreadTree } from '../../../../shared/models/videos/comment/video-comment.model' import { cleanupTests, diff --git a/server/tests/api/videos/multiple-servers.ts b/server/tests/api/videos/multiple-servers.ts index 41cd814e0..6aa996038 100644 --- a/server/tests/api/videos/multiple-servers.ts +++ b/server/tests/api/videos/multiple-servers.ts @@ -1,11 +1,10 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ -import * as chai from 'chai' import 'mocha' +import * as chai from 'chai' import { join } from 'path' import * as request from 'supertest' -import { VideoPrivacy } from '../../../../shared/models/videos' -import { VideoComment, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' +import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { addVideoChannel, checkTmpIsEmpty, @@ -32,16 +31,16 @@ import { wait, webtorrentAdd } from '../../../../shared/extra-utils' +import { waitJobs } from '../../../../shared/extra-utils/server/jobs' import { addVideoCommentReply, addVideoCommentThread, deleteVideoComment, + findCommentId, getVideoCommentThreads, - getVideoThreadComments, - findCommentId + getVideoThreadComments } from '../../../../shared/extra-utils/videos/video-comments' -import { waitJobs } from '../../../../shared/extra-utils/server/jobs' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +import { VideoComment, VideoCommentThreadTree, VideoPrivacy } from '../../../../shared/models/videos' const expect = chai.expect diff --git a/server/tests/api/videos/video-comments.ts b/server/tests/api/videos/video-comments.ts index 615e0ea45..a5ff3a39d 100644 --- a/server/tests/api/videos/video-comments.ts +++ b/server/tests/api/videos/video-comments.ts @@ -2,7 +2,7 @@ import 'mocha' import * as chai from 'chai' - +import { VideoComment, VideoCommentAdmin, VideoCommentThreadTree } from '@shared/models' import { cleanupTests, testImage } from '../../../../shared/extra-utils' import { createUser, @@ -22,7 +22,6 @@ import { getVideoCommentThreads, getVideoThreadComments } from '../../../../shared/extra-utils/videos/video-comments' -import { VideoComment, VideoCommentAdmin, VideoCommentThreadTree } from '../../../../shared/models/videos/video-comment.model' const expect = chai.expect diff --git a/server/tests/plugins/filter-hooks.ts b/server/tests/plugins/filter-hooks.ts index 7d4f7abb4..1d6bb6cf4 100644 --- a/server/tests/plugins/filter-hooks.ts +++ b/server/tests/plugins/filter-hooks.ts @@ -38,6 +38,7 @@ import { import { cleanupTests, flushAndRunMultipleServers, ServerInfo, waitUntilLog } from '../../../shared/extra-utils/server/servers' import { getGoodVideoUrl, getMyVideoImports, importVideo } from '../../../shared/extra-utils/videos/video-imports' import { + VideoCommentThreadTree, VideoDetails, VideoImport, VideoImportState, @@ -45,7 +46,6 @@ import { VideoPlaylistPrivacy, VideoPrivacy } from '../../../shared/models/videos' -import { VideoCommentThreadTree } from '../../../shared/models/videos/video-comment.model' const expect = chai.expect diff --git a/shared/extra-utils/index.ts b/shared/extra-utils/index.ts index 898a92d43..720db19cb 100644 --- a/shared/extra-utils/index.ts +++ b/shared/extra-utils/index.ts @@ -1,15 +1,24 @@ export * from './bulk/bulk' + export * from './cli/cli' + export * from './feeds/feeds' + export * from './mock-servers/mock-instances-index' -export * from './miscs/miscs' + +export * from './miscs/email' export * from './miscs/sql' +export * from './miscs/miscs' export * from './miscs/stubs' + export * from './moderation/abuses' export * from './plugins/mock-blocklist' + export * from './requests/check-api-params' export * from './requests/requests' + export * from './search/videos' + export * from './server/activitypub' export * from './server/clients' export * from './server/config' @@ -18,9 +27,14 @@ export * from './server/follows' export * from './server/jobs' export * from './server/plugins' export * from './server/servers' + export * from './users/accounts' +export * from './users/blocklist' export * from './users/login' +export * from './users/user-notifications' +export * from './users/user-subscriptions' export * from './users/users' + export * from './videos/live' export * from './videos/services' export * from './videos/video-blacklist' diff --git a/shared/models/nodeinfo/index.ts b/shared/models/nodeinfo/index.ts new file mode 100644 index 000000000..faa64302a --- /dev/null +++ b/shared/models/nodeinfo/index.ts @@ -0,0 +1 @@ +export * from './nodeinfo.model' diff --git a/shared/models/nodeinfo/index.d.ts b/shared/models/nodeinfo/nodeinfo.model.ts similarity index 100% rename from shared/models/nodeinfo/index.d.ts rename to shared/models/nodeinfo/nodeinfo.model.ts diff --git a/shared/models/overviews/index.ts b/shared/models/overviews/index.ts index 376609efa..468507c6b 100644 --- a/shared/models/overviews/index.ts +++ b/shared/models/overviews/index.ts @@ -1 +1 @@ -export * from './videos-overview' +export * from './videos-overview.model' diff --git a/shared/models/overviews/videos-overview.ts b/shared/models/overviews/videos-overview.model.ts similarity index 100% rename from shared/models/overviews/videos-overview.ts rename to shared/models/overviews/videos-overview.model.ts diff --git a/shared/models/redundancy/index.ts b/shared/models/redundancy/index.ts index 649cc489f..641a5d625 100644 --- a/shared/models/redundancy/index.ts +++ b/shared/models/redundancy/index.ts @@ -1,3 +1,4 @@ -export * from './videos-redundancy-strategy.model' export * from './video-redundancies-filters.model' +export * from './video-redundancy-config-filter.type' export * from './video-redundancy.model' +export * from './videos-redundancy-strategy.model' diff --git a/shared/models/videos/change-ownership/index.ts b/shared/models/videos/change-ownership/index.ts new file mode 100644 index 000000000..a942fb2cd --- /dev/null +++ b/shared/models/videos/change-ownership/index.ts @@ -0,0 +1,3 @@ +export * from './video-change-ownership-accept.model' +export * from './video-change-ownership-create.model' +export * from './video-change-ownership.model' diff --git a/shared/models/videos/video-change-ownership-accept.model.ts b/shared/models/videos/change-ownership/video-change-ownership-accept.model.ts similarity index 100% rename from shared/models/videos/video-change-ownership-accept.model.ts rename to shared/models/videos/change-ownership/video-change-ownership-accept.model.ts diff --git a/shared/models/videos/video-change-ownership-create.model.ts b/shared/models/videos/change-ownership/video-change-ownership-create.model.ts similarity index 100% rename from shared/models/videos/video-change-ownership-create.model.ts rename to shared/models/videos/change-ownership/video-change-ownership-create.model.ts diff --git a/shared/models/videos/video-change-ownership.model.ts b/shared/models/videos/change-ownership/video-change-ownership.model.ts similarity index 79% rename from shared/models/videos/video-change-ownership.model.ts rename to shared/models/videos/change-ownership/video-change-ownership.model.ts index 669c7f3e7..3d31cad0a 100644 --- a/shared/models/videos/video-change-ownership.model.ts +++ b/shared/models/videos/change-ownership/video-change-ownership.model.ts @@ -1,5 +1,5 @@ -import { Account } from '../actors' -import { Video } from './video.model' +import { Account } from '../../actors' +import { Video } from '../video.model' export interface VideoChangeOwnership { id: number diff --git a/shared/models/videos/comment/index.ts b/shared/models/videos/comment/index.ts new file mode 100644 index 000000000..7b9261a36 --- /dev/null +++ b/shared/models/videos/comment/index.ts @@ -0,0 +1 @@ +export * from './video-comment.model' diff --git a/shared/models/videos/video-comment.model.ts b/shared/models/videos/comment/video-comment.model.ts similarity index 95% rename from shared/models/videos/video-comment.model.ts rename to shared/models/videos/comment/video-comment.model.ts index 9730a3f76..79c0e4c0a 100644 --- a/shared/models/videos/video-comment.model.ts +++ b/shared/models/videos/comment/video-comment.model.ts @@ -1,4 +1,4 @@ -import { Account } from '../actors' +import { Account } from '../../actors' export interface VideoComment { id: number diff --git a/shared/models/videos/index.ts b/shared/models/videos/index.ts index fac3e0b2f..64f2c9df6 100644 --- a/shared/models/videos/index.ts +++ b/shared/models/videos/index.ts @@ -1,6 +1,8 @@ export * from './blacklist' export * from './caption' +export * from './change-ownership' export * from './channel' +export * from './comment' export * from './live' export * from './import' export * from './playlist' @@ -10,17 +12,11 @@ export * from './nsfw-policy.type' export * from './thumbnail.type' -export * from './video-change-ownership-accept.model' -export * from './video-change-ownership-create.model' -export * from './video-change-ownership.model' - -export * from './video-comment.model' export * from './video-constant.model' export * from './video-create.model' -export * from './video-file-metadata' -export * from './video-file.model' -export * from './live/live-video.model' +export * from './video-file-metadata.model' +export * from './video-file.model' export * from './video-privacy.enum' export * from './video-query.type' diff --git a/shared/models/videos/video-file-metadata.ts b/shared/models/videos/video-file-metadata.model.ts similarity index 100% rename from shared/models/videos/video-file-metadata.ts rename to shared/models/videos/video-file-metadata.model.ts diff --git a/shared/models/videos/video-file.model.ts b/shared/models/videos/video-file.model.ts index 1e830b19c..28fce0aaf 100644 --- a/shared/models/videos/video-file.model.ts +++ b/shared/models/videos/video-file.model.ts @@ -1,5 +1,5 @@ import { VideoConstant } from './video-constant.model' -import { VideoFileMetadata } from './video-file-metadata' +import { VideoFileMetadata } from './video-file-metadata.model' import { VideoResolution } from './video-resolution.enum' export interface VideoFile { From 428ccb8b7a44ce60cabb7401a5464cf5fcbd4dba Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 12:04:47 +0200 Subject: [PATCH 071/136] Reorganize plugin models --- .../plugin-list-installed.component.ts | 3 +- .../plugin-search/plugin-search.component.ts | 3 +- .../shared/video-edit.component.ts | 11 +++++-- client/src/root-helpers/plugins.ts | 7 ++-- server/controllers/api/plugins.ts | 33 ++++++++++--------- server/lib/plugins/hooks.ts | 6 ++-- server/lib/plugins/plugin-index.ts | 20 +++++------ server/lib/plugins/plugin-manager.ts | 14 +++----- server/lib/plugins/register-helpers.ts | 4 +-- server/middlewares/validators/plugins.ts | 18 +++++----- server/models/server/plugin.ts | 4 +-- server/tests/api/check-params/plugins.ts | 12 +++---- server/tests/api/server/plugins.ts | 10 ++---- server/tools/peertube-plugins.ts | 3 +- shared/extra-utils/server/plugins.ts | 4 +-- .../plugins/{ => client}/client-hook.model.ts | 0 shared/models/plugins/client/index.ts | 6 ++++ .../{ => client}/plugin-client-scope.type.ts | 0 .../plugin-element-placeholder.type.ts | 0 .../register-client-form-field.model.ts | 0 .../register-client-hook.model.ts | 0 .../register-client-settings-script.model.ts | 2 +- shared/models/plugins/index.ts | 28 ++-------------- shared/models/plugins/plugin-index/index.ts | 3 ++ .../peertube-plugin-index-list.model.ts | 2 +- .../peertube-plugin-index.model.ts | 0 .../peertube-plugin-latest-version.model.ts | 0 .../plugins/plugin-package-json.model.ts | 2 +- shared/models/plugins/server/api/index.ts | 3 ++ .../{ => server/api}/install-plugin.model.ts | 0 .../{ => server/api}/manage-plugin.model.ts | 0 .../{ => server/api}/peertube-plugin.model.ts | 2 +- shared/models/plugins/server/index.ts | 6 ++++ .../models/plugins/server/managers/index.ts | 9 +++++ .../plugin-playlist-privacy-manager.model.ts | 2 +- .../plugin-settings-manager.model.ts | 0 .../managers}/plugin-storage-manager.model.ts | 0 .../plugin-transcoding-manager.model.ts | 2 +- .../plugin-video-category-manager.model.ts | 0 .../plugin-video-language-manager.model.ts | 0 .../plugin-video-licence-manager.model.ts | 0 .../plugin-video-privacy-manager.model.ts | 2 +- .../{ => server}/plugin-translation.model.ts | 0 .../register-server-hook.model.ts | 0 .../plugins/{ => server}/server-hook.model.ts | 0 .../models/plugins/server/settings/index.ts | 2 ++ .../settings}/public-server.setting.ts | 0 .../register-server-setting.model.ts | 2 +- 48 files changed, 113 insertions(+), 112 deletions(-) rename shared/models/plugins/{ => client}/client-hook.model.ts (100%) create mode 100644 shared/models/plugins/client/index.ts rename shared/models/plugins/{ => client}/plugin-client-scope.type.ts (100%) rename shared/models/plugins/{ => client}/plugin-element-placeholder.type.ts (100%) rename shared/models/plugins/{ => client}/register-client-form-field.model.ts (100%) rename shared/models/plugins/{ => client}/register-client-hook.model.ts (100%) rename shared/models/plugins/{ => client}/register-client-settings-script.model.ts (69%) create mode 100644 shared/models/plugins/plugin-index/index.ts rename shared/models/plugins/{ => plugin-index}/peertube-plugin-index-list.model.ts (79%) rename shared/models/plugins/{ => plugin-index}/peertube-plugin-index.model.ts (100%) rename shared/models/plugins/{ => plugin-index}/peertube-plugin-latest-version.model.ts (100%) create mode 100644 shared/models/plugins/server/api/index.ts rename shared/models/plugins/{ => server/api}/install-plugin.model.ts (100%) rename shared/models/plugins/{ => server/api}/manage-plugin.model.ts (100%) rename shared/models/plugins/{ => server/api}/peertube-plugin.model.ts (86%) create mode 100644 shared/models/plugins/server/index.ts create mode 100644 shared/models/plugins/server/managers/index.ts rename shared/models/plugins/{ => server/managers}/plugin-playlist-privacy-manager.model.ts (65%) rename shared/models/plugins/{ => server/managers}/plugin-settings-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-storage-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-transcoding-manager.model.ts (85%) rename shared/models/plugins/{ => server/managers}/plugin-video-category-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-language-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-licence-manager.model.ts (100%) rename shared/models/plugins/{ => server/managers}/plugin-video-privacy-manager.model.ts (72%) rename shared/models/plugins/{ => server}/plugin-translation.model.ts (100%) rename shared/models/plugins/{ => server}/register-server-hook.model.ts (100%) rename shared/models/plugins/{ => server}/server-hook.model.ts (100%) create mode 100644 shared/models/plugins/server/settings/index.ts rename shared/models/plugins/{ => server/settings}/public-server.setting.ts (100%) rename shared/models/plugins/{ => server/settings}/register-server-setting.model.ts (83%) diff --git a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts index 1a95980ae..6af224920 100644 --- a/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts +++ b/client/src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts @@ -5,8 +5,7 @@ import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' import { ComponentPagination, ConfirmService, hasMoreItems, Notifier } from '@app/core' import { PluginService } from '@app/core/plugins/plugin.service' import { compareSemVer } from '@shared/core-utils/miscs/miscs' -import { PeerTubePlugin } from '@shared/models/plugins/peertube-plugin.model' -import { PluginType } from '@shared/models/plugins/plugin.type' +import { PeerTubePlugin, PluginType } from '@shared/models' @Component({ selector: 'my-plugin-list-installed', diff --git a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts index d2c179aba..0a6e57904 100644 --- a/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts +++ b/client/src/app/+admin/plugins/plugin-search/plugin-search.component.ts @@ -4,8 +4,7 @@ import { Component, OnInit } from '@angular/core' import { ActivatedRoute, Router } from '@angular/router' import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service' import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService } from '@app/core' -import { PeerTubePluginIndex } from '@shared/models/plugins/peertube-plugin-index.model' -import { PluginType } from '@shared/models/plugins/plugin.type' +import { PeerTubePluginIndex, PluginType } from '@shared/models' @Component({ selector: 'my-plugin-search', diff --git a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts index 34119f7ab..3d916dbce 100644 --- a/client/src/app/+videos/+video-edit/shared/video-edit.component.ts +++ b/client/src/app/+videos/+video-edit/shared/video-edit.component.ts @@ -21,8 +21,15 @@ import { import { FormReactiveValidationMessages, FormValidatorService } from '@app/shared/shared-forms' import { InstanceService } from '@app/shared/shared-instance' import { VideoCaptionEdit, VideoEdit, VideoService } from '@app/shared/shared-main' -import { LiveVideo, ServerConfig, VideoConstant, VideoDetails, VideoPrivacy } from '@shared/models' -import { RegisterClientFormFieldOptions, RegisterClientVideoFieldOptions } from '@shared/models/plugins/register-client-form-field.model' +import { + LiveVideo, + RegisterClientFormFieldOptions, + RegisterClientVideoFieldOptions, + ServerConfig, + VideoConstant, + VideoDetails, + VideoPrivacy +} from '@shared/models' import { I18nPrimengCalendarService } from './i18n-primeng-calendar.service' import { VideoCaptionAddModalComponent } from './video-caption-add-modal.component' import { VideoEditType } from './video-edit.type' diff --git a/client/src/root-helpers/plugins.ts b/client/src/root-helpers/plugins.ts index 5344c0468..8c1c858b7 100644 --- a/client/src/root-helpers/plugins.ts +++ b/client/src/root-helpers/plugins.ts @@ -1,14 +1,15 @@ import { RegisterClientHelpers } from 'src/types/register-client-option.model' import { getHookType, internalRunHook } from '@shared/core-utils/plugins/hooks' -import { RegisterClientFormFieldOptions, RegisterClientVideoFieldOptions } from '@shared/models/plugins/register-client-form-field.model' import { ClientHookName, clientHookObject, ClientScript, PluginType, + RegisterClientFormFieldOptions, RegisterClientHookOptions, - ServerConfigPlugin, - RegisterClientSettingsScript + RegisterClientSettingsScript, + RegisterClientVideoFieldOptions, + ServerConfigPlugin } from '../../../shared/models' import { ClientScript as ClientScriptModule } from '../types/client-script.model' import { importModule } from './utils' diff --git a/server/controllers/api/plugins.ts b/server/controllers/api/plugins.ts index a186de010..e18eed332 100644 --- a/server/controllers/api/plugins.ts +++ b/server/controllers/api/plugins.ts @@ -1,16 +1,18 @@ import * as express from 'express' -import { getFormattedObjects } from '../../helpers/utils' +import { logger } from '@server/helpers/logger' +import { getFormattedObjects } from '@server/helpers/utils' +import { listAvailablePluginsFromIndex } from '@server/lib/plugins/plugin-index' +import { PluginManager } from '@server/lib/plugins/plugin-manager' import { asyncMiddleware, authenticate, + availablePluginsSortValidator, ensureUserHasRight, paginationValidator, + pluginsSortValidator, setDefaultPagination, setDefaultSort -} from '../../middlewares' -import { availablePluginsSortValidator, pluginsSortValidator } from '../../middlewares/validators' -import { PluginModel } from '../../models/server/plugin' -import { UserRight } from '../../../shared/models/users' +} from '@server/middlewares' import { existingPluginValidator, installOrUpdatePluginValidator, @@ -18,16 +20,17 @@ import { listPluginsValidator, uninstallPluginValidator, updatePluginSettingsValidator -} from '../../middlewares/validators/plugins' -import { PluginManager } from '../../lib/plugins/plugin-manager' -import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/install-plugin.model' -import { ManagePlugin } from '../../../shared/models/plugins/manage-plugin.model' -import { logger } from '../../helpers/logger' -import { listAvailablePluginsFromIndex } from '../../lib/plugins/plugin-index' -import { PeertubePluginIndexList } from '../../../shared/models/plugins/peertube-plugin-index-list.model' -import { RegisteredServerSettings } from '../../../shared/models/plugins/register-server-setting.model' -import { PublicServerSetting } from '../../../shared/models/plugins/public-server.setting' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +} from '@server/middlewares/validators/plugins' +import { PluginModel } from '@server/models/server/plugin' +import { HttpStatusCode } from '@shared/core-utils' +import { + InstallOrUpdatePlugin, + ManagePlugin, + PeertubePluginIndexList, + PublicServerSetting, + RegisteredServerSettings, + UserRight +} from '@shared/models' const pluginRouter = express.Router() diff --git a/server/lib/plugins/hooks.ts b/server/lib/plugins/hooks.ts index aa92f03cc..5e97b52a0 100644 --- a/server/lib/plugins/hooks.ts +++ b/server/lib/plugins/hooks.ts @@ -1,7 +1,7 @@ -import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models/plugins/server-hook.model' -import { PluginManager } from './plugin-manager' -import { logger } from '../../helpers/logger' import * as Bluebird from 'bluebird' +import { ServerActionHookName, ServerFilterHookName } from '../../../shared/models' +import { logger } from '../../helpers/logger' +import { PluginManager } from './plugin-manager' type PromiseFunction = (params: U) => Promise | Bluebird type RawFunction = (params: U) => T diff --git a/server/lib/plugins/plugin-index.ts b/server/lib/plugins/plugin-index.ts index 165bc91b3..119cee8e0 100644 --- a/server/lib/plugins/plugin-index.ts +++ b/server/lib/plugins/plugin-index.ts @@ -1,16 +1,16 @@ import { sanitizeUrl } from '@server/helpers/core-utils' -import { ResultList } from '../../../shared/models' -import { PeertubePluginIndexList } from '../../../shared/models/plugins/peertube-plugin-index-list.model' -import { PeerTubePluginIndex } from '../../../shared/models/plugins/peertube-plugin-index.model' +import { logger } from '@server/helpers/logger' +import { doJSONRequest } from '@server/helpers/requests' +import { CONFIG } from '@server/initializers/config' +import { PEERTUBE_VERSION } from '@server/initializers/constants' +import { PluginModel } from '@server/models/server/plugin' import { + PeerTubePluginIndex, + PeertubePluginIndexList, PeertubePluginLatestVersionRequest, - PeertubePluginLatestVersionResponse -} from '../../../shared/models/plugins/peertube-plugin-latest-version.model' -import { logger } from '../../helpers/logger' -import { doJSONRequest } from '../../helpers/requests' -import { CONFIG } from '../../initializers/config' -import { PEERTUBE_VERSION } from '../../initializers/constants' -import { PluginModel } from '../../models/server/plugin' + PeertubePluginLatestVersionResponse, + ResultList +} from '@shared/models' import { PluginManager } from './plugin-manager' async function listAvailablePluginsFromIndex (options: PeertubePluginIndexList) { diff --git a/server/lib/plugins/plugin-manager.ts b/server/lib/plugins/plugin-manager.ts index ba9814383..6b9a255a4 100644 --- a/server/lib/plugins/plugin-manager.ts +++ b/server/lib/plugins/plugin-manager.ts @@ -4,16 +4,11 @@ import { createReadStream, createWriteStream } from 'fs' import { ensureDir, outputFile, readJSON } from 'fs-extra' import { basename, join } from 'path' import { MOAuthTokenUser, MUser } from '@server/types/models' -import { RegisterServerHookOptions } from '@shared/models/plugins/register-server-hook.model' +import { getCompleteLocale } from '@shared/core-utils' +import { ClientScript, PluginPackageJson, PluginTranslation, PluginTranslationPaths, RegisterServerHookOptions } from '@shared/models' import { getHookType, internalRunHook } from '../../../shared/core-utils/plugins/hooks' -import { - ClientScript, - PluginPackageJson, - PluginTranslationPaths as PackagePluginTranslations -} from '../../../shared/models/plugins/plugin-package-json.model' -import { PluginTranslation } from '../../../shared/models/plugins/plugin-translation.model' import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { ServerHook, ServerHookName } from '../../../shared/models/plugins/server-hook.model' +import { ServerHook, ServerHookName } from '../../../shared/models/plugins/server/server-hook.model' import { isLibraryCodeValid, isPackageJSONValid } from '../../helpers/custom-validators/plugins' import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' @@ -23,7 +18,6 @@ import { PluginLibrary, RegisterServerAuthExternalOptions, RegisterServerAuthPas import { ClientHtml } from '../client-html' import { RegisterHelpers } from './register-helpers' import { installNpmPlugin, installNpmPluginFromDisk, removeNpmPlugin } from './yarn' -import { getCompleteLocale } from '@shared/core-utils' export interface RegisteredPlugin { npmName: string @@ -443,7 +437,7 @@ export class PluginManager implements ServerHook { // ###################### Translations ###################### - private async addTranslations (plugin: PluginModel, npmName: string, translationPaths: PackagePluginTranslations) { + private async addTranslations (plugin: PluginModel, npmName: string, translationPaths: PluginTranslationPaths) { for (const locale of Object.keys(translationPaths)) { const path = translationPaths[locale] const json = await readJSON(join(this.getPluginPath(plugin.name, plugin.type), path)) diff --git a/server/lib/plugins/register-helpers.ts b/server/lib/plugins/register-helpers.ts index 203217b70..f5b573370 100644 --- a/server/lib/plugins/register-helpers.ts +++ b/server/lib/plugins/register-helpers.ts @@ -26,9 +26,9 @@ import { PluginVideoLicenceManager, PluginVideoPrivacyManager, RegisterServerHookOptions, - RegisterServerSettingOptions + RegisterServerSettingOptions, + serverHookObject } from '@shared/models' -import { serverHookObject } from '@shared/models/plugins/server-hook.model' import { VideoTranscodingProfilesManager } from '../transcoding/video-transcoding-profiles' import { buildPluginHelpers } from './plugin-helpers-builder' diff --git a/server/middlewares/validators/plugins.ts b/server/middlewares/validators/plugins.ts index ab87fe720..2c47ec5bb 100644 --- a/server/middlewares/validators/plugins.ts +++ b/server/middlewares/validators/plugins.ts @@ -1,15 +1,15 @@ import * as express from 'express' import { body, param, query, ValidationChain } from 'express-validator' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' -import { isNpmPluginNameValid, isPluginNameValid, isPluginTypeValid, isPluginVersionValid } from '../../helpers/custom-validators/plugins' -import { PluginManager } from '../../lib/plugins/plugin-manager' -import { isBooleanValid, isSafePath, toBooleanOrNull, exists, toIntOrNull } from '../../helpers/custom-validators/misc' -import { PluginModel } from '../../models/server/plugin' -import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/install-plugin.model' -import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { CONFIG } from '../../initializers/config' import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { PluginType } from '../../../shared/models/plugins/plugin.type' +import { InstallOrUpdatePlugin } from '../../../shared/models/plugins/server/api/install-plugin.model' +import { exists, isBooleanValid, isSafePath, toBooleanOrNull, toIntOrNull } from '../../helpers/custom-validators/misc' +import { isNpmPluginNameValid, isPluginNameValid, isPluginTypeValid, isPluginVersionValid } from '../../helpers/custom-validators/plugins' +import { logger } from '../../helpers/logger' +import { CONFIG } from '../../initializers/config' +import { PluginManager } from '../../lib/plugins/plugin-manager' +import { PluginModel } from '../../models/server/plugin' +import { areValidationErrors } from './utils' const getPluginValidator = (pluginType: PluginType, withVersion = true) => { const validators: (ValidationChain | express.Handler)[] = [ diff --git a/server/models/server/plugin.ts b/server/models/server/plugin.ts index 82387af6a..94c9b04bf 100644 --- a/server/models/server/plugin.ts +++ b/server/models/server/plugin.ts @@ -1,9 +1,7 @@ import { FindAndCountOptions, json, QueryTypes } from 'sequelize' import { AllowNull, Column, CreatedAt, DataType, DefaultScope, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MPlugin, MPluginFormattable } from '@server/types/models' -import { PeerTubePlugin } from '../../../shared/models/plugins/peertube-plugin.model' -import { PluginType } from '../../../shared/models/plugins/plugin.type' -import { RegisterServerSettingOptions } from '../../../shared/models/plugins/register-server-setting.model' +import { PeerTubePlugin, PluginType, RegisterServerSettingOptions } from '../../../shared/models' import { isPluginDescriptionValid, isPluginHomepage, diff --git a/server/tests/api/check-params/plugins.ts b/server/tests/api/check-params/plugins.ts index 6e540bcbb..a833fe6ff 100644 --- a/server/tests/api/check-params/plugins.ts +++ b/server/tests/api/check-params/plugins.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import 'mocha' - +import { HttpStatusCode } from '@shared/core-utils' import { checkBadCountPagination, checkBadSortPagination, @@ -11,14 +11,14 @@ import { flushAndRunServer, immutableAssign, installPlugin, - makeGetRequest, makePostBodyRequest, makePutBodyRequest, + makeGetRequest, + makePostBodyRequest, + makePutBodyRequest, ServerInfo, setAccessTokensToServers, userLogin -} from '../../../../shared/extra-utils' -import { PluginType } from '../../../../shared/models/plugins/plugin.type' -import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugin.model' -import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' +} from '@shared/extra-utils' +import { PeerTubePlugin, PluginType } from '@shared/models' describe('Test server plugins API validators', function () { let server: ServerInfo diff --git a/server/tests/api/server/plugins.ts b/server/tests/api/server/plugins.ts index 1c6eabe6d..3c09acc9a 100644 --- a/server/tests/api/server/plugins.ts +++ b/server/tests/api/server/plugins.ts @@ -28,14 +28,8 @@ import { updatePluginSettings, wait, waitUntilLog -} from '../../../../shared/extra-utils' -import { PeerTubePluginIndex } from '../../../../shared/models/plugins/peertube-plugin-index.model' -import { PeerTubePlugin } from '../../../../shared/models/plugins/peertube-plugin.model' -import { PluginPackageJson } from '../../../../shared/models/plugins/plugin-package-json.model' -import { PluginType } from '../../../../shared/models/plugins/plugin.type' -import { PublicServerSetting } from '../../../../shared/models/plugins/public-server.setting' -import { ServerConfig } from '../../../../shared/models/server' -import { User } from '../../../../shared/models/users' +} from '@shared/extra-utils' +import { PeerTubePlugin, PeerTubePluginIndex, PluginPackageJson, PluginType, PublicServerSetting, ServerConfig, User } from '@shared/models' const expect = chai.expect diff --git a/server/tools/peertube-plugins.ts b/server/tools/peertube-plugins.ts index c8a576844..cb591377b 100644 --- a/server/tools/peertube-plugins.ts +++ b/server/tools/peertube-plugins.ts @@ -4,10 +4,9 @@ import { registerTSPaths } from '../helpers/register-ts-paths' registerTSPaths() import * as program from 'commander' -import { PluginType } from '../../shared/models/plugins/plugin.type' import { installPlugin, listPlugins, uninstallPlugin, updatePlugin } from '../../shared/extra-utils/server/plugins' import { getAdminTokenOrDie, getServerCredentials } from './cli' -import { PeerTubePlugin } from '../../shared/models/plugins/peertube-plugin.model' +import { PeerTubePlugin, PluginType } from '../../shared/models' import { isAbsolute } from 'path' import * as CliTable3 from 'cli-table3' import commander = require('commander') diff --git a/shared/extra-utils/server/plugins.ts b/shared/extra-utils/server/plugins.ts index 864954ee7..d53e5b382 100644 --- a/shared/extra-utils/server/plugins.ts +++ b/shared/extra-utils/server/plugins.ts @@ -4,12 +4,12 @@ import { expect } from 'chai' import { readJSON, writeJSON } from 'fs-extra' import { join } from 'path' import { RegisteredServerSettings } from '@shared/models' -import { PeertubePluginIndexList } from '../../models/plugins/peertube-plugin-index-list.model' +import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +import { PeertubePluginIndexList } from '../../models/plugins/plugin-index/peertube-plugin-index-list.model' import { PluginType } from '../../models/plugins/plugin.type' import { buildServerDirectory, root } from '../miscs/miscs' import { makeGetRequest, makePostBodyRequest, makePutBodyRequest } from '../requests/requests' import { ServerInfo } from './servers' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' function listPlugins (parameters: { url: string diff --git a/shared/models/plugins/client-hook.model.ts b/shared/models/plugins/client/client-hook.model.ts similarity index 100% rename from shared/models/plugins/client-hook.model.ts rename to shared/models/plugins/client/client-hook.model.ts diff --git a/shared/models/plugins/client/index.ts b/shared/models/plugins/client/index.ts new file mode 100644 index 000000000..6dfc6351f --- /dev/null +++ b/shared/models/plugins/client/index.ts @@ -0,0 +1,6 @@ +export * from './client-hook.model' +export * from './plugin-client-scope.type' +export * from './plugin-element-placeholder.type' +export * from './register-client-form-field.model' +export * from './register-client-hook.model' +export * from './register-client-settings-script.model' diff --git a/shared/models/plugins/plugin-client-scope.type.ts b/shared/models/plugins/client/plugin-client-scope.type.ts similarity index 100% rename from shared/models/plugins/plugin-client-scope.type.ts rename to shared/models/plugins/client/plugin-client-scope.type.ts diff --git a/shared/models/plugins/plugin-element-placeholder.type.ts b/shared/models/plugins/client/plugin-element-placeholder.type.ts similarity index 100% rename from shared/models/plugins/plugin-element-placeholder.type.ts rename to shared/models/plugins/client/plugin-element-placeholder.type.ts diff --git a/shared/models/plugins/register-client-form-field.model.ts b/shared/models/plugins/client/register-client-form-field.model.ts similarity index 100% rename from shared/models/plugins/register-client-form-field.model.ts rename to shared/models/plugins/client/register-client-form-field.model.ts diff --git a/shared/models/plugins/register-client-hook.model.ts b/shared/models/plugins/client/register-client-hook.model.ts similarity index 100% rename from shared/models/plugins/register-client-hook.model.ts rename to shared/models/plugins/client/register-client-hook.model.ts diff --git a/shared/models/plugins/register-client-settings-script.model.ts b/shared/models/plugins/client/register-client-settings-script.model.ts similarity index 69% rename from shared/models/plugins/register-client-settings-script.model.ts rename to shared/models/plugins/client/register-client-settings-script.model.ts index ac16af366..481ceef96 100644 --- a/shared/models/plugins/register-client-settings-script.model.ts +++ b/shared/models/plugins/client/register-client-settings-script.model.ts @@ -1,4 +1,4 @@ -import { RegisterServerSettingOptions } from "./register-server-setting.model" +import { RegisterServerSettingOptions } from '../server' export interface RegisterClientSettingsScript { isSettingHidden (options: { diff --git a/shared/models/plugins/index.ts b/shared/models/plugins/index.ts index 03b27f907..cbbe4916e 100644 --- a/shared/models/plugins/index.ts +++ b/shared/models/plugins/index.ts @@ -1,28 +1,6 @@ -export * from './client-hook.model' +export * from './client' +export * from './plugin-index' +export * from './server' export * from './hook-type.enum' -export * from './install-plugin.model' -export * from './manage-plugin.model' -export * from './peertube-plugin-index-list.model' -export * from './peertube-plugin-index.model' -export * from './peertube-plugin-latest-version.model' -export * from './peertube-plugin.model' -export * from './plugin-client-scope.type' -export * from './plugin-element-placeholder.type' export * from './plugin-package-json.model' -export * from './plugin-playlist-privacy-manager.model' -export * from './plugin-settings-manager.model' -export * from './plugin-storage-manager.model' -export * from './plugin-transcoding-manager.model' -export * from './plugin-translation.model' -export * from './plugin-video-category-manager.model' -export * from './plugin-video-language-manager.model' -export * from './plugin-video-licence-manager.model' -export * from './plugin-video-privacy-manager.model' export * from './plugin.type' -export * from './public-server.setting' -export * from './register-client-hook.model' -export * from './register-client-settings-script.model' -export * from './register-client-form-field.model' -export * from './register-server-hook.model' -export * from './register-server-setting.model' -export * from './server-hook.model' diff --git a/shared/models/plugins/plugin-index/index.ts b/shared/models/plugins/plugin-index/index.ts new file mode 100644 index 000000000..913846638 --- /dev/null +++ b/shared/models/plugins/plugin-index/index.ts @@ -0,0 +1,3 @@ +export * from './peertube-plugin-index-list.model' +export * from './peertube-plugin-index.model' +export * from './peertube-plugin-latest-version.model' diff --git a/shared/models/plugins/peertube-plugin-index-list.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts similarity index 79% rename from shared/models/plugins/peertube-plugin-index-list.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts index 817bac31e..ecb46482e 100644 --- a/shared/models/plugins/peertube-plugin-index-list.model.ts +++ b/shared/models/plugins/plugin-index/peertube-plugin-index-list.model.ts @@ -1,4 +1,4 @@ -import { PluginType } from './plugin.type' +import { PluginType } from '../plugin.type' export interface PeertubePluginIndexList { start: number diff --git a/shared/models/plugins/peertube-plugin-index.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-index.model.ts similarity index 100% rename from shared/models/plugins/peertube-plugin-index.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-index.model.ts diff --git a/shared/models/plugins/peertube-plugin-latest-version.model.ts b/shared/models/plugins/plugin-index/peertube-plugin-latest-version.model.ts similarity index 100% rename from shared/models/plugins/peertube-plugin-latest-version.model.ts rename to shared/models/plugins/plugin-index/peertube-plugin-latest-version.model.ts diff --git a/shared/models/plugins/plugin-package-json.model.ts b/shared/models/plugins/plugin-package-json.model.ts index c26e9ae5b..b2f92af80 100644 --- a/shared/models/plugins/plugin-package-json.model.ts +++ b/shared/models/plugins/plugin-package-json.model.ts @@ -1,4 +1,4 @@ -import { PluginClientScope } from './plugin-client-scope.type' +import { PluginClientScope } from './client/plugin-client-scope.type' export type PluginTranslationPaths = { [ locale: string ]: string diff --git a/shared/models/plugins/server/api/index.ts b/shared/models/plugins/server/api/index.ts new file mode 100644 index 000000000..eb59a03f0 --- /dev/null +++ b/shared/models/plugins/server/api/index.ts @@ -0,0 +1,3 @@ +export * from './install-plugin.model' +export * from './manage-plugin.model' +export * from './peertube-plugin.model' diff --git a/shared/models/plugins/install-plugin.model.ts b/shared/models/plugins/server/api/install-plugin.model.ts similarity index 100% rename from shared/models/plugins/install-plugin.model.ts rename to shared/models/plugins/server/api/install-plugin.model.ts diff --git a/shared/models/plugins/manage-plugin.model.ts b/shared/models/plugins/server/api/manage-plugin.model.ts similarity index 100% rename from shared/models/plugins/manage-plugin.model.ts rename to shared/models/plugins/server/api/manage-plugin.model.ts diff --git a/shared/models/plugins/peertube-plugin.model.ts b/shared/models/plugins/server/api/peertube-plugin.model.ts similarity index 86% rename from shared/models/plugins/peertube-plugin.model.ts rename to shared/models/plugins/server/api/peertube-plugin.model.ts index 2b0bb8cfa..54c383f57 100644 --- a/shared/models/plugins/peertube-plugin.model.ts +++ b/shared/models/plugins/server/api/peertube-plugin.model.ts @@ -1,4 +1,4 @@ -import { PluginType } from './plugin.type' +import { PluginType } from '../../plugin.type' export interface PeerTubePlugin { name: string diff --git a/shared/models/plugins/server/index.ts b/shared/models/plugins/server/index.ts new file mode 100644 index 000000000..d3ff49d3b --- /dev/null +++ b/shared/models/plugins/server/index.ts @@ -0,0 +1,6 @@ +export * from './api' +export * from './managers' +export * from './settings' +export * from './plugin-translation.model' +export * from './register-server-hook.model' +export * from './server-hook.model' diff --git a/shared/models/plugins/server/managers/index.ts b/shared/models/plugins/server/managers/index.ts new file mode 100644 index 000000000..49365a854 --- /dev/null +++ b/shared/models/plugins/server/managers/index.ts @@ -0,0 +1,9 @@ + +export * from './plugin-playlist-privacy-manager.model' +export * from './plugin-settings-manager.model' +export * from './plugin-storage-manager.model' +export * from './plugin-transcoding-manager.model' +export * from './plugin-video-category-manager.model' +export * from './plugin-video-language-manager.model' +export * from './plugin-video-licence-manager.model' +export * from './plugin-video-privacy-manager.model' diff --git a/shared/models/plugins/plugin-playlist-privacy-manager.model.ts b/shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts similarity index 65% rename from shared/models/plugins/plugin-playlist-privacy-manager.model.ts rename to shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts index d1823ef4e..4703c0a8b 100644 --- a/shared/models/plugins/plugin-playlist-privacy-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-playlist-privacy-manager.model.ts @@ -1,4 +1,4 @@ -import { VideoPlaylistPrivacy } from '../videos/playlist/video-playlist-privacy.model' +import { VideoPlaylistPrivacy } from '../../../videos/playlist/video-playlist-privacy.model' export interface PluginPlaylistPrivacyManager { // PUBLIC = 1, diff --git a/shared/models/plugins/plugin-settings-manager.model.ts b/shared/models/plugins/server/managers/plugin-settings-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-settings-manager.model.ts rename to shared/models/plugins/server/managers/plugin-settings-manager.model.ts diff --git a/shared/models/plugins/plugin-storage-manager.model.ts b/shared/models/plugins/server/managers/plugin-storage-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-storage-manager.model.ts rename to shared/models/plugins/server/managers/plugin-storage-manager.model.ts diff --git a/shared/models/plugins/plugin-transcoding-manager.model.ts b/shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts similarity index 85% rename from shared/models/plugins/plugin-transcoding-manager.model.ts rename to shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts index 8babccd4e..a0422a460 100644 --- a/shared/models/plugins/plugin-transcoding-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-transcoding-manager.model.ts @@ -1,4 +1,4 @@ -import { EncoderOptionsBuilder } from '../videos/video-transcoding.model' +import { EncoderOptionsBuilder } from '../../../videos/video-transcoding.model' export interface PluginTranscodingManager { addLiveProfile (encoder: string, profile: string, builder: EncoderOptionsBuilder): boolean diff --git a/shared/models/plugins/plugin-video-category-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-category-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-category-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-category-manager.model.ts diff --git a/shared/models/plugins/plugin-video-language-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-language-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-language-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-language-manager.model.ts diff --git a/shared/models/plugins/plugin-video-licence-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-licence-manager.model.ts similarity index 100% rename from shared/models/plugins/plugin-video-licence-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-licence-manager.model.ts diff --git a/shared/models/plugins/plugin-video-privacy-manager.model.ts b/shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts similarity index 72% rename from shared/models/plugins/plugin-video-privacy-manager.model.ts rename to shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts index 3ada99608..7717115e3 100644 --- a/shared/models/plugins/plugin-video-privacy-manager.model.ts +++ b/shared/models/plugins/server/managers/plugin-video-privacy-manager.model.ts @@ -1,4 +1,4 @@ -import { VideoPrivacy } from '../videos/video-privacy.enum' +import { VideoPrivacy } from '../../../videos/video-privacy.enum' export interface PluginVideoPrivacyManager { // PUBLIC = 1 diff --git a/shared/models/plugins/plugin-translation.model.ts b/shared/models/plugins/server/plugin-translation.model.ts similarity index 100% rename from shared/models/plugins/plugin-translation.model.ts rename to shared/models/plugins/server/plugin-translation.model.ts diff --git a/shared/models/plugins/register-server-hook.model.ts b/shared/models/plugins/server/register-server-hook.model.ts similarity index 100% rename from shared/models/plugins/register-server-hook.model.ts rename to shared/models/plugins/server/register-server-hook.model.ts diff --git a/shared/models/plugins/server-hook.model.ts b/shared/models/plugins/server/server-hook.model.ts similarity index 100% rename from shared/models/plugins/server-hook.model.ts rename to shared/models/plugins/server/server-hook.model.ts diff --git a/shared/models/plugins/server/settings/index.ts b/shared/models/plugins/server/settings/index.ts new file mode 100644 index 000000000..b456de019 --- /dev/null +++ b/shared/models/plugins/server/settings/index.ts @@ -0,0 +1,2 @@ +export * from './public-server.setting' +export * from './register-server-setting.model' diff --git a/shared/models/plugins/public-server.setting.ts b/shared/models/plugins/server/settings/public-server.setting.ts similarity index 100% rename from shared/models/plugins/public-server.setting.ts rename to shared/models/plugins/server/settings/public-server.setting.ts diff --git a/shared/models/plugins/register-server-setting.model.ts b/shared/models/plugins/server/settings/register-server-setting.model.ts similarity index 83% rename from shared/models/plugins/register-server-setting.model.ts rename to shared/models/plugins/server/settings/register-server-setting.model.ts index 9f45c3c37..d9a798cac 100644 --- a/shared/models/plugins/register-server-setting.model.ts +++ b/shared/models/plugins/server/settings/register-server-setting.model.ts @@ -1,4 +1,4 @@ -import { RegisterClientFormFieldOptions } from './register-client-form-field.model' +import { RegisterClientFormFieldOptions } from '../../client' export type RegisterServerSettingOptions = RegisterClientFormFieldOptions & { // If the setting is not private, anyone can view its value (client code included) From a3c997b34cad79fce92c67951a3c8140a9888973 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 14:23:49 +0200 Subject: [PATCH 072/136] Update README --- README.md | 23 +++++++++++++---------- server/tests/api/server/handle-down.ts | 10 ++++++---- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index f5fb6acea..cae96150e 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

Website - | Join an instance + | Join an instance | Create an instance | Chat with us | Donate @@ -67,23 +67,24 @@ Introduction PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. :clapper: -But one organization hosting PeerTube alone may not have enough money to pay for bandwidth and video storage of its servers, -all servers of PeerTube are interoperable as a federated network, and non-PeerTube servers can be part of the larger Vidiverse -(federated video network) by talking our implementation of ActivityPub. -Video load is reduced thanks to P2P in the web browser using WebTorrent or p2p-media-loader. - -To learn more, see: +To learn more: * This [two-minute video](https://framatube.org/videos/watch/217eefeb-883d-45be-b7fc-a788ad8507d3) (hosted on PeerTube) explaining what PeerTube is and how it works * PeerTube's project homepage, [joinpeertube.org](https://joinpeertube.org) * Demonstration instances: - * [peertube.cpy.re](https://peertube.cpy.re) - * [peertube2.cpy.re](https://peertube2.cpy.re) - * [peertube3.cpy.re](https://peertube3.cpy.re) + * [peertube.cpy.re](https://peertube.cpy.re) (stable) + * [peertube2.cpy.re](https://peertube2.cpy.re) (Nightly) + * [peertube3.cpy.re](https://peertube3.cpy.re) (RC) * This [video](https://peertube.cpy.re/videos/watch/da2b08d4-a242-4170-b32a-4ec8cbdca701) demonstrating the communication between PeerTube and [Mastodon](https://github.com/tootsuite/mastodon) (a decentralized Twitter alternative) :sparkles: Features ---------------------------------------------------------------- +

+ All features for viewers + | All features for content creators + | All features for administrators +

+

Video streaming, even in live!

@@ -121,6 +122,8 @@ In addition to visitors using WebTorrent to share the load among them, instances Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and incentivize alter creativity (more about that in our FAQ).

+ + :raised_hands: Contributing ---------------------------------------------------------------- diff --git a/server/tests/api/server/handle-down.ts b/server/tests/api/server/handle-down.ts index fa1a3c444..fe4a0e100 100644 --- a/server/tests/api/server/handle-down.ts +++ b/server/tests/api/server/handle-down.ts @@ -346,10 +346,12 @@ describe('Test handle downs', function () { // Wait video expiration await wait(11000) - for (let i = 0; i < 3; i++) { - await getVideo(servers[1].url, videoIdsServer1[i]) - await waitJobs([ servers[1] ]) - await wait(1500) + for (let i = 0; i < 5; i++) { + try { + await getVideo(servers[1].url, videoIdsServer1[i]) + await waitJobs([ servers[1] ]) + await wait(1500) + } catch {} } for (const id of videoIdsServer1) { From 32985a0a779e0e2100a3990b1f1188645e58dfb1 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 14:56:00 +0200 Subject: [PATCH 073/136] Error if importing a torrent with multiple files --- .../video-import-torrent.component.ts | 10 ++++++++-- server/controllers/api/videos/import.ts | 20 ++++++++++++++----- .../validators/videos/video-imports.ts | 3 --- .../models/server/server-error-code.enum.ts | 1 + 4 files changed, 24 insertions(+), 10 deletions(-) diff --git a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts index 3aae24732..23bd5ef76 100644 --- a/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts +++ b/client/src/app/+videos/+video-edit/video-add-components/video-import-torrent.component.ts @@ -5,7 +5,7 @@ import { scrollToTop } from '@app/helpers' import { FormValidatorService } from '@app/shared/shared-forms' import { VideoCaptionService, VideoEdit, VideoImportService, VideoService } from '@app/shared/shared-main' import { LoadingBarService } from '@ngx-loading-bar/core' -import { VideoPrivacy, VideoUpdate } from '@shared/models' +import { ServerErrorCode, VideoPrivacy, VideoUpdate } from '@shared/models' import { hydrateFormFromVideo } from '../shared/video-edit-utils' import { VideoSend } from './video-send' @@ -113,7 +113,13 @@ export class VideoImportTorrentComponent extends VideoSend implements OnInit, Af this.loadingBar.useRef().complete() this.isImportingVideo = false this.firstStepError.emit() - this.notifier.error(err.message) + + let message = err.message + if (err.body?.code === ServerErrorCode.INCORRECT_FILES_IN_TORRENT) { + message = $localize`Torrents with only 1 file are supported.` + } + + this.notifier.error(message) } ) } diff --git a/server/controllers/api/videos/import.ts b/server/controllers/api/videos/import.ts index 37fd42b90..4ed58f978 100644 --- a/server/controllers/api/videos/import.ts +++ b/server/controllers/api/videos/import.ts @@ -16,13 +16,13 @@ import { MVideoWithBlacklistLight } from '@server/types/models' import { MVideoImport, MVideoImportFormattable } from '@server/types/models/video/video-import' -import { VideoImportCreate, VideoImportState, VideoPrivacy, VideoState } from '../../../../shared' +import { ServerErrorCode, VideoImportCreate, VideoImportState, VideoPrivacy, VideoState } from '../../../../shared' import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes' import { ThumbnailType } from '../../../../shared/models/videos/thumbnail.type' import { auditLoggerFactory, getAuditIdFromRes, VideoImportAuditView } from '../../../helpers/audit-logger' import { moveAndProcessCaptionFile } from '../../../helpers/captions-utils' import { isArray } from '../../../helpers/custom-validators/misc' -import { createReqFiles } from '../../../helpers/express-utils' +import { cleanUpReqFiles, createReqFiles } from '../../../helpers/express-utils' import { logger } from '../../../helpers/logger' import { getSecureTorrentName } from '../../../helpers/utils' import { YoutubeDL, YoutubeDLInfo } from '../../../helpers/youtube-dl' @@ -86,13 +86,23 @@ async function addTorrentImport (req: express.Request, res: express.Response, to // Rename the torrent to a secured name const newTorrentPath = join(CONFIG.STORAGE.TORRENTS_DIR, getSecureTorrentName(torrentName)) - await move(torrentfile.path, newTorrentPath) + await move(torrentfile.path, newTorrentPath, { overwrite: true }) torrentfile.path = newTorrentPath const buf = await readFile(torrentfile.path) - const parsedTorrent = parseTorrent(buf) + const parsedTorrent = parseTorrent(buf) as parseTorrent.Instance - videoName = isArray(parsedTorrent.name) ? parsedTorrent.name[0] : parsedTorrent.name as string + if (parsedTorrent.files.length !== 1) { + cleanUpReqFiles(req) + + return res.status(HttpStatusCode.BAD_REQUEST_400) + .json({ + code: ServerErrorCode.INCORRECT_FILES_IN_TORRENT, + error: 'Torrents with only 1 file are supported.' + }) + } + + videoName = isArray(parsedTorrent.name) ? parsedTorrent.name[0] : parsedTorrent.name } else { magnetUri = body.magnetUri diff --git a/server/middlewares/validators/videos/video-imports.ts b/server/middlewares/validators/videos/video-imports.ts index c53af3861..d0643ff26 100644 --- a/server/middlewares/validators/videos/video-imports.ts +++ b/server/middlewares/validators/videos/video-imports.ts @@ -47,14 +47,12 @@ const videoImportAddValidator = getCommonVideoEditAttributes().concat([ cleanUpReqFiles(req) return res.status(HttpStatusCode.CONFLICT_409) .json({ error: 'HTTP import is not enabled on this instance.' }) - .end() } if (CONFIG.IMPORT.VIDEOS.TORRENT.ENABLED !== true && (req.body.magnetUri || torrentFile)) { cleanUpReqFiles(req) return res.status(HttpStatusCode.CONFLICT_409) .json({ error: 'Torrent/magnet URI import is not enabled on this instance.' }) - .end() } if (!await doesVideoChannelOfAccountExist(req.body.channelId, user, res)) return cleanUpReqFiles(req) @@ -65,7 +63,6 @@ const videoImportAddValidator = getCommonVideoEditAttributes().concat([ return res.status(HttpStatusCode.BAD_REQUEST_400) .json({ error: 'Should have a magnetUri or a targetUrl or a torrent file.' }) - .end() } if (!await isImportAccepted(req, res)) return cleanUpReqFiles(req) diff --git a/shared/models/server/server-error-code.enum.ts b/shared/models/server/server-error-code.enum.ts index c02b0e6c7..d17d958be 100644 --- a/shared/models/server/server-error-code.enum.ts +++ b/shared/models/server/server-error-code.enum.ts @@ -2,4 +2,5 @@ export const enum ServerErrorCode { DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS = 1, MAX_INSTANCE_LIVES_LIMIT_REACHED = 2, MAX_USER_LIVES_LIMIT_REACHED = 3, + INCORRECT_FILES_IN_TORRENT = 4 } From 3914a50b0732076707a6e4e22f54254ae00fc829 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 11 May 2021 15:03:30 +0200 Subject: [PATCH 074/136] Remember tab in upload page --- .../+video-edit/video-add.component.html | 10 +++++----- .../+video-edit/video-add.component.ts | 20 +++++++++++++++++-- 2 files changed, 23 insertions(+), 7 deletions(-) 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 dc8c2f21d..ac75d9ff8 100644 --- a/client/src/app/+videos/+video-edit/video-add.component.html +++ b/client/src/app/+videos/+video-edit/video-add.component.html @@ -20,8 +20,8 @@ Upload {{ videoName }}
-