1
0
Fork 0
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEExEqtY4NnkSypPt1XWDphLYkBWb4FAmd7pBwACgkQWDphLYkB
 Wb77VAf7BhlsztZay0gnWgRI8gaJumQEsJcLpSL9sYGGnLESb25E0/7stVt4XvVs
 RMQAP03XF8e2XIDKtX5X/ZvXccaag1LMzIejjv21ihaGZIqL6AVCdrfTDBGlJvno
 2NfuBhQNzdb4em5es9U46+jjwJBlM9EyQWzr0km9M+eReJo4S4PuJSRaCVaGrkxJ
 UWaYgreTQme52yN9rnvd0S9z/+tJ1NXm08uCQxzbYwiiDcXQpHnBOMP3A7dpa9nT
 aUU6zuUeygkT8U0Vyg5QUfhmPSuFLqPlYWySPmfRFPtGAfpT4qIZnLE2tmCdIHIV
 5i39ptd3JJ7VYetzUZnV/xO7btRBCQ==
 =0hQe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEGCBYi9NGimfngx9dVTwOu+tdXwgFAmeSyzcXHGdpdEBrb3Rv
 dmFsZXhhcmlhbi5jb20ACgkQVTwOu+tdXwh7rhAAu9+6ThNBaGya7wqUaz+rpgEU
 tgyd8syOGZiG58f802kxu7k0+rZo6Rm3De4b9a0AAESyIVqhsu2h4ndDMS2U8Tyg
 9ZaQb/ifFWmxxmX8gBElUkJNmscZKWF6Uw88iriFLOQbqFu2LJ8cWTicAkfTbbyu
 4eRboAHOL/8k3A4vo7JVbhG1FXRE1wMvuNTt8e0LzfN8nGcVImLaefhM8q6TV7ge
 yufsGqwY/PWkIqWe61u7Ecu3iWHwz+LztvZGaEZhwlyNdc1LA+wljh6mrh1vmYao
 FLjNDOamz3rQW/rsvRtbKdVAuQqt4oWCq1U5D4H8PJhSyLJHPE7/Fb0GaGD7GIoG
 e9u+X1ucyp8l6pO9uM7siGMVIO/9Yb2LbqNPD+/f8mj+bYOVm0s/BsgJRwhLdYHU
 SIaJajnKheySnsgJkaWQYQLB4H5pkLrfTljFUtNyw5ZrWNzVmXRVhrEfSopcEjeA
 BfWlsg//2qqVq3/cTQNRx/yMogsT9VqXh5iAzIq/E73eFv8IwsdezomW39pPvd1r
 4bOizPvBCVCO3f1MUH2qrFWQ1dnD4LC32HnG70GqFCMtfCedxpnuUaG9uX73ghBt
 yBsX5rFrojMIToSjIH4r0l/8AQ5iLYoslzqJd55XouBBPybwMQS9WcDxURT0M7pE
 J9eFPmMJXS7D4/81rdM=
 =woP4
 -----END PGP SIGNATURE-----

Merge tag 'v7.0.1' into changes

v7.0.1
This commit is contained in:
Alex Kotov 2025-01-24 03:05:26 +04:00
commit ff0d3c2fd1
127 changed files with 102408 additions and 46389 deletions

View file

