From c9917782ea9a90d685b0ba70b9c72971b221e5d9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 20 Aug 2019 14:31:17 +0200 Subject: [PATCH 01/12] Fix docker build on gitlab cci --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 401a5c960..b8c9c5fda 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -112,7 +112,6 @@ build-docker-develop: <<: *docker only: - schedules - - develop variables: DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-stretch From d1c0a964a214e861f1106e69c62b1aec1b3d55a9 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 09:41:49 +0200 Subject: [PATCH 02/12] Relax plugin package.json validation --- server/helpers/custom-validators/plugins.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/helpers/custom-validators/plugins.ts b/server/helpers/custom-validators/plugins.ts index b5e32abc2..63af91a44 100644 --- a/server/helpers/custom-validators/plugins.ts +++ b/server/helpers/custom-validators/plugins.ts @@ -41,7 +41,11 @@ function isPluginEngineValid (engine: any) { } function isPluginHomepage (value: string) { - return isUrlValid(value) + return exists(value) && (!value || isUrlValid(value)) +} + +function isPluginBugs (value: string) { + return exists(value) && (!value || isUrlValid(value)) } function areStaticDirectoriesValid (staticDirs: any) { @@ -85,7 +89,7 @@ function isPackageJSONValid (packageJSON: PluginPackageJson, pluginType: PluginT isPluginEngineValid(packageJSON.engine) && isPluginHomepage(packageJSON.homepage) && exists(packageJSON.author) && - isUrlValid(packageJSON.bugs) && + isPluginBugs(packageJSON.bugs) && (pluginType === PluginType.THEME || isSafePath(packageJSON.library)) && areStaticDirectoriesValid(packageJSON.staticDirs) && areCSSPathsValid(packageJSON.css) && From 6e44fb37634ce1280b5ff03e2d367f2eaa334272 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 09:49:22 +0200 Subject: [PATCH 03/12] Replace "overview" by "discover" in client titles --- client/src/app/app.component.ts | 2 +- client/src/app/videos/videos-routing.module.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts index db1f91f8c..83a751dd6 100644 --- a/client/src/app/app.component.ts +++ b/client/src/app/app.component.ts @@ -226,7 +226,7 @@ export class AppComponent implements OnInit { new Hotkey('g o', (event: KeyboardEvent): boolean => { this.router.navigate([ '/videos/overview' ]) return false - }, undefined, this.i18n('Go to the videos overview page')), + }, undefined, this.i18n('Go to the videos discover page')), new Hotkey('g t', (event: KeyboardEvent): boolean => { this.router.navigate([ '/videos/trending' ]) return false diff --git a/client/src/app/videos/videos-routing.module.ts b/client/src/app/videos/videos-routing.module.ts index 4eaae93cb..f0049d8c4 100644 --- a/client/src/app/videos/videos-routing.module.ts +++ b/client/src/app/videos/videos-routing.module.ts @@ -19,7 +19,7 @@ const videosRoutes: Routes = [ component: VideoOverviewComponent, data: { meta: { - title: 'Videos overview' + title: 'Discover videos' } } }, From 79a899410fdf6d7d4fcb22f05314c9ed3fc5d591 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 10:02:32 +0200 Subject: [PATCH 04/12] Cleanup SASS imports --- client/src/app/app.component.ts | 2 +- client/src/sass/application.scss | 1 - client/src/sass/player/_player-variables.scss | 6 ------ client/src/sass/player/peertube-skin.scss | 6 ++++++ 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts index 83a751dd6..50c5f5b9b 100644 --- a/client/src/app/app.component.ts +++ b/client/src/app/app.component.ts @@ -226,7 +226,7 @@ export class AppComponent implements OnInit { new Hotkey('g o', (event: KeyboardEvent): boolean => { this.router.navigate([ '/videos/overview' ]) return false - }, undefined, this.i18n('Go to the videos discover page')), + }, undefined, this.i18n('Go to the discover videos page')), new Hotkey('g t', (event: KeyboardEvent): boolean => { this.router.navigate([ '/videos/trending' ]) return false diff --git a/client/src/sass/application.scss b/client/src/sass/application.scss index c64a8ebf8..4fa722327 100644 --- a/client/src/sass/application.scss +++ b/client/src/sass/application.scss @@ -1,5 +1,4 @@ $icon-font-path: '~@neos21/bootstrap3-glyphicons/assets/fonts/'; -@import '_bootstrap'; @import '_variables'; @import '_mixins'; diff --git a/client/src/sass/player/_player-variables.scss b/client/src/sass/player/_player-variables.scss index 4e9e8736c..0c2359ac7 100644 --- a/client/src/sass/player/_player-variables.scss +++ b/client/src/sass/player/_player-variables.scss @@ -11,9 +11,3 @@ $slider-bg-color: lighten($primary-background-color, 33%); $progress-margin: 10px; $assets-path: '../../assets/' !default; - -body { - --embedForegroundColor: #{$primary-foreground-color}; - - --embedBigPlayBackgroundColor: #{$primary-background-color}; -} diff --git a/client/src/sass/player/peertube-skin.scss b/client/src/sass/player/peertube-skin.scss index 996024ade..1a5144b11 100644 --- a/client/src/sass/player/peertube-skin.scss +++ b/client/src/sass/player/peertube-skin.scss @@ -2,6 +2,12 @@ @import '_mixins'; @import './_player-variables'; +body { + --embedForegroundColor: #{$primary-foreground-color}; + + --embedBigPlayBackgroundColor: #{$primary-background-color}; +} + @mixin big-play-button-triangle-size($triangle-size) { width: $triangle-size; height: $triangle-size; From 7c58378a57a1540534b9fc47bf06c9f64a1ebc6b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 10:22:01 +0200 Subject: [PATCH 05/12] email object -> email subject --- config/default.yaml | 2 +- config/production.yaml.example | 2 +- server/initializers/checker-before-init.ts | 2 +- server/initializers/config.ts | 4 +-- server/lib/emailer.ts | 34 +++++++++++----------- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/config/default.yaml b/config/default.yaml index b7a433b99..dfba23f59 100644 --- a/config/default.yaml +++ b/config/default.yaml @@ -64,7 +64,7 @@ smtp: email: body: signature: "PeerTube" - object: + subject: prefix: "[PeerTube]" # From the project root directory diff --git a/config/production.yaml.example b/config/production.yaml.example index 17a1be502..267186e08 100644 --- a/config/production.yaml.example +++ b/config/production.yaml.example @@ -65,7 +65,7 @@ smtp: email: body: signature: "PeerTube" - object: + subject: prefix: "[PeerTube]" # From the project root directory diff --git a/server/initializers/checker-before-init.ts b/server/initializers/checker-before-init.ts index 55bc820f5..a986c3e0e 100644 --- a/server/initializers/checker-before-init.ts +++ b/server/initializers/checker-before-init.ts @@ -11,7 +11,7 @@ function checkMissedConfig () { 'trust_proxy', 'database.hostname', 'database.port', 'database.suffix', 'database.username', 'database.password', 'database.pool.max', 'smtp.hostname', 'smtp.port', 'smtp.username', 'smtp.password', 'smtp.tls', 'smtp.from_address', - 'email.body.signature', 'email.object.prefix', + 'email.body.signature', 'email.subject.prefix', 'storage.avatars', 'storage.videos', 'storage.logs', 'storage.previews', 'storage.thumbnails', 'storage.torrents', 'storage.cache', 'storage.redundancy', 'storage.tmp', 'storage.streaming_playlists', 'storage.plugins', 'log.level', diff --git a/server/initializers/config.ts b/server/initializers/config.ts index 58241e4ea..510f7d64d 100644 --- a/server/initializers/config.ts +++ b/server/initializers/config.ts @@ -48,8 +48,8 @@ const CONFIG = { BODY: { SIGNATURE: config.get('email.body.signature') }, - OBJECT: { - PREFIX: config.get('email.object.prefix') + ' ' + SUBJECT: { + PREFIX: config.get('email.subject.prefix') + ' ' } }, STORAGE: { diff --git a/server/lib/emailer.ts b/server/lib/emailer.ts index 73c2bcb1b..10e7d0479 100644 --- a/server/lib/emailer.ts +++ b/server/lib/emailer.ts @@ -104,7 +104,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + channelName + ' just published a new video', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + channelName + ' just published a new video', text } @@ -123,7 +123,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'New follower on your channel ' + followingName, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'New follower on your channel ' + followingName, text } @@ -141,7 +141,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'New instance follower', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'New instance follower', text } @@ -161,7 +161,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + `Your video ${video.name} is published`, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + `Your video ${video.name} is published`, text } @@ -181,7 +181,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + `Your video import ${videoImport.getTargetIdentifier()} is finished`, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + `Your video import ${videoImport.getTargetIdentifier()} is finished`, text } @@ -201,7 +201,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + `Your video import ${videoImport.getTargetIdentifier()} encountered an error`, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + `Your video import ${videoImport.getTargetIdentifier()} encountered an error`, text } @@ -223,7 +223,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'New comment on your video ' + video.name, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'New comment on your video ' + video.name, text } @@ -245,7 +245,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Mention on video ' + video.name, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'Mention on video ' + video.name, text } @@ -262,7 +262,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Received a video abuse', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'Received a video abuse', text } @@ -285,7 +285,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'An auto-blacklisted video is awaiting review', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'An auto-blacklisted video is awaiting review', text } @@ -300,7 +300,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'New user registration on ' + WEBSERVER.HOST, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'New user registration on ' + WEBSERVER.HOST, text } @@ -322,7 +322,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + `Video ${videoName} blacklisted`, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + `Video ${videoName} blacklisted`, text } @@ -340,7 +340,7 @@ class Emailer { const emailPayload: EmailPayload = { to, - subject: CONFIG.EMAIL.OBJECT.PREFIX + `Video ${video.name} unblacklisted`, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + `Video ${video.name} unblacklisted`, text } @@ -357,7 +357,7 @@ class Emailer { const emailPayload: EmailPayload = { to: [ to ], - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Reset your password', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'Reset your password', text } @@ -374,7 +374,7 @@ class Emailer { const emailPayload: EmailPayload = { to: [ to ], - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Verify your email', + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'Verify your email', text } @@ -395,7 +395,7 @@ class Emailer { const to = user.email const emailPayload: EmailPayload = { to: [ to ], - subject: CONFIG.EMAIL.OBJECT.PREFIX + 'Account ' + blockedWord, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + 'Account ' + blockedWord, text } @@ -415,7 +415,7 @@ class Emailer { fromDisplayName: fromEmail, replyTo: fromEmail, to: [ CONFIG.ADMIN.EMAIL ], - subject: CONFIG.EMAIL.OBJECT.PREFIX + subject, + subject: CONFIG.EMAIL.SUBJECT.PREFIX + subject, text } From 015d9dec91ecb7a17e4e79407d187aac8a19206d Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 10:33:22 +0200 Subject: [PATCH 06/12] Fix socket notification with multiple user tabs --- server/lib/peertube-socket.ts | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/server/lib/peertube-socket.ts b/server/lib/peertube-socket.ts index eb84ecd4b..17748fd18 100644 --- a/server/lib/peertube-socket.ts +++ b/server/lib/peertube-socket.ts @@ -8,7 +8,7 @@ class PeerTubeSocket { private static instance: PeerTubeSocket - private userNotificationSockets: { [ userId: number ]: SocketIO.Socket } = {} + private userNotificationSockets: { [ userId: number ]: SocketIO.Socket[] } = {} private constructor () {} @@ -22,22 +22,26 @@ class PeerTubeSocket { logger.debug('User %d connected on the notification system.', userId) - this.userNotificationSockets[userId] = socket + if (!this.userNotificationSockets[userId]) this.userNotificationSockets[userId] = [] + + this.userNotificationSockets[userId].push(socket) socket.on('disconnect', () => { logger.debug('User %d disconnected from SocketIO notifications.', userId) - delete this.userNotificationSockets[userId] + this.userNotificationSockets[userId] = this.userNotificationSockets[userId].filter(s => s !== socket) }) }) } sendNotification (userId: number, notification: UserNotificationModel) { - const socket = this.userNotificationSockets[userId] + const sockets = this.userNotificationSockets[userId] - if (!socket) return + if (!sockets) return - socket.emit('new-notification', notification.toFormattedJSON()) + for (const socket of sockets) { + socket.emit('new-notification', notification.toFormattedJSON()) + } } static get Instance () { From dea16773dfcc4e38e48c2980731af6e2a17a7aa6 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 10:59:14 +0200 Subject: [PATCH 07/12] Fix user creation by moderators --- server/middlewares/validators/users.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/middlewares/validators/users.ts b/server/middlewares/validators/users.ts index 16d297047..8ee2ec1f5 100644 --- a/server/middlewares/validators/users.ts +++ b/server/middlewares/validators/users.ts @@ -38,7 +38,9 @@ const usersAddValidator = [ body('email').isEmail().withMessage('Should have a valid email'), body('videoQuota').custom(isUserVideoQuotaValid).withMessage('Should have a valid user quota'), body('videoQuotaDaily').custom(isUserVideoQuotaDailyValid).withMessage('Should have a valid daily user quota'), - body('role').custom(isUserRoleValid).withMessage('Should have a valid role'), + body('role') + .customSanitizer(toIntOrNull) + .custom(isUserRoleValid).withMessage('Should have a valid role'), body('adminFlags').optional().custom(isUserAdminFlagsValid).withMessage('Should have a valid admin flags'), async (req: express.Request, res: express.Response, next: express.NextFunction) => { @@ -50,7 +52,7 @@ const usersAddValidator = [ const authUser = res.locals.oauth.token.User if (authUser.role !== UserRole.ADMINISTRATOR && req.body.role !== UserRole.USER) { return res.status(403) - .json({ error: 'You can only create users (and not administrators or moderators' }) + .json({ error: 'You can only create users (and not administrators or moderators)' }) } return next() @@ -160,7 +162,10 @@ const usersUpdateValidator = [ body('emailVerified').optional().isBoolean().withMessage('Should have a valid email verified attribute'), body('videoQuota').optional().custom(isUserVideoQuotaValid).withMessage('Should have a valid user quota'), body('videoQuotaDaily').optional().custom(isUserVideoQuotaDailyValid).withMessage('Should have a valid daily user quota'), - body('role').optional().custom(isUserRoleValid).withMessage('Should have a valid role'), + body('role') + .optional() + .customSanitizer(toIntOrNull) + .custom(isUserRoleValid).withMessage('Should have a valid role'), body('adminFlags').optional().custom(isUserAdminFlagsValid).withMessage('Should have a valid admin flags'), async (req: express.Request, res: express.Response, next: express.NextFunction) => { From 217ffacfdde0972a3ee4e2db152e1710139b4ec4 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 11:03:50 +0200 Subject: [PATCH 08/12] Try to fix video duplication --- server/lib/schedulers/videos-redundancy-scheduler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/lib/schedulers/videos-redundancy-scheduler.ts b/server/lib/schedulers/videos-redundancy-scheduler.ts index 04f601bfb..cd70fd851 100644 --- a/server/lib/schedulers/videos-redundancy-scheduler.ts +++ b/server/lib/schedulers/videos-redundancy-scheduler.ts @@ -185,7 +185,7 @@ export class VideosRedundancyScheduler extends AbstractScheduler { const tmpPath = await downloadWebTorrentVideo({ magnetUri }, VIDEO_IMPORT_TIMEOUT) const destPath = join(CONFIG.STORAGE.REDUNDANCY_DIR, video.getVideoFilename(file)) - await move(tmpPath, destPath) + await move(tmpPath, destPath, { overwrite: true }) const createdModel = await VideoRedundancyModel.create({ expiresOn: this.buildNewExpiration(redundancy.minLifetime), From ebe7f5872617311e33dbca1f7f0d2556932c01a0 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 11:14:01 +0200 Subject: [PATCH 09/12] Fix image and plugin CSP --- server/middlewares/csp.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/middlewares/csp.ts b/server/middlewares/csp.ts index d484b3021..d11d70790 100644 --- a/server/middlewares/csp.ts +++ b/server/middlewares/csp.ts @@ -7,8 +7,8 @@ const baseDirectives = Object.assign({}, connectSrc: ['*', 'data:'], mediaSrc: ["'self'", 'https:', 'blob:'], fontSrc: ["'self'", 'data:'], - imgSrc: ["'self'", 'data:'], - scriptSrc: ["'self' 'unsafe-inline' 'unsafe-eval'"], + imgSrc: ["'self'", 'data:', 'blob:'], + scriptSrc: ["'self' 'unsafe-inline' 'unsafe-eval'", 'blob:'], styleSrc: ["'self' 'unsafe-inline'"], objectSrc: ["'none'"], // only define to allow plugins, else let defaultSrc 'none' block it formAction: ["'self'"], From a3671f0709f3f423819fcfed47a4d4879cf82780 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 11:33:18 +0200 Subject: [PATCH 10/12] Fix video playlist element removal --- .../video-add-to-playlist.component.ts | 14 +++++++------- .../video-playlist/video-playlist.service.ts | 9 ++++----- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/client/src/app/shared/video-playlist/video-add-to-playlist.component.ts b/client/src/app/shared/video-playlist/video-add-to-playlist.component.ts index 72de84703..6380c2e51 100644 --- a/client/src/app/shared/video-playlist/video-add-to-playlist.component.ts +++ b/client/src/app/shared/video-playlist/video-add-to-playlist.component.ts @@ -12,6 +12,7 @@ type PlaylistSummary = { inPlaylist: boolean displayName: string + playlistElementId?: number startTimestamp?: number stopTimestamp?: number } @@ -37,8 +38,6 @@ export class VideoAddToPlaylistComponent extends FormReactive implements OnInit, } displayOptions = false - private playlistElementId: number - constructor ( protected formValidatorService: FormValidatorService, private authService: AuthService, @@ -95,11 +94,10 @@ export class VideoAddToPlaylistComponent extends FormReactive implements OnInit, id: playlist.id, displayName: playlist.displayName, inPlaylist: !!existingPlaylist, + playlistElementId: existingPlaylist ? existingPlaylist.playlistElementId : undefined, startTimestamp: existingPlaylist ? existingPlaylist.startTimestamp : undefined, stopTimestamp: existingPlaylist ? existingPlaylist.stopTimestamp : undefined }) - - this.playlistElementId = existingPlaylist ? existingPlaylist.playlistElementId : undefined } this.cd.markForCheck() @@ -181,14 +179,15 @@ export class VideoAddToPlaylistComponent extends FormReactive implements OnInit, } private removeVideoFromPlaylist (playlist: PlaylistSummary) { - if (!this.playlistElementId) return + if (!playlist.playlistElementId) return - this.videoPlaylistService.removeVideoFromPlaylist(playlist.id, this.playlistElementId) + this.videoPlaylistService.removeVideoFromPlaylist(playlist.id, playlist.playlistElementId) .subscribe( () => { this.notifier.success(this.i18n('Video removed from {{name}}', { name: playlist.displayName })) playlist.inPlaylist = false + playlist.playlistElementId = undefined }, err => { @@ -209,8 +208,9 @@ export class VideoAddToPlaylistComponent extends FormReactive implements OnInit, this.videoPlaylistService.addVideoInPlaylist(playlist.id, body) .subscribe( - () => { + res => { playlist.inPlaylist = true + playlist.playlistElementId = res.videoPlaylistElement.id playlist.startTimestamp = body.startTimestamp playlist.stopTimestamp = body.stopTimestamp diff --git a/client/src/app/shared/video-playlist/video-playlist.service.ts b/client/src/app/shared/video-playlist/video-playlist.service.ts index 376387082..42791af86 100644 --- a/client/src/app/shared/video-playlist/video-playlist.service.ts +++ b/client/src/app/shared/video-playlist/video-playlist.service.ts @@ -113,11 +113,10 @@ export class VideoPlaylistService { } addVideoInPlaylist (playlistId: number, body: VideoPlaylistElementCreate) { - return this.authHttp.post(VideoPlaylistService.BASE_VIDEO_PLAYLIST_URL + playlistId + '/videos', body) - .pipe( - map(this.restExtractor.extractDataBool), - catchError(err => this.restExtractor.handleError(err)) - ) + const url = VideoPlaylistService.BASE_VIDEO_PLAYLIST_URL + playlistId + '/videos' + + return this.authHttp.post<{ videoPlaylistElement: { id: number } }>(url, body) + .pipe(catchError(err => this.restExtractor.handleError(err))) } updateVideoOfPlaylist (playlistId: number, playlistElementId: number, body: VideoPlaylistElementUpdate) { From 6eb62c33908025d877a28f1cfbc527c511ae3103 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 13:59:54 +0200 Subject: [PATCH 11/12] Fix video rows overflow In discover and account channel videos pages --- .../account-video-channels.component.scss | 1 - .../account-video-channels.component.ts | 9 +++++++-- client/src/app/shared/misc/screen.service.ts | 16 +++++++++++++++- .../video-list/video-overview.component.html | 9 ++++++--- .../video-list/video-overview.component.ts | 10 +++++++++- client/src/sass/include/_miniature.scss | 3 --- 6 files changed, 37 insertions(+), 11 deletions(-) diff --git a/client/src/app/+accounts/account-video-channels/account-video-channels.component.scss b/client/src/app/+accounts/account-video-channels/account-video-channels.component.scss index 7f7652460..a258c7b86 100644 --- a/client/src/app/+accounts/account-video-channels/account-video-channels.component.scss +++ b/client/src/app/+accounts/account-video-channels/account-video-channels.component.scss @@ -9,7 +9,6 @@ .section { @include miniature-rows; - overflow: visible; // For the subscribe dropdown padding-top: 0 !important; .section-title { 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 85dedd7de..29d2991fd 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 @@ -11,6 +11,7 @@ import { AuthService } from '@app/core' import { VideoService } from '@app/shared/video/video.service' import { VideoSortField } from '@app/shared/video/sort-field.type' import { ComponentPagination, hasMoreItems } from '@app/shared/rest/component-pagination.model' +import { ScreenService } from '@app/shared/misc/screen.service' @Component({ selector: 'my-account-video-channels', @@ -42,7 +43,8 @@ export class AccountVideoChannelsComponent implements OnInit, OnDestroy { private authService: AuthService, private accountService: AccountService, private videoChannelService: VideoChannelService, - private videoService: VideoService + private videoService: VideoService, + private screenService: ScreenService ) { } get user () { @@ -83,7 +85,10 @@ export class AccountVideoChannelsComponent implements OnInit, OnDestroy { } getVideosOf (videoChannel: VideoChannel) { - return this.videos[ videoChannel.id ] + const numberOfVideos = this.screenService.getNumberOfAvailableMiniatures() + + // 2 rows + return this.videos[ videoChannel.id ].slice(0, numberOfVideos * 2) } onNearOfBottom () { diff --git a/client/src/app/shared/misc/screen.service.ts b/client/src/app/shared/misc/screen.service.ts index af75569d9..220d41d59 100644 --- a/client/src/app/shared/misc/screen.service.ts +++ b/client/src/app/shared/misc/screen.service.ts @@ -22,8 +22,22 @@ export class ScreenService { return 'ontouchstart' in window || navigator.msMaxTouchPoints } + getNumberOfAvailableMiniatures () { + const screenWidth = this.getWindowInnerWidth() + + let numberOfVideos = 1 + + if (screenWidth > 1850) numberOfVideos = 6 + else if (screenWidth > 1600) numberOfVideos = 5 + else if (screenWidth > 1370) numberOfVideos = 4 + else if (screenWidth > 1100) numberOfVideos = 3 + else if (screenWidth > 850) numberOfVideos = 2 + + return numberOfVideos + } + // Cache window inner width, because it's an expensive call - private getWindowInnerWidth () { + getWindowInnerWidth () { if (this.cacheWindowInnerWidthExpired()) this.refreshWindowInnerWidth() return this.windowInnerWidth diff --git a/client/src/app/videos/video-list/video-overview.component.html b/client/src/app/videos/video-list/video-overview.component.html index f59de584a..5fe1f5c80 100644 --- a/client/src/app/videos/video-list/video-overview.component.html +++ b/client/src/app/videos/video-list/video-overview.component.html @@ -7,7 +7,8 @@ {{ object.category.label }} - + +
@@ -15,7 +16,8 @@ #{{ object.tag }}
- + +
@@ -27,7 +29,8 @@
- + + diff --git a/client/src/app/videos/video-list/video-overview.component.ts b/client/src/app/videos/video-list/video-overview.component.ts index 7ff52b259..4fee92d54 100644 --- a/client/src/app/videos/video-list/video-overview.component.ts +++ b/client/src/app/videos/video-list/video-overview.component.ts @@ -4,6 +4,7 @@ import { I18n } from '@ngx-translate/i18n-polyfill' import { VideosOverview } from '@app/shared/overview/videos-overview.model' import { OverviewService } from '@app/shared/overview' import { Video } from '@app/shared/video/video.model' +import { ScreenService } from '@app/shared/misc/screen.service' @Component({ selector: 'my-video-overview', @@ -22,7 +23,8 @@ export class VideoOverviewComponent implements OnInit { private i18n: I18n, private notifier: Notifier, private authService: AuthService, - private overviewService: OverviewService + private overviewService: OverviewService, + private screenService: ScreenService ) { } get user () { @@ -53,4 +55,10 @@ export class VideoOverviewComponent implements OnInit { buildVideoChannelAvatarUrl (object: { videos: Video[] }) { return object.videos[0].videoChannelAvatarUrl } + + buildVideos (videos: Video[]) { + const numberOfVideos = this.screenService.getNumberOfAvailableMiniatures() + + return videos.slice(0, numberOfVideos * 2) + } } diff --git a/client/src/sass/include/_miniature.scss b/client/src/sass/include/_miniature.scss index e4ed88d31..56126d41f 100644 --- a/client/src/sass/include/_miniature.scss +++ b/client/src/sass/include/_miniature.scss @@ -140,9 +140,6 @@ $play-overlay-width: 18px; } @mixin miniature-rows { - max-height: 540px; // 2 rows max - overflow: hidden; - &:first-child { padding-top: 30px; From 820546916cad3ae4cc51eab408aef7bbaff3632f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 22 Aug 2019 14:45:16 +0200 Subject: [PATCH 12/12] Add fi_FI support --- client/src/locale/source/angular_en_US.xml | 7 + client/src/locale/target/angular_el_GR.xml | 2575 ++++++++++++++- client/src/locale/target/angular_fi_FI.xml | 2907 ++++++++++++++++- client/src/locale/target/angular_sl_SI.xml | 912 ++++++ client/src/locale/target/angular_sv_SE.xml | 12 +- client/src/locale/target/angular_th_TH.xml | 827 +++++ client/src/locale/target/angular_vi_VN.xml | 329 ++ .../src/locale/target/angular_zh_Hans_CN.xml | 2446 +++++++++++++- client/src/locale/target/player_fi_FI.json | 1 + .../src/locale/target/player_zh_Hans_CN.json | 2 +- client/src/locale/target/server_el_GR.json | 2 +- client/src/locale/target/server_fi_FI.json | 1 + .../src/locale/target/server_zh_Hans_CN.json | 2 +- scripts/build/client.sh | 5 +- shared/models/i18n/i18n.ts | 2 + 15 files changed, 9995 insertions(+), 35 deletions(-) create mode 100644 client/src/locale/target/angular_sl_SI.xml create mode 100644 client/src/locale/target/angular_th_TH.xml create mode 100644 client/src/locale/target/player_fi_FI.json create mode 100644 client/src/locale/target/server_fi_FI.json diff --git a/client/src/locale/source/angular_en_US.xml b/client/src/locale/source/angular_en_US.xml index 4e6f0963e..a3c43a090 100644 --- a/client/src/locale/source/angular_en_US.xml +++ b/client/src/locale/source/angular_en_US.xml @@ -7367,6 +7367,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Go to the discover videos page + + src/app/app.component.ts + 1 + + diff --git a/client/src/locale/target/angular_el_GR.xml b/client/src/locale/target/angular_el_GR.xml index 43726726c..b845a3294 100644 --- a/client/src/locale/target/angular_el_GR.xml +++ b/client/src/locale/target/angular_el_GR.xml @@ -200,15 +200,26 @@ - + + + 71 - + + + 72 + + Close + Κλείσιμο + + 8 + + You don't have notifications. Δεν έχετε ειδοποιήσεις. @@ -903,6 +914,13 @@ 11 + + (extensions: , max size: ) + (επεκτάσεις: , όριο μεγέθους: ) + + 12 + + Login @@ -1186,6 +1204,13 @@ 56 + + Discover + Ανακαλύψτε + + 66 + + Trending Τάσεις @@ -1604,6 +1629,13 @@ 135 + + Video preview + Προεπισκόπηση βίντεο + + 192 + + Support Υποστηρίξτε @@ -1713,6 +1745,28 @@ 25 + + Video background image + Εικόνα φόντου βίντεο + + 32 + + + + + Image that will be merged with your audio file. + + The chosen image will be definitive and cannot be modified. + + + Εικόνα που θα ενωθεί με το ηχητικό σας. + + Η εικόνα που θα επιλέξετε δεν θα μπορεί να αλλάξει αργότερα. + + + 34 + + Congratulations! Your video is now available in your private library. @@ -1848,6 +1902,17 @@ 27 + + + 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). + + + Το url δεν είναι ασφαλές (χωρίς HTTPS), κι έτσι η ενσωμάτωση του βίντεο δεν θα λειτουργεί σε ιστοτόπους με HTTPS (οι περιηγητές μπλοκάρουν μη ασφαλή (HTTP) αιτήματα σε ιστοτόπους με HTTPS. + + + 47 + + Embed Ενσωμάτωση @@ -1855,6 +1920,42 @@ 35 + + Auto select subtitle + Αυτόματη επιλογή υποτίτλων + + 76 + + + + + More customization + + + Επιπλέον προσαρμογή + + + 93 + + + + + Less customization + + + Λιγότερη προσαρμογή + + + 101 + + + + Autoplay + Αυτόματη αναπαραγωγή + + 127 + + Muted Σε σίγαση @@ -1862,6 +1963,34 @@ 20 + + Loop + Επανάληψη + + 141 + + + + Display video title + Προβολή τίτλου βίντεο + + 150 + + + + Display privacy warning + Προβολή ειδοποίησης προσωπικών δεδομένων + + 157 + + + + Display player controls + Προβολή στοιχείων ελέγχου αναπαραγωγής + + 164 + + Close Κλείσιμο @@ -2200,6 +2329,17 @@ 15 + + + Plugins/Themes + + + Πρόσθετα/Θέματα + + + 19 + + System @@ -2480,6 +2620,13 @@ 40 + + Video quota + Όριο ανεβάσματος βίντεο + + 42 + + (banned) (έχει αποκλειστεί) @@ -2701,6 +2848,113 @@ 12 + + Plugins/Themes + Πρόσθετα/Θέματα + + 2 + + + + Installed + Εγκατεστημένα + + 5 + + + + Search + Αναζήτηση + + 7 + + + + Homepage + Αρχική + + 51 + + + + Go to the plugin homepage + Σελίδα προσθέτου + + 48 + + + + Settings + Ρυθμίσεις + + 29 + + + + Uninstall + Απεγκατάσταση + + 35 + + + + + To load your new installed plugins or themes, refresh the page. + + + Για να δείτε τα νέα σας πρόσθετα ή θέματα, ανανεώστε τη σελίδα. + + + 9 + + + + Popular + Δημοφιλή + + 16 + + + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + 22 + + + + {VAR_PLURAL, plural, =1 {result} other {results} } + {VAR_PLURAL, plural, =1 {result} other {results} } + + 23 + + + + + No results. + + + Κανένα αποτέλεσμα. + + + 28 + + + + + This does not have settings. + + + Αυτό το δεν έχει ρυθμίσεις. + + + 22 + + System Σύστημα @@ -2871,6 +3125,27 @@ 13 + + Theme + Θέμα + + 3 + + + + Global theme + Γενικό θέμα + + 92 + + + + default + προκαθορισμένο + + 96 + + Signup Εγγραφή @@ -3078,6 +3353,20 @@ 302 + + Allow audio files upload + Να επιτρέπεται το ανέβασμα ηχητικών + + 309 + + + + Allow your users to upload audio files that will be merged with the preview file on upload + Επιτρέψτε στους χρήστες σας να ανεβάζουν ηχητικά που θα ενώνονται με εικόνα κατά το ανέβασμα + + 310 + + Transcoding threads Νήματα επανακωδικοποίησης @@ -3085,6 +3374,13 @@ 315 + + Resolution enabled + Ανάλυση ενεργή + + 330 + + Cache @@ -3219,6 +3515,13 @@ 10 + + Interface + Περιβάλλον χρήσης + + 16 + + Danger zone Ρυθμίσεις που χρειάζονται προσοχή @@ -3261,6 +3564,27 @@ 3 + + Only display videos in the following languages + Εμφάνιση βίντεο μόνο στις εξής γλώσσες + + 19 + + + + In Recently added, Trending, Local and Search pages + Στις σελίδες Πρόδφατα, Τάσεις, Τοπικά και Αναζήτηση + + 21 + + + + No results found + Δε βρέθηκαν αποτελέσματα + + 28 + + Use WebTorrent to exchange parts of the video with others Χρήση WebTorrent για την ανταλλαγή μέρους των δεδομένων με άλλους @@ -3282,6 +3606,70 @@ 27 + + + Your current email is + + + Το ισχύον email σας είναι + + + 4 + + + + + is awaiting email verification + + + αναμένει επιβεβαίωση + + + 8 + + + + New email + Νέο email + + 15 + + + + Your new email + Το νέο σας email + + 17 + + + + Your password + Ο κωδικός σας + + 27 + + + + Change email + Αλλαγή email + + 35 + + + + instance default + προκαθορισμένο του κόμβου + + 7 + + + + peertube default + προκαθορισμένο του peertube + + 8 + + Change ownership Αλλαγή κατόχου @@ -3395,6 +3783,13 @@ When you will upload a video in this channel, the video support field will be au 52 + + Overwrite support field of all videos of this channel + Αλλαγή των πεδίων υποστήριξης σε όλα τα βίντεο του καναλιού + + 67 + + subscribers συνδρομητές @@ -3539,6 +3934,13 @@ When you will upload a video in this channel, the video support field will be au 4 + + Playlist thumbnail + Μικρογραφία λίστας + + 60 + + No videos in this playlist. Κανένα βίντεο στη λίστα. @@ -3546,6 +3948,17 @@ When you will upload a video in this channel, the video support field will be au 11 + + + If you need help to use PeerTube, you can take a look to the documentation. + + + Αν χρειάζεστε βοήθεια στη χρήση του PeerTube, μπορείτε να δείτε την τεκμηρίωση. + + + 13 + + Verify account email confirmation @@ -3557,6 +3970,33 @@ When you will upload a video in this channel, the video support field will be au 2 + + + + + + + 6 + + + + + Email updated. + + + Το email ενημερώθηκε. + + + 9 + + + + An error occurred. + Σφάλμα. + + 14 + + Request email for account verification @@ -3624,6 +4064,13 @@ When you will upload a video in this channel, the video support field will be au 36 + + This account does not have channels. + Αυτός ο λογαριασμός δεν έχει κανάλια. + + 3 + + See this video channel Δείτε το κανάλι @@ -3631,6 +4078,13 @@ When you will upload a video in this channel, the video support field will be au 8 + + This channel does not have videos. + Αυτό το κανάλι δεν έχει βίντεο. + + 19 + + Stats Στατιστικά @@ -3691,6 +4145,13 @@ When you will upload a video in this channel, the video support field will be au 7 + + Follows + Ακόλουθοι + + 9 + + Contact administrator Επικοινωνηστε με τον διαχειριστή του @@ -3712,6 +4173,13 @@ When you will upload a video in this channel, the video support field will be au 20 + + Subject + Θέμα + + 29 + + Your message Το μήνυμά σας @@ -3999,6 +4467,27 @@ When you will upload a video in this channel, the video support field will be au 95 + + This instance does not have followers. + Αυτός ο κόμβος δεν έχει ακολούθους. + + 5 + + + + Followings + Ακολουθούνται + + 13 + + + + This instance does not have followings. + Αυτός ο κόμβος δεν ακολουθεί άλλους. + + 15 + + Create an account @@ -4010,6 +4499,52 @@ When you will upload a video in this channel, the video support field will be au 3 + + Next + Επόμενο + + 16 + + + + User information + Πληροφορίες χρήστη + + 13 + + + + + Create my account + + + Δημιουργία λογαριασμού + + + 24 + + + + Channel information + Πληροφορίες καναλιού + + 19 + + + + PeerTube is creating your account... + Το PeerTube δημιουργεί τον λογαριασμό σας... + + 33 + + + + Done + Ολοκληρώθηκε + + 29 + + Features found on this instance Χαρακτηριστικά σε αυτόν τον κόμβο @@ -4017,6 +4552,62 @@ When you will upload a video in this channel, the video support field will be au 42 + + + 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. + + + Ένα κανάλι είναι μια μονάδα μέσα στην οποία ανεβάζετε βίντεο. Φτιάχνοντας διάφορα κανάλια μπορείτε να οργανώσετε και να ξεχωρίσετε καλύτερα το περιεχόμενό σας. + Για παράδειγμα, μπορείτε να αποφασίσετε να κάνετε ένα κανάλι με βίντεο που παίζετε πιάνο και ένα άλλο για βίντεο στα οποία μιλάτε για το περιβάλλον. + + + 4 + + + + Channel display name + Όνομα εμφάνισης καναλιού + + 15 + + + + Channel name + Όνομα καναλιού + + 30 + + + + Example: my_super_channel + Παράδειγμα: to_kanali_mou + + 34 + + + + + The channel name is a unique identifier of your channel on this instance. It's like an address mail, so other people can find your channel. + + + Το όνομα καναλιού είναι μοναδικό, σαν ταυτότητα σε αυτόν τον κόμβο. Μοιάζει με διεύθυνση email, ώστε άλλα άτομα να βρίσκουν το κανάλι σας. + + + 42 + + + + + Channel name cannot be the same than your account name. You can click on the first step to update your account name. + + + Το όνομα καναλιού δεν μπορεί να είναι το ίδιο με το όνομα χρήστη. Μπορείτε να επιστρέψετε στο πρώτο βήμα για να αλλάξετε το όνομα χρήστη. + + + 50 + + Example: jane_doe Παράδειγμα: jane_doe @@ -4024,6 +4615,17 @@ When you will upload a video in this channel, the video support field will be au 23 + + + The username is a unique identifier of your account on this instance. It's like an address mail, so other people can find you. + + + Το όνομα χρήστη είναι μοναδικό, σαν ταυτότητα σε αυτόν τον σέρβερ. Μοιάζει με διεύθυνση email, ώστε άλλα άτομα να βρίσκουν τον λογαριασμό σας. + + + 31 + + I am at least 16 years old and agree to the <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Terms</a> of this instance Είμαι τουλάχιστον 16 ετών και συμφωνώ με τους <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Όρους</a> αυτού του κόμβου @@ -4044,7 +4646,7 @@ When you will upload a video in this channel, the video support field will be au Cannot get about information from server - Δεν μπορούμε να λάβουμε της πληροφορίες «Σχετικά» από τον σέρβερ + Δεν μπορούμε να λάβουμε της πληροφορίες «Σχετικά» από τον κόμβο 1 @@ -4070,6 +4672,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Published videos + Έχει δημοσιεύσει βίντεο + + 1 + + + + Username copied + Το όνομα χρήστη αντιγράφτηκε + + 1 + + 240p 240p @@ -4105,6 +4721,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + 2160p + 2160p + + 1 + + Auto (via ffmpeg) Αυτόματα (με ffmpeg) @@ -4420,6 +5043,111 @@ When you will upload a video in this channel, the video support field will be au 1 + + You don't have plugins installed yet. + Δεν έχετε εγκαταστήσει πρόσθετα ακόμα. + + 1 + + + + You don't have themes installed yet. + Δεν έχετε εγκαταστήσει θέματα ακόμα. + + 1 + + + + Update to + Ενημερώστε στην + + 1 + + + + Do you really want to uninstall ? + Θέλετε όντως να απεγκαταστήσετε το ; + + 1 + + + + uninstalled. + Το απεγκαταστάθηκε. + + 1 + + + + updated. + Το ενημερώθηκε. + + 1 + + + + The plugin index is not available. Please retry later. + Ο κατάλογος προσθέτων δεν είναι διαθέσιμος. Προσπαθήστε αργότερα. + + 1 + + + + Please only install plugins or themes you trust, since they can execute any code on your instance. + Παρακαλούμε εγκαταστήστε μόνο πρόσθετα που εμπιστεύεστε, καθώς θα μπορούν να εκτελέσουν κώδικα στον κόμβο σας. + + 1 + + + + Install ? + Να εγκατασταθεί το ; + + 1 + + + + installed. + Το εγκαταστάθηκε. + + 1 + + + + Settings updated. + Οι ρυθμίσεις ενημερώθηκαν. + + 1 + + + + Plugins + Πρόσθετα + + 1 + + + + Themes + Θέματα + + 1 + + + + plugin + πρόσθετο + + 1 + + + + theme + θέμα + + 1 + + Last week Τελευταία εβδομάδα @@ -4630,6 +5358,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Please check your emails to verify your new email. + Παρακαλούμε δείτε τα email σας για να επιβεβαιώσετε τη διεύθυνσή σας. + + 1 + + + + Email updated. + Το email ενημερώθηκε. + + 1 + + You current password is invalid. Ο τρέχων κωδικός σας είναι άκυρος. @@ -4672,6 +5414,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Interface settings updated. + Οι ρυθμίσεις περιβάλλοντος χρήσης ενημερώθηκαν. + + 1 + + New video from your subscriptions Νέα βίντεο από τις συνδρομές σας @@ -4770,6 +5519,34 @@ When you will upload a video in this channel, the video support field will be au 1 + + Unknown language + Άγνωστη γλώσσα + + 1 + + + + Video settings updated. + Οι ρυθμίσεις βίντεο ενημερώθηκαν. + + 1 + + + + No language + Καμμία γλώσσα + + 1 + + + + {{'{0} languages selected + {{'{0} γλώσσες επιλέχτηκαν + + 1 + + Video channel created. Δημιουργήθηκε το κανάλι . @@ -4938,6 +5715,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Now please check your emails to verify your account and complete signup. + Και τώρα δείτε το email σας για να επιβεβαιώσετε τον λογαριασμό σας και να ολοκληρώσετε την εγγραφή. + + 1 + + + + You are now logged in as ! + Έχετε συνδεθεί ως ! + + 1 + + An email with verification link will be sent to . Ένα email με σύνδεσμο επιβεβαίωσης θα σταλεί στο . @@ -5101,5 +5892,1783 @@ When you will upload a video in this channel, the video support field will be au 1 + + Your password has been successfully reset! + Ο κωδικός σας έχει ανανεωθεί με επιτυχία! + + 1 + + + + Today + Σήμερα + + 1 + + + + Last 7 days + Τελευταίες 7 ημέρες + + 1 + + + + Last 30 days + Τελευταίες 30 ημέρες + + 1 + + + + Last 365 days + Τελευταίες 365 ημέρες + + 1 + + + + Short (< 4 min) + Σύντομα (< 4 λεπτά) + + 1 + + + + Medium (4-10 min) + Μεσαία (4-10 λεπτά) + + 1 + + + + Long (> 10 min) + Μεγάλα (> 10 λεπτά) + + 1 + + + + Relevance + Πιο σχετικά + + 1 + + + + Publish date + Ημερομηνία δημοσίευσης + + 1 + + + + Views + Προβολές + + 1 + + + + years ago + χρόνια πριν + + 1 + + + + months ago + μήνες πριν + + 1 + + + + month ago + μήνα πριν + + 1 + + + + weeks ago + εβδομάδες πριν + + 1 + + + + week ago + εβδομάδα πριν + + 1 + + + + days ago + ημέρες πριν + + 1 + + + + day ago + ημέρα πριν + + 1 + + + + hours ago + ώρες πριν + + 1 + + + + hour ago + ώρα πριν + + 1 + + + + min ago + λ. πριν + + 1 + + + + sec ago + δ. πριν + + 1 + + + + Confirm + Επιβεβαίωση + + 1 + + + + Instance name is required. + Το όνομα του κόμβου απαιτείται. + + 1 + + + + Short description should not be longer than 250 characters. + Η σύντομη περιγραφή δεν πρέπει να υπερβαίνει τους 250 χαρακτήρες. + + 1 + + + + Twitter username is required. + Το όνομα χρήστη Twitter απαιτείται. + + 1 + + + + Previews cache size is required. + Ο ορισμός μεγέθους χώρου προσωρινής αποθήκευσης για τις προεπισκοπήσεις απαιτείται. + + 1 + + + + Previews cache size must be greater than 1. + Το μέγεθος του χώρου προσωρινής αποθήκευσης πρέπει να είναι πάνω από 1. + + 1 + + + + Previews cache size must be a number. + Το μέγεθος του χώρου προσωρινής αποθήκευσης πρέπει να είναι αριθμός. + + 1 + + + + Captions cache size is required. + Ο ορισμός μεγέθους χώρου προσωρινής αποθήκευσης για τους υποτίτλους απαιτείται. + + 1 + + + + Captions cache size must be greater than 1. + Το μέγεθος του χώρου προσωρινής αποθήκευσης πρέπει να είναι πάνω από 1. + + 1 + + + + Captions cache size must be a number. + Το μέγεθος του χώρου προσωρινής αποθήκευσης πρέπει να είναι αριθμός. + + 1 + + + + Signup limit is required. + Το όριο εγγραφών απαιτείται. + + 1 + + + + Signup limit must be greater than 1. + Το όριο εγγραφών πρέπει να είναι πάνω από 1. + + 1 + + + + Signup limit must be a number. + Το όριο εγγραφών πρέπει να είναι αριθμός. + + 1 + + + + Admin email is required. + Το email διαχειριστή απαιτείται. + + 1 + + + + Admin email must be valid. + Το email διαχειριστή πρέπει να είναι έγκυρο. + + 1 + + + + Transcoding threads is required. + Ο ορισμός νημάτων επανακωδικοποίησης απαιτείται. + + 1 + + + + Transcoding threads must be greater or equal to 0. + Τα νήματα επανακωδικοποίησης πρέπει να είναι περισσότερα ή ίσα με 0 + + 1 + + + + Email is required. + Το email απαιτείται. + + 1 + + + + Email must be valid. + Το email πρέπει να είναι έγκυρο. + + 1 + + + + Your name is required. + Το όνομά σας απαιτείται. + + 1 + + + + Your name must be at least 1 character long. + Το όνομά σας πρέπει να είναι τουλάχιστον 1 χαρακτήρας. + + 1 + + + + Your name cannot be more than 120 characters long. + Το όνομά σας δεν μπορεί να είναι πάνω από 120 χαρακτήρες. + + 1 + + + + A subject is required. + Το θέμα απαιτείται. + + 1 + + + + The subject must be at least 1 character long. + Το θέμα πρέπει να είναι τουλάχιστον 1 χαρακτήρας. + + 1 + + + + The subject cannot be more than 120 characters long. + Το θέμα δεν μπορεί να είναι πάνω από 120 χαρακτήρες. + + 1 + + + + A message is required. + Ένα μήνυμα είναι απαραίτητο. + + 1 + + + + The message must be at least 3 characters long. + Το μήνυμα πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + The message cannot be more than 5000 characters long. + Το μήνυμα δεν μπορεί να είναι πάνω από 5000 χαρακτήρες. + + 1 + + + + Username is required. + Το όνομα χρήστη απαιτείται. + + 1 + + + + Password is required. + Ο κωδικός απαιτείται. + + 1 + + + + Confirmation of the password is required. + Η επιβεβαίωση κωδικού απαιτείται. + + 1 + + + + Username must be at least 1 character long. + Το όνομα χρήστη πρέπει να είναι τουλάχιστον 1 χαρακτήρας. + + 1 + + + + Username cannot be more than 50 characters long. + Το όνομα χρήστη δεν μπορεί να είναι πάνω από 50 χαρακτήρες. + + 1 + + + + Username should be lowercase alphanumeric; dots and underscores are allowed. + Το όνομα χρήστη αποτελείται μόνο από πεζά γράμματα και αριθμούς. Επιτρέπονται τελείες και κάτω παύλες. + + 1 + + + + Password must be at least 6 characters long. + Ο κωδικός πρέπει να είναι από τουλάχιστον 6 χαρακτήρες. + + 1 + + + + Password cannot be more than 255 characters long. + Ο κωδικός δεν μπορεί να είναι πάνω από 255 χαρακτήρες. + + 1 + + + + The new password and the confirmed password do not correspond. + Ο νέος κωδικός και η επιβεβαίωση κωδικού δεν αντστοιχούν. + + 1 + + + + Video quota is required. + Απαιτείται όριο βίντεο. + + 1 + + + + Quota must be greater than -1. + Το όριο βίντεο μπορεί να είναι 0 ή περισσότερο. + + 1 + + + + Daily upload limit is required. + Απαιτείται ημερήσιο όριο ανεβάσματος. + + 1 + + + + Daily upload limit must be greater than -1. + Το ημερήσιο όριο ανεβάσματος μπορεί να είναι 0 ή περισσότερο. + + 1 + + + + User role is required. + Ο ρόλος χρήστη απαιτείται. + + 1 + + + + Description must be at least 3 characters long. + Η περιγραφή πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + Description cannot be more than 1000 characters long. + Η περιγραφή δε μπορεί να είναι περισσότερο από 1000 χαρακτήρες. + + 1 + + + + You must to agree with the instance terms in order to registering on it. + Πρέπει να συμφωνήσετε με τους όρους χρήσης του κόμβου για να εγγραφείτε σε αυτόν. + + 1 + + + + Ban reason must be at least 3 characters long. + Ο λόγος αποκλεισμού πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + Ban reason cannot be more than 250 characters long. + Ο λόγος αποκλεισμού δε μπορεί να είναι περισσότερο από 250 χαρακτήρες. + + 1 + + + + Display name is required. + Το όνομα εμφάνισης απαιτείται. + + 1 + + + + Display name must be at least 1 character long. + Το όνομα εμφάνισης πρέπει να είναι τουλάχιστον 1 χαρακτήρας. + + 1 + + + + Display name cannot be more than 50 characters long. + Το όνομα εμφάνισης δε μπορεί να είναι πάνω από 50 χαρακτήρες. + + 1 + + + + Report reason is required. + Ο λόγος αναφοράς απαιτείται. + + 1 + + + + Report reason must be at least 2 characters long. + Ο λόγος αναφοράς πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + + 1 + + + + Report reason cannot be more than 3000 characters long. + Ο λόγος αναφοράς δε μπορεί να είναι πάνω από 3000 χαρακτήρες. + + 1 + + + + Moderation comment is required. + Το σχόλιο εποπτείας απαιτείται. + + 1 + + + + Moderation comment must be at least 2 characters long. + Το σχόλιο εποπτείας πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + + 1 + + + + Moderation comment cannot be more than 3000 characters long. + Το σχόλιο εποπτείας δε μπορεί να είναι πάνω από 3000 χαρακτήρες. + + 1 + + + + The channel is required. + Το κανάλι απαιτείται. + + 1 + + + + Blacklist reason must be at least 2 characters long. + Ο λόγος αποδημοσίευσης πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + + 1 + + + + Blacklist reason cannot be more than 300 characters long. + Ο λόγος αποδημοσίευσης δε μπορεί να είναι πάνω από 3000 χαρακτήρες. + + 1 + + + + Video caption language is required. + Η γλώσσα υποτίτλων απαιτείται. + + 1 + + + + Video caption file is required. + Το αρχείο υποτίτλων απαιτείται. + + 1 + + + + The username is required. + Το αρχείο υποτίτλων απαιτείται. + + 1 + + + + You can only transfer ownership to a local account + Μπορείτε να μεταφέρετε ιδιοκτησία μόνο σε τοπικό λογαριασμό. + + 1 + + + + Name is required. + Το όνομα απαιτείται. + + 1 + + + + Name must be at least 1 character long. + Το όνομα πρέπει να είναι τουλάχιστον 1 χαρακτήρας. + + 1 + + + + Name cannot be more than 50 characters long. + Το όνομα δε μπορεί να είναι περισσότερο από 50 χαρακτήρες. + + 1 + + + + Name should be lowercase alphanumeric; dots and underscores are allowed. + Το όνομα πρέπει να είναι πεζά γράμματα και αριθμοί. Επιτρέπονται τελείες και κάτω παύλες. + + 1 + + + + Support text must be at least 3 characters long. + Το κείμενο για την υποστήριξη πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + Support text cannot be more than 1000 characters long. + Το κείμενο για την υποστήριξη δε μπορεί να είναι πάνω από 1000 χαρακτήρες. + + 1 + + + + Comment is required. + Το σχόλιο απαιτείται. + + 1 + + + + Comment must be at least 2 characters long. + Το σχόλιο πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + + 1 + + + + Comment cannot be more than 3000 characters long. + Το σχόλιο δε μπορεί να είναι πάνω από 3000 χαρακτήρες. + + 1 + + + + Display name cannot be more than 120 characters long. + Το όνομα εμφάνισης δε μπορεί να είναι πάνω από 120 χαρακτήρες. + + 1 + + + + Privacy is required. + Απαιτείται ρύθμιση ιδιωτικότητας. + + 1 + + + + The channel is required when the playlist is public. + Το κανάλι απαιτείται όταν η λίστα αναπαραγωγής είναι δημόσια. + + 1 + + + + Video name is required. + Το όνομα βίντεο απαιτείται. + + 1 + + + + Video name must be at least 3 characters long. + Το όνομα βίντεο πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + Video name cannot be more than 120 characters long. + Το όνομα βίντεο δε μπορεί να είναι μεγαλύτερο από 120 χαρακτήρες. + + 1 + + + + Video privacy is required. + Η ρύθμιση ιδιωτικότητας βίντεο απαιτείται. + + 1 + + + + Video channel is required. + Το κανάλι βίντεο απαιτείται. + + 1 + + + + Video description must be at least 3 characters long. + Η περιγραφή βίντεο πρέπει να είναι τουλάχιστον 3 χαρακτήρες. + + 1 + + + + Video description cannot be more than 10000 characters long. + Η περιγραφή βίντεο δε μπορεί να είναι μεγαλύτερη από 10.000 χαρακτήρες. + + 1 + + + + A tag should be more than 2 characters long. + Μια ετικέτα πρέπει να είναι τουλάχιστον 2 χαρακτήρες. + + 1 + + + + A tag should be less than 30 characters long. + Μια ετικέτα δε μπορεί να είναι πάνω από 20 χαρακτήρες. + + 1 + + + + Video support must be at least 3 characters long. + Το κείμενο για την υποστήριξη στο βίντεο πρέπει να είναι τουλάχιστο 3 χαρακτήρες. + + 1 + + + + Video support cannot be more than 1000 characters long. + Το κείμενο για την υποστήριξη στο βίντεο δε μπορεί να είναι πάνω από 1.000 χαρακτήρες. + + 1 + + + + A date is required to schedule video update. + Για την προγραμματισμένη ενημέρωση βίντεο η ημερομηνία απαιτείται. + + 1 + + + + This file is too large. + Το αρχείο είναι πολύ μεγάλο. + + 1 + + + + PeerTube cannot handle this kind of file. Accepted extensions are . + Το PeerTube δεν δέχεται αυτόν τον τύπο αρχείου. Αποδεκτές επεκτάσεις είναι . + + 1 + + + + All unsaved data will be lost, are you sure you want to leave this page? + Όλες οι πληροφορίες που δεν αποθηκευτηκαν θα χαθούν. Θέλετε σίγουρα να φύγετε από τη σελίδα; + + 1 + + + + Sunday + Κυριακή + + 1 + + + + Monday + Δευτέρα + + 1 + + + + Tuesday + Τρίτη + + 1 + + + + Wednesday + Τετάρτη + + 1 + + + + Thursday + Πέμπτη + + 1 + + + + Friday + Παρασκευή + + 1 + + + + Saturday + Σάββατο + + 1 + + + + Sun + Κυρ + + 1 + + + + Mon + Δευ + + 1 + + + + Tue + Τρι + + 1 + + + + Wed + Τετ + + 1 + + + + Thu + Πεμ + + 1 + + + + Fri + Παρ + + 1 + + + + Sat + Σαβ + + 1 + + + + Su + Κυρ + + 1 + + + + Mo + Δε + + 1 + + + + Tu + Τρ + + 1 + + + + We + Τε + + 1 + + + + Th + Πε + + 1 + + + + Fr + Πα + + 1 + + + + Sa + Σα + + 1 + + + + January + Ιανουάριος + + 1 + + + + February + Φεβρουάριος + + 1 + + + + March + Μάρτιος + + 1 + + + + April + Απρίλιος + + 1 + + + + May + Μάιος + + 1 + + + + June + Ιούνιος + + 1 + + + + July + Ιούλιος + + 1 + + + + August + Αύγουστος + + 1 + + + + September + Σεπτέμβριος + + 1 + + + + October + Οκτώβριος + + 1 + + + + November + Νοέμβριος + + 1 + + + + December + Δεκέμβριος + + 1 + + + + Jan + Ιαν + + 1 + + + + Feb + Φεβ + + 1 + + + + Mar + Μαρ + + 1 + + + + Apr + Απρ + + 1 + + + + Jun + Ιουν + + 1 + + + + Jul + Ιουλ + + 1 + + + + Aug + Αυγ + + 1 + + + + Sep + Σεπ + + 1 + + + + Oct + Οκτ + + 1 + + + + Nov + Νοε + + 1 + + + + Dec + Δεκ + + 1 + + + + Clear + Εκκαθάριση + + 1 + + + + yy-mm-dd + εε-μμ-ηη + + 1 + + + + Hidden + Απόκρυψη + + 1 + + + + Blurred with confirmation request + Θόλωμα με επιβεβαίωση + + 1 + + + + Displayed + Εμφάνιση + + 1 + + + + User registration allowed + Επιτρέπεται η εγγραφή μελών + + 1 + + + + Video uploads require manual validation by moderators + Απαιτείται επιβεβαίωση από τους επόπτες για τα βίντεο + + 1 + + + + Transcode your videos in multiple resolutions + Επανακωδικοποίηση των βίντεό σας σε πολλαπλές αναλύσεις + + 1 + + + + HTTP import (YouTube, Vimeo, direct URL...) + Εισαγωγή μέσω HTTP (από YouTube, Vimeo ή απευθείας URL...) + + 1 + + + + Torrent import + Εισαγωγή torrent + + 1 + + + + P2P enabled + Το P2P είναι ενεργοποιημένο + + 1 + + + + ~ + ~ + + 1 + + + + {VAR_PLURAL, plural, =1 {minute} other {minutes} } + {VAR_PLURAL, plural, =1 {minute} other {minutes} } + + 1 + + + + of full HD videos + βίντεο Full HD + + 1 + + + + of HD videos + βίντεο HD + + 1 + + + + of average quality videos + βίντεο μεσαίας ποιότητας + + 1 + + + + Markdown compatible that supports: + Συμβατό με Markdown που υποστηρίζει: + + 1 + + + + Emphasis + Έμφαση + + 1 + + + + Links + Σύνδεσμοι + + 1 + + + + New lines + Αλλαγή γραμμών + + 1 + + + + Lists + Λίστες + + 1 + + + + Images + Εικόνες + + 1 + + + + users banned. + αποκλεισμένοι χρήστες. + + 1 + + + + User banned. + Ο χρήστης αποκλείστηκε. + + 1 + + + + Do you really want to unban ? + Θέλετε όντως να άρετε τον αποκλεισμό για ; + + 1 + + + + User unbanned. + Ο αποκλεισμός του έχει αρθεί. + + 1 + + + + If you remove this user, you will not be able to create another with the same username! + Αν διαγράψετε τον χρήστη, δεν θα μπορέσετε να φτιάξετε άλλον με το ίδιο όνομα χρήστη! + + 1 + + + + User deleted. + Ο χρήστης διαγράφηκε. + + 1 + + + + User email set as verified + Το email για τον χρήστη ορίστηκε ως επιβεβαιωμένο + + 1 + + + + Account muted. + Ο λογαριασμός μπήκε σε σίγαση. + + 1 + + + + Instance muted. + Ο κόμβος μπήκε σε σίγαση. + + 1 + + + + Account muted by the instance. + Ο λογαριασμός μπήκε σε σίγαση στον κόμβο. + + 1 + + + + Account unmuted by the instance. + Αφαιρέθηκε η σίγαση στον κόμβο για τον λογαριασμό . + + 1 + + + + Instance muted by the instance. + Ο κόμβος μπήκε σε σίγαση σε αυτόν τον κόμβο. + + 1 + + + + Instance unmuted by the instance. + Αφαιρέθηκε η σίγαση σε αυτόν τον κόμβο για τον κόμβο . + + 1 + + + + Mute this account + Σίγαση λογαριασμού + + 1 + + + + Unmute this account + Διακοπή σίγασης λογαριασμού + + 1 + + + + Mute the instance + Σίγαση του κόμβου + + 1 + + + + Unmute the instance + Διακοπή σίγασης του κόμβου + + 1 + + + + Mute this account by your instance + Σίγαση αυτού του λογαρισμού στον κόμβο σας + + 1 + + + + Unmute this account by your instance + Διακοπή σίγασης του λογαριασμού στον κόμβο σας + + 1 + + + + Mute the instance by your instance + Σίγαση αυτού του κόμβου στον δικό σας κόμβο + + 1 + + + + Unmute the instance by your instance + Διακοπή σίγασης του κόμβου στον κόμβο σας + + 1 + + + + Request is too large for the server. Please contact you administrator if you want to increase the limit size. + Το αίτημα δεδομένων είναι πολύ μεγάλο για τον σέρβερ. Επικοινωνήστε με την διαχείριση αν θέλετε να αυξήσετε το όριο. + + 1 + + + + Too many attempts, please try again after minutes. + Πάρα πολλές προσπάθειες, δοκιμάστε ξανά μετά από λεπτά. + + 1 + + + + Too many attempts, please try again later. + Πάρα πολλές προσπάθειες, δοκιμάστε ξανά αργότερα. + + 1 + + + + Server error. Please retry later. + Σφάλμα κόμβου. Δοκιμάστε ξανά αργότερα. + + 1 + + + + Subscribed to + Είστε συνδρομητής στο + + 1 + + + + Subscribed + Είστε συνδρομητής + + 1 + + + + Unsubscribed from + Διακόψατε τη συνδρομή στο + + 1 + + + + Unsubscribed + Η συνδρομή διακόπηκε + + 1 + + + + Moderator + Συντονιστής + + 1 + + + + Video removed from + Το βίντεο αφαιρέθηκε από + + 1 + + + + Video added in at timestamps + Το βίντεο προστέθηκε στο στη χρονοσήμανση + + 1 + + + + Video added in + Το βίντεο προστέθηκε στο + + 1 + + + + Timestamps updated + Η χρονοσήμανση ενημερώθηκε + + 1 + + + + Starts at + Αρχή στο + + 1 + + + + Stops at + Τέλος στο + + 1 + + + + and stops at + και τέλος στο + + 1 + + + + Video blacklisted. + Το βίντεο μπήκε σε αναθεώρηση. + + 1 + + + + Copied + Αντιγράφτηκε + + 1 + + + + Video reported. + Υποβλήθηκε αναφορά για το βίντεο. + + 1 + + + + Do you really want to delete this video? + Θέλετε όντως να διαγράψετε το βίντεο; + + 1 + + + + Save to playlist + Αποθήκευση σε λίστα + + 1 + + + + Blacklist + Αναθεώρηση + + 1 + + + + Report + Αναφορά + + 1 + + + + Published + Δημοσιευμένο + + 1 + + + + Publication scheduled on + Προγραμματισμένη δημοσίευση για + + 1 + + + + Waiting transcoding + Αναμονή επανακωδικοποίησης + + 1 + + + + To transcode + Προς επανακωδικοποίηση + + 1 + + + + To import + Προς εισαγωγή + + 1 + + + + Only I can see this video + Μόνο εγώ μπορώ να το δω + + 1 + + + + Only people with the private link can see this video + Μόνο χρήστες με τον σύνδεσμο μπορούν να το δουν + + 1 + + + + Anyone can see this video + Όλοι μπορούν να το δουν + + 1 + + + + Video to import updated. + Ενημερώθηκε το βίντεο προς εισαγωγή. + + 1 + + + + Your video was uploaded to your account and is private. + Το βίντεο ανέβηκε στον λογαριασμό σας και είναι ιδιωτικό. + + 1 + + + + But associated data (tags, description...) will be lost, are you sure you want to leave this page? + Όμως οι σχετικές πληροφορίες (ετικέτες, περιγραφή...) θα χαθούν, σίγουρα θέλετε να φύγετε από τη σελίδα; + + 1 + + + + Your video is not uploaded yet, are you sure you want to leave this page? + Το βίντεο δεν έχει ανέβει ακόμα, θέλετε σίγουρα να φύγετε από τη σελίδα; + + 1 + + + + Upload + Ανεβάστε + + 1 + + + + Upload cancelled + Το ανέβασμα ακυρώθηκε + + 1 + + + + Video published. + Το βίνεο δημοσιεύτηκε. + + 1 + + + + Your video quota is exceeded with this video (video size: , used: , quota: ) + Με αυτό το βίντεο ξεπερνάτε το όριο (μέγεθος: , σε χρήση: , όριο: ) + + 1 + + + + Your daily video quota is exceeded with this video (video size: , used: , quota: ) + Με αυτό το βίντεο ξεπερνάτε το ημερήσιο όριο (μέγεθος: , σε χρήση: , όριο: ) + + 1 + + + + You have unsaved changes! If you leave, your changes will be lost. + Έχετε αλλαγές που δεν έχουν αποθηκευτεί! Αν φύγετε, θα χαθούν. + + 1 + + + + Video updated. + Το βίντεο ενημερώθηκε. + + 1 + + + + replies will be deleted too. + απαντήσεις θα διαγραφούν επίσης. + + 1 + + + + The deletion will be sent to remote instances so they remove the comment too. + Η διαγραφή θα σταλεί και στους άλλους κόμβους ώστε να διαγραφεί κι εκεί το σχόλιο. + + 1 + + + + It is a remote comment, so the deletion will only be effective on your instance. + Το σχόλιο έχει γίνει από άλλο κόμβο, επομένως η διαγραφή ισχύει μόνο για τον δικό σας. + + 1 + + + + likes / dislikes + «μου αρέσει» / «δε μου αρέσει» + + 1 + + + + This video contains mature or explicit content. Are you sure you want to watch it? + Το βίντεο έχει σκληρό περιεχόμενο ή μόνο για ενήλικες. Σίγουρα θέλετε να το δείτε; + + 1 + + + + Mature or explicit content + Σκληρό περιεχόμενο ή για ενήλικες + + 1 + + + + Like the video + Σας αρέσει το βίντεο + + 1 + + + + Dislike the video + Δε σας αρέσει το βίντεο + + 1 + + + + Trending for the last 24 hours + Τάσεις των τελευταίων 24 ωρών + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last 24 hours + Τα βίντεο στις τάσεις είναι αυτά με τις περισσότερες προβολές τις τελευταίες 24 ώρες + + 1 + + + + Trending for the last days + Τάσεις των τελευταίων ημερών + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last days + Τα βίντεο στις τάσεις είναι αυτά με τις περισσότερες προβολές τις τελευταίες ημέρες + + 1 + + + + Videos from your subscriptions + Βίντεο από τις συνδρομές σας + + 1 + + \ No newline at end of file diff --git a/client/src/locale/target/angular_fi_FI.xml b/client/src/locale/target/angular_fi_FI.xml index 4eb5f334f..5bc2a893a 100644 --- a/client/src/locale/target/angular_fi_FI.xml +++ b/client/src/locale/target/angular_fi_FI.xml @@ -227,6 +227,262 @@ 1 + + + + + + published a new video + + + + + + + julkaisi uuden videon + + + + 7 + + + + + + + + Your video has been unblacklisted + + + + + + + Videosi esto on poistettu + + + + 15 + + + + + + + + Your video has been blacklisted + + + + + + + Videosi on estetty + + + + 23 + + + + + + + + A new video abuse has been created on video + + + + + + + Uusi valitus on lähetetty videosta + + + + 31 + + + + + + + + The recently added video has been auto-blacklisted + + + + + + + Vasta lisätty video on automaattisesti estetty + + + + 39 + + + + + + + + commented your video + + + + + + + kommentoi videoosi + + + + 47 + + + + + + + + Your video has been published + + + + + + + Videosi on julkaistu + + + + 55 + + + + + + + + Your video import succeeded + + + + + + + Videon tuonti onnistui + + + + 63 + + + + + + + + Your video import failed + + + + + + + Videosi tuonti epäonnistui + + + + 71 + + + + + + + + User registered on your instance + + + + + + + Käyttäjä rekisteröityi sinun instanssiin + + + + 79 + + + + + + + + is following + + your channel + your account + + + + + + + seuraa + + kanavaasi + käyttäjääsi + + + + 87 + + + + + + + + mentioned you on video + + + + + + + mainitsi sinut videossa video + + + + 98 + + + + + + + + Your instance has a new follower () + awaiting your approval + + + + + + + Instanssillasi on uusi seuraaja () + , + joka odottaa hyväksyntää + + + + 106 + + Save to Tallenna kohteeseen @@ -315,6 +571,19 @@ 3 + + + Your report will be sent to moderators of . + It will be forwarded to origin instance too. + + + Valituksesi lähetetään instanssin valvojille. + Se ohjataan myös alkuperäiseen instanssiin. + + + 9 + + Reason... Syy... @@ -347,6 +616,13 @@ 3 + + Unfederate the video (ask for its deletion from the remote instances) + Poista video federaatiosta (pyydä videon poistoa muista instansseista) + + 21 + + Unlisted Piilotettu @@ -361,6 +637,13 @@ 7 + + views + näyttökertaa + + 22 + + Blacklisted Estetty @@ -379,6 +662,31 @@ 43 + + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos} } + {VAR_PLURAL, plural, =0 {Ei videoita} =1 {Yksi video} other { videota} } + + 9 + + + + + + + + + + + 22 + + + + Updated + Päivitettiin + + 29 + + Edit starts/stops at Muokkaus alkaa/loppuu kohdassa @@ -393,6 +701,13 @@ 15 + + Delete from + Poista kanavalta + + 69 + + No results. Ei hakutuloksia. @@ -446,7 +761,7 @@ - Tilaa + Tilaa kanava @@ -536,6 +851,13 @@ 22 + + Default NSFW/sensitive videos policy (can be redefined by the users) + Aikuisille tarkoitetun sisällön oletussäätö (käyttäjä pystyy mukauttaan) + + 5 + + Video quota Videokiintiö @@ -593,6 +915,13 @@ 11 + + (extensions: , max size: ) + (tiedostopäätteet: , suurin sallittu koko: ) + + 12 + + Login @@ -878,7 +1207,7 @@ Discover - Löydä videoita + Löydöt 66 @@ -892,14 +1221,14 @@ Recently added - Viimeksi lisätyt + Vasta lisätyt 76 Local - Paikallinen + Paikalliset 81 @@ -962,7 +1291,7 @@ Search... - Hae... + Haku 6 @@ -1095,7 +1424,7 @@ Select the caption file - Valitse kuvatekstitiedosto + Valitse tekstitys 24 @@ -1104,7 +1433,9 @@ This will replace an existing caption! - Tämä korvaa nykyisen kuvatekstitiedoston! + + Tämä korvaa nykyisen tekstityksen! + 29 @@ -1122,7 +1453,7 @@ Add this caption - Lisää kyseinen kuvatekstitiedosto + Lisää kyseinen tekstitys 40 @@ -1141,6 +1472,13 @@ 191 + + Tags could be used to suggest relevant recommendations.</br>Press Enter to add a new tag. + Tagit auttavat löytämään aiheita käsitteleviä videoita.</br>Paina välilyöntiä lisääksesi uuden tagin. + + 18 + + + Tag + Tagi @@ -1162,6 +1500,13 @@ 16 + + Video descriptions are truncated by default and require manual action to expand them. + Videon kuvaukset katkaistaan oletuksena ja vaatii sen avaamista katsojalta. + + 28 + + Channel Kanava @@ -1171,11 +1516,32 @@ Privacy - Yksityisyys + Näkyvyys 33 + + Schedule publication () + Ajoita julkaisu () + + 105 + + + + This video contains mature or explicit content + Tämä video sisältää aikuisille tarkoitettua sisältöä + + 119 + + + + Wait transcoding before publishing the video + Odota transkoodausta ennen videon julkaisemista + + 126 + + Basic info Yleistietoa @@ -1185,7 +1551,7 @@ Add another caption - Lisää toinen kuvatekstitiedosto + Lisää toinen tekstitys 142 @@ -1204,6 +1570,13 @@ 155 + + Will be created on update + Luodaan päivityksen yhteydessä + + 163 + + Cancel create Peruuta luonti @@ -1211,6 +1584,13 @@ 165 + + Will be deleted on update + Poistetaan päivityksen yhteydessä + + 171 + + Cancel deletion Peruuta poisto @@ -1218,6 +1598,17 @@ 173 + + + No captions for now. + + + Ei kuvatekstejä tällä hetkellä. + + + 178 + + Captions Merkinnät @@ -1239,6 +1630,13 @@ 78 + + Short text to tell people how they can support you (membership platform...). + Lyhyt teksti kuinka katsojat voivat tukea sinua (lahjoitukset...). + + 202 + + Original publication date Alkuperäinen julkaisupäivä @@ -1246,6 +1644,13 @@ 215 + + This is the date when the content was originally published (e.g. the release date for a film) + Tämä on päivämäärä milloin sisältö on alkuperäisesti julkaistu (esim. elokuvan julkaisupäivämäärä) + + 216 + + Enable video comments Ota käyttöön kommentit videolle @@ -1316,6 +1721,24 @@ 32 + + + Congratulations! Your video is now available in your private library. + + + Onnea! Videosi on näkyvillä yksityisessä kirjastossasi. + + + 66 + + + + Publish will be available when upload is finished + Julkaisu on mahdollista kun videon lataus on valmis + + 79 + + Publish Julkaise @@ -1323,6 +1746,13 @@ 86 + + Select the torrent to import + Valitse tuotava torrent + + 6 + + Or Tai @@ -1330,6 +1760,38 @@ 11 + + Paste magnet URI + Anna magnet-URI + + 14 + + + + + Congratulations, the video will be imported with BitTorrent! You can already add information about this video. + + + Onnea, videosi tuodaan BitTorrentilla! Voit alkaa jo lisäämään tietoa tästä videosta. + + + 53 + + + + Import + Tuo + + 3 + + + + Upload + Lataa + + 4 + + Upload a file Lataa tiedosto @@ -1351,12 +1813,23 @@ 24 + + + Update + + + Päivitä + + + 2 + + Other videos - Muut videot + Muita videoita 2 @@ -1383,6 +1856,42 @@ 35 + + Auto select subtitle + Valitse tekstitykset automaattisesti + + 76 + + + + + More customization + + + Lisämuokkauksia + + + 93 + + + + + Less customization + + + Vähemmän muokkauksia + + + 101 + + + + Autoplay + Automaattinen toisto + + 127 + + Muted Mykistetty @@ -1397,6 +1906,27 @@ 141 + + Display video title + Näytä videon otsikko + + 150 + + + + Display privacy warning + Näytä varoitus näkyvyydestä + + 157 + + + + Display player controls + Näytä soittimen ohjaimet + + 164 + + Close Sulje @@ -1411,6 +1941,17 @@ 8 + + + The video is being transcoded, it may not work properly. + + + Videota transkoodataan, se ei saata toimia vielä kunnolla. + + + 23 + + This video is blacklisted. Tämä video on estetty. @@ -1418,6 +1959,28 @@ 32 + + + Published - views + + + Julkaistu - näyttökertaa + + + 44 + + + + + Published - views + + + Julkaistu - näyttökertaa + + + 53 + + Like this video Tykkää videosta @@ -1481,6 +2044,13 @@ 207 + + More information + Näytä lisää + + 211 + + Get more information Näytä lisätietoa @@ -1517,6 +2087,13 @@ 17 + + View all replies + Näytä vastausta + + 54 + + Comments are disabled. @@ -1546,6 +2123,24 @@ 20 + + You are one step away from commenting + Olet yhden askeleen kaukana kommentoinnista + + 28 + + + + + If you have an account on this instance, you can login: + + + Jos sinulla on käyttäjä tässä instanssissa, niin voit kirjautua: + + + 32 + + login to comment Kirjaudu sisään kommentoidaksesi @@ -1553,6 +2148,13 @@ 35 + + Highlighted comment + Korostettu kommentti + + 5 + + Reply Vastaa @@ -1604,6 +2206,17 @@ 15 + + + Plugins/Themes + + + Lisäosat/Teemat + + + 19 + + System @@ -1615,6 +2228,13 @@ 23 + + Manage follows + Hallitse tilauksia + + 2 + + Following Seuraa @@ -1636,6 +2256,13 @@ 3 + + 1 host (without "http://") per line + Yksi isäntä (ilman "http://") per rivi + + 5 + + Add following Lisää seuraava @@ -1657,6 +2284,13 @@ 18 + + Follower handle + Seuraajan käsittelijä + + 17 + + State Tila @@ -1671,6 +2305,13 @@ 19 + + Created + Luotiin + + 11 + + Accepted Hyväksytty @@ -1748,6 +2389,19 @@ 43 + + + Transcoding is enabled on server. The video quota only take in account original video. + At most, this user could use ~ . + + + Transkoodaus on käytössä tällä palvelimella. Videokiintiö laskee vain alkuperäisen videon. + Enimmälteen tämä käyttäjä voi käyttää ~ . + + + 65 + + Daily video quota Päivittäinen videokoon raja @@ -1755,6 +2409,13 @@ 72 + + Bypass video auto blacklist + Ohita videoiden automaattinen estolista + + 85 + + Danger Zone Vaara-alue @@ -1762,6 +2423,27 @@ 93 + + Send a link to reset the password by email to the user + Lähetä salasanan alustamista varten sähköposti käyttäjälle + + 96 + + + + Ask for new password + Kysy uutta salasanaa + + 97 + + + + Manually set the user password + Aseta käyttäjän salasana manuaalisesti + + 101 + + Show Näytä @@ -1783,6 +2465,27 @@ 2 + + Batch actions + Erätoiminnot + + 19 + + + + Username + Käyttäjänimi + + 40 + + + + Video quota + Videokiintiö + + 42 + + (banned) (suljettu) @@ -1790,6 +2493,20 @@ 65 + + User's email must be verified to login + Käyttäjän sähköpostiosoite pitää olla vahvistettu, jotta hän voi kirjautua. + + 72 + + + + User's email is verified / User can login without email verification + Käyttäjän sähköpostiosoite on vahvistettu / Käyttäjä voi kirjautua ilman sähköpostiosoitteen vahvistusta + + 76 + + Ban reason: Sulkemisen syy: @@ -1797,6 +2514,55 @@ 95 + + Moderation + Valvonta + + 2 + + + + Video abuses + Videovalitukset + + 5 + + + + + + + 7 + + + + Auto-blacklisted videos + Automaattisesti estetyt videot + + 9 + + + + Muted accounts + Mykistetyt käyttäjät + + 2 + + + + Muted servers + Mykistetyt palvelimet + + 13 + + + + Video name + Videon nimi + + 8 + + Sensitive Arkaluonteinen @@ -1811,6 +2577,13 @@ 10 + + Date + Päivämäärä + + 11 + + Go to the video Mene videolle @@ -1832,6 +2605,24 @@ 43 + + Moderation comment + Valvonnan kommentti + + 3 + + + + + This comment can only be seen by you or the other moderators. + + + Vain sinä ja muut valvojat pystytte näkemään tämän kommentin. + + + 18 + + Update this comment Päivitä kommentti @@ -1853,6 +2644,20 @@ 9 + + State + Tila + + 11 + + + + Go to the account + Mene käyttäjään + + 27 + + Reason: Syy: @@ -1860,6 +2665,13 @@ 53 + + Moderation comment: + Valvonnan kommentti: + + 57 + + Unblacklist Poista estolistalta @@ -1874,6 +2686,13 @@ 5 + + Muted at + Mykistetty kohdassa + + 13 + + Unmute Poista mykistys @@ -1955,6 +2774,35 @@ 16 + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + 22 + + + + {VAR_PLURAL, plural, =1 {result} other {results} } + {VAR_PLURAL, plural, =1 {result} other {results} } + + 23 + + + + + No results. + + + Ei tuloksia. + + + 28 + + System Järjestelmä @@ -1969,6 +2817,20 @@ 5 + + Logs + Logit + + 7 + + + + Debug + Debug-tila + + 9 + + Jobs list Työlista @@ -1983,6 +2845,20 @@ 19 + + Processed on + Prosessoitiin + + 22 + + + + Finished on + Valmistui + + 23 + + Refresh Päivitä @@ -2041,7 +2917,7 @@ Videos Recently Added - Viimeksi lisätyt videot + Vasta lisätyt videot 62 @@ -2081,6 +2957,27 @@ 13 + + Theme + Teema + + 3 + + + + Global theme + Oletusteema + + 92 + + + + default + oletus + + 96 + + Signup Kirjaudu @@ -2158,6 +3055,13 @@ 203 + + Other instances can follow your instance + Muut instanssit voivat seurata instanssiasi + + 211 + + Administrator Ylläpitäjä @@ -2200,6 +3104,13 @@ 254 + + Instance whitelisted by Twitter + Twitteri on hyväksynyt instanssin + + 269 + + Services Palvelut @@ -2221,9 +3132,16 @@ 291 + + If you disable transcoding, many videos from your users will not work! + Jos poistat transkoodauksen käytöstä, niin moni video käyttäjiltäsi lakkaa toimimasta! + + 292 + + Allow additional extensions - Salli lisäosat + Salli muita tiedostopäätteitä 301 @@ -2235,6 +3153,13 @@ 302 + + Allow audio files upload + Salli äänitiedostojen lataus + + 309 + + Transcoding threads Transkoodaussäiteet @@ -2242,6 +3167,49 @@ 315 + + Resolution enabled + Resoluutio asetettu päälle + + 330 + + + + + Cache + + + + + Välimuisti + + + + + 338 + + + + Some files are not federated (previews, captions). We fetch them directly from the origin instance and cache them. + Joitain tiedostoja ei federoija (esikatselut, tekstitykset). Haemme ne suoraan alkuperäisestä instanssista ja tallennamme ne. + + 343 + + + + Previews cache size + Esikatselee välimuistin tilaa + + 349 + + + + Video captions cache size + Videotekstityksen välimuistin koko + + 358 + + Customizations Muokkaukset @@ -2256,9 +3224,30 @@ 372 + + Advanced configuration + Lisäasetukset + + 282 + + + + Update configuration + Päivitä konfiguraatio + + 418 + + + + It seems the configuration is invalid. Please search potential errors in the different tabs. + Näyttää siltä, että konfiguraatio on virheellinen. Hae potentiaalisia virheitä ereiltä välilehdiltä. + + 419 + + Video quota: - Videokoon raja: + Videokiintiö: 4 @@ -2277,6 +3266,13 @@ 10 + + Interface + Käyttöliittymä + + 16 + + Danger zone Vaaravyöhyke @@ -2312,6 +3308,27 @@ 23 + + Default policy on videos containing sensitive content + Oletussäädäntö videoista, jotka sisältävät aikuisille tarkoitettua sisältöä + + 3 + + + + Only display videos in the following languages + Näytä videot vain seuraavilla kielillä + + 19 + + + + In Recently added, Trending, Local and Search pages + Vasta lisättyjen-, paikallisten- ja hakusivuilla + + 21 + + No results found Hakutuloksia ei löytynyt @@ -2319,6 +3336,13 @@ 28 + + Use WebTorrent to exchange parts of the video with others + Käytä WebTorrenttia jakaaksesi videon osia muille + + 36 + + Automatically plays video Automaattisesti toistaa videon @@ -2333,6 +3357,28 @@ 27 + + + Your current email is + + + Nykyinen sähköpostiosoitteesi on + + + 4 + + + + + is awaiting email verification + + + odottaa sähköpostin hyväksyntää + + + 8 + + New email Uusi sähköpostiosoite @@ -2389,6 +3435,40 @@ 10 + + Accept ownership + Hyväksy omistajuus + + 3 + + + + Select the target channel + Valitse kohdekanava + + 10 + + + + Initiator + Aloittaja + + 13 + + + + + Created + + + + Luotiin + + + + 15 + + Status Tila @@ -2403,6 +3483,13 @@ 20 + + + + + 38 + + Create a new video channel Luo uusi videokanava @@ -2438,6 +3525,29 @@ 15 + + 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. + Lyhyt teksti kuinka katsojat voivat tukea kanavaasi (lahjoitukset...)<br /><br /> +Kun lataat videon tälle kanavalle, niin videon tukiteksti täytetään automaattisesti kyseisellä tekstillä. + + 52 + + + + Overwrite support field of all videos of this channel + Ylikirjoita tukitekstit kaikille kanavan videoille + + 67 + + + + subscribers + tilaajaa + + 10 + + Change the avatar Vaihda avatari @@ -2445,6 +3555,13 @@ 15 + + (extensions: , max size: ) + (tiedostopäätteet: , suurin sallittu koko: ) + + 18 + + Target Kohde @@ -2452,6 +3569,13 @@ 8 + + Once you delete your account, there is no going back. Please be certain. + Käyttäjän poistamisen jälkeen ei ole enään mahdollista perua tekoa. Tarkista mitä olet tekemässä. + + 2 + + Delete your account Poista käyttäjäsi @@ -2466,6 +3590,13 @@ 1 + + Created by + Luonut + + 17 + + Go the owner account page Mene omistajan tilin sivulle @@ -2473,6 +3604,66 @@ 16 + + Muted instances + Mykistetyt instanssit + + 2 + + + + History enabled + Historia on päällä + + 4 + + + + + + Delete history + + + + Poista historia + + + 7 + + + + You don't have videos history yet. + Sinulla ei ole videohistoriaa vielä. + + 14 + + + + + + Notification preferences + + + + Ilmoitusasetukset + + + 2 + + + + + + Mark all as read + + + + Merkitse kaikki luetuksi + + + 7 + + Activities Aktiviteetit @@ -2480,6 +3671,97 @@ 2 + + Web + Web + + 3 + + + + Create a new playlist + Luo uusi soittolista + + 4 + + + + Playlist thumbnail + Soittolistan pikkukuva + + 60 + + + + No videos in this playlist. + Ei videoita tällä soittolistalla. + + 11 + + + + + If you need help to use PeerTube, you can take a look to the documentation. + + + Jos tarvitset apua PeerTuben käytössä, niin ehdotamme tutustumista dokumentointiin. + + + 13 + + + + + Verify account email confirmation + + + Vahvista käyttäjän sähköpostiosoite + + + 2 + + + + + + + + + 6 + + + + + Email updated. + + + Sähköposti päivitetty. + + + 9 + + + + An error occurred. + Virhe ilmaantui. + + 14 + + + + Send verification email + Lähetä vahvistus-sähköpostiviesti. + + 17 + + + + This instance does not require email verification. + Tämä instanssi ei vaadi sähköpostiosoitteen vahvistamista. + + 20 + + Banned Suljettu @@ -2522,6 +3804,13 @@ 36 + + This account does not have channels. + Tällä käyttäjällä ei ole kanavia. + + 3 + + See this video channel Näytä tämä videokanava @@ -2529,6 +3818,13 @@ 8 + + This channel does not have videos. + Tällä kanavalla ei ole videoita. + + 19 + + Stats Tilastot @@ -2543,6 +3839,13 @@ 10 + + Video playlists + Soittolistat + + 25 + + Support this channel Tue kanavaa @@ -2550,6 +3853,31 @@ 9 + + Created + Luotu + + 17 + + + + + Created playlists + + + Luotiin soittolistaa + + + 1 + + + + This channel does not have playlists. + Tällä kanavalla ei ole soittolistoja. + + 5 + + PeerTube PeerTube @@ -2557,6 +3885,13 @@ 7 + + Follows + Seuraajat + + 9 + + Contact administrator Ota yhteyttä instanssin ylläpitoon @@ -2578,6 +3913,13 @@ 20 + + Subject + Otsikko + + 29 + + Your message Sinun viesti @@ -2741,6 +4083,47 @@ 83 + + + PeerTube is in its early stages, and want to deliver the best countermeasures possible by the time the stable is released. + In the meantime, we want to test different ideas related to this issue: + + + PeerTube on sen alkuvaiheissa ja haluaa tarjota parhaat vastatoimet mitä mahdollista, kun vakaa versio on julkaistu. + Sillä aikaa haluamme kokeilla erilaisia ideoita kohdistuen tähän ongelmaan: + + + 85 + + + + Disable P2P from the administration interface + Poista vertaisverkko (P2P) käytöstä ylläpidon hallintapaneelista + + 94 + + + + This instance does not have followers. + Tällä instanssilla ei ole seuraajia. + + 5 + + + + Followings + Seuratut + + 13 + + + + This instance does not have followings. + Tämä instanssi ei seuraa muita. + + 15 + + Create an account @@ -2759,6 +4142,38 @@ 16 + + User information + Käyttäjätiedot + + 13 + + + + + Create my account + + + Luo käyttäjäni + + + 24 + + + + Channel information + Kanavan tiedot + + 19 + + + + PeerTube is creating your account... + PeerTube luo käyttäjääsi... + + 33 + + Done Tehty @@ -2787,6 +4202,13 @@ 30 + + Example: my_super_channel + Esimerkki: minun_kanavani + + 34 + + Example: jane_doe Esimerkki: matti_meikalainen @@ -2801,6 +4223,24 @@ 66 + + + Sorry, but we couldn't find the page you were looking for. + + + Sivu ei valitettavasti ole käytettävissä. Yritä hakea jotain muuta. + + + 1 + + + + Cannot get about information from server + Palvelimelta ei saada tietoja. + + 1 + + Your message has been sent. Viestisi on lähetetty. @@ -2808,6 +4248,13 @@ 1 + + You already sent this form recently + Lähetit jo tämän lomakkeen vasta. + + 1 + + No description Ei kuvausta @@ -2815,6 +4262,13 @@ 1 + + Published videos + Julkaistiin videota + + 1 + + Username copied Käyttäjänimi kopioitu @@ -2948,6 +4402,13 @@ 1 + + Do you really want to reject this follower? + Haluatko varmasti torjua tämän seuraajan? + + 1 + + Reject Hylkää @@ -2955,6 +4416,48 @@ 1 + + Do you really want to delete this follower? + Haluatko varmasti poistaa tämän seuraajan? + + 1 + + + + is not valid + ei ole sallittu + + 1 + + + + You need to specify hosts to follow. + Sinun pitää määrittää tilattavat isännät. + + 1 + + + + Hosts need to be unique. + Isäntöjen pitää olla ainutlaatuisia. + + 1 + + + + Follow new server(s) + Seuraa uusia palvelimia + + 1 + + + + Follow request(s) sent! + Seurantapyynnöt lähetetty! + + 1 + + Unfollow Lopeta seuranta @@ -2962,6 +4465,13 @@ 1 + + You are not following anymore. + Et seuraa enään. + + 1 + + enabled käytössä @@ -2990,6 +4500,55 @@ 1 + + Update moderation comment + Päivitä valvonnan kommentti + + 1 + + + + Mark as accepted + Merkitse hyvätyksi. + + 1 + + + + Mark as rejected + Merkitse ei hyvätyksi. + + 1 + + + + Do you really want to delete this abuse report? + Haluatko varmasti poistaa tämän valituksen? + + 1 + + + + Abuse deleted. + Valitus poistettu. + + 1 + + + + Video removed from blacklist. + Videon esto on poistettu. + + 1 + + + + videos removed from blacklist. + videota poistettu estolistalta. + + 1 + + yes kyllä @@ -3004,6 +4563,83 @@ 1 + + Video removed from the blacklist. + Videon esto on poistettu. + + 1 + + + + You don't have plugins installed yet. + Sinulla ei ole vielä lisäosia asennettuna. + + 1 + + + + You don't have themes installed yet. + Sinulla ei ole vielä teemoja asennettuna. + + 1 + + + + Update to + Päivitä versioon + + 1 + + + + Do you really want to uninstall ? + Haluatko varmasti poistaa lisäosan ? + + 1 + + + + uninstalled. + poistettiin. + + 1 + + + + updated. + päivitettiin. + + 1 + + + + The plugin index is not available. Please retry later. + Lisäosalistaus ei ole saatavilla. Yritä myöhemmin uudelleen. + + 1 + + + + Please only install plugins or themes you trust, since they can execute any code on your instance. + Asenna vain lisäosia ja teemoja mihin luotat, koska ne pystyvät suorittamaan komentoja instanssillasi. + + 1 + + + + Install ? + Asennetaanko ? + + 1 + + + + installed. + asennettiin. + + 1 + + Settings updated. Asetukset päivitetty. @@ -3081,6 +4717,20 @@ 1 + + User created. + Käyttäjä luotiin. + + 1 + + + + Password changed for user . + Salasana vaihdettu käyttäjälle . + + 1 + + Update user password Päivitä tilin salasana @@ -3088,6 +4738,13 @@ 1 + + User updated. + Käyttäjä päivitettiin. + + 1 + + Update user Päivitä tili @@ -3095,6 +4752,41 @@ 1 + + Unban + Poista esto + + 1 + + + + Set Email as Verified + Aseta sähköpostiosoite vahvistetuksi + + 1 + + + + You cannot ban root. + Et voi estää root-käyttäjää. + + 1 + + + + Do you really want to unban users? + Haluatko varmasti poistaa estot käyttäjältä? + + 1 + + + + users unbanned. + käyttäjän estot poistettiin. + + 1 + + You cannot delete root. Et voi poistaa root -käyttäjää. @@ -3102,6 +4794,20 @@ 1 + + If you remove these users, you will not be able to create others with the same username! + Jos poistat kyseiset käyttäjät, et voi luoda uusia käyttäjiä samoilla käyttäjänimillä. + + 1 + + + + users deleted. + käyttäjää poistettu. + + 1 + + My videos history Video historiani @@ -3109,9 +4815,58 @@ 1 + + Videos history is enabled + Videohistoria asetettu päälle. + + 1 + + + + Videos history is disabled + Videohistoria poistettu päältä. + + 1 + + + + Delete videos history + Tyhjennä videohistoria + + 1 + + + + Are you sure you want to delete all your videos history? + Haluatko varmasti tyhjentää videohistoriasi? + + 1 + + + + Videos history deleted + Videohistoria tyhjennetty + + 1 + + Ownership accepted - Omistajuus hyväksytty. + Omistajuus hyväksytty + + 1 + + + + Email updated. + Sähköpostiosoite päivitetty. + + 1 + + + + You current password is invalid. + Nykyinen salasani ei ole sallittu. 1 @@ -3123,6 +4878,20 @@ 1 + + Are you sure you want to delete your account? This will delete all you data, including channels, videos etc. + Haluatko varmasti poistaa käyttäjäsi? Tämä poistaa kaiken tietosi, mukaan lukien kanavat, videot ja niin edelleen. + + 1 + + + + Type your username to confirm + Kirjoita käyttäjänimesi vahvistaaksesi + + 1 + + Delete my account Poista tilini @@ -3137,6 +4906,125 @@ 1 + + Interface settings updated. + Käyttöliittymäasetukset päivitetty. + + 1 + + + + New video from your subscriptions + Uusi video tilauksiltasi + + 1 + + + + New comment on your video + Uusi kommentti videollasi + + 1 + + + + New video abuse + Uusi valitus videosta + + 1 + + + + Video auto-blacklisted waiting review + Automaattisesti estetty video vaatii tarkistuksen + + 1 + + + + One of your video is blacklisted/unblacklisted + Yksi videoistasi on estetty, tai sen esto poistettu + + 1 + + + + Video published (after transcoding/scheduled update) + Video julkaistu (transkoodauksen/ajoituksen jälkeen) + + 1 + + + + Video import finished + Videon tuonti valmistui + + 1 + + + + A new user registered on your instance + Uusi käyttäjä rekisteröityi instanssiisi + + 1 + + + + You or your channel(s) has a new follower + Sinulla tai sinun kanavillasi on uusi seuraaja + + 1 + + + + Someone mentioned you in video comments + Sinut mainittiin videon kommenteissa + + 1 + + + + Your instance has a new follower + Instanssillasi on uusi seuraaja + + 1 + + + + Preferences saved + Asetuksesi on tallennettu + + 1 + + + + Profile updated. + Tili päivitetty. + + 1 + + + + Avatar changed. + Profiilikuva vaihdettu. + + 1 + + + + Unknown language + Tuntematon kieli + + 1 + + + + Video settings updated. + Videon tiedot päivitetty. + + 1 + + No language Ei kieltä @@ -3144,6 +5032,41 @@ 1 + + {{'{0} languages selected + {{'{0} kieltä valittu + + 1 + + + + Video channel created. + Videokanava luotiin. + + 1 + + + + This name already exists on this instance. + Tämä nimi on jo olemassa tässä instanssissa. + + 1 + + + + Video channel updated. + Videokanava päivitetty. + + 1 + + + + Playlist created. + Luotiin soittolista . + + 1 + + My videos Omat videot @@ -3151,6 +5074,20 @@ 1 + + videos deleted. + videota poistettu. + + 1 + + + + Ownership change request sent. + Omistajuudenvaihtopyyntö lähetetty. + + 1 + + My channels Minun kanavat @@ -3158,6 +5095,13 @@ 1 + + My playlists + Minun soittolistat + + 1 + + My subscriptions Minun tilaukset @@ -3179,6 +5123,13 @@ 1 + + Ownership changes + Omistajuusmuutokset + + 1 + + My settings Minun asetukset @@ -3193,6 +5144,13 @@ 1 + + You are now logged in as ! + Olet nytten kirjautunut käyttäjälle ! + + 1 + + Published videos Julkaistut videot @@ -3202,7 +5160,91 @@ Subscribe to the account - Tilaa tili + Tilaa käyttäjä + + 1 + + + + Focus the search bar + Valitse hakupalkki + + 1 + + + + Toggle the left menu + Valitse vasen valikko + + 1 + + + + Go to the videos overview page + Mene löydä videoita sivulle + + 1 + + + + Go to the trending videos page + Mene nousussa olevien videoiden sivulle + + 1 + + + + Go to the recently added videos page + Mene vasta lisättyjen videoiden sivulle + + 1 + + + + Go to the local videos page + Mene paikallisten videoiden sivulle + + 1 + + + + Go to the videos upload page + Mene videoiden lataus-sivulle + + 1 + + + + Go to my subscriptions + Mene tilauksiini + + 1 + + + + Go to my videos + Mene videoihini + + 1 + + + + Go to my imports + Mene tuonteihini + + 1 + + + + Go to my channels + Mene kanaviini + + 1 + + + + You need to reconnect. + Sinun pitää yhdistää udelleen. 1 @@ -3228,6 +5270,13 @@ 1 + + You account is blocked. + Sinun käyttäjäsi on estetty. + + 1 + + Today Tänään @@ -3235,6 +5284,62 @@ 1 + + Last 7 days + Viimeiset 7 päivää + + 1 + + + + Last 30 days + Viimeiset 30 päivää + + 1 + + + + Last 365 days + Viimeiset 365 päivää + + 1 + + + + Short (< 4 min) + Lyhyt (< 4 min) + + 1 + + + + Medium (4-10 min) + Keskiverto (4-10 min) + + 1 + + + + Long (> 10 min) + Pitkä (> 10 min) + + 1 + + + + Relevance + Olennaisuus + + 1 + + + + Publish date + Julkaisupäivä + + 1 + + Views Näyttökertoja @@ -3242,6 +5347,83 @@ 1 + + years ago + vuotta sitten + + 1 + + + + months ago + kuukautta sitten + + 1 + + + + month ago + kuukausi sitten + + 1 + + + + weeks ago + viikkoa sitten + + 1 + + + + week ago + viikko sitten + + 1 + + + + days ago + päivää sitten + + 1 + + + + day ago + päivä sitten + + 1 + + + + hours ago + tuntia sitten + + 1 + + + + hour ago + tunti sitten + + 1 + + + + min ago + minuuttia sitten + + 1 + + + + sec ago + sekuntia sitten + + 1 + + Confirm Vahvista @@ -3249,6 +5431,251 @@ 1 + + Instance name is required. + Instanssin nimi vaaditaan. + + 1 + + + + Twitter username is required. + Twitter-käyttäjänimi vaaditaan. + + 1 + + + + Admin email is required. + Järjestelmänvalvojan sähköpostiosoite vaaditaan. + + 1 + + + + Admin email must be valid. + Järjestelmänvalvojan sähköpostiosoite pitää olla toimiva. + + 1 + + + + Email is required. + Sähköpostiosoite vaaditaan. + + 1 + + + + Email must be valid. + Sähköpostiosoitteen pitää olla toimiva. + + 1 + + + + Your name is required. + Nimesi vaaditaan. + + 1 + + + + A subject is required. + Otsikko vaaditaan. + + 1 + + + + A message is required. + Viesti vaaditaan. + + 1 + + + + Username is required. + Käyttäjänimi vaaditaan. + + 1 + + + + Password is required. + Salasana vaaditaan. + + 1 + + + + Confirmation of the password is required. + Salasanan vahvistus vaaditaan. + + 1 + + + + Username must be at least 1 character long. + Käyttäjänimessä pitää olla ainakin yksi kirjain. + + 1 + + + + Username cannot be more than 50 characters long. + Käyttäjänimi ei voi olla 50 kirjainta pidempi. + + 1 + + + + Username should be lowercase alphanumeric; dots and underscores are allowed. + Käyttäjänimen pitää olla pienaakkosilla kirjoitettu, mutta numerot pisteet ja alaviivat on sallittu. + + 1 + + + + Password must be at least 6 characters long. + Salasanan pitää olla vähintään kuusi kirjainta pitkä. + + 1 + + + + Password cannot be more than 255 characters long. + Salasana ei voi olla 255 kirjainta pidempi. + + 1 + + + + The new password and the confirmed password do not correspond. + Uusi salasana ja vahvistettu salasana eivät täsmää. + + 1 + + + + Video quota is required. + Videokiintiö vaaditaan. + + 1 + + + + Quota must be greater than -1. + Kiintiön pitää olla enemmän kuin -1. + + 1 + + + + Daily upload limit is required. + Päivittäinen latauskiintiö vaaditaan. + + 1 + + + + Daily upload limit must be greater than -1. + Päivittäinen latauskiintiö pitää olla enemmän kuin -1. + + 1 + + + + User role is required. + Käyttäjärooli vaaditaan. + + 1 + + + + Description must be at least 3 characters long. + Kuvauksen pitää olla vähintään kolme kirjainta pitkä. + + 1 + + + + Description cannot be more than 1000 characters long. + Kuvaus ei voi olla 1000 kirjainta pidempi. + + 1 + + + + You must to agree with the instance terms in order to registering on it. + Sinun pitää hyväksyä instanssin käyttöehdot jatkaaksesi rekistöröitymistä. + + 1 + + + + Ban reason must be at least 3 characters long. + Eston syy pitää olla vähintään kolme kirjainta pitkä. + + 1 + + + + Ban reason cannot be more than 250 characters long. + Eston syy ei voi olla 250 kirjainta pidempi. + + 1 + + + + Display name is required. + Näyttönimi vaaditaan. + + 1 + + + + Display name must be at least 1 character long. + Näyttönimessä pitää olla ainakin yksi kirjain. + + 1 + + + + Display name cannot be more than 50 characters long. + Näyttönimi ei voi olla 50 kirjainta pidempi. + + 1 + + + + Report reason is required. + Valituksen syy vaaditaan. + + 1 + + + + Report reason must be at least 2 characters long. + Valituksen syy pitää olla vähintään kaksi kirjainta pitkä. + + 1 + + + + The channel is required. + Kanava vaaditaan. + + 1 + + + + Video caption language is required. + Videotekstityksen kieli vaaditaan. + + 1 + + The username is required. Käyttäjänimi vaaditaan. @@ -3256,6 +5683,167 @@ 1 + + You can only transfer ownership to a local account + Voit siirtää omistajuutta vain paikalliselle käyttäjälle + + 1 + + + + Name is required. + Nimi vaaditaan. + + 1 + + + + Comment is required. + Kommentti vaaditaan. + + 1 + + + + Comment must be at least 2 characters long. + Kommentin pitää olla vähintään kaksi kirjainta pitkä. + + 1 + + + + Comment cannot be more than 3000 characters long. + Kommentti ei voi sisältää enemmän kuin 3000 kirjainta. + + 1 + + + + Display name cannot be more than 120 characters long. + Näyttönimi ei voi sisältää enemmän kuin 120 kirjainta. + + 1 + + + + Privacy is required. + Näkyvyys vaaditaan. + + 1 + + + + The channel is required when the playlist is public. + Kanava tarvitaan, jos soittolista on julkinen. + + 1 + + + + Video name is required. + Videon nimi vaaditaan. + + 1 + + + + Video name must be at least 3 characters long. + Videon nimen pitää olla vähintään kolme kirjainta pitkä. + + 1 + + + + Video name cannot be more than 120 characters long. + Videon nimi ei voi sisältää enemmän kuin 120 kirjainta. + + 1 + + + + Video privacy is required. + Videon näkyvyysasetus vaaditaan. + + 1 + + + + Video channel is required. + Videokanava vaaditaan. + + 1 + + + + Video description must be at least 3 characters long. + Videon kuvauksen pitää olla vähintään kolme kirjainta pitkä. + + 1 + + + + Video description cannot be more than 10000 characters long. + Videon kuvaus ei voi sisältää enemmän kuin 10000 kirjainta. + + 1 + + + + A tag should be more than 2 characters long. + Tagin pitää olla vähintään kaksi kirjainta pitkä. + + 1 + + + + A tag should be less than 30 characters long. + Tagi ei voi sisältää enemmän kuin 30 kirjainta. + + 1 + + + + Video support must be at least 3 characters long. + Videon tukiteksti ptiää olla vähintään kolme kirjainta pitkä. + + 1 + + + + Video support cannot be more than 1000 characters long. + Videon tukiteksti ei voi olla enemmän kuin 1000 kirjainta pitkä. + + 1 + + + + A date is required to schedule video update. + Päivämäärä vaaditaan video ajastamista varten. + + 1 + + + + This file is too large. + Tiedoston koko on liian suuri. + + 1 + + + + PeerTube cannot handle this kind of file. Accepted extensions are . + PeerTube ei pysty käsittelemään kyseistä tiedostoa. Sallitut tiedostopäätteet ovat . + + 1 + + + + All unsaved data will be lost, are you sure you want to leave this page? + Kaikki tallentamaton tieto katoaa, haluatko varmasti lähteä sivulta? + + 1 + + Sunday Sunnuntai @@ -3487,6 +6075,83 @@ 1 + + Jan + Tam + + 1 + + + + Feb + Hel + + 1 + + + + Mar + Mal + + 1 + + + + Apr + Huh + + 1 + + + + Jun + Kes + + 1 + + + + Jul + Hei + + 1 + + + + Aug + Elo + + 1 + + + + Sep + Syy + + 1 + + + + Oct + Lok + + 1 + + + + Nov + Mar + + 1 + + + + Dec + Jou + + 1 + + Clear Alusta @@ -3508,6 +6173,13 @@ 1 + + Blurred with confirmation request + Sumennettu ja vahvistus vaaditaan + + 1 + + Displayed Näytetty @@ -3515,9 +6187,70 @@ 1 + + User registration allowed + Käyttäjän luonti sallittu + + 1 + + + + Video uploads require manual validation by moderators + Videoiden lataus vaatii manuaalisen hyväksynnän valvojilta + + 1 + + + + Transcode your videos in multiple resolutions + Transkoodaa videosi moneen resoluutioon + + 1 + + + + HTTP import (YouTube, Vimeo, direct URL...) + HTTP-tuonti (YouTube, Vimeo, suora osoite...) + + 1 + + + + Torrent import + Torrentin tuonti + + 1 + + P2P enabled - P2P päällä + Vertaisverkko (P2P) käytössä + + 1 + + + + ~ ~ + 1 + + + + of full HD videos + Full HD videoita + + 1 + + + + of HD videos + HD videoita + + 1 + + + + Emphasis + Painotus 1 @@ -3529,6 +6262,13 @@ 1 + + New lines + Uudet rivit + + 1 + + Lists Listat @@ -3543,6 +6283,20 @@ 1 + + User deleted. + Käyttäjä poistettu. + + 1 + + + + Mute this account + Mykistä tämä käyttäjä. + + 1 + + Unmute this account Poista mykistys tältä tililtä @@ -3550,6 +6304,27 @@ 1 + + Too many attempts, please try again later. + Liian monta yritystä, yritä myöhemmin uudelleen. + + 1 + + + + Server error. Please retry later. + Palvelinvirhe. Yritä myöhemmin uudelleen. + + 1 + + + + Subscribed to + Tilattiin kanava + + 1 + + Subscribed Tilattu @@ -3557,6 +6332,20 @@ 1 + + Unsubscribed from + Tilaus poistettu kanavasta + + 1 + + + + Unsubscribed + Tilaus poistettu + + 1 + + Moderator Valvoja @@ -3592,6 +6381,13 @@ 1 + + Video blacklisted. + Video estetty. + + 1 + + Copied Kopioitu @@ -3641,6 +6437,34 @@ 1 + + Publication scheduled on + Julkaisu ajoitettu ajalle + + 1 + + + + Waiting transcoding + Odottaa transkoodausta + + 1 + + + + To transcode + Transkoodattava + + 1 + + + + To import + Tuotava + + 1 + + Only I can see this video Vain minä voin nähdä tämän videon @@ -3662,6 +6486,13 @@ 1 + + Video to import updated. + Tuotava video päivitetty. + + 1 + + Your video is not uploaded yet, are you sure you want to leave this page? Videota ei ole vielä ladattu, haluatko varmasti poistua sivulta? @@ -3690,6 +6521,20 @@ 1 + + Your video quota is exceeded with this video (video size: , used: , quota: ) + Videokiintiösi ylittyy tällä videolla (videon koko: , käytetty kiintiö: , kokonaiskiintiö: ) + + 1 + + + + Your daily video quota is exceeded with this video (video size: , used: , quota: ) + Päivittäinen videokiintiösi ylittyy tällä videolla (videon koko: , käytetty kiintiö: , kokonaiskiintiö: ) + + 1 + + You have unsaved changes! If you leave, your changes will be lost. Sinulla on tallentamattomia muutoksia! Jos lähdet sivulta, niin muutoksesi katoavat. @@ -3704,6 +6549,13 @@ 1 + + likes / dislikes + tykkäystä / ei tykkäystä + + 1 + + This video contains mature or explicit content. Are you sure you want to watch it? Tämä video sisältää aikuisille tarkoitettua sisältöä. Haluatko varmasti jatkaa? @@ -3739,6 +6591,27 @@ 1 + + Trending videos are those totalizing the greatest number of views during the last 24 hours + Nousussa olevat videot ovat niitä mitkä keräävät eniten näyttökertoja 24 tunnin sisällä + + 1 + + + + Trending for the last days + Nousussa viimeiset päivää + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last days + Nousussa olevat videot ovat niitä mitkä keräävät eniten näyttökertoja päivän sisällä + + 1 + + Videos from your subscriptions Videoita tilauksistasi diff --git a/client/src/locale/target/angular_sl_SI.xml b/client/src/locale/target/angular_sl_SI.xml new file mode 100644 index 000000000..bbbaa08ad --- /dev/null +++ b/client/src/locale/target/angular_sl_SI.xml @@ -0,0 +1,912 @@ + + + + + + + Close + Zapri + + 3 + + + + Previous + Nazaj + + 13 + + + + Next + Naprej + + 17 + + + + Previous month + Prejšnji mesec + + 5 + + + + Next month + Naslednji mesec + + 27 + + + + Select month + Izberite mesec + + 7 + + + + Select year + Izberite leto + + 16 + + + + First + Začetek + + 14 + + + + Previous + Nazaj + + 23 + + + + Next + Naprej + + 41 + + + + Last + Konec + + 49 + + + + % + % + + 6 + + + + HH + HH + + 12 + + + + Hours + ur + + 14 + + + + MM + MM + + 33 + + + + Minutes + minut + + 35 + + + + SS + SS + + 54 + + + + Seconds + sekund + + 56 + + + + + + + 71 + + + + + + + 72 + + + + Close + Zapri + + 8 + + + + You don't have notifications. + Nimate obvestil. + + 1 + + + + + + + + published a new video + + + + + + + je objavil/a nov videoposnetek + + + + 7 + + + + + + + + commented your video + + + + + + + je oddal/a komentar na vašem videoposnetku + + + + 47 + + + + + + + + mentioned you on video + + + + + + + vas je omenil/a v video + + + + 98 + + + + Save to + Shrani v + + 4 + + + + Options + Nastavitve + + 9 + + + + Start at + Začni ob + + 61 + + + + Stop at + Ustavi ob + + 112 + + + + Create + Ustvari + + 74 + + + + + Cancel + + + Prekliči + + + 47 + + + + Report video + Prijavi videoposnetek + + 3 + + + + Reason... + Razlog... + + 11 + + + + + Cancel + + + Prekliči + + + 47 + + + + Submit + Pošlji + + 52 + + + + UnlistedUnlisted + 6 + + + + Private + Zasebno + + 7 + + + + views + ogledi + + 22 + + + + + Sensitive + + + Občutljivo + + + 43 + + + + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos} } + {VAR_PLURAL, plural, =0 {Ni videoposnetkov} =1 {1 videoposnetek} other { videoposnetkov} } + + 9 + + + + + + + + + + + 22 + + + + Updated + Posodobljeno + + 29 + + + + Save + Shrani + + 15 + + + + Delete from + Izbriši iz + + 69 + + + + No results. + Ni rezultatov. + + 20 + + + + Delete + Izbriši + + 13 + + + + Truncated preview + Skrajšan predogled + + 9 + + + + Complete preview + Popoln predogled + + 13 + + + + Get help + Najdi pomoč + + 19 + + + + + + Subscribe + + + + + + + + Naroči se + + + + + + + 5 + + + + Subscribe with an account on + Naroči se z računom na + + 39 + + + + Subscribe with your local account + Naroči se z lokalnim računom + + 40 + + + + Subscribe with a Mastodon account: + Naroči se z Mastodon računom: + + 43 + + + + Subscribe via RSS + Naroči se na RSS vir + + 49 + + + + You can subscribe to the channel via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type the channel URL in the search box and subscribe there. + Na kanal se lahko naročite is katerega koli Fediverse strežnika, ki uporablja ActivityPub. V Mastodonu in Pleromi se lahko na primer naročite tako, da v iskalnik vtipkate URL kanala. + + 17 + + + + Cancel + Prekliči + + 23 + + + + + + + 11 + + + + + Login + + + Prijava + + + 2 + + + + Request new verification email. + Naroči novo potrditveno e-sporočilo + + 16 + + + + Username or email address + Uporabniško ime ali e-poštni naslov + + 15 + + + + User registration is not allowed on this instance, but you can register on many others! + Registracija na tem strežniku ni dovoljena, lahko pa račun ustvarite na mnogo drugih. + + 28 + + + + Password + Geslo + + 54 + + + + I forgot my password + Pozabil sem svoje geslo + + 44 + + + + Login + Prijava + + 32 + + + + Forgot your password + Ste pozabili geslo? + + 57 + + + + Email + E-poštni naslov + + 43 + + + + Email address + E-poštni naslov + + 10 + + + + Send me an email to reset my password + Pošlji me e-sporočilo za ponastavitev gesla + + 81 + + + + + Reset my password + + + Ponastavi moje geslo + + + 2 + + + + Confirm password + Potrdite geslo + + 19 + + + + Confirmed password + Potrditev gesla + + 21 + + + + Reset my password + Ponastavi moje geslo + + 29 + + + + results + rezultati + + 5 + + + + + for + + + za + + + 6 + + + + + Filters + + + + Filtri + + + + 16 + + + + Log out + Odjava + + 25 + + + + Create an account + Ustvari račun + + 33 + + + + Videos + Videoposnetki + + 24 + + + + Trending + Popularno + + 71 + + + + Recently added + Nedavno dodano + + 76 + + + + Local + Lokalno + + 81 + + + + More + Več + + 86 + + + + Administration + Administracija + + 90 + + + + Show keyboard shortcuts + Bljižnjice na tipkovnici + + 106 + + + + View your notifications + Obvestila + + 3 + + + + Notifications + Obvestila + + 13 + + + + Update your notification preferences + Posodobi obveščevalne nastavitve + + 16 + + + + See all your notifications + Vsa obvestila + + 30 + + + + Search... + Iskanje... + + 6 + + + + Sort + Razvrsti + + 6 + + + + Published date + Datum objave + + 15 + + + + After... + Po... + + 30 + + + + Before... + Pred... + + 37 + + + + Duration + Trajanje + + 45 + + + + Display sensitive content + Prikaži občutljivo vsebino + + 54 + + + + Yes + Da + + 58 + + + + No + Ne + + 63 + + + + Category + Kategorija + + 164 + + + + Licence + Dovoljenje + + 173 + + + + Language + Jezik + + 182 + + + + Filter + Filtriraj + + 115 + + + + Basic info + Osnovni podatki + + 4 + + + + Enable download + Dovoli prenos + + 235 + + + + Advanced settings + Napredne nastavitve + + 186 + + + + URL + URL + + 10 + + + + Import + Uvozi + + 162 + + + + Update + Posodobi + + 17 + + + + Video background image + Ozadje videoposnetka + + 32 + + + + Publish + Objavi + + 86 + + + + Or + Ali + + 11 + + + + Upload a file + Naloži datoteko + + 10 + + + + Import with torrent + Uvozi iz torrenta + + 24 + + + + + Update + + + Posodobi + + + 2 + + + + Trending for the last 24 hours + Popularno v zadnjih 24 urah. + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last 24 hours + Popularni videoposnetki so tisti, ki so v zadnjih 24 urah prejeli največ ogledov. + + 1 + + + + Trending for the last days + Popularno v zadnjih dneh + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last days + Popularni videoposnetki so tisti, ki so v zadnjih dneh prejeli največ ogledov. + + 1 + + + + \ No newline at end of file diff --git a/client/src/locale/target/angular_sv_SE.xml b/client/src/locale/target/angular_sv_SE.xml index 2d57ae811..4bf841d54 100644 --- a/client/src/locale/target/angular_sv_SE.xml +++ b/client/src/locale/target/angular_sv_SE.xml @@ -512,7 +512,7 @@ Display name - Visa namn + Visningsnamn 4 @@ -3654,14 +3654,14 @@ Det verkar som du inte är på en HTTPS-server. Din webbserver behöver ha TLS a instance default - instansen standard + Instansens standard 7 peertube default - peertubes standard + PeerTubes standard 8 @@ -5904,21 +5904,21 @@ När du laddar upp en video i den här kanalen kommer supportfältet automatiskt Last 7 days - Senaste 7 dagarna + Senaste veckan 1 Last 30 days - Senaste 30 dagarna + Senaste månaden 1 Last 365 days - Senaste 365 dagarna + Senaste året 1 diff --git a/client/src/locale/target/angular_th_TH.xml b/client/src/locale/target/angular_th_TH.xml new file mode 100644 index 000000000..428a37f5e --- /dev/null +++ b/client/src/locale/target/angular_th_TH.xml @@ -0,0 +1,827 @@ + + + + + + + Close + ปิด + + 3 + + + + Previous + ก่อนหน้า + + 13 + + + + Next + ถัดไป + + 17 + + + + Previous month + เดือนก่อนหน้า + + 5 + + + + Next month + เดือนถัดไป + + 27 + + + + Select month + เลือกเดือน + + 7 + + + + Select year + เลือกปี + + 16 + + + + «« + «« + + 2 + + + + « + « + + 3 + + + + » + » + + 4 + + + + »» + »» + + 5 + + + + First + หน้าแรก + + 14 + + + + Previous + ก่อนหน้า + + 23 + + + + Next + ถัดไป + + 41 + + + + Last + หน้าสุดท้าย + + 49 + + + + % + % + + 6 + + + + Increment hours + เพิ่มชั่วโมง + + 9 + + + + HH + ชช + + 12 + + + + Hours + ชั่วโมง + + 14 + + + + Decrement hours + ลดชั่วโมง + + 21 + + + + Increment minutes + เพิ่มนาที + + 30 + + + + MM + นน + + 33 + + + + Minutes + นาที + + 35 + + + + Decrement minutes + ลดนาที + + 42 + + + + Increment seconds + เพิ่มวินาที + + 51 + + + + SS + วว + + 54 + + + + Seconds + วินาที + + 56 + + + + Decrement seconds + ลดวินาที + + 63 + + + + + + + 71 + + + + + + + 72 + + + + Close + ปิด + + 8 + + + + You don't have notifications. + คุณไม่มีการแจ้งเตือน + + 1 + + + + + + + + published a new video + + + + + + + ได้เผยแพร่วิดีโอใหม่ + + + + 7 + + + + + + + + Your video has been unblacklisted + + + + + + + วิดีโอ ของคุณได้ถูกนำออกจากบัญชีดำแล้ว + + + + 15 + + + + + + + + Your video has been blacklisted + + + + + + + วิดีโอ ของคุณได้ถูกขึ้นบัญชีดำแล้ว + + + + 23 + + + + Save to + บันทึกที่ + + 4 + + + + Options + ตัวเลือก + + 9 + + + + Start at + เริ่มต้นที่ + + 61 + + + + Stop at + จบที่ + + 112 + + + + Display name + ชื่อที่แสดง + + 4 + + + + Create + สร้าง + + 74 + + + + Download video + ดาวน์โหลดวิดีโอ + + 3 + + + + Direct download + ดาวน์โหลดตรง + + 27 + + + + Torrent (.torrent file) + Torrent (ไฟล์ .torrent) + + 32 + + + + + Cancel + + + ยกเลิก + + + 47 + + + + Download + ดาวน์โหลด + + 43 + + + + Report video + รายงานวิดีโอ + + 3 + + + + + Your report will be sent to moderators of . + It will be forwarded to origin instance too. + + + รายงานของคุณจะถูกส่งไปยังผู้ดูแลระบบของ + รายงานนี้จะถูกส่งต่อไปยังระบบต้นทาง เช่นกัน + + + 9 + + + + Reason... + เหตุผล... + + 11 + + + + + Cancel + + + ยกเลิก + + + 47 + + + + Submit + ส่ง + + 52 + + + + Blacklist video + เพิ่มวิดีโอเข้าบัญชีดำ + + 3 + + + + Unfederate the video (ask for its deletion from the remote instances) + ขอให้ระบบอื่นลบวิดีโอนี้ + + 21 + + + + Unlisted + ไม่เปิดเผย + + 6 + + + + Private + ส่วนตัว + + 7 + + + + views + รับชม ครั้ง + + 22 + + + + Blacklisted + ขึ้นบัญชีดำแล้ว + + 39 + + + + + Sensitive + + + มีเนื้อหาไม่เหมาะสม + + + 43 + + + + + + + + + + + 22 + + + + Updated + อัพเดทเมื่อ + + 29 + + + + Edit starts/stops at + แก้ไขช่วงเวลาเริ่ม/จบ + + 33 + + + + Save + บันทึก + + 15 + + + + Delete from + ลบออกจาก + + 69 + + + + No results. + ไม่มีผลลัพธ์ + + 20 + + + + Delete + ลบ + + 13 + + + + Edit + แก้ไข + + 63 + + + + Truncated preview + ตัวอย่างสั้น + + 9 + + + + Complete preview + ตัวอย่างเต็ม + + 13 + + + + Get help + ขอความช่วยเหลือ + + 19 + + + + + + Subscribe + + + + + + + + ติดตาม + + + + + + + 5 + + + + + Unsubscribe + + + เลิกติดตาม + + + 18 + + + + Using an ActivityPub account + ผ่านบัญชี ActivityPub + + 36 + + + + Subscribe with an account on + ติดตามด้วยบัญชีบน + + 39 + + + + Subscribe with your local account + ติดตามด้วยบัญชีของเว็บไซต์นี้ + + 40 + + + + Subscribe with a Mastodon account: + ติดตามด้วยบัญชี Mastodon: + + 43 + + + + Using a syndication feed + ผ่านฟีด + + 48 + + + + Subscribe via RSS + ติดตามผ่าน RSS + + 49 + + + + + Remote subscribe + Remote interact + + + ติดตามผ่านระบบอื่น + โต้ตอบผ่านระบบอื่น + + + 10 + + + + Default NSFW/sensitive videos policy (can be redefined by the users) + นโยบายวิดีโอที่ไม่เหมาะสม (สามารถเปลี่ยนโดยผู้ใช้) + + 5 + + + + Video quota + ปริมาณวิดีโอที่สามารถอัพโหลดได้ + + 56 + + + + + Unlimited ( per day) + + + ไม่จำกัด ( ต่อวัน) + + + 28 + + + + Ban + แบน + + 3 + + + + + A banned user will no longer be able to login. + + + ผู้ใช้ที่ถูกแบนจะไม่สามารถเข้าสู่ระบบได้อีก + + + 18 + + + + Cancel + ยกเลิก + + 23 + + + + Ban this user + แบนผู้ใช้นี้ + + 26 + + + + + + + 11 + + + + (extensions: , max size: ) + (ส่วนขยาย: , ขนาดสูงสุด: ) + + 12 + + + + + Login + + + เข้าสู่ระบบ + + + 2 + + + + Request new verification email. + ขออีเมล์ยืนยันตัวตนใหม่ + + 16 + + + + User + ผู้ใช้ + + 13 + + + + Username or email address + ชื่อผู้ใช้หรือที่อยู่อีเมล + + 15 + + + + + or create an account + + + หรือสร้างบัญชีใหม่ + + + 18 + + + + + or create an account on another instance + + + หรือสร้างบัญชีใหม่บนระบบอื่น + + + 22 + + + + User registration is not allowed on this instance, but you can register on many others! + ระบบนี้ไม่อนุญาตให้สร้างบัญชีใหม่ แต่คุณสามารถสร้างบัญชีใหม่บนระบบอื่นได้! + + 28 + + + + Password + รหัสผ่าน + + 54 + + + + I forgot my password + ฉันลืมรหัสผ่าน + + 44 + + + + Login + เข้าสู่ระบบ + + 32 + + + + Forgot your password + ลืมรหัสผ่าน + + 57 + + + + + We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. + + + ขออภัย คุณไม่สามารถกู้คืนรหัสผ่านได้เนื่องจากผู้ดูแลระบบนี้ไม่ได้ตั้งค่าระบบอีเมล PeerTube + + + 64 + + + + Email + อีเมล + + 43 + + + + Email address + ที่อยู่อีเมล + + 10 + + + + Send me an email to reset my password + ส่งอีเมลเพื่อรีเซ็ทรหัสผ่าน + + 81 + + + + \ No newline at end of file diff --git a/client/src/locale/target/angular_vi_VN.xml b/client/src/locale/target/angular_vi_VN.xml index 652b0633c..7c2ad8cf7 100644 --- a/client/src/locale/target/angular_vi_VN.xml +++ b/client/src/locale/target/angular_vi_VN.xml @@ -1485,6 +1485,300 @@ 1 + + Sunday + Chủ Nhật + + 1 + + + + Monday + Thứ Hai + + 1 + + + + Tuesday + Thứ Ba + + 1 + + + + Wednesday + Thứ Tư + + 1 + + + + Thursday + Thứ Năm + + 1 + + + + Friday + Thứ Sáu + + 1 + + + + Saturday + Thứ Bảy + + 1 + + + + Sun + CN + + 1 + + + + Mon + T2 + + 1 + + + + Tue + T3 + + 1 + + + + Wed + T4 + + 1 + + + + Thu + T5 + + 1 + + + + Fri + T6 + + 1 + + + + Sat + T7 + + 1 + + + + Su + CN + + 1 + + + + Mo + T2 + + 1 + + + + Tu + T3 + + 1 + + + + We + T4 + + 1 + + + + Th + T5 + + 1 + + + + Fr + T6 + + 1 + + + + Sa + T7 + + 1 + + + + January + Tháng Một + + 1 + + + + February + Tháng Hai + + 1 + + + + March + Tháng Ba + + 1 + + + + April + Tháng Tư + + 1 + + + + May + Tháng Năm + + 1 + + + + June + Tháng Sáu + + 1 + + + + July + Tháng Bảy + + 1 + + + + August + Tháng Tám + + 1 + + + + September + Tháng Chín + + 1 + + + + October + Tháng Mười + + 1 + + + + November + Tháng Mười Một + + 1 + + + + December + Tháng Mười Hai + + 1 + + + + Jan + Tg1 + + 1 + + + + Feb + Tg2 + + 1 + + + + Mar + Tg3 + + 1 + + + + Apr + Tg4 + + 1 + + + + Jun + Tg6 + + 1 + + + + Jul + Tg7 + + 1 + + + + Displayed + Đã hiện + + 1 + + + + User registration allowed + Cho phép người dùng đăng kí + + 1 + + + + Transcode your videos in multiple resolutions + Chuyển mã video của bạn thành nhiều độ phân giải + + 1 + + Torrent import Nhập torrent @@ -1569,6 +1863,20 @@ 1 + + If you remove this user, you will not be able to create another with the same username! + Nếu xoá người dùng này, bạn sẽ không thể tạo tài khoản mới có cùng tên đăng nhập! + + 1 + + + + User deleted. + Đã xoá người dùng . + + 1 + + Account muted. Đã tắt tiếng tài khoản . @@ -1702,6 +2010,13 @@ 1 + + Blacklist + Danh sách đen + + 1 + + Report Báo cáo @@ -1723,6 +2038,13 @@ 1 + + Waiting transcoding + Đang chờ chuyển mã + + 1 + + To importTo import 1 @@ -1756,6 +2078,13 @@ 1 + + 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? + + 1 + + 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? diff --git a/client/src/locale/target/angular_zh_Hans_CN.xml b/client/src/locale/target/angular_zh_Hans_CN.xml index 6ab12a708..f9b9612d3 100644 --- a/client/src/locale/target/angular_zh_Hans_CN.xml +++ b/client/src/locale/target/angular_zh_Hans_CN.xml @@ -200,15 +200,316 @@ - + + + 71 - + + + 72 + + Close + 关闭 + + 8 + + + + You don't have notifications. + 您没有任何通知 + + 1 + + + + + + + + published a new video + + + + + + + 发布了一个 新视频 + + + + 7 + + + + + + + + Your video has been unblacklisted + + + + + + + 您的视频 已被移出黑名单 + + + + 15 + + + + + + + + Your video has been blacklisted + + + + + + + 您的视频 已被拉黑 + + + + 23 + + + + + + + + A new video abuse has been created on video + + + + + + + 视频 被举报滥用 + + + + 31 + + + + + + + + The recently added video has been auto-blacklisted + + + + + + + 此最近上传的视频 已被 自动加入黑名单 + + + + 39 + + + + + + + + commented your video + + + + + + + 评论了您的视频 + + + + 47 + + + + + + + + Your video has been published + + + + + + + 您的视频 已发布 + + + + 55 + + + + + + + + Your video import succeeded + + + + + + + 您的视频导入 已成功 + + + + 63 + + + + + + + + Your video import failed + + + + + + + 您的视频导入 失败 + + + + 71 + + + + + + + + User registered on your instance + + + + + + + 用户 在您的实例注册了 + + + + 79 + + + + + + + + is following + + your channel + your account + + + + + + + 正在关注 + + 您的频道 + 您的帐户 + + + + 87 + + + + + + + + mentioned you on video + + + + + + + 视频中 提到了您 + + + + 98 + + + + + + + + Your instance has a new follower () + awaiting your approval + + + + + + + 您的实例有 新的关注者 () + 在等待您的批准 + + + + 106 + + + + Save to + 另存为 + + 4 + + + + Options + 选项 + + 9 + + + + Start at + 开始时间: + + 61 + + + + Stop at + 停止时间: + + 112 + + Display name 显示名 @@ -269,6 +570,19 @@ 3 + + + Your report will be sent to moderators of . + It will be forwarded to origin instance too. + + + 你的举报将会被发送到 的监察员。 + 举报也会被转发至原实例 + + + 9 + + Reason... 原因... @@ -301,6 +615,13 @@ 3 + + Unfederate the video (ask for its deletion from the remote instances) + 请求将视频从远程事例中删除 + + 21 + + Unlisted 不公开 @@ -315,6 +636,13 @@ 7 + + views + 播放 + + 22 + + Blacklisted 已进入黑名单 @@ -322,6 +650,49 @@ 39 + + + Sensitive + + + 敏感 + + + 43 + + + + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other { videos} } + {VAR_PLURAL, plural, =0 {没有视频} =1 {1 条视频} other { 条视频} } + + 9 + + + + + + + + + + + 22 + + + + Updated + 已更新 + + 29 + + + + Edit starts/stops at + 编辑开始或结尾 + + 33 + + Save 保存 @@ -329,6 +700,13 @@ 15 + + Delete from + 中删除 + + 69 + + No results. 没有结果。 @@ -472,6 +850,13 @@ 22 + + Default NSFW/sensitive videos policy (can be redefined by the users) + 针对不适宜于工作场所播放或者敏感视频的默认策略(可以由用户重新设置) + + 5 + + Video quota 视频存储空间 @@ -522,6 +907,20 @@ 26 + + + + + 11 + + + + (extensions: , max size: ) + (文件类型:,大小限制 + + 12 + + Login @@ -611,6 +1010,17 @@ 57 + + + We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. + + + 我们很抱歉,因为您的实例管理员没有配置 PeerTube 电子邮件系统,您无法找回您的密码。 + + + 64 + + Email 电子邮件地址 @@ -719,6 +1129,38 @@ 102 + + + Help to translate PeerTube! + + + 帮我们翻译 PeerTube! + + + 8 + + + + My public profile + 我的公开资料 + + 17 + + + + My account + 我的帐户 + + 21 + + + + Log out + 注销 + + 25 + + Create an account 创建帐户 @@ -740,6 +1182,13 @@ 24 + + Playlists + 播放列表 + + 46 + + Subscriptions 订阅内容 @@ -747,6 +1196,20 @@ 51 + + History + 观看历史 + + 56 + + + + Discover + 发现更多 + + 66 + + Trending 时下流行 @@ -796,6 +1259,34 @@ 106 + + View your notifications + 查看您的通知 + + 3 + + + + Notifications + 通知 + + 13 + + + + Update your notification preferences + 更新您的通知偏好 + + 16 + + + + See all your notifications + 查看所有通知 + + 30 + + Search... 搜索… @@ -824,6 +1315,27 @@ 15 + + Original publication year + 最初发布年份 + + 24 + + + + After... + 在之后 + + 30 + + + + Before... + 在之前 + + 37 + + Duration 时长 @@ -1116,6 +1628,13 @@ 135 + + Video preview + 视频预览 + + 192 + + Support 支持 @@ -1130,6 +1649,20 @@ 202 + + Original publication date + 最初发布日期 + + 215 + + + + This is the date when the content was originally published (e.g. the release date for a film) + 这是此内容最初发布的日期(如一部电影的发布日期) + + 216 + + Enable video comments 开启视频评论 @@ -1137,6 +1670,13 @@ 230 + + Enable download + 允许下载 + + 235 + + Advanced settings 高级设置 @@ -1165,6 +1705,13 @@ 162 + + Sorry, but something went wrong + 抱歉,出错了 + + 49 + + Congratulations, the video behind will be imported! You can already add information about this video. @@ -1197,6 +1744,39 @@ 25 + + Video background image + 视频背景图片 + + 32 + + + + + Image that will be merged with your audio file. + + The chosen image will be definitive and cannot be modified. + + + 将于您的音频文件合并的图片。 + + 图片被选中后将无法更改。 + + + 34 + + + + + Congratulations! Your video is now available in your private library. + + + 成功! 您可以在私享库中查看您的视频。 + + + 66 + + Publish will be available when upload is finished 上传完毕后即可发布 @@ -1321,6 +1901,17 @@ 27 + + + 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). + + + 此链接是不安全链接(没有使用 HTTPS),因此站外嵌入播放器将无法在 HTTPS 网站上使用(浏览器会屏蔽 HTTPS 网站上发送的不安全的 HTTP 请求)。 + + + 47 + + Embed 嵌入 @@ -1328,6 +1919,42 @@ 35 + + Auto select subtitle + 自动选择字幕 + + 76 + + + + + More customization + + + 显示更多外观选项 + + + 93 + + + + + Less customization + + + 显示更少外观选项 + + + 101 + + + + Autoplay + 自动播放 + + 127 + + Muted 已屏蔽 @@ -1335,6 +1962,34 @@ 20 + + Loop + 循环播放 + + 141 + + + + Display video title + 显示视频标题 + + 150 + + + + Display privacy warning + 显示隐私警告 + + 157 + + + + Display player controls + 显示播放器控制 + + 164 + + Close 关闭 @@ -1342,6 +1997,46 @@ 173 + + Public + 公开 + + 8 + + + + + The video is being imported, it will be available when the import is finished. + + + 视频正在导入中,导入完成后即可观看。 + + + 19 + + + + + The video is being transcoded, it may not work properly. + + + 视频正在转码,可能无法正常播放。 + + + 23 + + + + + This video will be published on . + + + 此视频将于自动发布。 + + + 27 + + This video is blacklisted. 此视频已进入黑名单。 @@ -1349,6 +2044,17 @@ 32 + + + Published - views + + + 发布于 - 次播放 + + + 44 + + Published - views @@ -1409,6 +2115,13 @@ 147 + + Originally published + 最初发布于 + + 159 + + Friendly Reminder: 友情提示: @@ -1614,6 +2327,28 @@ 15 + + + Plugins/Themes + + + 插件/主题 + + + 19 + + + + + System + + + 系统 + + + 23 + + Manage follows 关注管理 @@ -1681,6 +2416,13 @@ 18 + + Follower handle + 管理关注 + + 17 + + State 状态 @@ -1716,6 +2458,13 @@ 33 + + Accept + 接受 + + 41 + + Refuse 拒绝 @@ -1799,6 +2548,55 @@ 72 + + Bypass video auto blacklist + 绕过视频自动黑名单 + + 85 + + + + Danger Zone + 危险选项 + + 93 + + + + Send a link to reset the password by email to the user + 向用户发送带密码重置链接的邮件 + + 96 + + + + Ask for new password + 索要新密码 + + 97 + + + + Manually set the user password + 手动设置用户密码 + + 101 + + + + Show + 显示 + + 10 + + + + Hide + 隐藏 + + 11 + + Users list 用户列表 @@ -1820,6 +2618,13 @@ 40 + + Video quota + 视频数限制 + + 42 + + (banned) (已封禁) @@ -1827,6 +2632,20 @@ 65 + + User's email must be verified to login + 用户的邮件通过验证后才可以登录 + + 72 + + + + User's email is verified / User can login without email verification + 用户的邮件已通过验证/用户毋需验证邮件即可登录 + + 76 + + Ban reason: 封禁理由: @@ -1848,6 +2667,20 @@ 5 + + + + + 7 + + + + Auto-blacklisted videos + 自动黑名单视频 + + 9 + + Muted accounts 已屏蔽的帐户 @@ -1876,6 +2709,13 @@ 9 + + Unfederated + 去联邦化 + + 10 + + Date 日期 @@ -2006,6 +2846,20 @@ 12 + + Plugins/Themes + 插件/主题 + + 2 + + + + Installed + 已安装 + + 5 + + Search 搜索 @@ -2013,6 +2867,120 @@ 7 + + Homepage + 首页 + + 51 + + + + Go to the plugin homepage + 前往插件首页 + + 48 + + + + Settings + 设置 + + 29 + + + + Uninstall + 卸载 + + 35 + + + + + To load your new installed plugins or themes, refresh the page. + + + 为了加载您新安装的插件或主题,请刷新页面。 + + + 9 + + + + Popular + 当下流行 + + 16 + + + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + + + 22 + + + + {VAR_PLURAL, plural, =1 {result} other {results} } + {VAR_PLURAL, plural, =1 {条结果} other {条结果} } + + 23 + + + + + No results. + + + 没有结果。 + + + 28 + + + + + This does not have settings. + + + 此 没有设置选项。 + + + 22 + + + + System + 系统 + + 2 + + + + Jobs + 任务 + + 5 + + + + Logs + 日志 + + 7 + + + + Debug + 调试 + + 9 + + Jobs list 任务列表 @@ -2041,6 +3009,13 @@ 23 + + Refresh + 刷新 + + 14 + + Name 名称 @@ -2062,6 +3037,22 @@ 22 + + Dedicated to sensitive or NSFW content + 专用于敏感或不适宜于工作场所播放(NSFW)的内容 + + 50 + + + + Enabling it will allow other administrators to know that you are mainly federating sensitive content.<br /><br /> + Moreover, the NSFW checkbox on video upload will be automatically checked by default. + 启用此功能将会允许其他管理员知道您主要提供敏感内容<br /><br /> + 此外,视频上传的不适宜于工作场所播放(NSFW)复选框将会被默认勾选。 + + 51 + + Default client route 首页默认内容 @@ -2071,7 +3062,7 @@ Videos Overview - 视频总览 + 总览 60 @@ -2132,6 +3123,27 @@ 13 + + Theme + 主题 + + 3 + + + + Global theme + 全局主题 + + 92 + + + + default + 默认 + + 96 + + Signup 注册 @@ -2195,6 +3207,41 @@ 177 + + Auto-blacklist + 自动黑名单 + + 185 + + + + New videos of users automatically blacklisted enabled + 已启用针对用户新视频的自动黑名单 + + 194 + + + + Instance followers + 实例关注者 + + 203 + + + + Other instances can follow your instance + 其他实例可以关注您的实例 + + 211 + + + + Manually approve new instance follower + 手动批准新的实例关注者 + + 218 + + Administrator 管理员 @@ -2209,6 +3256,13 @@ 228 + + Enable contact form + 开启联系表格 + + 239 + + Basic configuration 基本配置 @@ -2244,6 +3298,17 @@ 269 + + If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> + If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> + Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted. + 如果您的实例进入了 Twitter 的白名单,则分享 PeerTube 视频时会在 Twitter 时间线上展示嵌入播放器。<br /> + 如果实例没有进入白名单,则会展示一个带图片的卡片链接,点击即可跳转至 PeerTube 实例播放。<br /><br /> + 您可以勾选此选项框,保存配置并在 <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> 使用您实例上的一个视频 URL(https://example.com/videos/watch/blabla)进行测试,以确定实例是否已进入白名单。 + + 270 + + Services 服务 @@ -2272,6 +3337,34 @@ 292 + + Allow additional extensions + 允许额外的拓展 + + 301 + + + + Allow your users to upload .mkv, .mov, .avi, .flv videos + 允许您的用户上传 .mkv, .mov, .avi, .flv 视频 + + 302 + + + + Allow audio files upload + 允许上传音频文件 + + 309 + + + + Allow your users to upload audio files that will be merged with the preview file on upload + 允许您的用户上传在上传时与预览图合并的音频文件 + + 310 + + Transcoding threads 转码线程数 @@ -2279,6 +3372,13 @@ 315 + + Resolution enabled + 已启用 分辨率 + + 330 + + Cache @@ -2336,6 +3436,41 @@ 375 + + + Write directly CSS code. Example:<br /><br /> + <pre> + #custom-css + color: red; + + </pre> + + Prepend with <em>#custom-css</em> to override styles. Example:<br /><br /> + <pre> + #custom-css .logged-in-email + color: red; + + </pre> + + + 在此处直接输入 CSS 代码。示例:<br /><br /> + <pre> + body + color: red; + + </pre> + + 您可以通过插入 <em>#custom-css</em> 来覆盖样式设置。示例:<br /><br /> + <pre> + #custom-css .logged-in-email + color: red; + + </pre> + + + 389 + + Advanced configuration 高级设置 @@ -2378,6 +3513,13 @@ 10 + + Interface + 界面 + + 16 + + Danger zone 危险选项 @@ -2420,6 +3562,27 @@ 3 + + Only display videos in the following languages + 只显示以下几种语言的视频 + + 19 + + + + In Recently added, Trending, Local and Search pages + 最近添加,时下流行,本地视频和搜索页面 + + 21 + + + + No results found + 没有结果 + + 28 + + Use WebTorrent to exchange parts of the video with others 使用 WebTorrent 与其他用户交换视频分段 @@ -2441,6 +3604,70 @@ 27 + + + Your current email is + + + 您当前的电子邮件地址是 + + + 4 + + + + + is awaiting email verification + + + 正在等待电子邮件验证 + + + 8 + + + + New email + 新的电子邮件地址 + + 15 + + + + Your new email + 您的新电子邮件地址 + + 17 + + + + Your password + 您的密码 + + 27 + + + + Change email + 修改电子邮件地址 + + 35 + + + + instance default + 实例默认 + + 7 + + + + peertube default + PeerTube 默认 + + 8 + + Change ownership 转移视频 @@ -2510,6 +3737,13 @@ 38 + + Create a new video channel + 创建新的视频频道 + + 4 + + Go to the channel 转到频道 @@ -2547,6 +3781,13 @@ When you will upload a video in this channel, the video support field will be au 52 + + Overwrite support field of all videos of this channel + 更改此频道所有视频的支持信息 + + 67 + + subscribers 位订阅者 @@ -2617,6 +3858,105 @@ When you will upload a video in this channel, the video support field will be au 2 + + History enabled + 启用观看历史 + + 4 + + + + + + Delete history + + + + 删除观看历史 + + + 7 + + + + You don't have videos history yet. + 您还没有观看历史。 + + 14 + + + + + + Notification preferences + + + + 通知偏好 + + + 2 + + + + + + Mark all as read + + + + 标记所有为已读 + + + 7 + + + + Activities + 动态 + + 2 + + + + Web + 网页 + + 3 + + + + Create a new playlist + 创建播放列表 + + 4 + + + + Playlist thumbnail + 播放列表缩略图 + + 60 + + + + No videos in this playlist. + 播放列表中没有视频 + + 11 + + + + + If you need help to use PeerTube, you can take a look to the documentation. + + + 如果您需要使用 PeerTube 的帮助, 您可以阅读 技术文档. + + + 13 + + Verify account email confirmation @@ -2628,6 +3968,33 @@ When you will upload a video in this channel, the video support field will be au 2 + + + + + + + 6 + + + + + Email updated. + + + 已更新电子邮件地址。 + + + 9 + + + + An error occurred. + 发生错误。 + + 14 + + Request email for account verification @@ -2695,6 +4062,13 @@ When you will upload a video in this channel, the video support field will be au 36 + + This account does not have channels. + 此帐户没有视频频道。 + + 3 + + See this video channel 查看这个视频频道 @@ -2702,6 +4076,13 @@ When you will upload a video in this channel, the video support field will be au 8 + + This channel does not have videos. + 此频道没有发布视频。 + + 19 + + Stats 统计 @@ -2716,6 +4097,13 @@ When you will upload a video in this channel, the video support field will be au 10 + + Video playlists + 播放列表 + + 25 + + Support this channel 支持此频道 @@ -2730,6 +4118,24 @@ When you will upload a video in this channel, the video support field will be au 17 + + + Created playlists + + + 创建了 播放列表 + + + 1 + + + + This channel does not have playlists. + 此频道没有播放列表 + + 5 + + PeerTube PeerTube @@ -2737,6 +4143,62 @@ When you will upload a video in this channel, the video support field will be au 7 + + Follows + 关注 + + 9 + + + + Contact administrator + 联系 管理员 + + 3 + + + + Your name + 您的名字 + + 11 + + + + Your email + 您的电子邮件地址 + + 20 + + + + Subject + 主题 + + 29 + + + + Your message + 您的信息 + + 38 + + + + About instance + 关于 实例 + + 4 + + + + Contact administrator + 联系管理员 + + 6 + + About PeerTube @@ -3001,6 +4463,27 @@ When you will upload a video in this channel, the video support field will be au 95 + + This instance does not have followers. + 此实例没有关注者 + + 5 + + + + Followings + 关注的用户 + + 13 + + + + This instance does not have followings. + 此实例没有关注的用户 + + 15 + + Create an account @@ -3011,6 +4494,52 @@ When you will upload a video in this channel, the video support field will be au 3 + + Next + 下一个 + + 16 + + + + User information + 用户信息 + + 13 + + + + + Create my account + + + 创建我的帐户 + + + 24 + + + + Channel information + 频道信息 + + 19 + + + + PeerTube is creating your account... + PeerTube 正在创建您的帐户 + + 33 + + + + Done + 完成 + + 29 + + Features found on this instance 本实例提供的功能 @@ -3018,6 +4547,62 @@ When you will upload a video in this channel, the video support field will be au 42 + + + 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. + + + 您可以在一个频道中上传您的视频。创建多个频道可以帮助您整理并区分您的内容。 + 比如说,您可以使用一个频道发布您的钢琴内容,而另外一个频道用于发布您讨论生态学的视频。 + + + 4 + + + + Channel display name + 频道显示名 + + 15 + + + + Channel name + 频道名称 + + 30 + + + + Example: my_super_channel + 实例:my_super_channel + + 34 + + + + + The channel name is a unique identifier of your channel on this instance. It's like an address mail, so other people can find your channel. + + + 频道名称是一个您的频道在此实例独特的标识符。这像是一个邮件地址,以此大家可以找到您的频道。 + + + 42 + + + + + Channel name cannot be the same than your account name. You can click on the first step to update your account name. + + + 频道名称不可以与您的帐户名称一致。您可以点击第一步来更新您的帐户名称。 + + + 50 + + Example: jane_doe 示例:jane_doe @@ -3025,6 +4610,17 @@ When you will upload a video in this channel, the video support field will be au 23 + + + The username is a unique identifier of your account on this instance. It's like an address mail, so other people can find you. + + + 用户名是一个您的帐号在此实例独特的标识符。这像是一个邮件地址,以此大家可以找到您。 + + + 31 + + I am at least 16 years old and agree to the <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Terms</a> of this instance 我确认我已年满 16 岁并同意本实例的<a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>使用条款</a> @@ -3043,6 +4639,27 @@ When you will upload a video in this channel, the video support field will be au 1 + + Cannot get about information from server + 无法从服务器获取“关于”信息。 + + 1 + + + + Your message has been sent. + 您的信息已发送。 + + 1 + + + + You already sent this form recently + 您最近已发送了此表格 + + 1 + + No description 没有说明 @@ -3050,6 +4667,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Published videos + 已发布了 个视频 + + 1 + + + + Username copied + 用户名已复制 + + 1 + + 240p 240p @@ -3085,6 +4716,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + 2160p + 2160p + + 1 + + Auto (via ffmpeg) 自动(由 ffmpeg 决定) @@ -3170,6 +4808,48 @@ When you will upload a video in this channel, the video support field will be au 1 + + accepted in instance followers + 已被准许关注实例 + + 1 + + + + Do you really want to reject this follower? + 您确定要拒绝这个关注者吗? + + 1 + + + + Reject + 拒绝 + + 1 + + + + rejected from instance followers + 已被拒绝关注实例 + + 1 + + + + Do you really want to delete this follower? + 您确定要删除这个关注者吗? + + 1 + + + + removed from instance followers + 已被移除出关注列表 + + 1 + + is not valid 不合法 @@ -3317,6 +4997,34 @@ When you will upload a video in this channel, the video support field will be au 1 + + Video removed from blacklist. + 视频 已被移出黑名单。 + + 1 + + + + videos removed from blacklist. + 条视频已被移出黑名单 + + 1 + + + + yes + + + 1 + + + + no + + + 1 + + Do you really want to remove this video from the blacklist? It will be available again in the videos list. 您确定要将这个视频移出黑名单吗?这将会让它再次出现在视频列表中。 @@ -3331,6 +5039,132 @@ When you will upload a video in this channel, the video support field will be au 1 + + You don't have plugins installed yet. + 您还没有安装插件。 + + 1 + + + + You don't have themes installed yet. + 您还没有安装主题。 + + 1 + + + + Update to + 更新到 + + 1 + + + + Do you really want to uninstall ? + 您确定要卸载 吗? + + 1 + + + + uninstalled. + 已卸载。 + + 1 + + + + updated. + 已更新。 + + 1 + + + + The plugin index is not available. Please retry later. + 插件列表暂不可用。请稍后再试。 + + 1 + + + + Please only install plugins or themes you trust, since they can execute any code on your instance. + 请只安装您信任的插件和主题,因为它们可以在您的实例上执行任何代码。 + + 1 + + + + Install ? + 您确定要安装 吗? + + 1 + + + + installed. + 已安装 + + 1 + + + + Settings updated. + 设置已更新。 + + 1 + + + + Plugins + 插件 + + 1 + + + + Themes + 主题 + + 1 + + + + plugin + 插件 + + 1 + + + + theme + 主题 + + 1 + + + + Last week + 过去一周 + + 1 + + + + Last day + 过去一天 + + 1 + + + + Last hour + 过去一小时 + + 1 + + Info 提示 @@ -3359,6 +5193,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Password changed for user . + 用户 的密码已更改。 + + 1 + + + + Update user password + 更改用户密码 + + 1 + + User updated. 用户 已更新。 @@ -3373,6 +5221,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + An email asking for password reset has been sent to . + 一封请求重置密码的电子邮件已发送给 + + 1 + + Unban 解除封禁 @@ -3380,6 +5235,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Set Email as Verified + 把电子邮件地址设为已验证 + + 1 + + You cannot ban root. 您无法封禁 root 用户。 @@ -3422,6 +5284,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + users email set as verified. + 用户电子邮件已设为已验证。 + + 1 + + Account unmuted. 已解除对帐户 的屏蔽。 @@ -3436,6 +5305,48 @@ When you will upload a video in this channel, the video support field will be au 1 + + My videos history + 我的视频观看历史 + + 1 + + + + Videos history is enabled + 视频观看历史已启用 + + 1 + + + + Videos history is disabled + 视频观看历史已禁用 + + 1 + + + + Delete videos history + 删除观看历史 + + 1 + + + + Are you sure you want to delete all your videos history? + 您确定要删除您所有的观看历史吗 + + 1 + + + + Videos history deleted + 观看历史已被删除 + + 1 + + Ownership accepted 转移已接受 @@ -3443,6 +5354,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Please check your emails to verify your new email. + 要验证您的电子邮件地址,请检查您的电子邮件。 + + 1 + + + + Email updated. + 电子邮件地址已更新。 + + 1 + + You current password is invalid. 您的当前密码不正确。 @@ -3485,6 +5410,97 @@ When you will upload a video in this channel, the video support field will be au 1 + + Interface settings updated. + 界面设置已更新。 + + 1 + + + + New video from your subscriptions + 您订阅的视频更新 + + 1 + + + + New comment on your video + 新的评论 + + 1 + + + + New video abuse + 新的视频滥用举报 + + 1 + + + + Video auto-blacklisted waiting review + 等待审核的自动黑名单视频 + + 1 + + + + One of your video is blacklisted/unblacklisted + 您的一个视频被拉黑/移出黑名单 + + 1 + + + + Video published (after transcoding/scheduled update) + 已发布的视频(已转码/定时更新) + + 1 + + + + Video import finished + 视频导入已完成 + + 1 + + + + A new user registered on your instance + 一个新用户在您的实例注册了 + + 1 + + + + You or your channel(s) has a new follower + 您或您的频道有一个新的关注者 + + 1 + + + + Someone mentioned you in video comments + 有人在评论中提到了您 + + 1 + + + + Your instance has a new follower + 您的实例有一个新的关注者 + + 1 + + + + Preferences saved + 偏好设置已保存 + + 1 + + Profile updated. 个人资料已更新。 @@ -3499,6 +5515,34 @@ When you will upload a video in this channel, the video support field will be au 1 + + Unknown language + 未知语言 + + 1 + + + + Video settings updated. + 视频设置已更新。 + + 1 + + + + No language + 没有语言 + + 1 + + + + {{'{0} languages selected + {{'{0} 语言已被选中 + + 1 + + Video channel created. 视频频道 已创建。 @@ -3520,6 +5564,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Do you really want to delete ? It will delete all videos uploaded in this channel, and you will not be able to create another channel with the same name ()! + 您确定要删除 吗?这将同时删除上传至该频道的所有视频,并且您将无法创建另一个相同名称的频道()! + + 1 + + + + Please type the display name of the video channel () to confirm + 输入视频频道的显示名()以确认操作 + + 1 + + Video channel deleted. 视频频道 已删除。 @@ -3527,6 +5585,34 @@ When you will upload a video in this channel, the video support field will be au 1 + + Playlist created. + 播放列表 已创建。 + + 1 + + + + Playlist updated. + 播放列表 已更新。 + + 1 + + + + Do you really want to delete ? + 您确定要删除 吗? + + 1 + + + + Playlist deleted. + 播放列表 已删除/ + + 1 + + My videos 我的视频 @@ -3576,6 +5662,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + My playlists + 我的播放列表 + + 1 + + My subscriptions 我的订阅 @@ -3583,6 +5676,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + My history + 我的观看历史 + + 1 + + Misc 杂项 @@ -3604,6 +5704,27 @@ When you will upload a video in this channel, the video support field will be au 1 + + My notifications + 我的通知 + + 1 + + + + Now please check your emails to verify your account and complete signup. + 要验证您的帐户并完成注册,请检查您的电子邮件。 + + 1 + + + + You are now logged in as ! + 您已登录为 + + 1 + + An email with verification link will be sent to . 已向 发送带有验证链接的电子邮件。 @@ -3648,7 +5769,7 @@ When you will upload a video in this channel, the video support field will be au Go to the videos overview page - 转到视频总览 + 转到总览 1 @@ -4054,6 +6175,69 @@ When you will upload a video in this channel, the video support field will be au 1 + + Your name is required. + 请输入您的名字。 + + 1 + + + + Your name must be at least 1 character long. + 您的名字应至少 1 个字符。 + + 1 + + + + Your name cannot be more than 120 characters long. + 您的名字不能超过 120 个字符。 + + 1 + + + + A subject is required. + 请输入主题。 + + 1 + + + + The subject must be at least 1 character long. + 主题应至少 1 个字符。 + + 1 + + + + The subject cannot be more than 120 characters long. + 主题不能超过 120 个字符。 + + 1 + + + + A message is required. + 请输入一条信息。 + + 1 + + + + The message must be at least 3 characters long. + 信息应至少 3 个字符。 + + 1 + + + + The message cannot be more than 5000 characters long. + 信息不能超过 5000 个字符。 + + 1 + + Username is required. 请输入用户名。 @@ -4075,6 +6259,27 @@ When you will upload a video in this channel, the video support field will be au 1 + + Username must be at least 1 character long. + 用户名应至少 1 个字符。 + + 1 + + + + Username cannot be more than 50 characters long. + 用户名不能超过 50 个字符。 + + 1 + + + + Username should be lowercase alphanumeric; dots and underscores are allowed. + 用户名只能使用小写字母、数字、句点和下划线。 + + 1 + + Password must be at least 6 characters long. 密码应至少 6 个字符。 @@ -4173,6 +6378,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Display name must be at least 1 character long. + 显示名称应至少 1 个字符。 + + 1 + + + + Display name cannot be more than 50 characters long. + 显示名称不能超过 50 个字符。 + + 1 + + Report reason is required. 请输入举报理由。 @@ -4187,6 +6406,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Report reason cannot be more than 3000 characters long. + 举报理由不能超过 3000 个字符。 + + 1 + + Moderation comment is required. 请输入运营备注信息。 @@ -4201,6 +6427,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Moderation comment cannot be more than 3000 characters long. + 运营备注信息不能超过 3000 个字符。 + + 1 + + The channel is required. 必须指定频道。 @@ -4252,7 +6485,28 @@ When you will upload a video in this channel, the video support field will be au Name is required. - 请输入频道用户名。 + 请输入您的名字。 + + 1 + + + + Name must be at least 1 character long. + 频道用户名应至少 1 个字符。 + + 1 + + + + Name cannot be more than 50 characters long. + 频道用户名不能超过 50 个字符。 + + 1 + + + + Name should be lowercase alphanumeric; dots and underscores are allowed. + 频道用户名只能使用小写字母、数字、句点和下划线。 1 @@ -4299,6 +6553,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Privacy is required. + 请选择隐私设置。 + + 1 + + + + The channel is required when the playlist is public. + 公开的播放列表必须指定频道。 + + 1 + + Video name is required. 请输入视频标题。 @@ -4390,6 +6658,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + PeerTube cannot handle this kind of file. Accepted extensions are . + PeerTube 不支持这个类型的文件。支持的文件后缀名为 + + 1 + + All unsaved data will be lost, are you sure you want to leave this page? 所有未保存的数据将会丢失,您确定要离开这个页面吗? @@ -4719,6 +6994,41 @@ When you will upload a video in this channel, the video support field will be au 1 + + Hidden + 已隐藏 + + 1 + + + + Blurred with confirmation request + 已被模糊处理,观看需确认 + + 1 + + + + Displayed + 已显示 + + 1 + + + + User registration allowed + 当前开放注册 + + 1 + + + + Video uploads require manual validation by moderators + 上传视频需要监察员手动确认 + + 1 + + Transcode your videos in multiple resolutions 将您的视频转码成多种分辨率 @@ -4740,6 +7050,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + P2P enabled + 已启用点对点(P2P) + + 1 + + ~ @@ -4859,6 +7176,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + User email set as verified + 用户 的电子邮件已设为已验证 + + 1 + + Account muted. 已屏蔽帐户 @@ -5020,6 +7344,55 @@ When you will upload a video in this channel, the video support field will be au 1 + + Video removed from + 视频已从 中移除 + + 1 + + + + Video added in at timestamps + 视频已在时间戳 添加到 + + 1 + + + + Video added in + 视频已添加到 + + 1 + + + + Timestamps updated + 已更新时间戳 + + 1 + + + + Starts at + 开始于 + + 1 + + + + Stops at + 停止于 + + 1 + + + + and stops at + 并停止于 + + 1 + + Video blacklisted. 视频已加入黑名单。 @@ -5048,6 +7421,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Save to playlist + 保存到播放列表 + + 1 + + Blacklist 加入黑名单 @@ -5146,6 +7526,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Upload + 上传 + + 1 + + Upload cancelled 上传已取消 @@ -5174,6 +7561,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + You have unsaved changes! If you leave, your changes will be lost. + 您有未保存的修改!如果您离开本页面,您将会失去这些修改。 + + 1 + + Video updated. 视频已更新。 @@ -5188,6 +7582,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + The deletion will be sent to remote instances so they remove the comment too. + 删除将会被发送至远程实例,以便它们也删除评论。 + + 1 + + + + It is a remote comment, so the deletion will only be effective on your instance. + 这是一条远程评论,所以它只能在本实例被删除。 + + 1 + + likes / dislikes 顶 / @@ -5223,6 +7631,34 @@ When you will upload a video in this channel, the video support field will be au 1 + + Trending for the last 24 hours + 过去 24 小时流行 + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last 24 hours + 流行的视频是在过去 24 小时内总观看次数最多的视频 + + 1 + + + + Trending for the last days + 过去 天流行 + + 1 + + + + Trending videos are those totalizing the greatest number of views during the last days + 流行的视频是在过去 天内总观看次数最多的视频 + + 1 + + Videos from your subscriptions 来自您的订阅的视频 diff --git a/client/src/locale/target/player_fi_FI.json b/client/src/locale/target/player_fi_FI.json new file mode 100644 index 000000000..98d95d1e2 --- /dev/null +++ b/client/src/locale/target/player_fi_FI.json @@ -0,0 +1 @@ +{"Audio Player":"Audiosoitin","Video Player":"Videosoitin","Play":"Toista","Pause":"Keskeytä","Replay":"Uudelleen toista","Current Time":"Nykyinen aika","Duration":"Kesto","Remaining Time":"Jäljellä oleva aika","Stream Type":"Suoratoistotyyppi","LIVE":"SUORA","Loaded":"Ladattu","Progress":"Edistyminen","Progress Bar":"Edistymispalkki","progress bar timing: currentTime={1} duration={2}":"{1}/{2}","Fullscreen":"Koko näyttö","Non-Fullscreen":"Poistu koko ruudun tilasta","Mute":"Mykistä","Unmute":"Poista mykistys","Playback Rate":"Toistonopeus","Subtitles":"Tekstitykset","subtitles off":"Tekstitykset pois päältä","Captions":"Merkinnät","captions off":"Merkinnät pois päältä","Chapters":"Jaksot","Descriptions":"Kuvaukset","descriptions off":"Kuvaukset pois päältä","Audio Track":"Ääniraita","Volume Level":"Äänenvoimakkuus","You aborted the media playback":"Keskeytit median toiston","A network error caused the media download to fail part-way.":"Verkkovirhe aiheutti osittain ladatun median epäonnistumisen.","The media could not be loaded, either because the server or network failed or because the format is not supported.":"Mediaa ei voida ladata, koska tapahtui palvelin- tai verkkovirhe tai formaattia ei tueta.","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"Median toisto peruttiin korruptio-ongelman takia, tai koska media käyttää ominaisuuksia mitä selaimesi ei tue.","No compatible source was found for this media.":"Yhteensopivaa lähdettä ei löytynyt medialle.","The media is encrypted and we do not have the keys to decrypt it.":"Media on salattu, eikä meillä ole avaimia avataksesi sitä.","Play Video":"Toista video","Close":"Sulje","Close Modal Dialog":"Sulje valintaikkuna","Modal Window":"Valintaikkuna","This is a modal window":"Tämä on valintaikkuna","This modal can be closed by pressing the Escape key or activating the close button.":"Tämän valintaikkunan voi sulkea painamalla Escape-näppäintä, tai aktivoimalla sulkemispainikkeen.",", opens captions settings dialog":", avaa merkintöjen asetusvalikon",", opens subtitles settings dialog":", avaa tekstityksien asetusvalikon",", opens descriptions settings dialog":", avaa kuvauksien asetusvalikon",", selected":", valittu","captions settings":"merkintöjen asetukset","subtitles settings":"tekstityksien asetukset","descriptions settings":"kuvauksien asetukset","Text":"Teksti","White":"Valkoinen","Black":"Musta","Red":"Punainen","Green":"Vihreä","Blue":"Sininen","Yellow":"Keltainen","Magenta":"Purppura","Cyan":"Syaani","Background":"Tausta","Window":"Ikkuna","Transparent":"Läpinäkyvä","Semi-Transparent":"Osittain läpinäkyvä","Opaque":"Himmeä","Font Size":"Fonttikoko","Text Edge Style":"Tekstin reunan tyyli","None":"Ei mitään","Raised":"Nostettu","Depressed":"Painostunut","Uniform":"Yhtenäinen","Dropshadow":"Varjostus","Font Family":"Kirjasinperhe","Proportional Sans-Serif":"Suhteellinen Sans-Serif","Monospace Sans-Serif":"Monospace Sans-Serif","Proportional Serif":"Suhteellinen Sans-Serif","Monospace Serif":"Monospace Serif","Casual":"Rento","Script":"Kirjoitus","Small Caps":"Pienet kirjaisimet","Reset":"Nollaa","restore all settings to the default values":"Palauta kaikki asetukset oletusarvoihin","Done":"Valmis","Caption Settings Dialog":"Merkinnät asetusvalintaikkuna","Beginning of dialog window. Escape will cancel and close the window.":"Valintaikkunan alku. Escape-näppäin peruuttaa ja sulkee ikkunan.","End of dialog window.":"Valintaikkunan loppu.","{1} is loading.":"{1} latautuu.","Quality":"Laatu","Auto":"Automaattinen","Speed":"Nopeus","Subtitles/CC":"Tekstitykset","peers":"katsojaa","peer":"katsoja","Go to the video page":"Mene videon sivulle","Settings":"Asetukset","Uses P2P, others may know you are watching this video.":"Käyttää vertaisverkkoa, muut saattavat tietää katsovasi tätä videota.","Copy the video URL":"Kopioi videon URL-osoite","Copy the video URL at the current time":"Kopioi videon URL-osoite nykyisestä kohdasta","Copy embed code":"Kopioi upotuskoodi","Copy magnet URI":"Kopioi Magnet-linkki","Total downloaded: ":"Ladattu yhteensä: ","Total uploaded: ":"Jaettu yhteensä: "} \ No newline at end of file diff --git a/client/src/locale/target/player_zh_Hans_CN.json b/client/src/locale/target/player_zh_Hans_CN.json index 4d7fcf047..38ce898b7 100644 --- a/client/src/locale/target/player_zh_Hans_CN.json +++ b/client/src/locale/target/player_zh_Hans_CN.json @@ -1 +1 @@ -{"Audio Player":"音乐播放器","Video Player":"视频播放器","Play":"播放","Pause":"暂停","Replay":"重放","Current Time":"当前时间","Duration":"时长","Remaining Time":"剩余时间","Stream Type":"媒体流类型","LIVE":"直播","Loaded":"加载完毕","Progress":"进度","Progress Bar":"进度条","progress bar timing: currentTime={1} duration={2}":"已加载 {1},总时长 {2}","Fullscreen":"全屏","Non-Fullscreen":"退出全屏","Mute":"静音","Unmute":"取消静音","Playback Rate":"播放速度","Subtitles":"字幕","subtitles off":"关闭字幕","Captions":"内嵌字幕","captions off":"关闭内嵌字幕","Chapters":"节目段落","Descriptions":"描述","descriptions off":"关闭描述","Audio Track":"音轨","Volume Level":"音量","You aborted the media playback":"视频播放被终止","A network error caused the media download to fail part-way.":"网络错误导致视频下载中途失败。","The media could not be loaded, either because the server or network failed or because the format is not supported.":"视频因格式不支持或者服务器或网络的问题无法加载。","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"由于视频文件损坏或是该视频使用了你的浏览器不支持的功能,播放终止。","No compatible source was found for this media.":"无法找到此视频兼容的源。","The media is encrypted and we do not have the keys to decrypt it.":"视频已加密,无法解密。","Play Video":"播放视频","Close":"关闭","Close Modal Dialog":"关闭弹窗","Modal Window":"弹窗","This is a modal window":"这是一个弹窗","This modal can be closed by pressing the Escape key or activating the close button.":"可以按 ESC 按键或启用关闭按钮来关闭此弹窗。",", opens captions settings dialog":",开启标题设置弹窗",", opens subtitles settings dialog":",开启字幕设置弹窗",", opens descriptions settings dialog":",开启描述设置弹窗",", selected":",选择","captions settings":"内嵌字幕设置","subtitles settings":"字幕设置","descriptions settings":"描述设置","Text":"文字","White":"白","Black":"黑","Red":"红","Green":"绿","Blue":"蓝","Yellow":"黄","Magenta":"紫红","Cyan":"青","Background":"背景","Window":"视窗","Transparent":"透明","Semi-Transparent":"半透明","Opaque":"不透明","Font Size":"字体尺寸","Text Edge Style":"字体边缘样式","None":"无","Raised":"浮雕","Depressed":"压低","Uniform":"均匀","Dropshadow":"下阴影","Font Family":"字体库","Proportional Sans-Serif":"比例无细体","Monospace Sans-Serif":"单间隔无细体","Proportional Serif":"比例细体","Monospace Serif":"单间隔细体","Casual":"舒适","Script":"手写体","Small Caps":"小型大写字体","Reset":"重启","restore all settings to the default values":"恢复全部设置至预设值","Done":"完成","Caption Settings Dialog":"字幕设置弹窗","Beginning of dialog window. Escape will cancel and close the window.":"开始对话弹窗。离开会取消并关闭弹窗。","End of dialog window.":"结束对话弹窗","{1} is loading.":"正在加载 {1}。","Quality":"画质","Auto":"自动","Speed":"速度","Subtitles/CC":"字幕","peers":"个来源","Go to the video page":"进入视频页面","Settings":"设置","Uses P2P, others may know you are watching this video.":"使用 P2P 时,其他人将能够知道您正在观看此视频。","Copy the video URL":"复制视频网址","Copy the video URL at the current time":"复制当前时间的视频网址","Copy embed code":"复制嵌入代码"} \ No newline at end of file +{"Audio Player":"音乐播放器","Video Player":"视频播放器","Play":"播放","Pause":"暂停","Replay":"重放","Current Time":"当前时间","Duration":"时长","Remaining Time":"剩余时间","Stream Type":"媒体流类型","LIVE":"直播","Loaded":"加载完毕","Progress":"进度","Progress Bar":"进度条","progress bar timing: currentTime={1} duration={2}":"已加载 {1},总时长 {2}","Fullscreen":"全屏","Non-Fullscreen":"退出全屏","Mute":"静音","Unmute":"取消静音","Playback Rate":"播放速度","Subtitles":"字幕","subtitles off":"关闭字幕","Captions":"内嵌字幕","captions off":"关闭内嵌字幕","Chapters":"节目段落","Descriptions":"描述","descriptions off":"关闭描述","Audio Track":"音轨","Volume Level":"音量","You aborted the media playback":"视频播放被终止","A network error caused the media download to fail part-way.":"网络错误导致视频下载中途失败。","The media could not be loaded, either because the server or network failed or because the format is not supported.":"视频因格式不支持或者服务器或网络的问题无法加载。","The media playback was aborted due to a corruption problem or because the media used features your browser did not support.":"由于视频文件损坏或是该视频使用了你的浏览器不支持的功能,播放终止。","No compatible source was found for this media.":"无法找到此视频兼容的源。","The media is encrypted and we do not have the keys to decrypt it.":"视频已加密,无法解密。","Play Video":"播放视频","Close":"关闭","Close Modal Dialog":"关闭弹窗","Modal Window":"弹窗","This is a modal window":"这是一个弹窗","This modal can be closed by pressing the Escape key or activating the close button.":"可以按 ESC 按键或启用关闭按钮来关闭此弹窗。",", opens captions settings dialog":",开启标题设置弹窗",", opens subtitles settings dialog":",开启字幕设置弹窗",", opens descriptions settings dialog":",开启描述设置弹窗",", selected":",选择","captions settings":"内嵌字幕设置","subtitles settings":"字幕设置","descriptions settings":"描述设置","Text":"文字","White":"白","Black":"黑","Red":"红","Green":"绿","Blue":"蓝","Yellow":"黄","Magenta":"紫红","Cyan":"青","Background":"背景","Window":"视窗","Transparent":"透明","Semi-Transparent":"半透明","Opaque":"不透明","Font Size":"字体尺寸","Text Edge Style":"字体边缘样式","None":"无","Raised":"浮雕","Depressed":"压低","Uniform":"均匀","Dropshadow":"下阴影","Font Family":"字体库","Proportional Sans-Serif":"比例无细体","Monospace Sans-Serif":"单间隔无细体","Proportional Serif":"比例细体","Monospace Serif":"单间隔细体","Casual":"舒适","Script":"手写体","Small Caps":"小型大写字体","Reset":"重启","restore all settings to the default values":"恢复全部设置至预设值","Done":"完成","Caption Settings Dialog":"字幕设置弹窗","Beginning of dialog window. Escape will cancel and close the window.":"开始对话弹窗。离开会取消并关闭弹窗。","End of dialog window.":"结束对话弹窗","{1} is loading.":"正在加载 {1}。","Quality":"画质","Auto":"自动","Speed":"速度","Subtitles/CC":"字幕","peers":"个来源","peer":"对等网络用户","Go to the video page":"进入视频页面","Settings":"设置","Uses P2P, others may know you are watching this video.":"使用 P2P 时,其他人将能够知道您正在观看此视频。","Copy the video URL":"复制视频网址","Copy the video URL at the current time":"复制当前时间的视频网址","Copy embed code":"复制嵌入代码","Copy magnet URI":"复制磁力链","Total downloaded: ":"总下载数:","Total uploaded: ":"总上传数:"} \ No newline at end of file diff --git a/client/src/locale/target/server_el_GR.json b/client/src/locale/target/server_el_GR.json index 338d9c593..871efa356 100644 --- a/client/src/locale/target/server_el_GR.json +++ b/client/src/locale/target/server_el_GR.json @@ -1 +1 @@ -{"Music":"Μουσική","Films":"Ταινίες","Vehicles":"Οχήματα","Art":"Τέχνη","Sports":"Αθλητικά","Travels":"Ταξίδια","Gaming":"Παιχνίδια","People":"Άνθρωποι","Comedy":"Κωμωδία","Entertainment":"Διασκέδαση","News & Politics":"Ειδήσεις και πολιτική","How To":"Οδηγίες","Education":"Εκπαίδευση","Activism":"Ακτιβισμός","Science & Technology":"Επιστήμη και τεχνολογία","Animals":"Ζώα","Kids":"Παιδιά","Food":"Φαγητό","Attribution":"Αναφορά Δημιουργού","Attribution - Share Alike":"Αναφορά Δημιουργού - Παρόμοια Διανομή","Attribution - No Derivatives":"Αναφορά Δημιουργού - Όχι Παράγωγα Έργα","Attribution - Non Commercial":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση","Attribution - Non Commercial - Share Alike":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή","Attribution - Non Commercial - No Derivatives":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα","Public Domain Dedication":"Κοινό Κτήμα","Public":"Δημόσιο","Unlisted":"Μη καταχωρισμένο","Private":"Ιδιωτικό","Published":"Δημοσιεύθηκε","To transcode":"Προς επανακωδικοποίηση","To import":"Προς εισαγωγή","Pending":"Σε αναμονή","Success":"Επιτυχία","Failed":"Αποτυχία","Regular":"Κανονικό","Watch later":"Δείτε αργότερα","This video does not exist.":"Το βίντεο δεν υπάρχει.","We cannot fetch the video. Please try again later.":"Δεν μπορούμε να βρούμε το βίντεο. Παρακαλούμε δοκιμάστε αργότερα.","Sorry":"Μας συγχωρείτε","This video is not available because the remote instance is not responding.":"Το βίντεο δεν είναι διαθέσιμο γιατί δεν είναι εφικτή η σύνδεση με την απομακρυσμένη υπηρεσία.","Misc":"Διάφορα","Unknown":"Άγνωστο","Afar":"Afar","Abkhazian":"Abkhazian","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amharic","Arabic":"Arabic","Aragonese":"Aragonese","American Sign Language":"American Sign Language","Assamese":"Assamese","Avaric":"Avaric","Kotava":"Kotava","Aymara":"Aymara","Azerbaijani":"Azerbaijani","Bashkir":"Bashkir","Bambara":"Bambara","Belarusian":"Belarusian","Bengali":"Bengali","British Sign Language":"British Sign Language","Bislama":"Bislama","Tibetan":"Tibetan","Bosnian":"Bosnian","Breton":"Breton","Bulgarian":"Bulgarian","Brazilian Sign Language":"Brazilian Sign Language","Catalan":"Catalan","Czech":"Czech","Chamorro":"Chamorro","Chechen":"Chechen","Chuvash":"Chuvash","Cornish":"Cornish","Corsican":"Corsican","Cree":"Cree","Czech Sign Language":"Czech Sign Language","Chinese Sign Language":"Chinese Sign Language","Welsh":"Welsh","Danish":"Danish","German":"German","Dhivehi":"Dhivehi","Danish Sign Language":"Danish Sign Language","Dzongkha":"Dzongkha","English":"English","Esperanto":"Esperanto","Estonian":"Estonian","Basque":"Basque","Ewe":"Ewe","Faroese":"Faroese","Persian":"Persian","Fijian":"Fijian","Finnish":"Finnish","French":"French","Western Frisian":"Western Frisian","French Sign Language":"French Sign Language","Fulah":"Fulah","Scottish Gaelic":"Scottish Gaelic","Irish":"Irish","Galician":"Galician","Manx":"Manx","Guarani":"Guarani","German Sign Language":"German Sign Language","Gujarati":"Gujarati","Haitian":"Haitian","Hausa":"Hausa","Serbo-Croatian":"Serbo-Croatian","Hebrew":"Hebrew","Herero":"Herero","Hindi":"Hindi","Hiri Motu":"Hiri Motu","Croatian":"Croatian","Hungarian":"Hungarian","Armenian":"Armenian","Igbo":"Igbo","Sichuan Yi":"Sichuan Yi","Inuktitut":"Inuktitut","Indonesian":"Indonesian","Inupiaq":"Inupiaq","Icelandic":"Icelandic","Italian":"Italian","Javanese":"Javanese","Lojban":"Lojban","Japanese":"Japanese","Japanese Sign Language":"Japanese Sign Language","Kalaallisut":"Kalaallisut","Kannada":"Kannada","Kashmiri":"Kashmiri","Georgian":"Georgian","Kanuri":"Kanuri","Kazakh":"Kazakh","Khmer":"Khmer","Kikuyu":"Kikuyu","Kinyarwanda":"Kinyarwanda","Kirghiz":"Kirghiz","Komi":"Komi","Kongo":"Kongo","Korean":"Korean","Kuanyama":"Kuanyama","Kurdish":"Kurdish","Lao":"Lao","Latvian":"Latvian","Limburgan":"Limburgan","Lingala":"Lingala","Lithuanian":"Lithuanian","Luxembourgish":"Luxembourgish","Luba-Katanga":"Luba-Katanga","Ganda":"Ganda","Marshallese":"Marshallese","Malayalam":"Malayalam","Marathi":"Marathi","Macedonian":"Macedonian","Malagasy":"Malagasy","Maltese":"Maltese","Mongolian":"Mongolian","Maori":"Maori","Malay (macrolanguage)":"Malay (macrolanguage)","Burmese":"Burmese","Nauru":"Nauru","Navajo":"Navajo","South Ndebele":"South Ndebele","North Ndebele":"North Ndebele","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepali (macrolanguage)","Dutch":"Dutch","Norwegian Nynorsk":"Norwegian Nynorsk","Norwegian Bokmål":"Norwegian Bokmål","Norwegian":"Norwegian","Nyanja":"Nyanja","Occitan":"Occitan","Ojibwa":"Ojibwa","Oriya (macrolanguage)":"Oriya (macrolanguage)","Oromo":"Oromo","Ossetian":"Ossetian","Panjabi":"Panjabi","Pakistan Sign Language":"Pakistan Sign Language","Polish":"Polish","Portuguese":"Portuguese","Pushto":"Pushto","Quechua":"Quechua","Romansh":"Romansh","Romanian":"Romanian","Russian Sign Language":"Russian Sign Language","Rundi":"Rundi","Russian":"Russian","Sango":"Sango","Saudi Arabian Sign Language":"Saudi Arabian Sign Language","South African Sign Language":"South African Sign Language","Sinhala":"Sinhala","Slovak":"Slovak","Slovenian":"Slovenian","Northern Sami":"Northern Sami","Samoan":"Samoan","Shona":"Shona","Sindhi":"Sindhi","Somali":"Somali","Southern Sotho":"Southern Sotho","Spanish":"Spanish","Albanian":"Αλβανικά","Sardinian":"Sardinian","Serbian":"Serbian","Swati":"Swati","Sundanese":"Sundanese","Swahili (macrolanguage)":"Swahili (macrolanguage)","Swedish":"Swedish","Swedish Sign Language":"Swedish Sign Language","Tahitian":"Tahitian","Tamil":"Tamil","Tatar":"Tatar","Telugu":"Telugu","Tajik":"Tajik","Tagalog":"Tagalog","Thai":"Thai","Tigrinya":"Tigrinya","Klingon":"Klingon","Tonga (Tonga Islands)":"Tonga (Tonga Islands)","Tswana":"Tswana","Tsonga":"Tsonga","Turkmen":"Turkmen","Turkish":"Τουρκικά","Twi":"Twi","Uighur":"Uighur","Ukrainian":"Ukrainian","Urdu":"Urdu","Uzbek":"Uzbek","Venda":"Venda","Vietnamese":"Vietnamese","Walloon":"Walloon","Wolof":"Wolof","Xhosa":"Xhosa","Yiddish":"Yiddish","Yoruba":"Yoruba","Zhuang":"Zhuang","Chinese":"Chinese","Zulu":"Zulu"} \ No newline at end of file +{"Music":"Μουσική","Films":"Ταινίες","Vehicles":"Οχήματα","Art":"Τέχνη","Sports":"Αθλητικά","Travels":"Ταξίδια","Gaming":"Παιχνίδια","People":"Άνθρωποι","Comedy":"Κωμωδία","Entertainment":"Διασκέδαση","News & Politics":"Ειδήσεις και πολιτική","How To":"Οδηγίες","Education":"Εκπαίδευση","Activism":"Ακτιβισμός","Science & Technology":"Επιστήμη και τεχνολογία","Animals":"Ζώα","Kids":"Παιδιά","Food":"Φαγητό","Attribution":"Αναφορά Δημιουργού","Attribution - Share Alike":"Αναφορά Δημιουργού - Παρόμοια Διανομή","Attribution - No Derivatives":"Αναφορά Δημιουργού - Όχι Παράγωγα Έργα","Attribution - Non Commercial":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση","Attribution - Non Commercial - Share Alike":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή","Attribution - Non Commercial - No Derivatives":"Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Όχι Παράγωγα Έργα","Public Domain Dedication":"Κοινό Κτήμα","Public":"Δημόσιο","Unlisted":"Μη καταχωρισμένο","Private":"Ιδιωτικό","Published":"Δημοσιεύθηκε","To transcode":"Προς επανακωδικοποίηση","To import":"Προς εισαγωγή","Pending":"Σε αναμονή","Success":"Επιτυχία","Failed":"Αποτυχία","Regular":"Κανονικό","Watch later":"Δείτε αργότερα","This video does not exist.":"Το βίντεο δεν υπάρχει.","We cannot fetch the video. Please try again later.":"Δεν μπορούμε να βρούμε το βίντεο. Παρακαλούμε δοκιμάστε αργότερα.","Sorry":"Μας συγχωρείτε","This video is not available because the remote instance is not responding.":"Το βίντεο δεν είναι διαθέσιμο γιατί δεν είναι εφικτή η σύνδεση με την απομακρυσμένη υπηρεσία.","Misc":"Διάφορα","Unknown":"Άγνωστο","Afar":"Afar","Abkhazian":"Abkhazian","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amharic","Arabic":"Arabic","Aragonese":"Aragonese","American Sign Language":"American Sign Language","Assamese":"Assamese","Avaric":"Avaric","Kotava":"Kotava","Aymara":"Aymara","Azerbaijani":"Azerbaijani","Bashkir":"Bashkir","Bambara":"Bambara","Belarusian":"Belarusian","Bengali":"Bengali","British Sign Language":"British Sign Language","Bislama":"Bislama","Tibetan":"Tibetan","Bosnian":"Bosnian","Breton":"Breton","Bulgarian":"Bulgarian","Brazilian Sign Language":"Brazilian Sign Language","Catalan":"Catalan","Czech":"Czech","Chamorro":"Chamorro","Chechen":"Chechen","Chuvash":"Chuvash","Cornish":"Cornish","Corsican":"Corsican","Cree":"Cree","Czech Sign Language":"Czech Sign Language","Chinese Sign Language":"Chinese Sign Language","Welsh":"Welsh","Danish":"Danish","German":"German","Dhivehi":"Dhivehi","Danish Sign Language":"Danish Sign Language","Dzongkha":"Dzongkha","Greek":"Ελληνικά","English":"English","Esperanto":"Esperanto","Estonian":"Estonian","Basque":"Basque","Ewe":"Ewe","Faroese":"Faroese","Persian":"Persian","Fijian":"Fijian","Finnish":"Finnish","French":"French","Western Frisian":"Western Frisian","French Sign Language":"French Sign Language","Fulah":"Fulah","Scottish Gaelic":"Scottish Gaelic","Irish":"Irish","Galician":"Galician","Manx":"Manx","Guarani":"Guarani","German Sign Language":"German Sign Language","Gujarati":"Gujarati","Haitian":"Haitian","Hausa":"Hausa","Serbo-Croatian":"Serbo-Croatian","Hebrew":"Hebrew","Herero":"Herero","Hindi":"Hindi","Hiri Motu":"Hiri Motu","Croatian":"Croatian","Hungarian":"Hungarian","Armenian":"Armenian","Igbo":"Igbo","Sichuan Yi":"Sichuan Yi","Inuktitut":"Inuktitut","Indonesian":"Indonesian","Inupiaq":"Inupiaq","Icelandic":"Icelandic","Italian":"Italian","Javanese":"Javanese","Lojban":"Lojban","Japanese":"Japanese","Japanese Sign Language":"Japanese Sign Language","Kalaallisut":"Kalaallisut","Kannada":"Kannada","Kashmiri":"Kashmiri","Georgian":"Georgian","Kanuri":"Kanuri","Kazakh":"Kazakh","Khmer":"Khmer","Kikuyu":"Kikuyu","Kinyarwanda":"Kinyarwanda","Kirghiz":"Kirghiz","Komi":"Komi","Kongo":"Kongo","Korean":"Korean","Kuanyama":"Kuanyama","Kurdish":"Kurdish","Lao":"Lao","Latvian":"Latvian","Limburgan":"Limburgan","Lingala":"Lingala","Lithuanian":"Lithuanian","Luxembourgish":"Luxembourgish","Luba-Katanga":"Luba-Katanga","Ganda":"Ganda","Marshallese":"Marshallese","Malayalam":"Malayalam","Marathi":"Marathi","Macedonian":"Macedonian","Malagasy":"Malagasy","Maltese":"Maltese","Mongolian":"Mongolian","Maori":"Maori","Malay (macrolanguage)":"Malay (macrolanguage)","Burmese":"Burmese","Nauru":"Nauru","Navajo":"Navajo","South Ndebele":"South Ndebele","North Ndebele":"North Ndebele","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepali (macrolanguage)","Dutch":"Dutch","Norwegian Nynorsk":"Norwegian Nynorsk","Norwegian Bokmål":"Norwegian Bokmål","Norwegian":"Norwegian","Nyanja":"Nyanja","Occitan":"Occitan","Ojibwa":"Ojibwa","Oriya (macrolanguage)":"Oriya (macrolanguage)","Oromo":"Oromo","Ossetian":"Ossetian","Panjabi":"Panjabi","Pakistan Sign Language":"Pakistan Sign Language","Polish":"Polish","Portuguese":"Portuguese","Pushto":"Pushto","Quechua":"Quechua","Romansh":"Romansh","Romanian":"Romanian","Russian Sign Language":"Russian Sign Language","Rundi":"Rundi","Russian":"Russian","Sango":"Sango","Saudi Arabian Sign Language":"Saudi Arabian Sign Language","South African Sign Language":"South African Sign Language","Sinhala":"Sinhala","Slovak":"Slovak","Slovenian":"Slovenian","Northern Sami":"Northern Sami","Samoan":"Samoan","Shona":"Shona","Sindhi":"Sindhi","Somali":"Somali","Southern Sotho":"Southern Sotho","Spanish":"Spanish","Albanian":"Αλβανικά","Sardinian":"Sardinian","Serbian":"Serbian","Swati":"Swati","Sundanese":"Sundanese","Swahili (macrolanguage)":"Swahili (macrolanguage)","Swedish":"Swedish","Swedish Sign Language":"Swedish Sign Language","Tahitian":"Tahitian","Tamil":"Tamil","Tatar":"Tatar","Telugu":"Telugu","Tajik":"Tajik","Tagalog":"Tagalog","Thai":"Thai","Tigrinya":"Tigrinya","Klingon":"Klingon","Tonga (Tonga Islands)":"Tonga (Tonga Islands)","Tswana":"Tswana","Tsonga":"Tsonga","Turkmen":"Turkmen","Turkish":"Τουρκικά","Twi":"Twi","Uighur":"Uighur","Ukrainian":"Ukrainian","Urdu":"Urdu","Uzbek":"Uzbek","Venda":"Venda","Vietnamese":"Vietnamese","Walloon":"Walloon","Wolof":"Wolof","Xhosa":"Xhosa","Yiddish":"Yiddish","Yoruba":"Yoruba","Zhuang":"Zhuang","Chinese":"Chinese","Zulu":"Zulu"} \ No newline at end of file diff --git a/client/src/locale/target/server_fi_FI.json b/client/src/locale/target/server_fi_FI.json new file mode 100644 index 000000000..ad35e9111 --- /dev/null +++ b/client/src/locale/target/server_fi_FI.json @@ -0,0 +1 @@ +{"Music":"Musiikki","Films":"Elokuvat","Vehicles":"Ajoneuvot","Art":"Taide","Sports":"Urheilu","Travels":"Matkailu","Gaming":"Pelit","People":"Ihmiset","Comedy":"Komedia","Entertainment":"Viihde","News & Politics":"Uutiset ja politiikka","How To":"Ohjeet","Education":"Koulutus","Activism":"Aktivismi","Science & Technology":"Tiede ja tekniikka","Animals":"Eläimet","Kids":"Lapset","Food":"Ruoka","Attribution":"Nimeä","Attribution - Share Alike":"Nimeä - Jaa Samoin","Attribution - No Derivatives":"Nimeä - Ei Muutoksia","Attribution - Non Commercial":"Nimeä - Ei Kaupallinen","Attribution - Non Commercial - Share Alike":"Nimeä - Ei Kaupallinen - Jaa Samoin","Attribution - Non Commercial - No Derivatives":"Nimeä - Ei Kaupallinen - Ei Muutoksia","Public Domain Dedication":"Public Domain -sertifikointi","Public":"Julkinen","Unlisted":"Piilotettu","Private":"Yksityinen","Published":"Julkaistu","To transcode":"Transkoodata","To import":"Tuoda","Pending":"Odottaa","Success":"Onnistui","Failed":"Epäonnistui","Regular":"Normaali","Watch later":"Katso myöhemmin","This video does not exist.":"Videoa ei ole olemassa.","We cannot fetch the video. Please try again later.":"Videota ei voi hakea. Yritä myöhemmin uudelleen.","Sorry":"Anteeksi","This video is not available because the remote instance is not responding.":"Video ei ole saatavilla, koska etäinstanssi ei vastaa.","Misc":"Muut","Unknown":"Tuntematon","Afar":"Afar","Abkhazian":"Abhaasi","Afrikaans":"Afrikaans","Akan":"Akan","Amharic":"Amharic","Arabic":"Arabia","Aragonese":"Aragonese","American Sign Language":"Amerikkalainen viittomakieli","Assamese":"Assamese","Avaric":"Avaric","Kotava":"Kotava","Aymara":"Aymara","Azerbaijani":"Azerbaijani","Bashkir":"Bashkir","Bambara":"Bambara","Belarusian":"Belarusian","Bengali":"Bengali","British Sign Language":"Brittiläinen viittomakieli","Bislama":"Bislama","Tibetan":"Tibetan","Bosnian":"Bosnian","Breton":"Breton","Bulgarian":"Bulgarian","Brazilian Sign Language":"Brasilialainen viittomakieli","Catalan":"Catalan","Czech":"Czech","Chamorro":"Chamorro","Chechen":"Chechen","Chuvash":"Chuvash","Cornish":"Cornish","Corsican":"Corsican","Cree":"Cree","Czech Sign Language":"Tsekkiläinen viittomakieli","Chinese Sign Language":"Kiinalainen viittomakieli","Welsh":"Welsh","Danish":"Tanska","German":"Saksa","Dhivehi":"Dhivehi","Danish Sign Language":"Danish Sign Language","Dzongkha":"Dzongkha","Greek":"Kreikka","English":"English","Esperanto":"Esperanto","Estonian":"Viro","Basque":"Basque","Ewe":"Ewe","Faroese":"Faroese","Persian":"Persian","Fijian":"Fijian","Finnish":"Suomi","French":"Ranska","Western Frisian":"Western Frisian","French Sign Language":"French Sign Language","Fulah":"Fulah","Scottish Gaelic":"Scottish Gaelic","Irish":"Irish","Galician":"Galician","Manx":"Manx","Guarani":"Guarani","German Sign Language":"German Sign Language","Gujarati":"Gujarati","Haitian":"Haitian","Hausa":"Hausa","Serbo-Croatian":"Serbo-Croatian","Hebrew":"Hebrew","Herero":"Herero","Hindi":"Hindi","Hiri Motu":"Hiri Motu","Croatian":"Croatian","Hungarian":"Hungarian","Armenian":"Armenian","Igbo":"Igbo","Sichuan Yi":"Sichuan Yi","Inuktitut":"Inuktitut","Indonesian":"Indonesian","Inupiaq":"Inupiaq","Icelandic":"Icelandic","Italian":"Italian","Javanese":"Javanese","Lojban":"Lojban","Japanese":"Japanese","Japanese Sign Language":"Japanese Sign Language","Kalaallisut":"Kalaallisut","Kannada":"Kannada","Kashmiri":"Kashmiri","Georgian":"Georgian","Kanuri":"Kanuri","Kazakh":"Kazakh","Khmer":"Khmer","Kikuyu":"Kikuyu","Kinyarwanda":"Kinyarwanda","Kirghiz":"Kirghiz","Komi":"Komi","Kongo":"Kongo","Korean":"Korean","Kuanyama":"Kuanyama","Kurdish":"Kurdish","Lao":"Lao","Latvian":"Latvian","Limburgan":"Limburgan","Lingala":"Lingala","Lithuanian":"Lithuanian","Luxembourgish":"Luxembourgish","Luba-Katanga":"Luba-Katanga","Ganda":"Ganda","Marshallese":"Marshallese","Malayalam":"Malayalam","Marathi":"Marathi","Macedonian":"Macedonian","Malagasy":"Malagasy","Maltese":"Maltese","Mongolian":"Mongolian","Maori":"Maori","Malay (macrolanguage)":"Malay (macrolanguage)","Burmese":"Burmese","Nauru":"Nauru","Navajo":"Navajo","South Ndebele":"South Ndebele","North Ndebele":"North Ndebele","Ndonga":"Ndonga","Nepali (macrolanguage)":"Nepali (macrolanguage)","Dutch":"Dutch","Norwegian Nynorsk":"Norwegian Nynorsk","Norwegian Bokmål":"Norwegian Bokmål","Norwegian":"Norwegian","Nyanja":"Nyanja","Occitan":"Occitan","Ojibwa":"Ojibwa","Oriya (macrolanguage)":"Oriya (macrolanguage)","Oromo":"Oromo","Ossetian":"Ossetian","Panjabi":"Panjabi","Pakistan Sign Language":"Pakistan Sign Language","Polish":"Polish","Portuguese":"Portuguese","Pushto":"Pushto","Quechua":"Quechua","Romansh":"Romansh","Romanian":"Romanian","Russian Sign Language":"Russian Sign Language","Rundi":"Rundi","Russian":"Russian","Sango":"Sango","Saudi Arabian Sign Language":"Saudi Arabian Sign Language","South African Sign Language":"South African Sign Language","Sinhala":"Sinhala","Slovak":"Slovak","Slovenian":"Slovenian","Northern Sami":"Northern Sami","Samoan":"Samoan","Shona":"Shona","Sindhi":"Sindhi","Somali":"Somali","Southern Sotho":"Southern Sotho","Spanish":"Spanish","Albanian":"Albanian","Sardinian":"Sardinian","Serbian":"Serbian","Swati":"Swati","Sundanese":"Sundanese","Swahili (macrolanguage)":"Swahili (macrolanguage)","Swedish":"Swedish","Swedish Sign Language":"Swedish Sign Language","Tahitian":"Tahitian","Tamil":"Tamil","Tatar":"Tatar","Telugu":"Telugu","Tajik":"Tajik","Tagalog":"Tagalog","Thai":"Thai","Tigrinya":"Tigrinya","Klingon":"Klingon","Tonga (Tonga Islands)":"Tonga (Tonga Islands)","Tswana":"Tswana","Tsonga":"Tsonga","Turkmen":"Turkmen","Turkish":"Turkish","Twi":"Twi","Uighur":"Uighur","Ukrainian":"Ukrainian","Urdu":"Urdu","Uzbek":"Uzbek","Venda":"Venda","Vietnamese":"Vietnamese","Walloon":"Walloon","Wolof":"Wolof","Xhosa":"Xhosa","Yiddish":"Yiddish","Yoruba":"Yoruba","Zhuang":"Zhuang","Chinese":"Chinese","Zulu":"Zulu"} \ No newline at end of file diff --git a/client/src/locale/target/server_zh_Hans_CN.json b/client/src/locale/target/server_zh_Hans_CN.json index 726af48d4..b46d901da 100644 --- a/client/src/locale/target/server_zh_Hans_CN.json +++ b/client/src/locale/target/server_zh_Hans_CN.json @@ -1 +1 @@ -{"Music":"音乐","Films":"电影","Vehicles":"汽车","Art":"艺术","Sports":"体育","Travels":"旅游","Gaming":"游戏","People":"人物","Comedy":"喜剧","Entertainment":"娱乐","News & Politics":"新闻和时政","How To":"教程","Education":"教育","Activism":"社会活动","Science & Technology":"科学和技术","Animals":"动物","Kids":"儿童","Food":"美食","Attribution":"署名","Attribution - Share Alike":"署名 - 相同方式共享","Attribution - No Derivatives":"署名 - 禁止演绎","Attribution - Non Commercial":"署名 - 非商业性使用","Attribution - Non Commercial - Share Alike":"署名 - 非商业性使用 - 相同方式共享","Attribution - Non Commercial - No Derivatives":"署名 - 非商业性使用 - 禁止演绎","Public Domain Dedication":"公共领域贡献","Public":"公开","Unlisted":"不公开","Private":"私享","Published":"已发布","To transcode":"转码中","To import":"导入中","Pending":"等待中","Success":"成功","Failed":"失败","Misc":"杂项","Unknown":"未知","Afar":"阿法尔语","Abkhazian":"阿布哈兹语","Afrikaans":"阿非利堪斯语","Akan":"阿坎语","Amharic":"阿姆哈拉语","Arabic":"阿拉伯语","Aragonese":"阿拉贡语","American Sign Language":"美国手语","Assamese":"阿萨姆语","Avaric":"阿瓦尔语","Kotava":"科塔瓦语","Aymara":"艾马拉语","Azerbaijani":"阿塞拜疆语","Bashkir":"巴什基尔语","Bambara":"班巴拉语","Belarusian":"白俄罗斯语","Bengali":"孟加拉语","British Sign Language":"英国手语","Bislama":"比斯拉玛语","Tibetan":"藏语","Bosnian":"波斯尼亚语","Breton":"布列塔尼语","Bulgarian":"保加利亚语","Brazilian Sign Language":"巴西手语","Catalan":"加泰隆语","Czech":"捷克语","Chamorro":"查莫罗语","Chechen":"车臣语","Chuvash":"楚瓦什语","Cornish":"康沃尔语","Corsican":"科西嘉语","Cree":"克里语","Czech Sign Language":"捷克手语","Chinese Sign Language":"中国手语","Welsh":"威尔士语","Danish":"丹麦语","German":"德语","Dhivehi":"迪维希语","Danish Sign Language":"丹麦手语","Dzongkha":"不丹语","English":"英语","Esperanto":"世界语","Estonian":"爱沙尼亚语","Basque":"巴斯克语","Ewe":"埃维语","Faroese":"法罗斯语","Persian":"波斯语","Fijian":"斐济语","Finnish":"芬兰语","French":"法语","Western Frisian":"弗里西亚语","French Sign Language":"法国手语","Fulah":"富拉语","Scottish Gaelic":"苏格兰盖尔语","Irish":"爱尔兰语","Galician":"加利西亚语","Manx":"马恩岛语","Guarani":"瓜拉尼语","German Sign Language":"德国手语","Gujarati":"古吉拉特语","Haitian":"海地语","Hausa":"豪萨语","Serbo-Croatian":"塞尔维亚-克罗地亚语","Hebrew":"希伯来语","Herero":"赫雷罗语","Hindi":"印地语","Hiri Motu":"希里莫图语","Croatian":"克罗地亚语","Hungarian":"匈牙利语","Armenian":"亚美尼亚语","Igbo":"伊博语","Sichuan Yi":"四川彝语","Inuktitut":"伊努伊特语","Indonesian":"印尼语","Inupiaq":"依努庇克语","Icelandic":"冰岛语","Italian":"意大利语","Javanese":"爪哇语","Lojban":"逻辑语","Japanese":"日语","Japanese Sign Language":"日本手语","Kalaallisut":"格陵兰语","Kannada":"坎纳达语","Kashmiri":"克什米尔语","Georgian":"格鲁吉亚语","Kanuri":"卡努里语","Kazakh":"哈萨克语","Khmer":"高棉语","Kikuyu":"基库尤语","Kinyarwanda":"基尼阿万达语","Kirghiz":"吉尔吉斯语","Komi":"科米语","Kongo":"刚果语","Korean":"朝鲜语","Kuanyama":"宽亚玛语","Kurdish":"库尔德语","Lao":"老挝语","Latvian":"拉脱维亚语","Limburgan":"林堡语","Lingala":"林加拉语","Lithuanian":"立陶宛语","Luxembourgish":"卢森堡语","Luba-Katanga":"卢巴-加丹加语","Ganda":"干达语","Marshallese":"马绍尔语","Malayalam":"马拉亚拉姆语","Marathi":"马拉提语","Macedonian":"马其顿语","Malagasy":"马达加斯加语","Maltese":"马耳他语","Mongolian":"蒙古语","Maori":"毛利语","Malay (macrolanguage)":"马来语(广义)","Burmese":"缅甸语","Nauru":"瑙鲁语","Navajo":"纳瓦霍语","South Ndebele":"南恩德贝勒语","North Ndebele":"北恩德贝勒语","Ndonga":"恩敦加语","Nepali (macrolanguage)":"尼泊尔语(广义)","Dutch":"荷兰语","Norwegian Nynorsk":"新挪威语","Norwegian Bokmål":"挪威布克莫尔语","Norwegian":"挪威语","Nyanja":"尼扬贾语","Occitan":"奥克西唐语","Ojibwa":"奥吉布瓦语","Oriya (macrolanguage)":"奥利亚语(广义)","Oromo":"阿芳·奥洛莫语","Ossetian":"奥塞梯语","Panjabi":"旁遮普语","Pakistan Sign Language":"巴基斯坦手语","Polish":"波兰语","Portuguese":"葡萄牙语","Pushto":"普什图语","Quechua":"凯楚亚语","Romansh":"罗曼什语","Romanian":"罗马尼亚语","Russian Sign Language":"俄罗斯手语","Rundi":"基隆迪语","Russian":"俄语","Sango":"桑戈语","Saudi Arabian Sign Language":"沙特阿拉伯手语","South African Sign Language":"南非手语","Sinhala":"僧加罗语","Slovak":"斯洛伐克语","Slovenian":"斯洛文尼亚语","Northern Sami":"北萨米语","Samoan":"萨摩亚语","Shona":"绍纳语","Sindhi":"信德语","Somali":"索马里语","Southern Sotho":"塞索托语","Spanish":"西班牙语","Albanian":"阿尔巴尼亚语","Sardinian":"撒丁语","Serbian":"塞尔维亚语","Swati":"塞斯瓦替语","Sundanese":"巽他语","Swahili (macrolanguage)":"斯瓦希里语(广义)","Swedish":"瑞典语","Swedish Sign Language":"瑞典手语","Tahitian":"塔希提语","Tamil":"泰米尔语","Tatar":"塔塔尔语","Telugu":"泰卢固语","Tajik":"塔吉克语","Tagalog":"他加禄语","Thai":"泰语","Tigrinya":"提格里尼亚语","Klingon":"克林贡语","Tonga (Tonga Islands)":"汤加语","Tswana":"塞茨瓦纳语","Tsonga":"宗加语","Turkmen":"土库曼语","Turkish":"土耳其语","Twi":"特威语","Uighur":"维吾尔语","Ukrainian":"乌克兰语","Urdu":"乌尔都语","Uzbek":"乌兹别克语","Venda":"文达语","Vietnamese":"越南语","Walloon":"沃伦语","Wolof":"沃洛夫语","Xhosa":"科萨语","Yiddish":"依地语","Yoruba":"约鲁巴语","Zhuang":"壮语","Chinese":"汉语","Zulu":"祖鲁语"} \ No newline at end of file +{"Music":"音乐","Films":"电影","Vehicles":"汽车","Art":"艺术","Sports":"体育","Travels":"旅游","Gaming":"游戏","People":"人物","Comedy":"喜剧","Entertainment":"娱乐","News & Politics":"新闻和时政","How To":"教程","Education":"教育","Activism":"社会活动","Science & Technology":"科学和技术","Animals":"动物","Kids":"儿童","Food":"美食","Attribution":"署名","Attribution - Share Alike":"署名 - 相同方式共享","Attribution - No Derivatives":"署名 - 禁止演绎","Attribution - Non Commercial":"署名 - 非商业性使用","Attribution - Non Commercial - Share Alike":"署名 - 非商业性使用 - 相同方式共享","Attribution - Non Commercial - No Derivatives":"署名 - 非商业性使用 - 禁止演绎","Public Domain Dedication":"公共领域贡献","Public":"公开","Unlisted":"不公开","Private":"私享","Published":"已发布","To transcode":"转码中","To import":"导入中","Pending":"等待中","Success":"成功","Failed":"失败","Regular":"正常","Watch later":"稍后再看","This video does not exist.":"此视频不存在","We cannot fetch the video. Please try again later.":"我们无法获取此视频。请稍后再试。","Sorry":"对不起","This video is not available because the remote instance is not responding.":"因为远程实例没有响应,此视频无法播放。","Misc":"杂项","Unknown":"未知","Afar":"阿法尔语","Abkhazian":"阿布哈兹语","Afrikaans":"阿非利堪斯语","Akan":"阿坎语","Amharic":"阿姆哈拉语","Arabic":"阿拉伯语","Aragonese":"阿拉贡语","American Sign Language":"美国手语","Assamese":"阿萨姆语","Avaric":"阿瓦尔语","Kotava":"科塔瓦语","Aymara":"艾马拉语","Azerbaijani":"阿塞拜疆语","Bashkir":"巴什基尔语","Bambara":"班巴拉语","Belarusian":"白俄罗斯语","Bengali":"孟加拉语","British Sign Language":"英国手语","Bislama":"比斯拉玛语","Tibetan":"藏语","Bosnian":"波斯尼亚语","Breton":"布列塔尼语","Bulgarian":"保加利亚语","Brazilian Sign Language":"巴西手语","Catalan":"加泰隆语","Czech":"捷克语","Chamorro":"查莫罗语","Chechen":"车臣语","Chuvash":"楚瓦什语","Cornish":"康沃尔语","Corsican":"科西嘉语","Cree":"克里语","Czech Sign Language":"捷克手语","Chinese Sign Language":"中国手语","Welsh":"威尔士语","Danish":"丹麦语","German":"德语","Dhivehi":"迪维希语","Danish Sign Language":"丹麦手语","Dzongkha":"不丹语","Greek":"希腊语","English":"英语","Esperanto":"世界语","Estonian":"爱沙尼亚语","Basque":"巴斯克语","Ewe":"埃维语","Faroese":"法罗斯语","Persian":"波斯语","Fijian":"斐济语","Finnish":"芬兰语","French":"法语","Western Frisian":"弗里西亚语","French Sign Language":"法国手语","Fulah":"富拉语","Scottish Gaelic":"苏格兰盖尔语","Irish":"爱尔兰语","Galician":"加利西亚语","Manx":"马恩岛语","Guarani":"瓜拉尼语","German Sign Language":"德国手语","Gujarati":"古吉拉特语","Haitian":"海地语","Hausa":"豪萨语","Serbo-Croatian":"塞尔维亚-克罗地亚语","Hebrew":"希伯来语","Herero":"赫雷罗语","Hindi":"印地语","Hiri Motu":"希里莫图语","Croatian":"克罗地亚语","Hungarian":"匈牙利语","Armenian":"亚美尼亚语","Igbo":"伊博语","Sichuan Yi":"四川彝语","Inuktitut":"伊努伊特语","Indonesian":"印尼语","Inupiaq":"依努庇克语","Icelandic":"冰岛语","Italian":"意大利语","Javanese":"爪哇语","Lojban":"逻辑语","Japanese":"日语","Japanese Sign Language":"日本手语","Kalaallisut":"格陵兰语","Kannada":"坎纳达语","Kashmiri":"克什米尔语","Georgian":"格鲁吉亚语","Kanuri":"卡努里语","Kazakh":"哈萨克语","Khmer":"高棉语","Kikuyu":"基库尤语","Kinyarwanda":"基尼阿万达语","Kirghiz":"吉尔吉斯语","Komi":"科米语","Kongo":"刚果语","Korean":"朝鲜语","Kuanyama":"宽亚玛语","Kurdish":"库尔德语","Lao":"老挝语","Latvian":"拉脱维亚语","Limburgan":"林堡语","Lingala":"林加拉语","Lithuanian":"立陶宛语","Luxembourgish":"卢森堡语","Luba-Katanga":"卢巴-加丹加语","Ganda":"干达语","Marshallese":"马绍尔语","Malayalam":"马拉亚拉姆语","Marathi":"马拉提语","Macedonian":"马其顿语","Malagasy":"马达加斯加语","Maltese":"马耳他语","Mongolian":"蒙古语","Maori":"毛利语","Malay (macrolanguage)":"马来语(广义)","Burmese":"缅甸语","Nauru":"瑙鲁语","Navajo":"纳瓦霍语","South Ndebele":"南恩德贝勒语","North Ndebele":"北恩德贝勒语","Ndonga":"恩敦加语","Nepali (macrolanguage)":"尼泊尔语(广义)","Dutch":"荷兰语","Norwegian Nynorsk":"新挪威语","Norwegian Bokmål":"挪威布克莫尔语","Norwegian":"挪威语","Nyanja":"尼扬贾语","Occitan":"奥克西唐语","Ojibwa":"奥吉布瓦语","Oriya (macrolanguage)":"奥利亚语(广义)","Oromo":"阿芳·奥洛莫语","Ossetian":"奥塞梯语","Panjabi":"旁遮普语","Pakistan Sign Language":"巴基斯坦手语","Polish":"波兰语","Portuguese":"葡萄牙语","Pushto":"普什图语","Quechua":"凯楚亚语","Romansh":"罗曼什语","Romanian":"罗马尼亚语","Russian Sign Language":"俄罗斯手语","Rundi":"基隆迪语","Russian":"俄语","Sango":"桑戈语","Saudi Arabian Sign Language":"沙特阿拉伯手语","South African Sign Language":"南非手语","Sinhala":"僧加罗语","Slovak":"斯洛伐克语","Slovenian":"斯洛文尼亚语","Northern Sami":"北萨米语","Samoan":"萨摩亚语","Shona":"绍纳语","Sindhi":"信德语","Somali":"索马里语","Southern Sotho":"塞索托语","Spanish":"西班牙语","Albanian":"阿尔巴尼亚语","Sardinian":"撒丁语","Serbian":"塞尔维亚语","Swati":"塞斯瓦替语","Sundanese":"巽他语","Swahili (macrolanguage)":"斯瓦希里语(广义)","Swedish":"瑞典语","Swedish Sign Language":"瑞典手语","Tahitian":"塔希提语","Tamil":"泰米尔语","Tatar":"塔塔尔语","Telugu":"泰卢固语","Tajik":"塔吉克语","Tagalog":"他加禄语","Thai":"泰语","Tigrinya":"提格里尼亚语","Klingon":"克林贡语","Tonga (Tonga Islands)":"汤加语","Tswana":"塞茨瓦纳语","Tsonga":"宗加语","Turkmen":"土库曼语","Turkish":"土耳其语","Twi":"特威语","Uighur":"维吾尔语","Ukrainian":"乌克兰语","Urdu":"乌尔都语","Uzbek":"乌兹别克语","Venda":"文达语","Vietnamese":"越南语","Walloon":"沃伦语","Wolof":"沃洛夫语","Xhosa":"科萨语","Yiddish":"依地语","Yoruba":"约鲁巴语","Zhuang":"壮语","Chinese":"汉语","Zulu":"祖鲁语"} \ No newline at end of file diff --git a/scripts/build/client.sh b/scripts/build/client.sh index 3c2cf6497..9dfa6c618 100755 --- a/scripts/build/client.sh +++ b/scripts/build/client.sh @@ -41,7 +41,10 @@ if [ -z ${1+x} ] || [ "$1" != "--light" ]; then languages=("fr_FR") else # Supported languages - languages=("nl_NL" "gd" "el_GR" "es_ES" "oc" "pt_BR" "pt_PT" "sv_SE" "pl_PL" "ru_RU" "zh_Hans_CN" "zh_Hant_TW" "fr_FR" "ja_JP" "eu_ES" "ca_ES" "cs_CZ" "eo" "de_DE" "it_IT") + languages=( + "fi_FI" "nl_NL" "gd" "el_GR" "es_ES" "oc" "pt_BR" "pt_PT" "sv_SE" "pl_PL" "ru_RU" "zh_Hans_CN" "zh_Hant_TW" + "fr_FR" "ja_JP" "eu_ES" "ca_ES" "cs_CZ" "eo" "de_DE" "it_IT" + ) fi for lang in "${languages[@]}"; do diff --git a/shared/models/i18n/i18n.ts b/shared/models/i18n/i18n.ts index d115095d0..218fd09ba 100644 --- a/shared/models/i18n/i18n.ts +++ b/shared/models/i18n/i18n.ts @@ -20,6 +20,7 @@ export const I18N_LOCALES = { 'pt-PT': 'Português (Portugal)', 'sv-SE': 'svenska', 'pl-PL': 'Polski', + 'fi-FI': 'suomi', 'ru-RU': 'русский', 'zh-Hans-CN': '简体中文(中国)' } @@ -33,6 +34,7 @@ const I18N_LOCALE_ALIAS = { 'de': 'de-DE', 'es': 'es-ES', 'pt': 'pt-PT', + 'fi': 'fi-FI', 'sv': 'sv-SE', 'pl': 'pl-PL', 'ru': 'ru-RU',