@ -1,11 +1,32 @@
# Changelog
## v7.0.1
### Features
* Update translations
### Bug fixes
* Fix banner/avatar edit buttons
* Fix banner margin in channels page
* Textarea font size consistency
* Fix subscribe button radius
* Fix channel avatar info username
* Fix maximized markdown textarea
* Remove confusing channel message in *My playlists* pages
* Fix broken infinite scroll when deleting items (Videos, Channels...)
* Fix broadcast message overflow
* Fix adding videos in playlist from discover page
* Fix my videos edit/delete buttons display
* Fix header components overflow in admin log page
## v7.0.0
### IMPORTANT NOTES
* Ensure you have `storage.original_video_files` set in your configuration file: https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L159.
* **Classic install only** (for Docker admins see [v6.3 IMPORTANT NOTES](https://github.com/Chocobozzz/PeerTube/releases/tag/v6.3.0)) Ensure you have `storage.original_video_files` set in your configuration file: https://github.com/Chocobozzz/PeerTube/blob/develop/config/production.yaml.example#L159.
If you did not configure this key but have already enabled "Keep a version of the input file" configuration, original files may have been saved in `versions/peertube-v6.x.x/storage/original-video-files/` directories. If this is the case, you must move these files in the new directory location specified by your `storage.original_video_files` configuration
* Safari desktop versions < 13 are not supported anymore
* iOS versions < 14.5 are not supported anymore

View file

@ -1,6 +1,6 @@
{
"name": "peertube-client",
"version": "7.0.0",
"version": "7.0.1",
"private": true,
"license": "AGPL-3.0",
"author": {

View file

@ -165,7 +165,8 @@ export class EditBasicConfigurationComponent implements OnInit, OnChanges {
links = links.concat([
{ label: $localize`Discover`, path: '/videos/overview' },
{ label: $localize`Browse videos`, path: '/videos/browse' }
{ label: $localize`Browse all videos`, path: '/videos/browse' },
{ label: $localize`Browse local videos`, path: '/videos/browse?scope=local' }
])
this.defaultLandingPageOptions = links.map(o => ({

View file

@ -2,7 +2,7 @@ import { NgFor, NgIf } from '@angular/common'
import { Component, OnInit } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service'
import { ComponentPagination, ConfirmService, hasMoreItems, Notifier } from '@app/core'
import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, resetCurrentPage, updatePaginationOnDelete } from '@app/core'
import { PluginService } from '@app/core/plugins/plugin.service'
import { compareSemVer } from '@peertube/peertube-core-utils'
import { PeerTubePlugin, PluginType, PluginType_Type } from '@peertube/peertube-models'
@ -69,8 +69,8 @@ export class PluginListInstalledComponent implements OnInit {
}
reloadPlugins () {
this.pagination.currentPage = 1
this.plugins = []
resetCurrentPage(this.pagination)
this.loadMorePlugins()
}
@ -143,7 +143,7 @@ export class PluginListInstalledComponent implements OnInit {
this.notifier.success($localize`${plugin.name} uninstalled.`)
this.plugins = this.plugins.filter(p => p.name !== plugin.name)
this.pagination.totalItems--
updatePaginationOnDelete(this.pagination)
this.uninstalling[pluginKey] = false
},

View file

@ -2,7 +2,7 @@ import { NgFor, NgIf } from '@angular/common'
import { Component, OnInit } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { PluginApiService } from '@app/+admin/plugins/shared/plugin-api.service'
import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService } from '@app/core'
import { ComponentPagination, ConfirmService, hasMoreItems, Notifier, PluginService, resetCurrentPage } from '@app/core'
import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { PeerTubePluginIndex, PluginType, PluginType_Type } from '@peertube/peertube-models'
import { logger } from '@root-helpers/logger'
@ -94,7 +94,7 @@ export class PluginSearchComponent implements OnInit {
}
reloadPlugins () {
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.plugins = []
this.loadMorePlugins()

View file

@ -52,6 +52,7 @@
.header {
display: flex;
justify-content: flex-end;
flex-wrap: wrap;
margin-bottom: 10px;
.peertube-select-container {
@ -64,6 +65,8 @@
}
> * {
margin-bottom: 10px;
@include margin-left(10px);
}
}
@ -102,7 +105,6 @@ my-copy-button {
> * {
width: 100% !important;
margin-bottom: 10px !important;
@include margin-left(0 !important);
}

View file

@ -63,7 +63,7 @@
<div class="pt-two-cols mt-5" *ngIf="user.pluginAuth === null"> <!-- two factor auth grid -->
<div class="title-col">
<h2 i18n>Two-factor authentication</h2>
<h2 i18n>TWO-FACTOR AUTHENTICATION</h2>
</div>
<div class="content-col">

View file

@ -1,7 +1,16 @@
import { NgFor, NgIf } from '@angular/common'
import { Component } from '@angular/core'
import { RouterLink } from '@angular/router'
import { AuthService, ComponentPagination, ConfirmService, Notifier, ScreenService, hasMoreItems } from '@app/core'
import {
AuthService,
ComponentPagination,
ConfirmService,
Notifier,
ScreenService,
hasMoreItems,
resetCurrentPage,
updatePaginationOnDelete
} from '@app/core'
import { formatICU } from '@app/helpers'
import { VideoChannel } from '@app/shared/shared-main/channel/video-channel.model'
import { VideoChannelService } from '@app/shared/shared-main/channel/video-channel.service'
@ -12,12 +21,12 @@ import { Subject, first, map, switchMap } from 'rxjs'
import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avatar.component'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { DeferLoadingDirective } from '../../shared/shared-main/common/defer-loading.directive'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { NumberFormatterPipe } from '../../shared/shared-main/common/number-formatter.pipe'
import { DeleteButtonComponent } from '../../shared/shared-main/buttons/delete-button.component'
import { EditButtonComponent } from '../../shared/shared-main/buttons/edit-button.component'
import { ChannelsSetupMessageComponent } from '../../shared/shared-main/channel/channels-setup-message.component'
import { DeferLoadingDirective } from '../../shared/shared-main/common/defer-loading.directive'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { NumberFormatterPipe } from '../../shared/shared-main/common/number-formatter.pipe'
type CustomChartData = (ChartData & { startDate: string, total: number })
@ -75,7 +84,7 @@ export class MyVideoChannelsComponent {
onSearch (search: string) {
this.search = search
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.videoChannels = []
this.pagesDone.clear()
@ -105,6 +114,8 @@ export class MyVideoChannelsComponent {
next: () => {
this.videoChannels = this.videoChannels.filter(c => c.id !== videoChannel.id)
this.notifier.success($localize`Video channel ${videoChannel.displayName} deleted.`)
updatePaginationOnDelete(this.pagination)
},
error: err => this.notifier.error(err.message)

View file

@ -1,7 +1,8 @@
import { NgFor, NgIf } from '@angular/common'
import { Component, OnInit } from '@angular/core'
import { ActivatedRoute } from '@angular/router'
import { AuthService, ComponentPagination, Notifier } from '@app/core'
import { AuthService, ComponentPagination, Notifier, resetCurrentPage } from '@app/core'
import { formatICU } from '@app/helpers'
import { UserSubscriptionService } from '@app/shared/shared-user-subscription/user-subscription.service'
import { ActorFollow } from '@peertube/peertube-models'
import { Subject } from 'rxjs'
@ -9,7 +10,6 @@ import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avat
import { AdvancedInputFilter, AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { formatICU } from '@app/helpers'
@Component({
templateUrl: './my-followers.component.html',
@ -68,7 +68,7 @@ export class MyFollowersComponent implements OnInit {
onSearch (search: string) {
this.search = search
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadFollowers(false)
}

View file

@ -1,16 +1,16 @@
import { Subject } from 'rxjs'
import { NgFor, NgIf } from '@angular/common'
import { Component } from '@angular/core'
import { ComponentPagination, Notifier } from '@app/core'
import { SubscribeButtonComponent } from '../../shared/shared-user-subscription/subscribe-button.component'
import { RouterLink } from '@angular/router'
import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avatar.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { NgIf, NgFor } from '@angular/common'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { ComponentPagination, Notifier, resetCurrentPage } from '@app/core'
import { formatICU } from '@app/helpers'
import { VideoChannel } from '@app/shared/shared-main/channel/video-channel.model'
import { UserSubscriptionService } from '@app/shared/shared-user-subscription/user-subscription.service'
import { formatICU } from '@app/helpers'
import { Subject } from 'rxjs'
import { ActorAvatarComponent } from '../../shared/shared-actor-image/actor-avatar.component'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { SubscribeButtonComponent } from '../../shared/shared-user-subscription/subscribe-button.component'
@Component({
templateUrl: './my-subscriptions.component.html',
@ -55,7 +55,7 @@ export class MySubscriptionsComponent {
onSearch (search: string) {
this.search = search
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadSubscriptions(false)
}

View file

@ -1,7 +1,15 @@
import { NgIf } from '@angular/common'
import { Component, OnInit, ViewChild } from '@angular/core'
import { FormsModule } from '@angular/forms'
import { AuthService, ComponentPagination, ConfirmService, DisableForReuseHook, Notifier, User, UserService } from '@app/core'
import {
AuthService,
ComponentPagination,
ConfirmService,
DisableForReuseHook,
Notifier,
updatePaginationOnDelete,
User,
UserService
} from '@app/core'
import { immutableAssign } from '@app/helpers'
import { ButtonComponent } from '@app/shared/shared-main/buttons/button.component'
import { UserHistoryService } from '@app/shared/shared-main/users/user-history.service'
@ -11,7 +19,6 @@ import { VideosSelectionComponent } from '@app/shared/shared-video-miniature/vid
import { tap } from 'rxjs/operators'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { InputSwitchComponent } from '../../shared/shared-forms/input-switch.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { DeleteButtonComponent } from '../../shared/shared-main/buttons/delete-button.component'
import { PeerTubeTemplateDirective } from '../../shared/shared-main/common/peertube-template.directive'
@ -21,8 +28,6 @@ import { PeerTubeTemplateDirective } from '../../shared/shared-main/common/peert
standalone: true,
imports: [
ButtonComponent,
GlobalIconComponent,
NgIf,
AdvancedInputFilterComponent,
InputSwitchComponent,
FormsModule,
@ -132,6 +137,7 @@ export class MyHistoryComponent implements OnInit, DisableForReuseHook {
.subscribe({
next: () => {
this.videos = this.videos.filter(v => v.id !== video.id)
updatePaginationOnDelete(this.pagination)
},
error: err => this.notifier.error(err.message)

View file

@ -5,6 +5,7 @@ import { AuthService, Notifier, RestPagination, RestTable, ServerService } from
import { VideoChannelSyncService } from '@app/shared/shared-main/channel/video-channel-sync.service'
import { VideoChannelService } from '@app/shared/shared-main/channel/video-channel.service'
import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { AutoColspanDirective } from '@app/shared/shared-main/common/auto-colspan.directive'
import { PTDatePipe } from '@app/shared/shared-main/common/date.pipe'
import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'
import { HTMLServerConfig, VideoChannelSync, VideoChannelSyncState, VideoChannelSyncStateType } from '@peertube/peertube-models'
@ -29,7 +30,8 @@ import { ActionDropdownComponent, DropdownAction } from '../../shared/shared-mai
ActorAvatarComponent,
NgClass,
PTDatePipe,
AlertComponent
AlertComponent,
AutoColspanDirective
]
})
export class MyVideoChannelSyncsComponent extends RestTable implements OnInit {

View file

@ -2,7 +2,7 @@ import { CdkDrag, CdkDragDrop, CdkDropList } from '@angular/cdk/drag-drop'
import { NgFor, NgIf } from '@angular/common'
import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { ComponentPagination, ConfirmService, HooksService, Notifier, ScreenService } from '@app/core'
import { ComponentPagination, ConfirmService, HooksService, Notifier, ScreenService, updatePaginationOnDelete } from '@app/core'
import { ButtonComponent } from '@app/shared/shared-main/buttons/button.component'
import { VideoShareComponent } from '@app/shared/shared-share-modal/video-share.component'
import { VideoPlaylistElement } from '@app/shared/shared-video-playlist/video-playlist-element.model'
@ -121,6 +121,7 @@ export class MyVideoPlaylistElementsComponent implements OnInit, OnDestroy {
const oldFirst = this.findFirst()
this.playlistElements = this.playlistElements.filter(v => v.id !== element.id)
updatePaginationOnDelete(this.pagination)
this.reorderClientPositions(oldFirst)
}
@ -184,13 +185,12 @@ export class MyVideoPlaylistElementsComponent implements OnInit, OnDestroy {
'my-library',
'filter:api.my-library.video-playlist-elements.list.params',
'filter:api.my-library.video-playlist-elements.list.result'
)
.subscribe(({ total, data }) => {
this.playlistElements = this.playlistElements.concat(data)
this.pagination.totalItems = total
).subscribe(({ total, data }) => {
this.playlistElements = this.playlistElements.concat(data)
this.pagination.totalItems = total
this.onDataSubject.next(data)
})
this.onDataSubject.next(data)
})
}
private loadPlaylistInfo () {

View file

@ -1,5 +1,3 @@
<my-channels-setup-message></my-channels-setup-message>
<div class="video-playlists-header d-flex justify-content-between align-items-end gap-2 flex-wrap">
<my-advanced-input-filter (search)="onSearch($event)"></my-advanced-input-filter>

View file

@ -1,20 +1,19 @@
import { Subject } from 'rxjs'
import { mergeMap } from 'rxjs/operators'
import { NgFor, NgIf } from '@angular/common'
import { Component } from '@angular/core'
import { AuthService, ComponentPagination, ConfirmService, Notifier } from '@app/core'
import { VideoPlaylistType } from '@peertube/peertube-models'
import { EditButtonComponent } from '../../shared/shared-main/buttons/edit-button.component'
import { DeleteButtonComponent } from '../../shared/shared-main/buttons/delete-button.component'
import { VideoPlaylistMiniatureComponent } from '../../shared/shared-video-playlist/video-playlist-miniature.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { RouterLink } from '@angular/router'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { ChannelsSetupMessageComponent } from '../../shared/shared-main/channel/channels-setup-message.component'
import { NgIf, NgFor } from '@angular/common'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { AuthService, ComponentPagination, ConfirmService, Notifier, resetCurrentPage, updatePaginationOnDelete } from '@app/core'
import { formatICU } from '@app/helpers'
import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model'
import { VideoPlaylistService } from '@app/shared/shared-video-playlist/video-playlist.service'
import { formatICU } from '@app/helpers'
import { VideoPlaylistType } from '@peertube/peertube-models'
import { Subject } from 'rxjs'
import { mergeMap } from 'rxjs/operators'
import { AdvancedInputFilterComponent } from '../../shared/shared-forms/advanced-input-filter.component'
import { GlobalIconComponent } from '../../shared/shared-icons/global-icon.component'
import { DeleteButtonComponent } from '../../shared/shared-main/buttons/delete-button.component'
import { EditButtonComponent } from '../../shared/shared-main/buttons/edit-button.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { VideoPlaylistMiniatureComponent } from '../../shared/shared-video-playlist/video-playlist-miniature.component'
@Component({
templateUrl: './my-video-playlists.component.html',
@ -23,7 +22,6 @@ import { formatICU } from '@app/helpers'
imports: [
GlobalIconComponent,
NgIf,
ChannelsSetupMessageComponent,
AdvancedInputFilterComponent,
RouterLink,
InfiniteScrollerDirective,
@ -63,8 +61,8 @@ export class MyVideoPlaylistsComponent {
this.videoPlaylistService.removeVideoPlaylist(videoPlaylist)
.subscribe({
next: () => {
this.videoPlaylists = this.videoPlaylists
.filter(p => p.id !== videoPlaylist.id)
this.videoPlaylists = this.videoPlaylists.filter(p => p.id !== videoPlaylist.id)
updatePaginationOnDelete(this.pagination)
this.notifier.success($localize`Playlist ${videoPlaylist.displayName} deleted.`)
},
@ -87,7 +85,7 @@ export class MyVideoPlaylistsComponent {
onSearch (search: string) {
this.search = search
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadVideoPlaylists(true)
}

View file

@ -13,6 +13,8 @@ input[type=text] {
.action-button {
display: flex;
align-self: flex-end;
min-width: 200px;
justify-content: flex-end;
@include margin-left(10px);
}
@ -23,14 +25,6 @@ my-edit-button {
@include on-small-main-col {
.action-button {
margin-top: 10px;
@include margin-left(auto);
}
}
@include on-mobile-main-col {
.action-button {
@include margin-left(0);
margin: 1rem auto 0;
}
}

View file

@ -2,7 +2,16 @@ import { NgIf } from '@angular/common'
import { Component, OnInit, ViewChild } from '@angular/core'
import { FormsModule } from '@angular/forms'
import { ActivatedRoute, Router, RouterLink } from '@angular/router'
import { AuthService, ComponentPagination, ConfirmService, Notifier, ScreenService, ServerService, User } from '@app/core'
import {
AuthService,
ComponentPagination,
ConfirmService,
Notifier,
ScreenService,
ServerService,
updatePaginationOnDelete,
User
} from '@app/core'
import { DisableForReuseHook } from '@app/core/routing/disable-for-reuse-hook'
import { formatICU, immutableAssign } from '@app/helpers'
import { DropdownAction } from '@app/shared/shared-main/buttons/action-dropdown.component'
@ -256,6 +265,8 @@ export class MyVideosComponent implements OnInit, DisableForReuseHook {
private removeVideoFromArray (id: number) {
this.videos = this.videos.filter(v => v.id !== id)
updatePaginationOnDelete(this.pagination)
}
private buildActions () {

View file

@ -4,6 +4,7 @@ import { ActivatedRoute, Router, RouterLink } from '@angular/router'
import { AuthService, HooksService, MetaService, Notifier, ServerService, User, UserService } from '@app/core'
import { immutableAssign, SimpleMemoize } from '@app/helpers'
import { validateHost } from '@app/shared/form-validators/host-validators'
import { GlobalIconComponent } from '@app/shared/shared-icons/global-icon.component'
import { VideoChannel } from '@app/shared/shared-main/channel/video-channel.model'
import { AlertComponent } from '@app/shared/shared-main/common/alert.component'
import { Video } from '@app/shared/shared-main/video/video.model'
@ -21,7 +22,6 @@ import { SubscribeButtonComponent } from '../shared/shared-user-subscription/sub
import { MiniatureDisplayOptions, VideoMiniatureComponent } from '../shared/shared-video-miniature/video-miniature.component'
import { VideoPlaylistMiniatureComponent } from '../shared/shared-video-playlist/video-playlist-miniature.component'
import { SearchFiltersComponent } from './search-filters.component'
import { GlobalIconComponent } from '@app/shared/shared-icons/global-icon.component'
@Component({
selector: 'my-search',
@ -54,6 +54,8 @@ export class SearchComponent implements OnInit, OnDestroy {
currentPage: 1,
totalItems: null as number
}
deletedVideos = 0
advancedSearch: AdvancedSearch = new AdvancedSearch()
isSearchFilterCollapsed = true
currentSearch: string
@ -222,7 +224,10 @@ export class SearchComponent implements OnInit, OnDestroy {
// Add VideoChannel/VideoPlaylist for typings, but the template already checks "video" argument is a video
removeVideoFromArray (video: Video | VideoChannel | VideoPlaylist) {
const previous = this.results
this.results = this.results.filter(r => !this.isVideo(r) || r.id !== video.id)
if (previous.length !== this.results.length) this.deletedVideos++
}
getLinkType (): LinkType {
@ -281,6 +286,7 @@ export class SearchComponent implements OnInit, OnDestroy {
private resetPagination () {
this.pagination.currentPage = 1
this.pagination.totalItems = null
this.deletedVideos = 0
this.results = []
}
@ -305,7 +311,7 @@ export class SearchComponent implements OnInit, OnDestroy {
private getVideosObs () {
const params = {
search: this.currentSearch,
componentPagination: immutableAssign(this.pagination, { itemsPerPage: 10 }),
componentPagination: immutableAssign(this.pagination, { itemsPerPage: 10, itemsRemoved: this.deletedVideos }),
advancedSearch: this.advancedSearch
}

View file

@ -1,13 +1,13 @@
import { Subject, Subscription } from 'rxjs'
import { NgFor, NgIf } from '@angular/common'
import { AfterViewInit, Component, OnDestroy, OnInit } from '@angular/core'
import { ComponentPagination, hasMoreItems, HooksService, ScreenService } from '@app/core'
import { VideoPlaylistMiniatureComponent } from '../../shared/shared-video-playlist/video-playlist-miniature.component'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { NgIf, NgFor } from '@angular/common'
import { ComponentPagination, hasMoreItems, HooksService, resetCurrentPage, ScreenService } from '@app/core'
import { VideoChannel } from '@app/shared/shared-main/channel/video-channel.model'
import { VideoChannelService } from '@app/shared/shared-main/channel/video-channel.service'
import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model'
import { VideoPlaylistService } from '@app/shared/shared-video-playlist/video-playlist.service'
import { Subject, Subscription } from 'rxjs'
import { InfiniteScrollerDirective } from '../../shared/shared-main/common/infinite-scroller.directive'
import { VideoPlaylistMiniatureComponent } from '../../shared/shared-video-playlist/video-playlist-miniature.component'
@Component({
selector: 'my-video-channel-playlists',
@ -46,7 +46,7 @@ export class VideoChannelPlaylistsComponent implements OnInit, AfterViewInit, On
this.hooks.runAction('action:video-channel-playlists.video-channel.loaded', 'video-channel', { videoChannel })
this.videoPlaylists = []
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadVideoPlaylists()
})
}

View file

@ -1,6 +1,6 @@
<div class="root" *ngIf="videoChannel">
<div class="margin-content">
<div class="banner" *ngIf="videoChannel.bannerUrl">
<div class="banner mb-4" *ngIf="videoChannel.bannerUrl">
<img [src]="videoChannel.bannerUrl" alt="Channel banner">
</div>
</div>

View file

@ -170,7 +170,7 @@
<ng-template ngbNavContent>
<div class="captions">
<my-alert type="primary" *ngIf="displayTranscriptionInfo && isTranscriptionEnabled() && !hasCaptions()" i18n>
A subtitle will be automatically generated from your video.
Subtitles will be automatically generated from your video.
</my-alert>
<div class="form-group" *ngFor="let videoCaption of videoCaptions">

View file

@ -412,7 +412,7 @@ export class VideoEditComponent implements OnInit, OnDestroy {
beforeDismiss: () => {
return this.confirmService.confirm(
$localize`Are you sure you want to close this modal without saving your changes?`,
$localize`Closing caption edition mocal`
$localize`Closing caption edition modal`
)
}
})

View file

@ -1,18 +1,26 @@
import { NgClass, NgFor, NgIf } from '@angular/common'
import { Component, EventEmitter, Input, Output } from '@angular/core'
import { Router } from '@angular/router'
import { AuthService, ComponentPagination, HooksService, Notifier, SessionStorageService, UserService } from '@app/core'
import {
AuthService,
ComponentPagination,
HooksService,
Notifier,
SessionStorageService,
updatePaginationOnDelete,
UserService
} from '@app/core'
import { isInViewport } from '@app/helpers'
import { VideoPlaylistElement } from '@app/shared/shared-video-playlist/video-playlist-element.model'
import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model'
import { VideoPlaylistService } from '@app/shared/shared-video-playlist/video-playlist.service'
import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'
import { VideoPlaylistPrivacy } from '@peertube/peertube-models'
import { getBoolOrDefault } from '@root-helpers/local-storage-utils'
import { peertubeSessionStorage } from '@root-helpers/peertube-web-storage'
import { VideoPlaylistPrivacy } from '@peertube/peertube-models'
import { VideoPlaylistElementMiniatureComponent } from '../../../../shared/shared-video-playlist/video-playlist-element-miniature.component'
import { GlobalIconComponent } from '../../../../shared/shared-icons/global-icon.component'
import { NgbTooltip } from '@ng-bootstrap/ng-bootstrap'
import { InfiniteScrollerDirective } from '../../../../shared/shared-main/common/infinite-scroller.directive'
import { NgIf, NgClass, NgFor } from '@angular/common'
import { VideoPlaylist } from '@app/shared/shared-video-playlist/video-playlist.model'
import { VideoPlaylistElement } from '@app/shared/shared-video-playlist/video-playlist-element.model'
import { VideoPlaylistService } from '@app/shared/shared-video-playlist/video-playlist.service'
import { VideoPlaylistElementMiniatureComponent } from '../../../../shared/shared-video-playlist/video-playlist-element-miniature.component'
@Component({
selector: 'my-video-watch-playlist',
@ -74,7 +82,7 @@ export class VideoWatchPlaylistComponent {
onElementRemoved (playlistElement: VideoPlaylistElement) {
this.playlistElements = this.playlistElements.filter(e => e.id !== playlistElement.id)
this.playlistPagination.totalItems--
updatePaginationOnDelete(this.playlistPagination)
}
isPlaylistOwned () {

View file

@ -5,7 +5,7 @@
} @else {
<div class="margin-content quick-access mt-3">
<div #quickAccessContent class="quick-access-links" [ngClass]="{ 'see-all-quick-links': seeAllQuickLinks }">
<span class="me-2 fg-100">Quick access:</span>
<span i18n class="me-2 fg-100">Quick access:</span>
@for (quickAccess of quickAccessLinks; track quickAccess.label) {
<a class="me-2" [routerLink]="quickAccess.routerLink" [queryParams]="quickAccess.queryParams">{{ quickAccess.label }}</a>

View file

@ -20,7 +20,7 @@
<div class="main-row">
<div *ngIf="broadcastMessage" class="broadcast-message alert margin-content" [ngClass]="broadcastMessage.class">
<div [innerHTML]="broadcastMessage.message"></div>
<div class="text-break" [innerHTML]="broadcastMessage.message"></div>
<button
*ngIf="broadcastMessage.dismissable" (click)="hideBroadcastMessage()"

View file

@ -333,27 +333,17 @@ export class AppComponent implements OnInit, AfterViewInit {
new Hotkey('g o', () => {
this.router.navigate([ '/videos/overview' ])
return false
}, $localize`Go to the discover videos page`),
}, $localize`Go to the "Discover videos" page`),
new Hotkey('g t', () => {
this.router.navigate([ '/videos/trending' ])
new Hotkey('g v', () => {
this.router.navigate([ '/videos/browse' ])
return false
}, $localize`Go to the trending videos page`),
new Hotkey('g r', () => {
this.router.navigate([ '/videos/recently-added' ])
return false
}, $localize`Go to the recently added videos page`),
new Hotkey('g l', () => {
this.router.navigate([ '/videos/local' ])
return false
}, $localize`Go to the local videos page`),
}, $localize`Go to the "Browse videos" page`),
new Hotkey('g u', () => {
this.router.navigate([ '/videos/upload' ])
return false
}, $localize`Go to the videos upload page`)
}, $localize`Go to the "Publish video" page`)
])
}

View file

@ -2,11 +2,12 @@ export interface ComponentPagination {
currentPage: number
itemsPerPage: number
totalItems: number
itemsRemoved?: number
}
export type ComponentPaginationLight = Omit<ComponentPagination, 'totalItems'> & { totalItems?: number }
export function hasMoreItems (componentPagination: ComponentPagination) {
export function hasMoreItems (componentPagination: ComponentPaginationLight) {
// No results
if (componentPagination.totalItems === 0) return false
@ -16,3 +17,16 @@ export function hasMoreItems (componentPagination: ComponentPagination) {
const maxPage = componentPagination.totalItems / componentPagination.itemsPerPage
return maxPage > componentPagination.currentPage
}
export function updatePaginationOnDelete (componentPagination: ComponentPagination, itemsDeleted = 1) {
componentPagination.totalItems -= itemsDeleted
if (!componentPagination.itemsRemoved) componentPagination.itemsRemoved = 0
componentPagination.itemsRemoved += itemsDeleted
}
export function resetCurrentPage (componentPagination: ComponentPaginationLight) {
componentPagination.currentPage = 1
componentPagination.itemsRemoved = 0
}

View file

@ -72,10 +72,11 @@ export class RestService {
}
componentToRestPagination (componentPagination: ComponentPaginationLight): RestPagination {
const start: number = (componentPagination.currentPage - 1) * componentPagination.itemsPerPage
const count: number = componentPagination.itemsPerPage
const { currentPage, itemsPerPage, itemsRemoved = 0 } = componentPagination
return { start, count }
const start = Math.max(0, (currentPage - 1) * itemsPerPage - itemsRemoved)
return { start, count: itemsPerPage }
}
/*

View file

@ -67,7 +67,11 @@ export class RedirectService {
}
getDefaultRoute () {
return this.defaultRoute
return this.defaultRoute.split('?')[0]
}
getDefaultRouteQuery () {
return this.router.parseUrl(this.defaultRoute).queryParams
}
getDefaultTrendingSort () {

View file

@ -138,11 +138,11 @@ export class HeaderComponent implements OnInit, OnDestroy {
// ---------------------------------------------------------------------------
getDefaultRoute () {
return this.redirectService.getDefaultRoute().split('?')[0]
return this.redirectService.getDefaultRoute()
}
getDefaultRouteQuery () {
return this.router.parseUrl(this.redirectService.getDefaultRoute()).queryParams
return this.redirectService.getDefaultRouteQuery()
}
// ---------------------------------------------------------------------------

View file

@ -7,7 +7,7 @@
<my-global-icon iconName="help"></my-global-icon>
@if (!collapsed) {
More info
<ng-container i18n>More info</ng-container>
}
</a>
</div>
@ -48,19 +48,19 @@
<nav>
<ng-container *ngFor="let menuSection of menuSections" >
<ul class="ul-unstyle" [ngClass]="[ menuSection.key, 'menu-block' ]">
<li i18n>
<li>
<div class="block-title ellipsis" [ngClass]="{ 'visually-hidden': collapsed }">{{ menuSection.title }}</div>
<ul class="ul-unstyle">
<li *ngFor="let link of menuSection.links">
@if (link.isPrimaryButton === true) {
<my-button class="d-block menu-button" [ngClass]="link.ngClass" theme="primary" [icon]="link.icon" [title]="link.label" [ptRouterLink]="link.path">
<my-button class="d-block menu-button" [ngClass]="link.ngClass" theme="primary" [icon]="link.icon" [title]="link.label" [ptRouterLink]="link.path" [ptQueryParams]="link.query">
@if (!collapsed) {
{{ link.label }}
}
</my-button>
} @else {
<a class="menu-link ellipsis" [routerLink]="link.path" routerLinkActive="active" [ngClass]="link.ngClass" [title]="link.label">
<a class="menu-link ellipsis" [routerLink]="link.path" [queryParams]="link.query" routerLinkActive="active" [ngClass]="link.ngClass" [title]="link.label">
<my-global-icon *ngIf="link.icon" [iconName]="link.icon" [ngClass]="link.iconClass" aria-hidden="true"></my-global-icon>
<span [ngClass]="{ 'visually-hidden': collapsed }">{{ link.label }}</span>
</a>

View file

@ -1,6 +1,6 @@
import { CommonModule } from '@angular/common'
import { Component, OnDestroy, OnInit } from '@angular/core'
import { RouterLink, RouterLinkActive } from '@angular/router'
import { Params, RouterLink, RouterLinkActive } from '@angular/router'
import {
AuthService,
AuthStatus,
@ -14,7 +14,7 @@ import {
import { GlobalIconComponent, GlobalIconName } from '@app/shared/shared-icons/global-icon.component'
import { ButtonComponent } from '@app/shared/shared-main/buttons/button.component'
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'
import { ServerConfig, UserRight } from '@peertube/peertube-models'
import { UserRight } from '@peertube/peertube-models'
import debug from 'debug'
import { of, Subscription } from 'rxjs'
import { first, map, switchMap } from 'rxjs/operators'
@ -26,6 +26,7 @@ type MenuLink = {
label: string
path: string
query?: Params
isPrimaryButton?: boolean // default false
@ -61,8 +62,6 @@ export class MenuComponent implements OnInit, OnDestroy {
private user: AuthUser
private canSeeVideoMakerBlock: boolean
private serverConfig: ServerConfig
private authSub: Subscription
constructor (
@ -100,9 +99,6 @@ export class MenuComponent implements OnInit, OnDestroy {
this.onUserStateChange()
})
this.serverService.getConfig()
.subscribe(config => this.serverConfig = config)
}
ngOnDestroy () {
@ -130,12 +126,13 @@ export class MenuComponent implements OnInit, OnDestroy {
}
private buildQuickLinks (): MenuSection {
const base = {
const base: MenuSection = {
key: 'quick-access',
title: $localize`Quick access`,
links: [
{
path: this.redirectService.getDefaultRoute(),
query: this.redirectService.getDefaultRouteQuery(),
icon: 'home' as GlobalIconName,
label: $localize`Home`
}

View file

@ -24,6 +24,6 @@
[user]="user" [userInformationLoaded]="userInformationLoaded" [reactiveUpdate]="true" [notifyOnUpdate]="true"
></my-user-interface-settings>
<my-button class="mt-2" theme="secondary" icon="language" (click)="changeLanguage()">Change interface language</my-button>
<my-button i18n class="mt-2" theme="secondary" icon="language" (click)="changeLanguage()">Change interface language</my-button>
</div>
</ng-template>

View file

@ -11,7 +11,7 @@
<div *ngIf="hasBanner()" ngbDropdown placement="right">
<button type="button" class="actor-img-edit-button button-file primary-button" ngbDropdownToggle>
<my-global-icon iconName="edit"></my-global-icon>
<label for="bannerMenu" i18n>Change your banner</label>
<span i18n>Change your banner</span>
</button>
<div ngbDropdownMenu>
@ -30,6 +30,6 @@
<ng-template #uploadNewBanner>
<my-global-icon iconName="upload"></my-global-icon>
<span for="bannerfile" i18n>Upload a new banner</span>
<label for="bannerfile" i18n>Upload a new banner</label>
<input #bannerfileInput type="file" name="bannerfile" id="bannerfile" [accept]="bannerExtensions" (change)="onBannerChange(bannerfileInput)"/>
</ng-template>

View file

@ -8,17 +8,17 @@
.actor-img-edit-button {
width: 31px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
@include button-with-icon(19px, 0);
& {
display: flex;
justify-content: center;
cursor: pointer;
}
input {
width: 30px;
height: 30px;
}
}
label {
font-weight: normal;
font-size: inherit;
color: inherit;
margin: 0;
}

View file

@ -2,7 +2,7 @@
<textarea #textarea
[(ngModel)]="content" (ngModelChange)="onModelChange()"
class="form-control" [ngClass]="{ 'input-error': formError }"
[ngClass]="{ 'input-error': formError }"
[attr.disabled]="disabled || null"
[id]="inputId" [name]="inputId" [dir]="dir">
</textarea>

View file

@ -82,7 +82,6 @@ $input-border-radius: 3px;
z-index: #{z(root-header) - 1};
position: fixed;
top: pvar(--header-height);
left: $menu-width;
max-height: none !important;
max-width: none !important;
@ -95,6 +94,8 @@ $input-border-radius: 3px;
background-color: pvar(--bg);
@include left($menu-width);
.nav-preview {
grid-row: 1;
grid-column: 1 / 3;
@ -113,6 +114,9 @@ $input-border-radius: 3px;
border-right: 1px dashed pvar(--input-border-color);
resize: none;
// Prevent "outline" overflow with left menu
box-shadow: none !important;
}
::ng-deep .tab-content {
@ -163,7 +167,8 @@ $input-border-radius: 3px;
:host-context(.main-col.expanded) {
.root.maximized {
left: 0;
width: 100%;
width: calc(100% - #{$menu-collapsed-width});
@include left($menu-collapsed-width);
}
}

View file

@ -21,7 +21,7 @@
@if (isUserLoggedIn()) {
@if (isAllChannelsSubscribed) {
<button type="button" [ngClass]="buttonClasses" class="btn" (click)="unsubscribe()">
<button type="button" [ngClass]="buttonClasses" class="btn last-in-group" (click)="unsubscribe()">
<ng-container i18n>{account + "", select, undefined {Unsubscribe} other {Unsubscribe from all channels}}</ng-container>
</button>
} @else {

View file

@ -3,7 +3,8 @@
<div
*ngIf="isUserLoggedIn() && displayOptions.playlist"
role="button" aria-label="Open video actions" i18n-aria-label
class="playlist-dropdown" ngbDropdown #playlistDropdown="ngbDropdown" autoClose="outside" [placement]="getPlaylistDropdownPlacement()"
class="playlist-dropdown" ngbDropdown #playlistDropdown="ngbDropdown" autoClose="outside"
container="body" [placement]="getPlaylistDropdownPlacement()"
>
<span class="anchor" ngbDropdownAnchor></span>

View file

@ -414,10 +414,10 @@ export class VideoActionsDropdownComponent implements OnChanges {
getPlaylistDropdownPlacement () {
if (this.screenService.isInSmallView()) {
return 'bottom-right'
return 'bottom-right auto'
}
return 'bottom-left bottom-right'
return 'bottom-left bottom-right auto'
}
private buildActions () {

View file

@ -24,7 +24,8 @@
>
<ng-container *ngIf="highlightedLives.length !== 0">
<h2 class="date-title">
<my-global-icon class="pt-icon me-1 top--1px" iconName="live"></my-global-icon> Current lives
<my-global-icon class="pt-icon me-1 top--1px" iconName="live"></my-global-icon>
<ng-container i18n>Current lives</ng-container>
</h2>
<ng-container *ngFor="let live of highlightedLives; trackBy: videoById;">
@ -32,7 +33,7 @@
<my-video-miniature
[video]="live" [user]="userMiniature" [displayAsRow]="displayAsRow"
[displayVideoActions]="displayVideoActions" [displayOptions]="displayOptions"
(videoBlocked)="removeVideoFromArray(live)" (liveRemoved)="removeVideoFromArray(live)"
(videoBlocked)="removeVideoFromArray(live)" (videoRemoved)="removeVideoFromArray(live)"
>
</my-video-miniature>
</div>

View file

@ -3,12 +3,15 @@ import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, S
import { ActivatedRoute } from '@angular/router'
import {
AuthService,
ComponentPagination,
ComponentPaginationLight,
Notifier,
PeerTubeRouterService,
ScreenService,
User,
UserService
UserService,
resetCurrentPage,
updatePaginationOnDelete
} from '@app/core'
import { GlobalIconComponent, GlobalIconName } from '@app/shared/shared-icons/global-icon.component'
import { isLastMonth, isLastWeek, isThisMonth, isToday, isYesterday } from '@peertube/peertube-core-utils'
@ -112,9 +115,10 @@ export class VideosListComponent implements OnInit, OnChanges, OnDestroy {
private userSub: Subscription
private resizeSub: Subscription
private pagination: ComponentPaginationLight = {
private pagination: ComponentPagination = {
currentPage: 1,
itemsPerPage: 25
itemsPerPage: 25,
totalItems: null
}
private groupedDateLabels: { [id in GroupDate]: string }
@ -149,7 +153,7 @@ export class VideosListComponent implements OnInit, OnChanges, OnDestroy {
: []
this.filters = new VideoFilters(this.defaultSort, this.defaultScope, hiddenFilters)
this.filters.load({ ...this.route.snapshot.queryParams, scope: this.defaultScope })
this.filters.load({ scope: this.defaultScope, ...this.route.snapshot.queryParams })
this.groupedDateLabels = {
[GroupDate.UNKNOWN]: null,
@ -276,12 +280,17 @@ export class VideosListComponent implements OnInit, OnChanges, OnDestroy {
}
reloadVideos () {
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadMoreVideos(true)
}
removeVideoFromArray (video: Video) {
this.videos = this.videos.filter(v => v.id !== video.id)
if (this.videos.some(v => v.id === video.id)) {
this.videos = this.videos.filter(v => v.id !== video.id)
updatePaginationOnDelete(this.pagination)
}
this.highlightedLives = this.highlightedLives.filter(v => v.id !== video.id)
}

View file

@ -17,19 +17,16 @@
[displayVideoActions]="false" [user]="user"
></my-video-miniature>
<!-- Display only once -->
<div class="action-selection-mode" *ngIf="isInSelectionMode() === true && i === 0">
<div class="action-selection-mode-child">
<button i18n class="cancel-selection peertube-button secondary-button me-2" (click)="abortSelectionMode()">
Cancel
</button>
<ng-container *ngTemplateOutlet="globalButtonsTemplate"></ng-container>
</div>
</div>
<ng-container *ngIf="isInSelectionMode() === false">
@if (isInSelectionMode() === false) {
<ng-container *ngTemplateOutlet="rowButtonsTemplate; context: {$implicit: video}"></ng-container>
</ng-container>
}
</div>
</div>
<div class="action-selection-mode" *ngIf="isInSelectionMode() === true">
<button i18n class="cancel-selection peertube-button secondary-button me-2" (click)="abortSelectionMode()">
Cancel
</button>
<ng-container *ngTemplateOutlet="globalButtonsTemplate"></ng-container>
</div>

View file

@ -2,14 +2,10 @@
@use '_mixins' as *;
.action-selection-mode {
display: flex;
justify-content: flex-end;
flex-grow: 1;
}
.action-selection-mode-child {
position: fixed;
display: flex;
bottom: 1rem;
@include right(#{pvar(--x-margin-content)});
.action-button {
display: block;
@ -39,16 +35,16 @@
}
}
@include on-mobile-main-col {
@include on-small-main-col {
.video {
flex-wrap: wrap;
}
.checkbox-container {
display: none;
display: none !important;
}
.action-selection-mode {
display: none; // disable for small screens
display: none !important; // disable for small screens
}
}

View file

@ -1,16 +1,16 @@
import { Observable, Subject } from 'rxjs'
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common'
import { AfterContentInit, Component, ContentChildren, EventEmitter, Input, Output, QueryList, TemplateRef } from '@angular/core'
import { ComponentPagination, Notifier, User } from '@app/core'
import { logger } from '@root-helpers/logger'
import { FormsModule } from '@angular/forms'
import { ComponentPagination, Notifier, resetCurrentPage, User } from '@app/core'
import { objectKeysTyped } from '@peertube/peertube-core-utils'
import { ResultList, VideosExistInPlaylists, VideoSortField } from '@peertube/peertube-models'
import { MiniatureDisplayOptions, VideoMiniatureComponent } from './video-miniature.component'
import { FormsModule } from '@angular/forms'
import { logger } from '@root-helpers/logger'
import { Observable, Subject } from 'rxjs'
import { PeertubeCheckboxComponent } from '../shared-forms/peertube-checkbox.component'
import { InfiniteScrollerDirective } from '../shared-main/common/infinite-scroller.directive'
import { NgIf, NgFor, NgTemplateOutlet } from '@angular/common'
import { Video } from '../shared-main/video/video.model'
import { PeerTubeTemplateDirective } from '../shared-main/common/peertube-template.directive'
import { Video } from '../shared-main/video/video.model'
import { MiniatureDisplayOptions, VideoMiniatureComponent } from './video-miniature.component'
export type SelectionType = { [ id: number ]: boolean }
@ -145,11 +145,7 @@ export class VideosSelectionComponent implements AfterContentInit {
}
reloadVideos () {
this.pagination.currentPage = 1
resetCurrentPage(this.pagination)
this.loadMoreVideos(true)
}
removeVideoFromArray (video: Video) {
this.videos = this.videos.filter(v => v.id !== video.id)
}
}

View file

@ -21,7 +21,7 @@
<my-actor-avatar-edit
*ngIf="videoChannel" class="d-block mb-4" actorType="channel"
[displayName]="videoChannel.displayName" [previewImage]="isCreation()" [avatars]="videoChannel.avatars"
[username]="!isCreation() && videoChannel.displayName" [subscribers]="!isCreation() && videoChannel.followersCount"
[username]="!isCreation() && videoChannel.name" [subscribers]="!isCreation() && videoChannel.followersCount"
(avatarChange)="onAvatarChange($event)" (avatarDelete)="onAvatarDelete()"
></my-actor-avatar-edit>

View file

@ -44,7 +44,6 @@ class SettingsButton extends Button {
this.panelChild = this.panel.addChild('settingsPanelChild')
this.addClass('vjs-settings')
this.el().setAttribute('aria-label', 'Settings Button')
// Event handlers
this.addSettingsItemHandler = this.onAddSettingsItem.bind(this)

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -4192,17 +4192,17 @@
<context context-type="linenumber">65</context>
</context-group>
</trans-unit>
<trans-unit id="9221735175659318025" datatype="html">
<trans-unit id="9221735175659318025" datatype="html" xml:space="preserve">
<source>1 subscriber</source>
<target>1 abonné·e</target>
<target state="translated">1 abonné·e</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+accounts/accounts.component.ts</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="4097331874769079975" datatype="html">
<trans-unit id="4097331874769079975" datatype="html" xml:space="preserve">
<source><x id="PH" equiv-text="count"/> subscribers</source>
<target><x id="PH" equiv-text="count"/> abonné·es</target>
<target state="translated"><x id="PH" equiv-text="count"/> abonné·es</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+accounts/accounts.component.ts</context>
<context context-type="linenumber">101</context>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -1460,7 +1460,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">221</context>
</context-group>
</trans-unit>
<trans-unit id="8726138323871139597" datatype="html">
@ -1520,7 +1520,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">232</context>
<context context-type="linenumber">229</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.html</context>
@ -2592,7 +2592,7 @@
<target state="translated">Uključio/la si mogućnost za registraciju: dolje smo automatski uključili opciju „Automatski blokiraj nova videa” u odjeljku „Videa”.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="1035838766454786107" datatype="html">
@ -4884,7 +4884,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-abuse-list/abuse-list-table.component.ts</context>
@ -8256,15 +8256,14 @@ The link will expire within 1 hour.</source>
<context context-type="sourcefile">src/app/+my-account/my-account-settings/my-account-settings.component.html</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="3892825090402620438" datatype="html">
<source>Two-factor authentication</source>
<target state="translated">Dvofaktorska autentifikacija</target>
</trans-unit><trans-unit id="4543888618160534551" datatype="html">
<source>TWO-FACTOR AUTHENTICATION</source><target state="new">TWO-FACTOR AUTHENTICATION</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-account/my-account-settings/my-account-settings.component.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">66,67</context>
</context-group>
</trans-unit>
<trans-unit id="9012586956848595996" datatype="html">
<source>EMAIL</source>
<target state="translated">E-MAIL ADRESA</target>
@ -8474,7 +8473,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">240</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="1137937154872046253" datatype="html">
@ -8686,7 +8685,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Za potvrđivanje upiši ime videokanala (<x id="PH" equiv-text="videoChannel.name"/>)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">104</context>
</context-group>
</trans-unit>
<trans-unit id="624066830180032195" datatype="html">
@ -8694,7 +8693,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Videokanal <x id="PH" equiv-text="videoChannel.displayName"/> izbrisan.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">116</context>
</context-group>
</trans-unit>
<trans-unit id="6450826648284332649" datatype="html">
@ -8702,7 +8701,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Gledanja dana</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">158</context>
</context-group>
</trans-unit>
<trans-unit id="6184963353282561988" datatype="html" xml:space="preserve">
@ -8710,7 +8709,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="data.total"/> {value, plural, =1 {gledanje} few {gledanja} other {gledanja}} od <x id="PH_1" equiv-text="data.startDate"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">235</context>
</context-group>
</trans-unit>
<trans-unit id="6337200167647767274" datatype="html">
@ -8718,7 +8717,7 @@ The link will expire within 1 hour.</source>
<target state="new"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {channel} other {channels}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">229</context>
<context context-type="linenumber">240</context>
</context-group>
</trans-unit>
<trans-unit id="7440637814928143808" datatype="html">
@ -8770,7 +8769,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="782403351079933650" datatype="html">
@ -8810,7 +8809,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Povijest videa je uključena</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">118</context>
<context context-type="linenumber">123</context>
</context-group>
</trans-unit>
<trans-unit id="1869266307786648674" datatype="html">
@ -8818,7 +8817,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Povijest videa je isključena</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">119</context>
<context context-type="linenumber">124</context>
</context-group>
</trans-unit>
<trans-unit id="7505147502630555700" datatype="html">
@ -8826,7 +8825,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Izbriši povijest videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="8676027102068252963" datatype="html">
@ -8834,7 +8833,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Stvarno želiš izbrisati svu povijest tvojih videa?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">149</context>
</context-group>
</trans-unit>
<trans-unit id="7708910304029766516" datatype="html">
@ -8842,7 +8841,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Povijest videa izbrisana</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">157</context>
</context-group>
</trans-unit>
<trans-unit id="3343758569423394070" datatype="html">
@ -8850,7 +8849,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Nije pronađen nijedan video za „<x id="PH" equiv-text="this.search"/>”.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="4781078006040259916" datatype="html">
@ -8858,7 +8857,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Još nemaš nijedan video u tvojoj povijesti gledanja.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">165</context>
<context context-type="linenumber">171</context>
</context-group>
</trans-unit>
<trans-unit id="1486537403020619891" datatype="html">
@ -8866,7 +8865,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Moja povijest gledanja</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">72</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="949618577357088829" datatype="html">
@ -8938,7 +8937,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">190</context>
<context context-type="linenumber">187</context>
</context-group>
</trans-unit>
<trans-unit id="3897348120591552265" datatype="html" xml:space="preserve">
@ -9082,7 +9081,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Uvozi lista</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">73</context>
</context-group>
</trans-unit>
<trans-unit id="6587439290311664751" datatype="html">
@ -9090,7 +9089,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Sinkroniziaj kanal potpuno</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">84</context>
<context context-type="linenumber">86</context>
</context-group>
</trans-unit>
<trans-unit id="2070181811140868440" datatype="html">
@ -9098,7 +9097,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Ovo dohvaća sva videa koji nedostaju na lokalnom kanalu</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">85</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="3997040276213089746" datatype="html">
@ -9106,7 +9105,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Sinkronizacija je uspješno uklonjena za <x id="PH" equiv-text="videoChannelSync.channel.displayName"/>.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">126</context>
</context-group>
</trans-unit>
<trans-unit id="2933174785300975212" datatype="html">
@ -9114,7 +9113,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Potpuna sinkronizacija je uspješno zatražena za <x id="PH" equiv-text="videoChannelSync.channel.displayName"/>.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">137</context>
<context context-type="linenumber">139</context>
</context-group>
</trans-unit>
<trans-unit id="6985972846000785992" datatype="html">
@ -9482,15 +9481,15 @@ The link will expire within 1 hour.</source>
<target state="translated">Stvarno želiš izbrisati <x id="PH" equiv-text="videoPlaylist.displayName"/>?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">87</context>
<context context-type="linenumber">96</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">56</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts</context>
@ -9502,7 +9501,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Izbrisat će {count, plural, =1 {1 preneseni video} few {<x id="count"/> prenesena videa} other {<x id="count"/> prenesenih videa}} u ovom kanalu i nećeš moći stvoriti drugi kanal ili račun s istim imenom ( <x id="PH" equiv-text="videoChannel.name"/>)!</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="3380608219513805292" datatype="html">
@ -9510,11 +9509,11 @@ The link will expire within 1 hour.</source>
<target state="translated">Playlista <x id="PH" equiv-text="videoPlaylist.displayName"/> izbrisana.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">159</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">69</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="1431617394009162547" datatype="html">
@ -9538,7 +9537,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Stvori playlistu</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">8</context>
</context-group>
</trans-unit>
<trans-unit id="4752280144823756067" datatype="html">
@ -9546,7 +9545,7 @@ The link will expire within 1 hour.</source>
<target state="new"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {playlist} other {playlists}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">97</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="2191782228095209497" datatype="html" xml:space="preserve">
@ -9558,7 +9557,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">208</context>
</context-group>
</trans-unit>
<trans-unit id="4561174610228620528" datatype="html">
@ -9622,7 +9621,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Samo videa uživo</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="9157178301885999151" datatype="html">
@ -9630,7 +9629,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Stvarno želiš izbrisati {length, plural, =1 {ovaj video} other {<x id="length"/> videa}}?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">209</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="3058024914967508975" datatype="html">
@ -9638,7 +9637,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Moja videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">124</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/routes.ts</context>
@ -9714,23 +9713,23 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">99</context>
<context context-type="linenumber">108</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">57</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">221</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/comment/video-comments.component.ts</context>
@ -9826,7 +9825,7 @@ The link will expire within 1 hour.</source>
<target state="translated">{length, plural, =1 {video je izbrisan} few {<x id="length"/> videa su izbrisana} other {<x id="length"/> videa je izbrisano}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">230</context>
<context context-type="linenumber">239</context>
</context-group>
</trans-unit>
<trans-unit id="705850529168776436" datatype="html">
@ -9834,7 +9833,7 @@ The link will expire within 1 hour.</source>
<target state="new"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {video} other {videos}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">252</context>
<context context-type="linenumber">261</context>
</context-group>
</trans-unit>
<trans-unit id="2767660806989176400" datatype="html">
@ -9926,7 +9925,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="6595008830732269870" datatype="html">
@ -10553,7 +10552,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">291</context>
<context context-type="linenumber">297</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/header/search-typeahead.component.html</context>
@ -10621,7 +10620,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Indeks pretraživanja nije dostupan. Umjesto toga, ponovo se pokušava s rezultatima instance.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">194</context>
</context-group>
</trans-unit>
<trans-unit id="307702206382241469" datatype="html">
@ -10629,7 +10628,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Greška pretrage</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="2357625293346946918" datatype="html">
@ -10637,7 +10636,7 @@ The link will expire within 1 hour.</source>
<target state="new"><x id="PH" equiv-text="this.numberOfFilters()"/> active filters, open the filters panel</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">283</context>
</context-group>
</trans-unit>
<trans-unit id="6183000905044663854" datatype="html">
@ -10645,7 +10644,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Traži <x id="PH" equiv-text="this.currentSearch"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">296</context>
</context-group>
</trans-unit>
<trans-unit id="8491751845906232809" datatype="html">
@ -10653,7 +10652,7 @@ The link will expire within 1 hour.</source>
<target state="translated">Filtar host računala PeerTube instance je neispravan</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">371</context>
</context-group>
</trans-unit>
<trans-unit id="8980375993935541237" datatype="html">
@ -11998,9 +11997,9 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">2,4</context>
</context-group>
</trans-unit>
<trans-unit id="2086067688023636903" datatype="html">
<trans-unit id="2086067688023636903" datatype="html" xml:space="preserve">
<source>Raw edition</source>
<target state="new">Raw edition</target>
<target state="translated">Neobrađeno izdanje</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/caption/video-caption-edit-modal-content.component.html</context>
<context context-type="linenumber">21,22</context>
@ -12262,9 +12261,9 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">239</context>
</context-group>
</trans-unit>
<trans-unit id="5153270828945387960" datatype="html">
<trans-unit id="5153270828945387960" datatype="html" xml:space="preserve">
<source>Chapters can also be set in the video description. Check the format <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://docs.joinpeertube.org/use/create-upload-video#chapters&quot; target=&quot;_blank&quot;>"/>in the PeerTube documentation<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></source>
<target state="new"> Chapters can also be set in the video description. Check the format <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://docs.joinpeertube.org/use/create-upload-video#chapters&quot; target=&quot;_blank&quot;>"/>in the PeerTube documentation<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></target>
<target state="translated">Poglavlja se također mogu postaviti u opisu videa. Pregledaj format <x id="START_LINK" ctype="x-a" equiv-text="&lt;a href=&quot;https://docs.joinpeertube.org/use/create-upload-video#chapters&quot; target=&quot;_blank&quot;>"/>u PeerTube dokumentaciji<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.html</context>
<context context-type="linenumber">245</context>
@ -12688,9 +12687,9 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="linenumber">412</context>
</context-group>
</trans-unit>
<trans-unit id="3783295829532094714" datatype="html">
<source>Closing caption edition mocal</source>
<target state="new">Closing caption edition mocal</target>
<trans-unit id="6462253230140191250" datatype="html">
<source>Closing caption edition modal</source>
<target state="new">Closing caption edition modal</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.ts</context>
<context context-type="linenumber">413</context>
@ -13154,7 +13153,7 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">199</context>
</context-group>
</trans-unit>
<trans-unit id="3284171506518522275" datatype="html">
@ -13537,9 +13536,9 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="linenumber">14</context>
</context-group>
</trans-unit>
<trans-unit id="3470970355101730705" datatype="html">
<trans-unit id="3470970355101730705" datatype="html" xml:space="preserve">
<source>Pending review</source>
<target state="new">Pending review</target>
<target state="translated">Čeka pregled</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/comment/video-comment.component.html</context>
<context context-type="linenumber">31</context>
@ -14026,7 +14025,7 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<target state="translated">Prekini automatsku reprodukciju sljedećeg videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">258</context>
<context context-type="linenumber">266</context>
</context-group>
</trans-unit>
<trans-unit id="5149234672404299151" datatype="html">
@ -14034,7 +14033,7 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<target state="translated">Automatski pokreni sljedeći video</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">267</context>
</context-group>
</trans-unit>
<trans-unit id="5870421136141540382" datatype="html">
@ -14042,7 +14041,7 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<target state="translated">Prekini ponavljanje videa playliste</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">264</context>
<context context-type="linenumber">272</context>
</context-group>
</trans-unit>
<trans-unit id="1599585307037758139" datatype="html">
@ -14050,7 +14049,7 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<target state="translated">Ponavljaj videa playliste</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">273</context>
</context-group>
</trans-unit>
<trans-unit id="1254111869788332501" datatype="html">
@ -14317,9 +14316,9 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="linenumber">151</context>
</context-group>
</trans-unit>
<trans-unit id="8383362541941827528" datatype="html">
<trans-unit id="8383362541941827528" datatype="html" xml:space="preserve">
<source>Cannot load transcript: <x id="PH" equiv-text="err.message"/></source>
<target state="new">Cannot load transcript: <x id="PH" equiv-text="err.message"/></target>
<target state="translated">Neuspjelo učitavanje transkripcije: <x id="PH" equiv-text="err.message"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-transcription.component.ts</context>
<context context-type="linenumber">179</context>
@ -14729,13 +14728,25 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="linenumber">43</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html" xml:space="preserve">
<source>Browse videos</source>
<target state="translated">Pregledaj videa</target>
<trans-unit id="6699890091238112345" datatype="html" xml:space="preserve">
<source>Browse all videos</source>
<target state="translated">Pregledaj sva videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="5174743927852553765" datatype="html" xml:space="preserve">
<source>Browse local videos</source>
<target state="translated">Pregledaj lokalna videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">169</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html" xml:space="preserve">
<source>Browse videos</source>
<target state="translated">Pregledaj videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/videos-list-all.component.html</context>
<context context-type="linenumber">1</context>
@ -14761,6 +14772,14 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="5439080010715965293" datatype="html" xml:space="preserve">
<source>Quick access:</source>
<target state="translated">Brzi pristup:</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/overview/video-overview.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="5937251202465808296" datatype="html" xml:space="preserve">
<source>More</source>
<target state="translated">Više</target>
@ -14992,47 +15011,30 @@ Kada se video prenese na ovaj kanal, polje za video podršku će se automatski i
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">331</context>
</context-group>
</trans-unit>
<trans-unit id="5409372033656550095" datatype="html">
<source>Go to the discover videos page</source>
<target state="translated">Idi na stranicu za otkrivanje videa</target>
</trans-unit><trans-unit id="4482153685775394919" datatype="html">
<source>Go to the "Discover videos" page</source><target state="new">Go to the "Discover videos" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">336</context>
</context-group>
</trans-unit>
<trans-unit id="4278050445961255445" datatype="html">
<source>Go to the trending videos page</source>
<target state="translated">Idi na stranicu videa u trendu</target>
</trans-unit><trans-unit id="6123131701694052862" datatype="html">
<source>Go to the "Browse videos" page</source><target state="new">Go to the "Browse videos" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">341</context>
</context-group>
</trans-unit>
<trans-unit id="3242234958443825475" datatype="html">
<source>Go to the recently added videos page</source>
<target state="translated">Idi na stranicu nedavno dodanih videa</target>
</trans-unit><trans-unit id="5260039955239962053" datatype="html">
<source>Go to the "Publish video" page</source><target state="new">Go to the "Publish video" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">346</context>
</context-group>
</trans-unit>
<trans-unit id="2887122197778293919" datatype="html">
<source>Go to the local videos page</source>
<target state="translated">Idi na stranicu lokalnih videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">351</context>
</context-group>
</trans-unit>
<trans-unit id="8009065619559214982" datatype="html">
<source>Go to the videos upload page</source>
<target state="translated">Idi na stranicu prijenosa videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">356</context>
</context-group>
</trans-unit>
<trans-unit id="3779524668013120370" datatype="html">
<source>Go to my subscriptions</source>
<target state="translated">Idi na moje pretplate</target>
@ -15135,7 +15137,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">140</context>
<context context-type="linenumber">137</context>
</context-group>
</trans-unit>
<trans-unit id="314315645942131479" datatype="html">
@ -15290,9 +15292,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">116</context>
</context-group>
</trans-unit>
<trans-unit id="63077766244971546" datatype="html">
<trans-unit id="63077766244971546" datatype="html" xml:space="preserve">
<source>Comments may require approval depending on your auto tag policies</source>
<target state="new">Comments may require approval depending on your auto tag policies</target>
<target state="translated">Komentari mogu zahtijevati odobrenje ovisno o tvojim pravilima za automatsko označavanje</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/core/server/server.service.ts</context>
<context context-type="linenumber">117</context>
@ -15533,6 +15535,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">5</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">10</context>
</context-group>
</trans-unit>
<trans-unit id="3980731018496292351" datatype="html">
<source>Display the lateral menu</source>
@ -15550,14 +15556,6 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="8069878177741227309" datatype="html">
<source><x id="START_TAG_DIV" ctype="x-div" equiv-text="&lt;div class=&quot;block-title ellipsis&quot; [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION" equiv-text="{{ menuSection.title }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="&lt;/div>"/><x id="START_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;ul class=&quot;ul-unstyle&quot;>"/><x id="START_LIST_ITEM" ctype="x-li" equiv-text="&lt;li *ngFor=&quot;let link of menuSection.links&quot;>"/><x id="START_BLOCK_IF_1" equiv-text="@if (link.isPrimaryButton === true) {"/><x id="START_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;my-button class=&quot;d-block menu-button&quot; theme=&quot;primary&quot; [icon]=&quot;link.icon&quot; [ariaLabel]=&quot;link.label&quot; [ptRouterLink]=&quot;link.path&quot;>"/><x id="START_BLOCK_IF" equiv-text="@if (!collapsed) {"/> <x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/> <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="CLOSE_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;/my-button>"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/><x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;menu-link ellipsis&quot; [routerLink]=&quot;link.path&quot; routerLinkActive=&quot;active&quot;>"/><x id="START_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;my-global-icon *ngIf=&quot;link.icon&quot; [iconName]=&quot;link.icon&quot; [ngClass]=&quot;link.iconClass&quot; aria-hidden=&quot;true&quot;>"/><x id="CLOSE_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;/my-global-icon>"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span>"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/><x id="CLOSE_BLOCK_ELSE" equiv-text="}"/><x id="CLOSE_LIST_ITEM" ctype="x-li" equiv-text="&lt;/li>"/><x id="CLOSE_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;/ul>"/></source>
<target state="new"><x id="START_TAG_DIV" ctype="x-div" equiv-text="&lt;div class=&quot;block-title ellipsis&quot; [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION" equiv-text="{{ menuSection.title }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="&lt;/div>"/><x id="START_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;ul class=&quot;ul-unstyle&quot;>"/><x id="START_LIST_ITEM" ctype="x-li" equiv-text="&lt;li *ngFor=&quot;let link of menuSection.links&quot;>"/><x id="START_BLOCK_IF_1" equiv-text="@if (link.isPrimaryButton === true) {"/><x id="START_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;my-button class=&quot;d-block menu-button&quot; theme=&quot;primary&quot; [icon]=&quot;link.icon&quot; [ariaLabel]=&quot;link.label&quot; [ptRouterLink]=&quot;link.path&quot;>"/><x id="START_BLOCK_IF" equiv-text="@if (!collapsed) {"/> <x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/> <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="CLOSE_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;/my-button>"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/><x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;menu-link ellipsis&quot; [routerLink]=&quot;link.path&quot; routerLinkActive=&quot;active&quot;>"/><x id="START_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;my-global-icon *ngIf=&quot;link.icon&quot; [iconName]=&quot;link.icon&quot; [ngClass]=&quot;link.iconClass&quot; aria-hidden=&quot;true&quot;>"/><x id="CLOSE_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;/my-global-icon>"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span>"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/><x id="CLOSE_BLOCK_ELSE" equiv-text="}"/><x id="CLOSE_LIST_ITEM" ctype="x-li" equiv-text="&lt;/li>"/><x id="CLOSE_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;/ul>"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">52</context>
</context-group>
</trans-unit>
<trans-unit id="3433184700415677129" datatype="html" xml:space="preserve">
<source>Platform powered by <x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;&quot; href=&quot;https://joinpeertube.org&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;>"/>PeerTube<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></source>
<target state="translated">Platformu pokreće <x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;&quot; href=&quot;https://joinpeertube.org&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;>"/>PeerTube<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></target>
@ -15579,7 +15577,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Brzi pristup</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">135</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="5464118521750361406" datatype="html">
@ -15643,7 +15641,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">176</context>
<context context-type="linenumber">173</context>
</context-group>
</trans-unit>
<trans-unit id="7844706011418789951" datatype="html">
@ -15655,7 +15653,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">247</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="8936704404804793618" datatype="html">
@ -15691,7 +15689,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">193</context>
</context-group>
</trans-unit>
<trans-unit id="1823843876735462104" datatype="html">
@ -15711,7 +15709,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="1812379335568847528" datatype="html">
@ -15731,7 +15729,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="186236568870281953" datatype="html">
@ -15743,7 +15741,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="4116024528500133384" datatype="html">
@ -15930,9 +15928,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">1</context>
</context-group>
</trans-unit>
<trans-unit id="315406341700403563" datatype="html">
<trans-unit id="315406341700403563" datatype="html" xml:space="preserve">
<source>These automatic tags can be used to filter comments or <x id="START_LINK" ctype="x-a" equiv-text="&lt;a routerLink=&quot;/my-account/auto-tag-policies&quot;>"/>automatically block<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/> them.</source>
<target state="new">These automatic tags can be used to filter comments or <x id="START_LINK" ctype="x-a" equiv-text="&lt;a routerLink=&quot;/my-account/auto-tag-policies&quot;>"/>automatically block<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/> them.</target>
<target state="translated">Ove se automatske oznake mogu koristiti za filtriranje ili <x id="START_LINK" ctype="x-a" equiv-text="&lt;a routerLink=&quot;/my-account/auto-tag-policies&quot;>"/>automatsko blokiranje<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/> komentara.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-watched-words-list/my-watched-words-list.component.html</context>
<context context-type="linenumber">2</context>
@ -16574,25 +16572,25 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">105</context>
</context-group>
</trans-unit>
<trans-unit id="6274027958678461128" datatype="html">
<trans-unit id="6274027958678461128" datatype="html" xml:space="preserve">
<source>Max synchronizations per user is required.</source>
<target state="new">Max synchronizations per user is required.</target>
<target state="translated">Maks. broj sinkronizacija po korisniku se mora navesti.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/form-validators/custom-config-validators.ts</context>
<context context-type="linenumber">112</context>
</context-group>
</trans-unit>
<trans-unit id="8998234411272282626" datatype="html">
<trans-unit id="8998234411272282626" datatype="html" xml:space="preserve">
<source>Max synchronizations per user must be greater or equal to 1.</source>
<target state="new">Max synchronizations per user must be greater or equal to 1.</target>
<target state="translated">Maks. broj sinkronizacija po korisniku mora biti veći ili jednak 1.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/form-validators/custom-config-validators.ts</context>
<context context-type="linenumber">113</context>
</context-group>
</trans-unit>
<trans-unit id="6409680643108400586" datatype="html">
<trans-unit id="6409680643108400586" datatype="html" xml:space="preserve">
<source>Max synchronizations per user must be a number.</source>
<target state="new">Max synchronizations per user must be a number.</target>
<target state="translated">Maks. broj sinkronizacija po korisniku mora biti broj.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/form-validators/custom-config-validators.ts</context>
<context context-type="linenumber">114</context>
@ -17690,9 +17688,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="1962360936689895737" datatype="html" xml:space="preserve">
<source>A subtitle will be automatically generated from your video.</source>
<target state="translated">Titl će se automatski generirati iz tvog videa.</target>
<trans-unit id="2340556570629614156" datatype="html" xml:space="preserve">
<source>Subtitles will be automatically generated from your video.</source>
<target state="translated">Titlovi će se automatski generirati iz tvojeg videa.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.html</context>
<context context-type="linenumber">173</context>
@ -18318,17 +18316,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">18</context>
</context-group>
</trans-unit>
<trans-unit id="4682186700066917562" datatype="html">
<trans-unit id="4682186700066917562" datatype="html" xml:space="preserve">
<source>{1} categories selected</source>
<target state="new">{1} categories selected</target>
<target state="translated">Broj odabranih kategorija: {1}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-forms/select/select-categories.component.ts</context>
<context context-type="linenumber">19,21</context>
</context-group>
</trans-unit>
<trans-unit id="8280589137189201687" datatype="html">
<trans-unit id="8280589137189201687" datatype="html" xml:space="preserve">
<source>You can't select more than {maxItems, plural, =1 {1 item} other {<x id="maxItems"/> items}}</source>
<target state="translated">Ne možeš odabrati više od {maxItems, plural, =1 {1 element} other {<x id="maxItems"/> elementa}}</target>
<target state="translated">Ne možeš odabrati više od {maxItems, plural, =1 {1 element} few {<x id="maxItems"/> elementa} other {<x id="maxItems"/> elementa}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-forms/select/select-checkbox-default-all.component.ts</context>
<context context-type="linenumber">103</context>
@ -19366,9 +19364,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">120</context>
</context-group>
</trans-unit>
<trans-unit id="1333875259678532637" datatype="html">
<trans-unit id="1333875259678532637" datatype="html" xml:space="preserve">
<source>Force transcription</source>
<target state="new">Force transcription</target>
<target state="translated">Prisili transkripciju</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-main/video-caption/video-caption.service.ts</context>
<context context-type="linenumber">123</context>
@ -20698,9 +20696,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">144</context>
</context-group>
</trans-unit>
<trans-unit id="5460870961303000256" datatype="html">
<trans-unit id="5460870961303000256" datatype="html" xml:space="preserve">
<source>Playlist embed URL</source>
<target state="new">Playlist embed URL</target>
<target state="translated">URL ugrađene playliste</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-share-modal/video-share.component.html</context>
<context context-type="linenumber">55,56</context>
@ -20790,9 +20788,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">126,127</context>
</context-group>
</trans-unit>
<trans-unit id="7906169354857781172" datatype="html">
<trans-unit id="7906169354857781172" datatype="html" xml:space="preserve">
<source>Video embed URL</source>
<target state="new">Video embed URL</target>
<target state="translated">URL ugrađenog videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-share-modal/video-share.component.html</context>
<context context-type="linenumber">149,150</context>
@ -21515,7 +21513,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Nije moguće učitati više videa. Pokušaj kasnije ponovo.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">477</context>
<context context-type="linenumber">486</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.ts</context>
@ -21734,9 +21732,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">411</context>
</context-group>
</trans-unit>
<trans-unit id="5112667021094836629" datatype="html">
<trans-unit id="5112667021094836629" datatype="html" xml:space="preserve">
<source>{count, plural, =1 {1 transcription job created.} other {<x id="count"/> transcription jobs created.}}</source>
<target state="new">{count, plural, =1 {1 transcription job created.} other {<x id="count"/> transcription jobs created.}}</target>
<target state="translated">{count, plural, =1 {1 posao transkripcije stvoren.} few {<x id="count"/> posla transkripcije stvorena.} other {<x id="count"/> poslova transkripcije stvoreno.}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/overview/videos/video-list.component.ts</context>
<context context-type="linenumber">427</context>
@ -22471,17 +22469,17 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">52,54</context>
</context-group>
</trans-unit>
<trans-unit id="5790604788861392297" datatype="html">
<trans-unit id="5790604788861392297" datatype="html" xml:space="preserve">
<source>Content preferences</source>
<target state="new">Content preferences</target>
<target state="translated">Postavke sadržaja</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.html</context>
<context context-type="linenumber">62</context>
</context-group>
</trans-unit>
<trans-unit id="2579809064600486610" datatype="html">
<trans-unit id="2579809064600486610" datatype="html" xml:space="preserve">
<source>You always use the same preferences?</source>
<target state="new">You always use the same preferences?</target>
<target state="translated">Uvijek koristiš iste postavke?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.html</context>
<context context-type="linenumber">65</context>
@ -22543,9 +22541,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">170</context>
</context-group>
</trans-unit>
<trans-unit id="7780562759861344168" datatype="html">
<trans-unit id="7780562759861344168" datatype="html" xml:space="preserve">
<source>Recent Views</source>
<target state="new">Recent Views</target>
<target state="translated">Nedavna gledanja</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.ts</context>
<context context-type="linenumber">175</context>
@ -22783,12 +22781,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="7659756233411947529" datatype="html" xml:space="preserve">
<source>Current lives</source>
<target state="translated">Trenutačni prijenosi uživo</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.html</context>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="4730491486461828294" datatype="html" xml:space="preserve">
<source>Today's videos</source>
<target state="translated">Današnja videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="2119901811749731155" datatype="html" xml:space="preserve">
@ -22796,7 +22802,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Jučerašnja videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">157</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="6176155005688410697" datatype="html" xml:space="preserve">
@ -22804,7 +22810,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Videa ovog tjedna</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="1461056025742190110" datatype="html" xml:space="preserve">
@ -22812,7 +22818,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Videa ovog mjeseca</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">163</context>
</context-group>
</trans-unit>
<trans-unit id="929646918212830182" datatype="html" xml:space="preserve">
@ -22820,7 +22826,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Videa prošlog mjeseca</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">160</context>
<context context-type="linenumber">164</context>
</context-group>
</trans-unit>
<trans-unit id="8691195592124291757" datatype="html" xml:space="preserve">
@ -22828,7 +22834,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">Starija videa</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">165</context>
</context-group>
</trans-unit>
<trans-unit id="2330577642930707695" datatype="html">
@ -22840,7 +22846,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.html</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="5924559757556526785" datatype="html">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -830,7 +830,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.html</context>
<context context-type="linenumber">24</context>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="935187492052582731">
@ -1259,6 +1259,14 @@
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="5439080010715965293" datatype="html" xml:space="preserve">
<source>Quick access:</source>
<target state="translated">クイックアクセス:</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/overview/video-overview.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="5937251202465808296" datatype="html" xml:space="preserve">
<source>More</source>
<target state="translated">さらに表示</target>
@ -1320,7 +1328,7 @@
<target state="translated">ライブ配信のみ</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="9157178301885999151" datatype="html">
@ -1328,7 +1336,7 @@
<target state="translated">本当に{length, plural, =1 {この動画} other {<x id="length"/>本の動画}}を削除しますか?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">209</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="7585826646011739428">
@ -2917,6 +2925,10 @@ The link will expire within 1 hour.</source>
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">5</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">10</context>
</context-group>
</trans-unit>
<trans-unit id="3980731018496292351" datatype="html" xml:space="preserve">
<source>Display the lateral menu</source>
@ -2934,14 +2946,6 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="8069878177741227309" datatype="html" xml:space="preserve">
<source><x id="START_TAG_DIV" ctype="x-div" equiv-text="&lt;div class=&quot;block-title ellipsis&quot; [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION" equiv-text="{{ menuSection.title }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="&lt;/div>"/><x id="START_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;ul class=&quot;ul-unstyle&quot;>"/><x id="START_LIST_ITEM" ctype="x-li" equiv-text="&lt;li *ngFor=&quot;let link of menuSection.links&quot;>"/><x id="START_BLOCK_IF_1" equiv-text="@if (link.isPrimaryButton === true) {"/><x id="START_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;my-button class=&quot;d-block menu-button&quot; theme=&quot;primary&quot; [icon]=&quot;link.icon&quot; [ariaLabel]=&quot;link.label&quot; [ptRouterLink]=&quot;link.path&quot;>"/><x id="START_BLOCK_IF" equiv-text="@if (!collapsed) {"/> <x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/> <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="CLOSE_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;/my-button>"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/><x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;menu-link ellipsis&quot; [routerLink]=&quot;link.path&quot; routerLinkActive=&quot;active&quot;>"/><x id="START_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;my-global-icon *ngIf=&quot;link.icon&quot; [iconName]=&quot;link.icon&quot; [ngClass]=&quot;link.iconClass&quot; aria-hidden=&quot;true&quot;>"/><x id="CLOSE_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;/my-global-icon>"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span>"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/><x id="CLOSE_BLOCK_ELSE" equiv-text="}"/><x id="CLOSE_LIST_ITEM" ctype="x-li" equiv-text="&lt;/li>"/><x id="CLOSE_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;/ul>"/></source>
<target state="translated"><x id="START_TAG_DIV" ctype="x-div" equiv-text="&lt;div class=&quot;block-title ellipsis&quot; [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION" equiv-text="{{ menuSection.title }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="&lt;/div>"/><x id="START_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;ul class=&quot;ul-unstyle&quot;>"/><x id="START_LIST_ITEM" ctype="x-li" equiv-text="&lt;li *ngFor=&quot;let link of menuSection.links&quot;>"/><x id="START_BLOCK_IF_1" equiv-text="@if (link.isPrimaryButton === true) {"/><x id="START_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;my-button class=&quot;d-block menu-button&quot; theme=&quot;primary&quot; [icon]=&quot;link.icon&quot; [ariaLabel]=&quot;link.label&quot; [ptRouterLink]=&quot;link.path&quot;>"/><x id="START_BLOCK_IF" equiv-text="@if (!collapsed) {"/> <x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/> <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="CLOSE_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;/my-button>"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/><x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;menu-link ellipsis&quot; [routerLink]=&quot;link.path&quot; routerLinkActive=&quot;active&quot;>"/><x id="START_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;my-global-icon *ngIf=&quot;link.icon&quot; [iconName]=&quot;link.icon&quot; [ngClass]=&quot;link.iconClass&quot; aria-hidden=&quot;true&quot;>"/><x id="CLOSE_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;/my-global-icon>"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span>"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/><x id="CLOSE_BLOCK_ELSE" equiv-text="}"/><x id="CLOSE_LIST_ITEM" ctype="x-li" equiv-text="&lt;/li>"/><x id="CLOSE_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;/ul>"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">52</context>
</context-group>
</trans-unit>
<trans-unit id="3433184700415677129" datatype="html" xml:space="preserve">
<source>Platform powered by <x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;&quot; href=&quot;https://joinpeertube.org&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;>"/>PeerTube<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></source>
<target state="translated">Platform powered by <x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;&quot; href=&quot;https://joinpeertube.org&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;>"/>PeerTube<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></target>
@ -2963,7 +2967,7 @@ The link will expire within 1 hour.</source>
<target state="translated">クイックアクセス</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">135</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="5464118521750361406" datatype="html">
@ -3027,7 +3031,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">176</context>
<context context-type="linenumber">173</context>
</context-group>
</trans-unit>
<trans-unit id="2308975396733519902">
@ -3118,13 +3122,25 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">43</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html" xml:space="preserve">
<source>Browse videos</source>
<target state="translated">動画を探す</target>
<trans-unit id="6699890091238112345" datatype="html" xml:space="preserve">
<source>Browse all videos</source>
<target state="translated">全ての動画を探す</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="5174743927852553765" datatype="html" xml:space="preserve">
<source>Browse local videos</source>
<target state="translated">ローカル動画を探す</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">169</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html" xml:space="preserve">
<source>Browse videos</source>
<target state="translated">動画を探す</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/videos-list-all.component.html</context>
<context context-type="linenumber">1</context>
@ -3143,7 +3159,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">247</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="1726363342938046830">
@ -4174,7 +4190,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-abuse-list/abuse-list-table.component.ts</context>
@ -4906,9 +4922,9 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">412</context>
</context-group>
</trans-unit>
<trans-unit id="3783295829532094714" datatype="html" xml:space="preserve">
<source>Closing caption edition mocal</source>
<target state="translated">キャプションの編集モーダルを閉じようとしています</target>
<trans-unit id="6462253230140191250" datatype="html" xml:space="preserve">
<source>Closing caption edition modal</source>
<target state="translated">字幕編集モーダルを閉じようとしています</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.ts</context>
<context context-type="linenumber">413</context>
@ -5120,7 +5136,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">199</context>
</context-group>
</trans-unit>
<trans-unit id="6161604372916832458" datatype="html">
@ -7336,7 +7352,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">232</context>
<context context-type="linenumber">229</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.html</context>
@ -10870,15 +10886,14 @@ The link will expire within 1 hour.</source>
<context context-type="sourcefile">src/app/+my-account/my-account-settings/my-account-settings.component.html</context>
<context context-type="linenumber">56</context>
</context-group>
</trans-unit>
<trans-unit id="3892825090402620438" datatype="html">
<source>Two-factor authentication</source>
<target state="translated">2段階認証</target>
</trans-unit><trans-unit id="4543888618160534551" datatype="html">
<source>TWO-FACTOR AUTHENTICATION</source><target state="new">TWO-FACTOR AUTHENTICATION</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-account/my-account-settings/my-account-settings.component.html</context>
<context context-type="linenumber">66</context>
<context context-type="linenumber">66,67</context>
</context-group>
</trans-unit>
<trans-unit id="9012586956848595996" datatype="html">
<source>EMAIL</source>
<target state="translated">メール</target>
@ -11456,7 +11471,7 @@ The link will expire within 1 hour.</source>
<target state="translated">インポートリスト</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">73</context>
</context-group>
</trans-unit>
<trans-unit id="6587439290311664751" datatype="html">
@ -11464,7 +11479,7 @@ The link will expire within 1 hour.</source>
<target state="translated">チャンネルを完全同期</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">84</context>
<context context-type="linenumber">86</context>
</context-group>
</trans-unit>
<trans-unit id="2070181811140868440" datatype="html">
@ -11472,7 +11487,7 @@ The link will expire within 1 hour.</source>
<target state="translated">これにより、ローカルチャンネルに存在しない動画がフェッチされます</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">85</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="3997040276213089746" datatype="html">
@ -11480,7 +11495,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="videoChannelSync.channel.displayName"/>のチャンネル同期の削除に成功しました。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">126</context>
</context-group>
</trans-unit>
<trans-unit id="2933174785300975212" datatype="html">
@ -11488,7 +11503,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="videoChannelSync.channel.displayName"/>の完全チャンネル同期リクエストに成功しました。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">137</context>
<context context-type="linenumber">139</context>
</context-group>
</trans-unit>
<trans-unit id="6985972846000785992" datatype="html">
@ -11728,7 +11743,7 @@ The link will expire within 1 hour.</source>
<target state="translated">まだ再生履歴には再生した動画がありません。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">165</context>
<context context-type="linenumber">171</context>
</context-group>
</trans-unit>
<trans-unit id="989169929300254768" datatype="html">
@ -11744,7 +11759,7 @@ The link will expire within 1 hour.</source>
<target state="translated">再生履歴の機能が有効になりました</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">118</context>
<context context-type="linenumber">123</context>
</context-group>
</trans-unit>
<trans-unit id="1869266307786648674" datatype="html">
@ -11752,7 +11767,7 @@ The link will expire within 1 hour.</source>
<target state="translated">再生履歴の機能が無効になりました</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">119</context>
<context context-type="linenumber">124</context>
</context-group>
</trans-unit>
<trans-unit id="7505147502630555700" datatype="html">
@ -11760,7 +11775,7 @@ The link will expire within 1 hour.</source>
<target state="translated">再生履歴を削除する</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="8676027102068252963" datatype="html">
@ -11768,7 +11783,7 @@ The link will expire within 1 hour.</source>
<target state="translated">本当にあなたの再生履歴をすべて削除しますか?</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">149</context>
</context-group>
</trans-unit>
<trans-unit id="7708910304029766516" datatype="html">
@ -11776,7 +11791,7 @@ The link will expire within 1 hour.</source>
<target state="translated">再生履歴が削除されました</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">157</context>
</context-group>
</trans-unit>
<trans-unit id="3343758569423394070" datatype="html">
@ -11784,7 +11799,7 @@ The link will expire within 1 hour.</source>
<target state="translated">"<x id="PH" equiv-text="this.search"/>"に関連する動画が見つかりませんでした。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="687236465759862933" datatype="html">
@ -11892,7 +11907,7 @@ The link will expire within 1 hour.</source>
<target state="translated">プレイリストの作成</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">8</context>
</context-group>
</trans-unit>
<trans-unit id="4752280144823756067" datatype="html" xml:space="preserve">
@ -11900,7 +11915,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {件のプレイリスト} other {件のプレイリスト}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">97</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="2191782228095209497" datatype="html" xml:space="preserve">
@ -11912,7 +11927,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">208</context>
</context-group>
</trans-unit>
<trans-unit id="7040375308762081154" datatype="html">
@ -12496,7 +12511,7 @@ The link will expire within 1 hour.</source>
<target state="translated">確認のために、チャンネルの名前(<x id="PH" equiv-text="videoChannel.name"/>)を入力して下さい</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">104</context>
</context-group>
</trans-unit>
<trans-unit id="3428015997161360357" datatype="html">
@ -13756,7 +13771,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">221</context>
</context-group>
</trans-unit>
<trans-unit id="1504521795586863905" datatype="html">
@ -14012,7 +14027,7 @@ The link will expire within 1 hour.</source>
<target state="translated">アカウント作成を有効にしました: PeerTubeは以下の「動画」の欄にある「自動的に新しい動画をブロック」機能を自動的に有効にしました。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="6284468333579755406" datatype="html">
@ -14336,23 +14351,23 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">99</context>
<context context-type="linenumber">108</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">57</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">221</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/comment/video-comments.component.ts</context>
@ -16116,7 +16131,7 @@ The link will expire within 1 hour.</source>
<target state="translated">再生履歴</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">72</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="3656932706364053858" datatype="html">
@ -16664,7 +16679,7 @@ The link will expire within 1 hour.</source>
<target state="translated">動画チャンネル<x id="PH"/>を削除しました。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">116</context>
</context-group>
</trans-unit>
<trans-unit id="6450826648284332649" datatype="html">
@ -16672,7 +16687,7 @@ The link will expire within 1 hour.</source>
<target state="translated">一日あたりの再生回数</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">158</context>
</context-group>
</trans-unit>
<trans-unit id="6184963353282561988" datatype="html" xml:space="preserve">
@ -16680,7 +16695,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH_1" equiv-text="data.startDate"/>から<x id="PH" equiv-text="data.total"/> {value, plural, =1 {回} other {回}}再生されています</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">235</context>
</context-group>
</trans-unit>
<trans-unit id="6337200167647767274" datatype="html" xml:space="preserve">
@ -16688,7 +16703,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {チャンネル} other {チャンネル}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">229</context>
<context context-type="linenumber">240</context>
</context-group>
</trans-unit>
<trans-unit id="7440637814928143808" datatype="html">
@ -16740,7 +16755,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="782403351079933650" datatype="html" xml:space="preserve">
@ -16912,7 +16927,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="3380608219513805292">
@ -16920,11 +16935,11 @@ The link will expire within 1 hour.</source>
<target state="translated">プレイリスト<x id="PH"/>を削除しました。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">159</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">69</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="3058024914967508975">
@ -16932,7 +16947,7 @@ The link will expire within 1 hour.</source>
<target state="translated">あなたの動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">124</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/routes.ts</context>
@ -16944,7 +16959,7 @@ The link will expire within 1 hour.</source>
<target state="translated">{length, plural, =1 {1本の動画が削除されました} other {<x id="length"/>本の動画が削除されました}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">230</context>
<context context-type="linenumber">239</context>
</context-group>
</trans-unit>
<trans-unit id="705850529168776436" datatype="html" xml:space="preserve">
@ -16952,7 +16967,7 @@ The link will expire within 1 hour.</source>
<target state="translated"><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {件の動画} other {件の動画}}</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">252</context>
<context context-type="linenumber">261</context>
</context-group>
</trans-unit>
<trans-unit id="2591467977473302125" datatype="html">
@ -16968,15 +16983,15 @@ The link will expire within 1 hour.</source>
<target>本当に<x id="PH"/>を削除しますか? </target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">87</context>
<context context-type="linenumber">96</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">56</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts</context>
@ -16988,7 +17003,7 @@ The link will expire within 1 hour.</source>
<target state="translated">このチャンネル内にアップロードされた{count, plural, =1 {1本の動画} other {<x id="count"/>本の動画}}が削除され、(<x id="PH" equiv-text="videoChannel.name"/>)と同じ名前で別のチャンネルまたはアカウントを作成することはできなくなります!</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="2767660806989176400">
@ -17136,7 +17151,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">190</context>
<context context-type="linenumber">187</context>
</context-group>
</trans-unit>
<trans-unit id="3897348120591552265" datatype="html" xml:space="preserve">
@ -17204,7 +17219,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">193</context>
</context-group>
</trans-unit>
<trans-unit id="1823843876735462104" datatype="html">
@ -17224,7 +17239,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="7916647920967632052" datatype="html">
@ -17474,47 +17489,30 @@ The link will expire within 1 hour.</source>
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">331</context>
</context-group>
</trans-unit>
<trans-unit id="5409372033656550095" datatype="html">
<source>Go to the discover videos page</source>
<target state="translated">「ディスカバー」のページに移動</target>
</trans-unit><trans-unit id="4482153685775394919" datatype="html">
<source>Go to the "Discover videos" page</source><target state="new">Go to the "Discover videos" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">336</context>
</context-group>
</trans-unit>
<trans-unit id="4278050445961255445">
<source>Go to the trending videos page</source>
<target state="translated">「トレンド」のページに移動</target>
</trans-unit><trans-unit id="6123131701694052862" datatype="html">
<source>Go to the "Browse videos" page</source><target state="new">Go to the "Browse videos" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">341</context>
</context-group>
</trans-unit>
<trans-unit id="3242234958443825475">
<source>Go to the recently added videos page</source>
<target state="translated">「最近公開された動画」のページに移動</target>
</trans-unit><trans-unit id="5260039955239962053" datatype="html">
<source>Go to the "Publish video" page</source><target state="new">Go to the "Publish video" page</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">346</context>
</context-group>
</trans-unit>
<trans-unit id="2887122197778293919">
<source>Go to the local videos page</source>
<target state="translated">「ローカル動画」のページに移動</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">351</context>
</context-group>
</trans-unit>
<trans-unit id="8009065619559214982">
<source>Go to the videos upload page</source>
<target state="translated">「動画のアップロードページ」に移動</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">356</context>
</context-group>
</trans-unit>
<trans-unit id="3779524668013120370">
<source>Go to my subscriptions</source>
<target state="translated">「あなたが登録したチャンネル」のページに移動</target>
@ -17597,7 +17595,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">140</context>
<context context-type="linenumber">137</context>
</context-group>
</trans-unit>
<trans-unit id="4648900870671159218">
@ -17681,7 +17679,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">さらに動画を読み込むことができません。後ほど再度お試しください。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">477</context>
<context context-type="linenumber">486</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.ts</context>
@ -17793,7 +17791,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">検索インデックスを利用できません。代わりに、インスタンスの検索機能で再度お試し下さい。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">194</context>
</context-group>
</trans-unit>
<trans-unit id="307702206382241469" datatype="html">
@ -17801,7 +17799,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">検索エラー</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="2357625293346946918" datatype="html" xml:space="preserve">
@ -17809,7 +17807,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated"><x id="PH" equiv-text="this.numberOfFilters()"/>つの有効なフィルターがあります、フィルターパネルを開く</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">283</context>
</context-group>
</trans-unit>
<trans-unit id="6183000905044663854" datatype="html">
@ -17817,7 +17815,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated"><x id="PH" equiv-text="this.currentSearch"/>を検索</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">296</context>
</context-group>
</trans-unit>
<trans-unit id="8491751845906232809" datatype="html">
@ -17825,7 +17823,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">フィルター「PeerTubeインスタンスのホスト」が間違っています</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">371</context>
</context-group>
</trans-unit>
<trans-unit id="4580988005648117665" datatype="html">
@ -17837,7 +17835,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">291</context>
<context context-type="linenumber">297</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/header/search-typeahead.component.html</context>
@ -18025,7 +18023,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">240</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="9178182467454450952">
@ -20747,9 +20745,9 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="1962360936689895737" datatype="html" xml:space="preserve">
<source>A subtitle will be automatically generated from your video.</source>
<target state="translated">字幕は、動画から自動的に作成されます。</target>
<trans-unit id="2340556570629614156" datatype="html" xml:space="preserve">
<source>Subtitles will be automatically generated from your video.</source>
<target state="translated">字幕は動画から自動生成されます。</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.html</context>
<context context-type="linenumber">173</context>
@ -22139,12 +22137,20 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="7659756233411947529" datatype="html" xml:space="preserve">
<source>Current lives</source>
<target state="translated">現在の配信</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.html</context>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="4730491486461828294" datatype="html" xml:space="preserve">
<source>Today's videos</source>
<target state="translated">本日の動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="2119901811749731155" datatype="html" xml:space="preserve">
@ -22152,7 +22158,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">昨日の動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">157</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="6176155005688410697" datatype="html" xml:space="preserve">
@ -22160,7 +22166,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">今週の動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="1461056025742190110" datatype="html" xml:space="preserve">
@ -22168,7 +22174,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">今月の動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">163</context>
</context-group>
</trans-unit>
<trans-unit id="929646918212830182" datatype="html" xml:space="preserve">
@ -22176,7 +22182,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">先月の動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">160</context>
<context context-type="linenumber">164</context>
</context-group>
</trans-unit>
<trans-unit id="8691195592124291757" datatype="html" xml:space="preserve">
@ -22184,7 +22190,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">古い動画</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">165</context>
</context-group>
</trans-unit>
<trans-unit id="187187500641108332" datatype="html">
@ -22564,7 +22570,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">次の動画への自動再生を無効にする</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">258</context>
<context context-type="linenumber">266</context>
</context-group>
</trans-unit>
<trans-unit id="5149234672404299151" datatype="html">
@ -22572,7 +22578,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">次の動画への自動再生を有効にする</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">267</context>
</context-group>
</trans-unit>
<trans-unit id="5870421136141540382" datatype="html">
@ -22580,7 +22586,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">プレイリストの繰り返し再生を無効にする</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">264</context>
<context context-type="linenumber">272</context>
</context-group>
</trans-unit>
<trans-unit id="1599585307037758139" datatype="html">
@ -22588,7 +22594,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<target state="translated">プレイリストの繰り返し再生を有効にする</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">273</context>
</context-group>
</trans-unit>
<trans-unit id="1254111869788332501" datatype="html">
@ -22952,7 +22958,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="186236568870281953" datatype="html">
@ -22964,7 +22970,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="5237588857224999862" datatype="html">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1313,7 +1313,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">196</context>
<context context-type="linenumber">193</context>
</context-group>
</trans-unit>
<trans-unit id="4605517634011438234" datatype="html">
@ -1400,7 +1400,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">190</context>
<context context-type="linenumber">187</context>
</context-group>
</trans-unit>
<trans-unit id="7008439939460403347" datatype="html">
@ -1468,7 +1468,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">232</context>
<context context-type="linenumber">229</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-filters-header.component.html</context>
@ -1564,7 +1564,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">221</context>
</context-group>
</trans-unit>
<trans-unit id="4555457172864212828" datatype="html">
@ -1625,7 +1625,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">240</context>
<context context-type="linenumber">237</context>
</context-group>
</trans-unit>
<trans-unit id="8564701209009684429" datatype="html">
@ -2672,7 +2672,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">140</context>
<context context-type="linenumber">137</context>
</context-group>
</trans-unit>
<trans-unit id="7627544798203088407" datatype="html">
@ -2690,26 +2690,25 @@
<context context-type="linenumber">43</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html">
<source>Browse videos</source>
<trans-unit id="6699890091238112345" datatype="html">
<source>Browse all videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="5174743927852553765" datatype="html">
<source>Browse local videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/videos-list-all.component.html</context>
<context context-type="linenumber">1,3</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/home-menu.component.ts</context>
<context context-type="linenumber">49</context>
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">169</context>
</context-group>
</trans-unit>
<trans-unit id="3203902538239082422" datatype="html">
<source>You enabled signup: we automatically enabled the "Block new videos automatically" checkbox of the "Videos" section just below.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+admin/config/edit-custom-config/edit-basic-configuration.component.ts</context>
<context context-type="linenumber">201</context>
<context context-type="linenumber">202</context>
</context-group>
</trans-unit>
<trans-unit id="1035838766454786107" datatype="html">
@ -4398,23 +4397,23 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">99</context>
<context context-type="linenumber">108</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">79</context>
<context context-type="linenumber">81</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">150</context>
<context context-type="linenumber">151</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">59</context>
<context context-type="linenumber">57</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">212</context>
<context context-type="linenumber">221</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/comment/video-comments.component.ts</context>
@ -5268,7 +5267,7 @@
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">141</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-abuse-list/abuse-list-table.component.ts</context>
@ -8731,7 +8730,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">247</context>
<context context-type="linenumber">244</context>
</context-group>
</trans-unit>
<trans-unit id="5095562193296630034" datatype="html">
@ -8828,8 +8827,8 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">56,57</context>
</context-group>
</trans-unit>
<trans-unit id="3892825090402620438" datatype="html">
<source>Two-factor authentication</source>
<trans-unit id="4543888618160534551" datatype="html">
<source>TWO-FACTOR AUTHENTICATION</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-account/my-account-settings/my-account-settings.component.html</context>
<context context-type="linenumber">66,67</context>
@ -9076,15 +9075,15 @@ The link will expire within 1 hour.</source>
<source>Do you really want to delete <x id="PH" equiv-text="videoChannel.displayName"/>?</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">87</context>
<context context-type="linenumber">96</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">150</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">58</context>
<context context-type="linenumber">56</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/video-actions-dropdown.component.ts</context>
@ -9095,42 +9094,42 @@ The link will expire within 1 hour.</source>
<source>It will delete {count, plural, =1 {1 video} other {<x id="count"/> videos}} uploaded in this channel, and you will not be able to create another channel or account with the same name (<x id="PH" equiv-text="videoChannel.name"/>)!</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4433306639366959484" datatype="html">
<source>Please type the name of the video channel (<x id="PH" equiv-text="videoChannel.name"/>) to confirm</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">95</context>
<context context-type="linenumber">104</context>
</context-group>
</trans-unit>
<trans-unit id="624066830180032195" datatype="html">
<source>Video channel <x id="PH" equiv-text="videoChannel.displayName"/> deleted.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">107</context>
<context context-type="linenumber">116</context>
</context-group>
</trans-unit>
<trans-unit id="6450826648284332649" datatype="html">
<source>Views for the day</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">147</context>
<context context-type="linenumber">158</context>
</context-group>
</trans-unit>
<trans-unit id="6184963353282561988" datatype="html">
<source><x id="PH" equiv-text="data.total"/> {value, plural, =1 {view} other {views}} since <x id="PH_1" equiv-text="data.startDate"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">224</context>
<context context-type="linenumber">235</context>
</context-group>
</trans-unit>
<trans-unit id="6337200167647767274" datatype="html">
<source><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {channel} other {channels}}</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/+my-video-channels/my-video-channels.component.ts</context>
<context context-type="linenumber">229</context>
<context context-type="linenumber">240</context>
</context-group>
</trans-unit>
<trans-unit id="7040375308762081154" datatype="html">
@ -9218,7 +9217,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="782403351079933650" datatype="html">
@ -9296,56 +9295,56 @@ The link will expire within 1 hour.</source>
<source>My watch history</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">72</context>
<context context-type="linenumber">77</context>
</context-group>
</trans-unit>
<trans-unit id="111295045776045026" datatype="html">
<source>Video history is enabled</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">118</context>
<context context-type="linenumber">123</context>
</context-group>
</trans-unit>
<trans-unit id="1869266307786648674" datatype="html">
<source>Video history is disabled</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">119</context>
<context context-type="linenumber">124</context>
</context-group>
</trans-unit>
<trans-unit id="7505147502630555700" datatype="html">
<source>Delete video history</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">142</context>
<context context-type="linenumber">148</context>
</context-group>
</trans-unit>
<trans-unit id="8676027102068252963" datatype="html">
<source>Are you sure you want to delete all your video history?</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">143</context>
<context context-type="linenumber">149</context>
</context-group>
</trans-unit>
<trans-unit id="7708910304029766516" datatype="html">
<source>Video history deleted</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">151</context>
<context context-type="linenumber">157</context>
</context-group>
</trans-unit>
<trans-unit id="3343758569423394070" datatype="html">
<source>No videos found for "<x id="PH" equiv-text="this.search"/>".</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">162</context>
<context context-type="linenumber">168</context>
</context-group>
</trans-unit>
<trans-unit id="4781078006040259916" datatype="html">
<source>You don't have any video in your watch history yet.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-history/my-history.component.ts</context>
<context context-type="linenumber">165</context>
<context context-type="linenumber">171</context>
</context-group>
</trans-unit>
<trans-unit id="6371572688505952303" datatype="html">
@ -9356,7 +9355,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">176</context>
<context context-type="linenumber">173</context>
</context-group>
</trans-unit>
<trans-unit id="1823843876735462104" datatype="html">
@ -9375,7 +9374,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">164</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="1812379335568847528" datatype="html">
@ -9394,7 +9393,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">149</context>
<context context-type="linenumber">146</context>
</context-group>
</trans-unit>
<trans-unit id="186236568870281953" datatype="html">
@ -9405,7 +9404,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">169</context>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="8714145624854863455" datatype="html">
@ -9510,35 +9509,35 @@ The link will expire within 1 hour.</source>
<source>List imports</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">71</context>
<context context-type="linenumber">73</context>
</context-group>
</trans-unit>
<trans-unit id="6587439290311664751" datatype="html">
<source>Fully synchronize the channel</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">84</context>
<context context-type="linenumber">86</context>
</context-group>
</trans-unit>
<trans-unit id="2070181811140868440" datatype="html">
<source>This fetches any missing videos on the local channel</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">85</context>
<context context-type="linenumber">87</context>
</context-group>
</trans-unit>
<trans-unit id="3997040276213089746" datatype="html">
<source>Synchronization removed successfully for <x id="PH" equiv-text="videoChannelSync.channel.displayName"/>.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">124</context>
<context context-type="linenumber">126</context>
</context-group>
</trans-unit>
<trans-unit id="2933174785300975212" datatype="html">
<source>Full synchronization requested successfully for <x id="PH" equiv-text="videoChannelSync.channel.displayName"/>.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-channel-syncs/my-video-channel-syncs.component.ts</context>
<context context-type="linenumber">137</context>
<context context-type="linenumber">139</context>
</context-group>
</trans-unit>
<trans-unit id="6985972846000785992" datatype="html">
@ -9755,11 +9754,11 @@ The link will expire within 1 hour.</source>
<source>Playlist <x id="PH" equiv-text="videoPlaylist.displayName"/> deleted.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlist-elements.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">159</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">69</context>
<context context-type="linenumber">67</context>
</context-group>
</trans-unit>
<trans-unit id="1431617394009162547" datatype="html">
@ -9812,14 +9811,14 @@ The link will expire within 1 hour.</source>
<source>Create playlist</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.html</context>
<context context-type="linenumber">10</context>
<context context-type="linenumber">8</context>
</context-group>
</trans-unit>
<trans-unit id="4752280144823756067" datatype="html">
<source><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {playlist} other {playlists}}</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-video-playlists/my-video-playlists.component.ts</context>
<context context-type="linenumber">97</context>
<context context-type="linenumber">95</context>
</context-group>
</trans-unit>
<trans-unit id="2191782228095209497" datatype="html">
@ -9830,7 +9829,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">211</context>
<context context-type="linenumber">208</context>
</context-group>
</trans-unit>
<trans-unit id="3897348120591552265" datatype="html">
@ -9888,7 +9887,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">276</context>
</context-group>
</trans-unit>
<trans-unit id="4561174610228620528" datatype="html">
@ -9944,7 +9943,7 @@ The link will expire within 1 hour.</source>
<source>My videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">115</context>
<context context-type="linenumber">124</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/routes.ts</context>
@ -9955,28 +9954,28 @@ The link will expire within 1 hour.</source>
<source>Only live videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">145</context>
<context context-type="linenumber">154</context>
</context-group>
</trans-unit>
<trans-unit id="9157178301885999151" datatype="html">
<source>Do you really want to delete {length, plural, =1 {this video} other {<x id="length"/> videos}}?</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">209</context>
<context context-type="linenumber">218</context>
</context-group>
</trans-unit>
<trans-unit id="696910741870112536" datatype="html">
<source>{length, plural, =1 {Video has been deleted} other {<x id="length"/> videos have been deleted}}</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">230</context>
<context context-type="linenumber">239</context>
</context-group>
</trans-unit>
<trans-unit id="705850529168776436" datatype="html">
<source><x id="PH" equiv-text="this.pagination.totalItems"/> {total, plural, =1 {video} other {videos}}</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+my-library/my-videos/my-videos.component.ts</context>
<context context-type="linenumber">252</context>
<context context-type="linenumber">261</context>
</context-group>
</trans-unit>
<trans-unit id="2364233042886987548" datatype="html">
@ -10152,7 +10151,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">291</context>
<context context-type="linenumber">297</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/header/search-typeahead.component.html</context>
@ -10596,35 +10595,35 @@ The link will expire within 1 hour.</source>
<source>Search index is unavailable. Retrying with instance results instead.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">192</context>
<context context-type="linenumber">194</context>
</context-group>
</trans-unit>
<trans-unit id="307702206382241469" datatype="html">
<source>Search error</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">193</context>
<context context-type="linenumber">195</context>
</context-group>
</trans-unit>
<trans-unit id="2357625293346946918" datatype="html">
<source><x id="PH" equiv-text="this.numberOfFilters()"/> active filters, open the filters panel</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">278</context>
<context context-type="linenumber">283</context>
</context-group>
</trans-unit>
<trans-unit id="6183000905044663854" datatype="html">
<source>Search <x id="PH" equiv-text="this.currentSearch"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">290</context>
<context context-type="linenumber">296</context>
</context-group>
</trans-unit>
<trans-unit id="8491751845906232809" datatype="html">
<source>PeerTube instance host filter is invalid</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+search/search.component.ts</context>
<context context-type="linenumber">365</context>
<context context-type="linenumber">371</context>
</context-group>
</trans-unit>
<trans-unit id="8980375993935541237" datatype="html">
@ -12310,8 +12309,8 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">166</context>
</context-group>
</trans-unit>
<trans-unit id="1962360936689895737" datatype="html">
<source> A subtitle will be automatically generated from your video. </source>
<trans-unit id="2340556570629614156" datatype="html">
<source> Subtitles will be automatically generated from your video. </source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.html</context>
<context context-type="linenumber">173</context>
@ -12648,8 +12647,8 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">412</context>
</context-group>
</trans-unit>
<trans-unit id="3783295829532094714" datatype="html">
<source>Closing caption edition mocal</source>
<trans-unit id="6462253230140191250" datatype="html">
<source>Closing caption edition modal</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-edit/shared/video-edit.component.ts</context>
<context context-type="linenumber">413</context>
@ -12917,7 +12916,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">202</context>
<context context-type="linenumber">199</context>
</context-group>
</trans-unit>
<trans-unit id="3284171506518522275" datatype="html">
@ -13329,7 +13328,7 @@ The link will expire within 1 hour.</source>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.html</context>
<context context-type="linenumber">24,25</context>
<context context-type="linenumber">28,29</context>
</context-group>
</trans-unit>
<trans-unit id="2263890353858735493" datatype="html">
@ -13867,28 +13866,28 @@ The link will expire within 1 hour.</source>
<source>Stop autoplaying next video</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">258</context>
<context context-type="linenumber">266</context>
</context-group>
</trans-unit>
<trans-unit id="5149234672404299151" datatype="html">
<source>Autoplay next video</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">259</context>
<context context-type="linenumber">267</context>
</context-group>
</trans-unit>
<trans-unit id="5870421136141540382" datatype="html">
<source>Stop looping playlist videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">264</context>
<context context-type="linenumber">272</context>
</context-group>
</trans-unit>
<trans-unit id="1599585307037758139" datatype="html">
<source>Loop playlist videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/+video-watch/shared/player-widgets/video-watch-playlist.component.ts</context>
<context context-type="linenumber">265</context>
<context context-type="linenumber">273</context>
</context-group>
</trans-unit>
<trans-unit id="1254111869788332501" datatype="html">
@ -14127,6 +14126,13 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">33</context>
</context-group>
</trans-unit>
<trans-unit id="5439080010715965293" datatype="html">
<source>Quick access:</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/overview/video-overview.component.html</context>
<context context-type="linenumber">8,10</context>
</context-group>
</trans-unit>
<trans-unit id="5937251202465808296" datatype="html">
<source>More</source>
<context-group purpose="location">
@ -14183,6 +14189,17 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">1,3</context>
</context-group>
</trans-unit>
<trans-unit id="5491172370003945798" datatype="html">
<source>Browse videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/+videos/video-list/videos-list-all.component.html</context>
<context context-type="linenumber">1,3</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/home-menu.component.ts</context>
<context context-type="linenumber">49</context>
</context-group>
</trans-unit>
<trans-unit id="2431286785954354122" datatype="html">
<source>Recently added</source>
<context-group purpose="location">
@ -14233,41 +14250,27 @@ The link will expire within 1 hour.</source>
<context context-type="linenumber">331</context>
</context-group>
</trans-unit>
<trans-unit id="5409372033656550095" datatype="html">
<source>Go to the discover videos page</source>
<trans-unit id="4482153685775394919" datatype="html">
<source>Go to the "Discover videos" page</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">336</context>
</context-group>
</trans-unit>
<trans-unit id="4278050445961255445" datatype="html">
<source>Go to the trending videos page</source>
<trans-unit id="6123131701694052862" datatype="html">
<source>Go to the "Browse videos" page</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">341</context>
</context-group>
</trans-unit>
<trans-unit id="3242234958443825475" datatype="html">
<source>Go to the recently added videos page</source>
<trans-unit id="5260039955239962053" datatype="html">
<source>Go to the "Publish video" page</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">346</context>
</context-group>
</trans-unit>
<trans-unit id="2887122197778293919" datatype="html">
<source>Go to the local videos page</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">351</context>
</context-group>
</trans-unit>
<trans-unit id="8009065619559214982" datatype="html">
<source>Go to the videos upload page</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/app.component.ts</context>
<context context-type="linenumber">356</context>
</context-group>
</trans-unit>
<trans-unit id="8212906256415538361" datatype="html">
<source>Upload a video</source>
<context-group purpose="location">
@ -14736,6 +14739,10 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">5</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">10</context>
</context-group>
</trans-unit>
<trans-unit id="3980731018496292351" datatype="html">
<source>Display the lateral menu</source>
@ -14751,13 +14758,6 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">34</context>
</context-group>
</trans-unit>
<trans-unit id="8069878177741227309" datatype="html">
<source><x id="START_TAG_DIV" ctype="x-div" equiv-text="&lt;div class=&quot;block-title ellipsis&quot; [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION" equiv-text="{{ menuSection.title }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="&lt;/div>"/><x id="START_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;ul class=&quot;ul-unstyle&quot;>"/><x id="START_LIST_ITEM" ctype="x-li" equiv-text="&lt;li *ngFor=&quot;let link of menuSection.links&quot;>"/><x id="START_BLOCK_IF_1" equiv-text="@if (link.isPrimaryButton === true) {"/><x id="START_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;my-button class=&quot;d-block menu-button&quot; [ngClass]=&quot;link.ngClass&quot; theme=&quot;primary&quot; [icon]=&quot;link.icon&quot; [title]=&quot;link.label&quot; [ptRouterLink]=&quot;link.path&quot;>"/><x id="START_BLOCK_IF" equiv-text="@if (!collapsed) {"/> <x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/> <x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="CLOSE_TAG_MY_BUTTON" ctype="x-my_button" equiv-text="&lt;/my-button>"/><x id="CLOSE_BLOCK_IF" equiv-text="}"/><x id="START_BLOCK_ELSE" equiv-text="@else {"/><x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;menu-link ellipsis&quot; [routerLink]=&quot;link.path&quot; routerLinkActive=&quot;active&quot; [ngClass]=&quot;link.ngClass&quot; [title]=&quot;link.label&quot;>"/><x id="START_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;my-global-icon *ngIf=&quot;link.icon&quot; [iconName]=&quot;link.icon&quot; [ngClass]=&quot;link.iconClass&quot; aria-hidden=&quot;true&quot;>"/><x id="CLOSE_TAG_MY_GLOBAL_ICON" ctype="x-my_global_icon" equiv-text="&lt;/my-global-icon>"/><x id="START_TAG_SPAN" ctype="x-span" equiv-text="&lt;span [ngClass]=&quot;{ 'visually-hidden': collapsed }&quot;>"/><x id="INTERPOLATION_1" equiv-text="{{ link.label }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="&lt;/span>"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/><x id="CLOSE_BLOCK_ELSE" equiv-text="}"/><x id="CLOSE_LIST_ITEM" ctype="x-li" equiv-text="&lt;/li>"/><x id="CLOSE_UNORDERED_LIST" ctype="x-ul" equiv-text="&lt;/ul>"/></source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.html</context>
<context context-type="linenumber">52,71</context>
</context-group>
</trans-unit>
<trans-unit id="3433184700415677129" datatype="html">
<source> Platform powered by <x id="START_LINK" ctype="x-a" equiv-text="&lt;a class=&quot;&quot; href=&quot;https://joinpeertube.org&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer&quot;>"/>PeerTube<x id="CLOSE_LINK" ctype="x-a" equiv-text="&lt;/a>"/></source>
<context-group purpose="location">
@ -14776,7 +14776,7 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<source>Quick access</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/menu/menu.component.ts</context>
<context context-type="linenumber">135</context>
<context context-type="linenumber">131</context>
</context-group>
</trans-unit>
<trans-unit id="4116024528500133384" datatype="html">
@ -19941,53 +19941,60 @@ Ensure you have correctly configured PeerTube (config/ directory), in particular
<context context-type="linenumber">85</context>
</context-group>
</trans-unit>
<trans-unit id="7659756233411947529" datatype="html">
<source>Current lives</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.html</context>
<context context-type="linenumber">28</context>
</context-group>
</trans-unit>
<trans-unit id="4730491486461828294" datatype="html">
<source>Today's videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">156</context>
<context context-type="linenumber">160</context>
</context-group>
</trans-unit>
<trans-unit id="2119901811749731155" datatype="html">
<source>Yesterday's videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">157</context>
<context context-type="linenumber">161</context>
</context-group>
</trans-unit>
<trans-unit id="6176155005688410697" datatype="html">
<source>This week's videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">158</context>
<context context-type="linenumber">162</context>
</context-group>
</trans-unit>
<trans-unit id="1461056025742190110" datatype="html">
<source>This month's videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">159</context>
<context context-type="linenumber">163</context>
</context-group>
</trans-unit>
<trans-unit id="929646918212830182" datatype="html">
<source>Last month's videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">160</context>
<context context-type="linenumber">164</context>
</context-group>
</trans-unit>
<trans-unit id="8691195592124291757" datatype="html">
<source>Older videos</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">161</context>
<context context-type="linenumber">165</context>
</context-group>
</trans-unit>
<trans-unit id="5036991421517255667" datatype="html">
<source>Cannot load more videos. Try again later.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-list.component.ts</context>
<context context-type="linenumber">477</context>
<context context-type="linenumber">486</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/shared/shared-video-miniature/videos-selection.component.ts</context>

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -38,10 +38,10 @@
"enabled": "käytössä",
"Playlist: {1}": "Soittolista: {1}",
"disabled": "pois käytöstä",
" off": " off",
" off": " pois",
"Player mode": "Soittimen tila",
"Play in loop": "Toista luupissa",
"This live is not currently streaming.": "This live is not currently streaming.",
"This live is not currently streaming.": "Tämä live ei striimaa tällä hetkellä.",
"This live has ended.": "Live on päättynyt.",
"The video failed to play, will try to fast forward.": "Videon toistossa tapahtui virhe. Yritetään kelata eteenpäin.",
"{1} / {2} dropped of {3}": "{1} / {2} tiputettu {3}",
@ -56,12 +56,12 @@
"Cancel": "Peruuta",
"Up Next": "Seuraavaksi",
"Autoplay is suspended": "Autoplay keskeytetty",
"{1} (from edge: {2})": "{1} (from edge: {2})",
"Disable subtitles": "Disable subtitles",
"Enable {1} subtitle": "Enable {1} subtitle",
"{1} (auto-generated)": "{1} (auto-generated)",
"Go back": "Go back",
"Audio only": "Audio only",
"{1} (from edge: {2})": "{1} (reunasta: {2})",
"Disable subtitles": "Poista tekstitykset käytöstä",
"Enable {1} subtitle": "Laita {1} tekstitys päälle",
"{1} (auto-generated)": "{1} (auto-generoitu)",
"Go back": "Takaisin",
"Audio only": "Vain ääni",
"Audio Player": "Audiosoitin",
"Video Player": "Videosoitin",
"Play": "Toista",
@ -132,9 +132,9 @@
"Dropshadow": "Varjostus",
"Font Family": "Kirjasinperhe",
"Proportional Sans-Serif": "Suhteellinen Sans-Serif",
"Monospace Sans-Serif": "Monospace Sans-Serif",
"Monospace Sans-Serif": "Monospace Sans-Seriffi",
"Proportional Serif": "Suhteellinen Sans-Serif",
"Monospace Serif": "Monospace Serif",
"Monospace Serif": "Monospace Seriffi",
"Casual": "Rento",
"Script": "Kirjoitus",
"Small Caps": "Pienet kirjaisimet",

View file

@ -1,100 +1,100 @@
{
"Quality": "Kvaliteta",
"Quality": "Kakovost",
"Auto": "Samodejno",
"Speed": "Hitrost",
"Subtitles/CC": "Podnapisi/CC",
"Subtitles/CC": "Podnaslovi/CC",
"peers": "soležniki",
"peer": "soležnik",
"Go to the video page": "Obišči stran videa",
"Settings": "Nastavitve",
"Uses P2P, others may know you are watching this video.": "Uporablja P2P, ostali bi lahko vedeli, da gledaš ta video.",
"Copy the video URL": "Kopiraj URL videa",
"Copy the video URL at the current time": "Kopiraj URL videa s trenutnim časom",
"Copy embed code": "Kopiraj vgradno kodo",
"Copy magnet URI": "Kopiraj magnetni URI",
"Total downloaded: ": "Skupno prenešeno: ",
"Total uploaded: ": "Skupno naloženo: ",
"Uses P2P, others may know you are watching this video.": "Uporablja P2P, ostali bi lahko vedeli, da gledate ta video.",
"Copy the video URL": "Skopiraj povezavo do videa",
"Copy the video URL at the current time": "Skopiraj povezavo do videa s trenutnim časom",
"Copy embed code": "Skopiraj vgradno kodo",
"Copy magnet URI": "Skopiraj določilnik magnet",
"Total downloaded: ": "Skupno prejeto: ",
"Total uploaded: ": "Skupno poslano: ",
"Audio Player": "Predvajalnik zvoka",
"Video Player": "Video predvajalnik",
"Video Player": "Predvajalnik videa",
"Play": "Predvajaj",
"Pause": "Premor",
"Replay": "Ponovitev",
"Current Time": "Trenutni čas",
"Duration": "Trajanje",
"Remaining Time": "Preostali čas",
"Stream Type": "Vrsta Pretoka",
"Stream Type": "Vrsta pretoka",
"LIVE": "V ŽIVO",
"Loaded": "Naloženo",
"Progress": "Napredovanje",
"Progress Bar": "Kazalnik napredovanja",
"progress bar timing: currentTime={1} duration={2}": "ritem indikatorja napredovanja: currentTime={1} duration={2]",
"Progress": "Napredek",
"Progress Bar": "Kazalnik napredka",
"progress bar timing: currentTime={1} duration={2}": "čas kazalnika napredka: currentTime={1} duration={2]",
"Fullscreen": "Cel zaslon",
"Non-Fullscreen": "Ne-cel zaslon",
"Mute": "Utišaj",
"Unmute": "Od-utišaj",
"Unmute": "Povrni glasnost",
"Playback Rate": "Hitrost predvajanja",
"Subtitles": "Podnapisi",
"subtitles off": "podnapisi izklopljeni",
"Captions": "Besedila",
"captions off": "besedila izklopjena",
"Subtitles": "Podnaslovi",
"subtitles off": "podnaslovi izklopljeni",
"Captions": "Napisi",
"captions off": "napisi izklopljeni",
"Chapters": "Poglavja",
"Descriptions": "Opisi",
"descriptions off": "opisi izključeni",
"Audio Track": "Sled Zvoka",
"Volume Level": "Stopnja Glasnosti",
"You aborted the media playback": "Prekinili ste predvajanje medija",
"A network error caused the media download to fail part-way.": "Napaka omrežja je povzročila prekinitev prenosa medija.",
"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.": "",
", opens captions settings dialog": "",
", opens subtitles settings dialog": "",
", opens descriptions settings dialog": "",
", selected": "",
"captions settings": "nastavitve naslovov",
"subtitles settings": "nastavitve podnapisov",
"descriptions off": "opisi izklopljeni",
"Audio Track": "Sled zvoka",
"Volume Level": "Stopnja glasnosti",
"You aborted the media playback": "Prekinili ste predvajanje posnetka",
"A network error caused the media download to fail part-way.": "Napaka omrežja je povzročila prekinitev prenosa posnetka.",
"The media could not be loaded, either because the server or network failed or because the format is not supported.": "Posnetka ni moč naložiti. Težava je lahko na strežniku, v omrežju ali pa vrsta posnetka ni podprta.",
"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.": "Predvajanje posnetka je bilo preklicano, ker je posnetek morda okvarjen ali pa ker posnetek uporablja zmožnosti, ki jih vaš brskalnik ne podpira.",
"No compatible source was found for this media.": "Za ta posnetek ni bil najden noben združljiv vir.",
"The media is encrypted and we do not have the keys to decrypt it.": "Posnetek je šifriran in nimamo ključev za njegovo dešifriranje.",
"Play Video": "Predvajaj video",
"Close": "Zapri",
"Close Modal Dialog": "Zapri modalno pogovorno okno",
"Modal Window": "Modalno okno",
"This is a modal window": "To je modalno okno",
"This modal can be closed by pressing the Escape key or activating the close button.": "To modalno okno lahko zaprete s pritiskom tipke Ubežnice (Esc) ali uporabo gumba za zapiranje.",
", opens captions settings dialog": ", odpre pogovorno okno za nastavitev napisov",
", opens subtitles settings dialog": ", odpre pogovorno okno za nastavitev podnaslovov",
", opens descriptions settings dialog": ", odpre pogovorno okno za nastavitev opisov",
", selected": ", izbrano",
"captions settings": "nastavitve napisov",
"subtitles settings": "nastavitve podnaslovov",
"descriptions settings": "nastavitve opisov",
"Text": "Besedilo",
"White": "Bela",
"Black": "Črna",
"Red": "Rdeča",
"Green": "Zelena",
"Blue": "Modra",
"Yellow": "Rumena",
"Magenta": "Škrlatna",
"Cyan": "Cianova",
"White": "Belo",
"Black": "Črno",
"Red": "Rdeče",
"Green": "Zeleno",
"Blue": "Modro",
"Yellow": "Rumeno",
"Magenta": "Škrlatno",
"Cyan": "Cianovo",
"Background": "Ozadje",
"Window": "Okno",
"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.": ""
"Transparent": "Prosojno",
"Semi-Transparent": "Pol-prosojno",
"Opaque": "Neprosojno",
"Font Size": "Velikost pisave",
"Text Edge Style": "Slog roba besedila",
"None": "Brez",
"Raised": "Dvignjeno",
"Depressed": "Ugreznjeno",
"Uniform": "Enotno",
"Dropshadow": "Senca",
"Font Family": "Družina pisave",
"Proportional Sans-Serif": "Sorazmerna brez nastavkov",
"Monospace Sans-Serif": "Enoširinska brez nastavkov",
"Proportional Serif": "Sorazmerna z nastavki",
"Monospace Serif": "Enoširinska z nastavki",
"Casual": "Priložnostna",
"Script": "Skript",
"Small Caps": "Male velike",
"Reset": "Ponastavi",
"restore all settings to the default values": "ponastavi vse nastavitve na privzete vrednosti",
"Done": "Opravljeno",
"Caption Settings Dialog": "Pogovorno okno nastavitev napisov",
"Beginning of dialog window. Escape will cancel and close the window.": "Začetek pogovornega okna. Tipka Ubežnica (Esc) bo preklicala in zaprla okno.",
"End of dialog window.": "Konec pogovornega okna.",
"{1} is loading.": "{1} se nalaga "
}

View file

@ -25,14 +25,14 @@
"Volume": "Volym",
"Codecs": "Kodekar",
"Color": "Färg",
"Go back to the live": "Tillbaka till sändningen",
"Go back to the live": "Tillbaka till direktsändningen",
"Connection Speed": "Uppkopplingshastighet",
"Network Activity": "Nätverksaktivitet",
"Total Transfered": "Överfört totalt",
"Download Breakdown": "Nerladdningsdetaljer",
"Buffer Progress": "Buffrat",
"Buffer State": "Bufferttillstånd",
"Live Latency": "Sändningsfördröjning",
"Live Latency": "Fördröjning för direktsändning",
"P2P": "P2P",
"{1} seconds": "{1} sekunder",
"enabled": "aktiverad",
@ -41,8 +41,8 @@
" off": " av",
"Player mode": "Uppspelningsläge",
"Play in loop": "Spela i slinga",
"This live is not currently streaming.": "This live is not currently streaming.",
"This live has ended.": "Den här sändningen är avslutad.",
"This live is not currently streaming.": "Direktsändningen strömmar inget just nu.",
"This live has ended.": "Den här direktsändningen är avslutad.",
"The video failed to play, will try to fast forward.": "Videon kunde inte spelas upp, försöker spola framåt.",
"{1} / {2} dropped of {3}": "{1} / {2} av {3} har hoppats över",
" (muted)": " (ljud av)",
@ -57,11 +57,11 @@
"Up Next": "Härnäst",
"Autoplay is suspended": "Automatisk uppspelning är frånslagen",
"{1} (from edge: {2})": "{1} (från kanten: {2})",
"Disable subtitles": "Disable subtitles",
"Enable {1} subtitle": "Enable {1} subtitle",
"{1} (auto-generated)": "{1} (auto-generated)",
"Go back": "Go back",
"Audio only": "Audio only",
"Disable subtitles": "Slå av textningen",
"Enable {1} subtitle": "Slå på {1} textning",
"{1} (auto-generated)": "{1} (automatiskt genererad)",
"Go back": "Tillbaka",
"Audio only": "Endast ljud",
"Audio Player": "Ljudspelare",
"Video Player": "Videospelare",
"Play": "Spela",
@ -117,7 +117,7 @@
"Blue": "Blå",
"Yellow": "Gul",
"Magenta": "Magenta",
"Cyan": "Cyan",
"Cyan": "Grön-blå",
"Background": "Bakgrund",
"Window": "Fönster",
"Transparent": "Genomskinlig",
@ -145,6 +145,6 @@
"Beginning of dialog window. Escape will cancel and close the window.": "Början av dialogruta. Tryck Escape för att avbryta och stänga fönstret.",
"End of dialog window.": "Slut på dialogruta.",
"{1} is loading.": "{1} laddar.",
"This live has not started yet.": "Den här sändningen har inte startat än.",
"This live has not started yet.": "Den här direktsändningen har inte startat än.",
"Uses P2P, others may know you are watching this video.": "Använder P2P, andra kan veta att du tittar på den här videon."
}

View file

@ -41,27 +41,27 @@
" off": " ปิด",
"Player mode": "โหมดตัวเล่น",
"Play in loop": "เล่นวนซ้ำ",
"This live is not currently streaming.": "This live is not currently streaming.",
"This live is not currently streaming.": "วิดีโอสดนี้ไม่ได้สตรีมอยู่",
"This live has ended.": "วิดีโอสดนี้จบแล้ว",
"The video failed to play, will try to fast forward.": "The video failed to play, will try to fast forward.",
"The video failed to play, will try to fast forward.": "วิดีโอไม่สามารถเล่นได้ จะพยายามกรอไปข้างหน้า",
"{1} / {2} dropped of {3}": "{1} / {2} dropped of {3}",
" (muted)": " (ปิดเสียง)",
"{1} from servers · {2} from peers": "{1} จากเซิร์ฟเวอร์ · {2} จากเพียร์",
"Previous video": "วิดีโอก่อนหน้า",
"Video page (new window)": "หน้าวิดีโอ (หน้าต่างใหม่)",
"Next video": "วิดีโอถัดไป",
"This video is password protected": "This video is password protected",
"You need a password to watch this video.": "You need a password to watch this video.",
"Incorrect password, please enter a correct password": "Incorrect password, please enter a correct password",
"Cancel": "Cancel",
"Up Next": "Up Next",
"Autoplay is suspended": "Autoplay is suspended",
"This video is password protected": "วิดีโอนี้มีการป้องกันด้วยรหัสผ่าน",
"You need a password to watch this video.": "คุณต้องป้อนรหัสผ่านเพื่อรับชมวิดีโอนี้",
"Incorrect password, please enter a correct password": "รหัสผ่านไม่ถูกต้อง โปรดป้อนรหัสผ่านที่ถูกต้อง",
"Cancel": "ยกเลิก",
"Up Next": "รายการถัดไป",
"Autoplay is suspended": "การเล่นอัตโนมัติถูกหยุดพัก",
"{1} (from edge: {2})": "{1} (from edge: {2})",
"Disable subtitles": "Disable subtitles",
"Enable {1} subtitle": "Enable {1} subtitle",
"{1} (auto-generated)": "{1} (auto-generated)",
"Go back": "Go back",
"Audio only": "Audio only",
"Disable subtitles": "ปิดคำบรรยายใต้ภาพ",
"Enable {1} subtitle": "เปิดคำบรรยายภาษา {1}",
"{1} (auto-generated)": "{1} (สร้างโดยอัตโนมัติ)",
"Go back": "ย้อนกลับ",
"Audio only": "เสียงเท่านั้น",
"Audio Player": "โปรแกรมเล่นเสียง",
"Video Player": "โปรแกรมเล่นวิดีโอ",
"Play": "เล่น",

View file

@ -25,7 +25,7 @@
"Volume": "音量",
"Codecs": "編解碼器",
"Color": "Color",
"Go back to the live": "Go back to the live",
"Go back to the live": "回到直播",
"Connection Speed": "連線速度",
"Network Activity": "網路活動",
"Total Transfered": "總傳輸量",
@ -38,17 +38,17 @@
"enabled": "已啟用",
"Playlist: {1}": "播放清單:{1}",
"disabled": "已停用",
" off": " off",
" off": " 關閉",
"Player mode": "播放器模式",
"Play in loop": "循環播放",
"This live is not currently streaming.": "This live is not currently streaming.",
"This live is not currently streaming.": "此直播目前未在進行中。",
"This live has ended.": "這個直播已經結束了。",
"The video failed to play, will try to fast forward.": "影片播放失敗,將嘗試快轉。",
"{1} / {2} dropped of {3}": "{1} / {2} dropped of {3}",
" (muted)": " (已靜音)",
"{1} from servers · {2} from peers": "{1} 來自伺服器 · {2} 來自用戶",
"Previous video": "上一個影片",
"Video page (new window)": "Video page (new window)",
"Video page (new window)": "影像頁面(打開新視窗)",
"Next video": "Next video",
"This video is password protected": "該影片受密碼保護",
"You need a password to watch this video.": "您需要密碼才能觀看該影片。",
@ -56,12 +56,12 @@
"Cancel": "取消",
"Up Next": "Up Next",
"Autoplay is suspended": "自動播放已暫停",
"{1} (from edge: {2})": "{1} (from edge: {2})",
"Disable subtitles": "Disable subtitles",
"Enable {1} subtitle": "Enable {1} subtitle",
"{1} (auto-generated)": "{1} (auto-generated)",
"Go back": "Go back",
"Audio only": "Audio only",
"{1} (from edge: {2})": "{1} (從邊緣:{2})",
"Disable subtitles": "停用字幕",
"Enable {1} subtitle": "啟用 {1} 字幕",
"{1} (auto-generated)": "{1} (自動產生的字幕)",
"Go back": "返回",
"Audio only": "只有音訊",
"Audio Player": "音頻播放器",
"Video Player": "影片播放器",
"Play": "播放",

View file

@ -27,50 +27,50 @@
"Public": "Públic",
"Unlisted": "No llistat",
"Private": "Privat",
"Internal": "Internal",
"Password protected": "Password protected",
"Published": "Publicat",
"Internal": "Intern",
"Password protected": "Protecció per contrasenya",
"Published": "Publicats",
"To transcode": "Transcodificar",
"To import": "Per importar",
"Waiting for livestream": "Waiting for livestream",
"Livestream ended": "Livestream ended",
"To move to an external storage": "To move to an external storage",
"Transcoding failed": "Transcoding failed",
"External storage move failed": "External storage move failed",
"To edit": "To edit",
"To move to file system": "To move to file system",
"Move to file system failed": "Move to file system failed",
"Pending": "En curs",
"Waiting for livestream": "Esperant el directe",
"Livestream ended": "Final del directe",
"To move to an external storage": "Per passar a un emmagatzematge extern",
"Transcoding failed": "Transcodificació fallida",
"External storage move failed": "No s'ha pogut moure a l'emmagatzematge extern",
"To edit": "Editar",
"To move to file system": "Moure al sistema de fitxers",
"Move to file system failed": "Fallada en moure al sistema de fitxers",
"Pending": "Pendents",
"Success": "Èxit",
"Failed": "Ha fallat",
"Rejected": "Rejected",
"Cancelled": "Cancelled",
"Rejected": "Rebutjat",
"Cancelled": "Cancel·lat",
"Processing": "Processing",
"Regular": "Normal",
"Watch later": "Mirar més tard",
"Administrator": "Administrator",
"Moderator": "Moderator",
"Moderator": "Moderador",
"User": "User",
"Waiting first run": "Waiting first run",
"Synchronized": "Synchronized",
"Accepted": "Accepted",
"Completed": "Completed",
"Errored": "Errored",
"Waiting for parent job to finish": "Waiting for parent job to finish",
"Parent job failed": "Parent job failed",
"Parent job cancelled": "Parent job cancelled",
"Completing": "Completing",
"Waiting first run": "Esperant la primera execició",
"Synchronized": "Sincronitzat",
"Accepted": "Acceptat",
"Completed": "Completat",
"Errored": "Amb error",
"Waiting for parent job to finish": "Esperant que finalitzi la tasca del procés superior",
"Parent job failed": "Fallada de la tasca del procés superior",
"Parent job cancelled": "Tasca del procés superior cancel·lada",
"Completing": "Completant",
"This video does not exist.": "Aquest vídeo no existeix.",
"We cannot fetch the video. Please try again later.": "No podem trobar el vídeo. Si us plau, intenta-ho més tard.",
"Sorry": "Ho sentim",
"This video is not available because the remote instance is not responding.": "Aquest vídeo no està disponible perquè la instància remota no respon.",
"This playlist does not exist": "This playlist does not exist",
"We cannot fetch the playlist. Please try again later.": "We cannot fetch the playlist. Please try again later.",
"This playlist does not exist": "Aquesta llista de reproducció no existeix",
"We cannot fetch the playlist. Please try again later.": "No podem recuperar la llista de reproducció. Si us plau, torneu-ho a provar més tard.",
"Playlist: {1}": "Llista de reproducció: {1}",
"By {1}": "By {1}",
"Unavailable video": "Unavailable video",
"Unavailable video": "Vídeo no disponible",
"Unknown": "Desconegut",
"To edit*": "To edit*",
"To edit*": "Per a editar*",
"Afar": "Àfar",
"Abkhazian": "Abkhaz",
"Afrikaans": "Afrikaans",
@ -80,7 +80,7 @@
"Aragonese": "Aragonès",
"American Sign Language": "Llengua de Signes Nord-Americana",
"Assamese": "Assamès",
"Austrian Sign Language": "Austrian Sign Language",
"Austrian Sign Language": "Llengua de signes austríaca",
"Avaric": "Àvar",
"Kotava": "Kotava",
"Aymara": "Aimara",

View file

@ -37,9 +37,9 @@
"To move to an external storage": "Siirtääksesi ulkoiselle tallennusmedialle",
"Transcoding failed": "Transkoodaus epäonnistui",
"External storage move failed": "Ulkoiselle tallennusmedialle siirto epäonnistui",
"To edit": "To edit",
"To move to file system": "To move to file system",
"Move to file system failed": "Move to file system failed",
"To edit": "Muokataksesi",
"To move to file system": "Siirtääksesi tiedostojärjestelmään",
"Move to file system failed": "Siirto tiedostojärjestelmään ei onnistunut",
"Pending": "Odottaa",
"Success": "Onnistui",
"Failed": "Epäonnistui",

Some files were not shown because too many files have changed in this diff Show more