X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Flocale%2Fsource%2Fangular_en_US.xml;h=949425f976dbead1bee9f32c8f3d4feeee106964;hb=ae8b8faf2002a0bea72d04a11a01532bf289cafe;hp=3aa17882554661ea93ee0239fc6bad6af69a4a88;hpb=b718fd22374d64534bcfe69932cf562894abed6a;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/locale/source/angular_en_US.xml b/client/src/locale/source/angular_en_US.xml index 3aa178825..949425f97 100644 --- a/client/src/locale/source/angular_en_US.xml +++ b/client/src/locale/source/angular_en_US.xml @@ -6,7 +6,7 @@ Close ../node_modules/@ng-bootstrap/ng-bootstrap/alert/alert.d.ts - 2 + 3 Previous @@ -64,49 +64,49 @@ «« ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 7 + 2 - - First + + « ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 5 + 3 - - « + + » ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 15 + 4 - - Previous + + »» ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 13 + 5 - - » + + First ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 29 + 14 - - Next + + Previous ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 27 + 23 - - »» + + Next ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 36 + 41 Last ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts - 34 + 49 <x id="INTERPOLATION" equiv-text="{{getPercentValue()}}"/>% @@ -136,95 +136,73 @@ Decrement hours ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 19 + 21 Increment minutes ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 28 + 30 MM ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 31 + 33 Minutes ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 33 + 35 Decrement minutes ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 38 + 42 Increment seconds ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 47 + 51 SS ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 50 + 54 Seconds ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 52 + 56 Decrement seconds ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 57 + 63 - PM + <x id="INTERPOLATION" equiv-text="{{ i18n.getAfternoonPeriod() }}"/> ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 65 + 71 - AM + <x id="INTERPOLATION" equiv-text="{{ i18n.getMorningPeriod() }}"/> ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts - 66 - - - Cancel - - app/core/confirm/confirm.component.html - 18 - - - app/shared/moderation/user-ban-modal.component.html - 22 - - - app/login/login.component.html - 77 - - - app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html - 22 - - - app/videos/+video-watch/modal/video-support.component.html - 10 + 72 - - (extensions: <x id="INTERPOLATION" equiv-text="{{ allowedExtensionsMessage }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxFileSize | bytes }}"/>) + + Close - app/shared/forms/reactive-file.component.html - 11 + ../node_modules/@ng-bootstrap/ng-bootstrap/toast/toast.d.ts + 8 You don't have notifications. @@ -232,2598 +210,3395 @@ app/shared/users/user-notifications.component.html 1 - + - <x id="INTERPOLATION" equiv-text="{{ notification.video.channel.displayName }}"/> published a <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>new video<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="TAG_IMG" ctype="image" equiv-text="<img/>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="INTERPOLATION" equiv-text="{{ notification.video.channel.displayName }}"/> published a <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>new video<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html 7 - + - Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been unblacklisted + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been unblacklisted + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 11 + 15 - + - Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.videoBlacklist.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been blacklisted + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.videoBlacklist.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been blacklisted + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 15 + 23 - + - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>A new video abuse<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been created on video <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.videoAbuse.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>A new video abuse<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been created on video <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.videoAbuse.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 19 + 31 - + - <x id="INTERPOLATION" equiv-text="{{ notification.comment.account.displayName }}"/> commented your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION_1" equiv-text="{{ notification.comment.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + The recently added video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/>auto-blacklisted<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 23 + 39 - + - Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been published + <x id="TAG_IMG" ctype="image" equiv-text="<img/>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.comment.account.displayName }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> commented your video <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION_1" equiv-text="{{ notification.comment.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 27 + 47 - + - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Your video import<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> <x id="INTERPOLATION" equiv-text="{{ notification.videoImportIdentifier }}"/> succeeded + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + Your video <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> has been published + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 31 + 55 - + - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Your video import<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> <x id="INTERPOLATION" equiv-text="{{ notification.videoImportIdentifier }}"/> failed + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Your video import<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> <x id="INTERPOLATION" equiv-text="{{ notification.videoImportIdentifier }}"/> succeeded + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 35 + 63 - + - User <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.account.name }}"/> registered<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on your instance + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Your video import<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> <x id="INTERPOLATION" equiv-text="{{ notification.videoImportIdentifier }}"/> failed + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 39 + 71 - + - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.actorFollow.follower.displayName }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> is following + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> - <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/> - your channel <x id="INTERPOLATION_1" equiv-text="{{ notification.actorFollow.following.displayName }}"/> - <x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> - <x id="START_TAG_NG-CONTAINER_1" ctype="x-ng-container" equiv-text="<ng-container>"/>your account<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + User <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.account.name }}"/> registered<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> on your instance + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 43 + 79 - + - <x id="INTERPOLATION" equiv-text="{{ notification.comment.account.displayName }}"/> mentioned you on <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>video <x id="INTERPOLATION_1" equiv-text="{{ notification.comment.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="TAG_IMG" ctype="image" equiv-text="<img/>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.actorFollow.follower.displayName }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> is following + + <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/>your channel <x id="INTERPOLATION_1" equiv-text="{{ notification.actorFollow.following.displayName }}"/><x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + <x id="START_TAG_NG-CONTAINER_1" ctype="x-ng-container" equiv-text="<ng-container>"/>your account<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> app/shared/users/user-notifications.component.html - 52 + 87 - + - <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> - + <x id="TAG_IMG" ctype="image" equiv-text="<img/>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ notification.comment.account.displayName }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> mentioned you on <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/>video <x id="INTERPOLATION_1" equiv-text="{{ notification.comment.video.name }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> + app/shared/users/user-notifications.component.html - 57 - - - Unlisted - - app/shared/video/video-miniature.component.html - 10 + 98 - - Private + + + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + + <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/> + Your instance has <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>a new follower<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> (<x id="INTERPOLATION" equiv-text="{{ notification.actorFollow.follower.host }}"/>) + <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/> awaiting your approval<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + <x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> + - app/shared/video/video-miniature.component.html - 11 + app/shared/users/user-notifications.component.html + 106 - - <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + Save to - app/shared/video/video-miniature.component.html - 16 + app/shared/video-playlist/video-add-to-playlist.component.html + 4 - - Delete + + Options - app/shared/buttons/delete-button.component.html - 5 + app/shared/video-playlist/video-add-to-playlist.component.html + 9 + + Start at - app/+my-account/my-account-videos/my-account-videos.component.html - 36 + app/shared/video-playlist/video-add-to-playlist.component.html + 17 - app/videos/+video-edit/shared/video-edit.component.html - 162 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 40 - app/videos/+video-watch/video-watch.component.html - 104 + app/videos/+video-watch/modal/video-share.component.html + 61 + + Stop at - app/videos/+video-watch/comment/video-comment.component.html - 15 + app/shared/video-playlist/video-add-to-playlist.component.html + 31 - - Edit - app/shared/buttons/edit-button.component.html - 5 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 54 - app/shared/buttons/edit-button.component.html - 1 + app/videos/+video-watch/modal/video-share.component.html + 112 - - Truncated preview + + Display name - app/shared/forms/markdown-textarea.component.html - 9 + app/shared/video-playlist/video-add-to-playlist.component.html + 64 - - Complete preview - app/shared/forms/markdown-textarea.component.html - 13 + app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html + 6 - - Get help - app/shared/misc/help.component.html - 19 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 28 - - - <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/> - Subscribe - <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> - <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount | myNumberFormatter }}"/> - <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - - app/shared/user-subscription/subscribe-button.component.html - 5 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 28 - - - Unsubscribe - - app/shared/user-subscription/subscribe-button.component.html - 18 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 9 - - Using an ActivityPub account - app/shared/user-subscription/subscribe-button.component.html - 36 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 9 - - Subscribe with an account on <x id="INTERPOLATION" equiv-text="{{ videoChannel.host }}"/> - app/shared/user-subscription/subscribe-button.component.html - 39 + app/+signup/+register/register-step-user.component.html + 4 - - Subscribe with your local account + + Create - app/shared/user-subscription/subscribe-button.component.html - 40 + app/shared/video-playlist/video-add-to-playlist.component.html + 74 - - Subscribe with a Mastodon account: + + Download video - app/shared/user-subscription/subscribe-button.component.html - 43 + app/shared/video/modals/video-download.component.html + 3 - - Using a syndication feed + + Direct download - app/shared/user-subscription/subscribe-button.component.html - 48 + app/shared/video/modals/video-download.component.html + 27 - - Subscribe via RSS + + Torrent (.torrent file) - app/shared/user-subscription/subscribe-button.component.html - 49 + app/shared/video/modals/video-download.component.html + 32 - + - <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>Remote subscribe<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>Remote interact<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - + Cancel + - app/shared/user-subscription/remote-subscribe.component.html - 10 + app/shared/video/modals/video-download.component.html + 38 - - You can subscribe to the channel via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type the channel URL in the search box and subscribe there. - app/shared/user-subscription/remote-subscribe.component.html - 17 + app/videos/+video-watch/comment/video-comment-add.component.html + 47 - - You can interact with this via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type the current URL in the search box and interact with it there. + + Download - app/shared/user-subscription/remote-subscribe.component.html - 22 + app/shared/video/modals/video-download.component.html + 43 - - Video quota + + Report video - app/shared/instance/instance-features-table.component.html - 5 + app/shared/video/modals/video-report.component.html + 3 + + + Your report will be sent to moderators of <x id="INTERPOLATION" equiv-text="{{ currentHost }}"/>. + <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/> It will be forwarded to origin instance <x id="INTERPOLATION_1" equiv-text="{{ originHost }}"/> too.<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + - app/+admin/users/user-edit/user-edit.component.html - 56 + app/shared/video/modals/video-report.component.html + 9 + + Reason... - app/+admin/users/user-edit/user-edit.component.html - 56 + app/shared/video/modals/video-report.component.html + 16 - app/+admin/users/user-list/user-list.component.html - 42 + app/shared/video/modals/video-blacklist.component.html + 11 - + + app/shared/moderation/user-ban-modal.component.html + 11 + + - Unlimited <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/>(<x id="INTERPOLATION" equiv-text="{{ dailyUserVideoQuota | bytes: 0 }}"/> per day)<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + Cancel - app/shared/instance/instance-features-table.component.html - 14 + app/shared/video/modals/video-report.component.html + 24 - - Ban - app/shared/moderation/user-ban-modal.component.html - 3 + app/shared/video/modals/video-blacklist.component.html + 26 - - Reason... - app/shared/moderation/user-ban-modal.component.html - 10 + app/shared/video/videos-selection.component.html + 15 - app/videos/+video-watch/modal/video-report.component.html - 16 + app/+about/about-instance/contact-admin-modal.component.html + 47 + + Submit - app/videos/+video-watch/modal/video-blacklist.component.html - 11 + app/shared/video/modals/video-report.component.html + 29 - - - A banned user will no longer be able to login. - - app/shared/moderation/user-ban-modal.component.html - 17 + app/shared/video/modals/video-blacklist.component.html + 31 - - Ban this user - app/shared/moderation/user-ban-modal.component.html - 25 + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 26 - - <x id="INTERPOLATION" equiv-text="{{ menuEntry.label }}"/> - app/shared/menu/top-menu-dropdown.component.html - 11 + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 29 - - - Login - - app/login/login.component.html - 2 + app/+about/about-instance/contact-admin-modal.component.html + 52 - - Request new verification email. + + Blacklist video - app/login/login.component.html - 7 + app/shared/video/modals/video-blacklist.component.html + 3 + + + Unfederate the video (ask for its deletion from the remote instances) + + app/shared/video/modals/video-blacklist.component.html + 21 + + Unlisted - app/+verify-account/verify-account-email/verify-account-email.component.html + app/shared/video/video-miniature.component.html 12 - - User - app/login/login.component.html + app/videos/+video-watch/video-watch-playlist.component.html + 6 + + + Private + + app/shared/video/video-miniature.component.html 13 - - Username or email address - app/login/login.component.html - 15 + app/videos/+video-watch/video-watch-playlist.component.html + 7 - + + <x id="INTERPOLATION" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + app/shared/video/video-miniature.component.html + 22 + + + Blacklisted + + app/shared/video/video-miniature.component.html + 39 + + - or create an account - + Sensitive + - app/login/login.component.html - 18 + app/shared/video/video-miniature.component.html + 43 - + + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> videos} } + + app/shared/video-playlist/video-playlist-miniature.component.html + 9 + + - or create an account on another instance - + <x id="INTERPOLATION" equiv-text="{{ playlist.videoChannelBy }}"/> + - app/login/login.component.html + app/shared/video-playlist/video-playlist-miniature.component.html 22 - - User registration is not allowed on this instance, but you can register on many others! + + Updated <x id="INTERPOLATION" equiv-text="{{ playlist.updatedAt | myFromNow }}"/> - app/login/login.component.html - 28 + app/shared/video-playlist/video-playlist-miniature.component.html + 29 - - Password + + Edit starts/stops at - app/login/login.component.html - 38 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 33 + + Save - app/login/login.component.html - 41 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 65 - app/reset-password/reset-password.component.html - 8 + app/videos/+video-watch/video-watch.component.html + 92 - app/reset-password/reset-password.component.html - 10 + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 47 - app/signup/signup.component.html - 42 + app/+my-account/my-account-settings/my-account-interface/my-account-interface-settings.component.html + 15 + + Delete from <x id="INTERPOLATION" equiv-text="{{ playlist?.displayName }}"/> - app/signup/signup.component.html - 44 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 69 + + No results. - app/+admin/users/user-edit/user-edit.component.html - 30 + app/shared/video/videos-selection.component.html + 1 - app/+admin/users/user-edit/user-edit.component.html - 30 + app/shared/video/abstract-video-list.html + 20 - app/+my-account/my-account-settings/my-account-settings.component.html - 13 + app/shared/video/abstract-video-list.html + 20 - - I forgot my password - app/login/login.component.html - 44 + app/shared/video/abstract-video-list.html + 20 - - Login - app/login/login.component.html - 51 + app/shared/video/abstract-video-list.html + 20 - app/menu/menu.component.html - 36 + app/videos/video-list/video-overview.component.html + 3 - - Forgot your password - app/login/login.component.html - 57 + app/shared/video/abstract-video-list.html + 20 - - - We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. - - app/login/login.component.html - 63 + app/shared/video/abstract-video-list.html + 20 - - Email + + Delete - app/login/login.component.html - 68 + app/shared/buttons/delete-button.component.html + 5 - app/signup/signup.component.html - 31 + app/videos/+video-edit/shared/video-edit.component.html + 157 - app/signup/signup.component.html - 33 + app/videos/+video-watch/comment/video-comment.component.html + 15 - app/+admin/users/user-edit/user-edit.component.html - 19 + app/+my-account/my-account-videos/my-account-videos.component.html + 13 + + Edit - app/+admin/users/user-edit/user-edit.component.html - 19 + app/shared/buttons/edit-button.component.html + 5 - app/+admin/users/user-list/user-list.component.html - 41 + app/shared/buttons/edit-button.component.html + 1 - app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html - 4 + app/videos/+video-edit/shared/video-edit.component.html + 195 - app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html - 8 + app/videos/+video-edit/video-add-components/video-upload.component.html + 41 - - Email address - app/login/login.component.html - 70 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 63 - app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html - 10 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 63 - - Send me an email to reset my password + + Truncated preview - app/login/login.component.html - 80 + app/shared/forms/markdown-textarea.component.html + 9 - - - Reset my password - + + Complete preview - app/reset-password/reset-password.component.html - 2 + app/shared/forms/markdown-textarea.component.html + 13 - - Confirm password + + Get help - app/reset-password/reset-password.component.html + app/shared/misc/help.component.html 19 - - Confirmed password - - app/reset-password/reset-password.component.html - 21 - - - Reset my password + + + <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/> + Subscribe + <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/> + <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount | myNumberFormatter }}"/> + <x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + - app/reset-password/reset-password.component.html - 29 + app/shared/user-subscription/subscribe-button.component.html + 5 - + - Create an account + Unsubscribe - app/signup/signup.component.html - 3 + app/shared/user-subscription/subscribe-button.component.html + 18 - - Username + + Using an ActivityPub account - app/signup/signup.component.html - 13 + app/shared/user-subscription/subscribe-button.component.html + 36 + + Subscribe with an account on <x id="INTERPOLATION" equiv-text="{{ videoChannel.host }}"/> - app/+admin/users/user-edit/user-edit.component.html - 8 + app/shared/user-subscription/subscribe-button.component.html + 39 + + Subscribe with your local account - app/+admin/users/user-edit/user-edit.component.html - 8 + app/shared/user-subscription/subscribe-button.component.html + 40 - - Example: jane_doe + + Subscribe with a Mastodon account: - app/signup/signup.component.html - 17 + app/shared/user-subscription/subscribe-button.component.html + 43 - - I am at least 16 years old and agree to the <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Terms</a> of this instance + + Using a syndication feed - app/signup/signup.component.html - 55 + app/shared/user-subscription/subscribe-button.component.html + 48 - - Signup + + Subscribe via RSS - app/signup/signup.component.html - 63 + app/shared/user-subscription/subscribe-button.component.html + 49 + + + <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/>Remote subscribe<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + <x id="START_TAG_SPAN_1" ctype="x-span" equiv-text="<span>"/>Remote interact<x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + - app/+about/about-instance/about-instance.component.html - 26 + app/shared/user-subscription/remote-subscribe.component.html + 10 + + You can subscribe to the channel via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type the channel URL in the search box and subscribe there. - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 78 + app/shared/user-subscription/remote-subscribe.component.html + 17 - - Features found on this instance + + You can interact with this via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type the current URL in the search box and interact with it there. - app/signup/signup.component.html - 67 + app/shared/user-subscription/remote-subscribe.component.html + 22 - - <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems | myNumberFormatter }}"/> results + + Default NSFW/sensitive videos policy (can be redefined by the users) - app/search/search.component.html + app/shared/instance/instance-features-table.component.html 5 - - - for <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ currentSearch }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - + + Video quota - app/search/search.component.html - 6 + app/shared/instance/instance-features-table.component.html + 19 - - - Filters - <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> - - app/search/search.component.html - 16 + app/+admin/users/user-edit/user-edit.component.html + 56 - + + app/+admin/users/user-edit/user-edit.component.html + 56 + + - No results found - + Unlimited <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/>(<x id="INTERPOLATION" equiv-text="{{ dailyUserVideoQuota | bytes: 0 }}"/> per day)<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> + - app/search/search.component.html + app/shared/instance/instance-features-table.component.html 28 - - <x id="INTERPOLATION" equiv-text="{{ result.followersCount }}"/> subscribers + + Ban - app/search/search.component.html - 44 + app/shared/moderation/user-ban-modal.component.html + 3 - - <x id="INTERPOLATION" equiv-text="{{ result.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ result.views | myNumberFormatter }}"/> views + + + A banned user will no longer be able to login. + - app/search/search.component.html - 55 + app/shared/moderation/user-ban-modal.component.html + 18 - - Change the language + + Cancel - app/menu/language-chooser.component.html - 3 + app/shared/moderation/user-ban-modal.component.html + 23 - app/menu/menu.component.html - 86 + app/shared/confirm/confirm.component.html + 19 - - - Help to translate PeerTube! - - app/menu/language-chooser.component.html - 8 + app/login/login.component.html + 78 - - - My public profile - - app/menu/menu.component.html - 16 + app/videos/+video-watch/modal/video-support.component.html + 10 - - - My account - - app/menu/menu.component.html - 20 + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 23 - - - My videos - + + Ban this user - app/menu/menu.component.html - 24 + app/shared/moderation/user-ban-modal.component.html + 26 - - - Log out - + + <x id="INTERPOLATION" equiv-text="{{ menuEntry.label }}"/> - app/menu/menu.component.html - 28 + app/shared/menu/top-menu-dropdown.component.html + 11 - - Create an account + + (extensions: <x id="INTERPOLATION" equiv-text="{{ allowedExtensionsMessage }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>) - app/menu/menu.component.html - 37 + app/shared/images/preview-upload.component.html + 12 - - Videos + + + Login + - app/menu/menu.component.html - 41 + app/login/login.component.html + 2 + + Request new verification email. - app/+accounts/accounts.component.html - 29 + app/login/login.component.html + 7 - app/+video-channels/video-channels.component.html - 24 + app/+signup/+verify-account/verify-account-email/verify-account-email.component.html + 16 - - Subscriptions + + User - app/menu/menu.component.html - 45 + app/login/login.component.html + 13 - - Overview + + Username or email address - app/menu/menu.component.html - 50 + app/login/login.component.html + 15 - - Trending + + + or create an account + - app/menu/menu.component.html - 55 + app/login/login.component.html + 18 - - Recently added + + + or create an account on another instance + - app/menu/menu.component.html - 60 + app/login/login.component.html + 22 - - Local + + User registration is not allowed on this instance, but you can register on many others! - app/menu/menu.component.html - 65 + app/login/login.component.html + 28 - - More + + Password - app/menu/menu.component.html - 70 + app/login/login.component.html + 38 - - Administration - app/menu/menu.component.html - 74 + app/login/login.component.html + 41 - - About - app/menu/menu.component.html - 79 + app/reset-password/reset-password.component.html + 8 - app/+accounts/accounts.component.html - 33 + app/reset-password/reset-password.component.html + 10 - app/+video-channels/video-channels.component.html - 25 + app/+admin/users/user-edit/user-edit.component.html + 30 - - Show keyboard shortcuts - app/menu/menu.component.html - 89 + app/+admin/users/user-edit/user-edit.component.html + 30 - - Toggle dark interface - app/menu/menu.component.html - 92 + app/+my-account/my-account-settings/my-account-settings.component.html + 19 - - View your notifications - app/menu/avatar-notification.component.html - 3 + app/+signup/+register/register-step-user.component.html + 52 - - Notifications - app/menu/avatar-notification.component.html - 12 + app/+signup/+register/register-step-user.component.html + 54 + + I forgot my password - app/+my-account/my-account-settings/my-account-settings.component.html - 10 + app/login/login.component.html + 44 - - Update your notification preferences + + Login - app/menu/avatar-notification.component.html - 15 + app/login/login.component.html + 51 - - See all your notifications - app/menu/avatar-notification.component.html - 22 + app/menu/menu.component.html + 32 - - Search... + + Forgot your password - app/header/header.component.html - 2 + app/login/login.component.html + 57 - - Upload + + + We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. + - app/header/header.component.html - 9 + app/login/login.component.html + 64 - - Sort + + Email - app/search/search-filters.component.html - 6 + app/login/login.component.html + 69 - - Published date - app/search/search-filters.component.html - 15 + app/+admin/users/user-edit/user-edit.component.html + 19 - - Duration - app/search/search-filters.component.html - 24 + app/+admin/users/user-edit/user-edit.component.html + 19 - - Display sensitive content - app/search/search-filters.component.html - 33 + app/+admin/users/user-list/user-list.component.html + 41 - - Yes - app/search/search-filters.component.html - 37 + app/+my-account/my-account-settings/my-account-settings.component.html + 22 - - No - app/search/search-filters.component.html - 42 + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 4 - - Category - app/search/search-filters.component.html - 50 + app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 8 - app/videos/+video-edit/shared/video-edit.component.html - 48 + app/+signup/+register/register-step-user.component.html + 41 - app/videos/+video-watch/video-watch.component.html - 164 + app/+signup/+register/register-step-user.component.html + 43 - - Licence + + Email address - app/search/search-filters.component.html - 60 + app/login/login.component.html + 71 - app/videos/+video-edit/shared/video-edit.component.html - 62 + app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 10 + + Send me an email to reset my password - app/videos/+video-watch/video-watch.component.html - 173 + app/login/login.component.html + 81 - - Language + + + Reset my password + - app/search/search-filters.component.html - 70 + app/reset-password/reset-password.component.html + 2 + + Confirm password - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 10 + app/reset-password/reset-password.component.html + 19 + + Confirmed password - app/videos/+video-edit/shared/video-edit.component.html - 76 + app/reset-password/reset-password.component.html + 21 + + Reset my password - app/videos/+video-watch/video-watch.component.html - 182 + app/reset-password/reset-password.component.html + 29 - - All of these tags + + <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems | myNumberFormatter }}"/> results - app/search/search-filters.component.html - 82 + app/search/search.component.html + 5 - - One of these tags + + + for <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ currentSearch }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + - app/search/search-filters.component.html - 87 + app/search/search.component.html + 6 - - Filter + + + Filters + <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ numberOfFilters() }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + - app/search/search-filters.component.html - 94 + app/search/search.component.html + 16 - - Display unlisted and private videos + + + No results found + - app/shared/video/abstract-video-list.html - 14 + app/search/search.component.html + 28 + + <x id="INTERPOLATION" equiv-text="{{ result.followersCount }}"/> subscribers - app/shared/video/abstract-video-list.html - 14 + app/search/search.component.html + 44 + + Change the language - app/shared/video/abstract-video-list.html - 14 + app/menu/language-chooser.component.html + 3 - app/shared/video/abstract-video-list.html - 14 + app/menu/menu.component.html + 102 - - app/shared/video/abstract-video-list.html - 14 + + + Help to translate PeerTube! + + + app/menu/language-chooser.component.html + 8 + + My public profile - app/shared/video/abstract-video-list.html - 14 + app/menu/menu.component.html + 17 - - No results. + + My account - app/shared/video/abstract-video-list.html - 20 + app/menu/menu.component.html + 21 + + Log out - app/shared/video/abstract-video-list.html - 20 + app/menu/menu.component.html + 25 + + Create an account - app/shared/video/abstract-video-list.html - 20 + app/menu/menu.component.html + 33 + + My library - app/shared/video/abstract-video-list.html - 20 + app/menu/menu.component.html + 37 + + Videos - app/videos/video-list/video-overview.component.html - 3 + app/menu/menu.component.html + 41 - app/shared/video/abstract-video-list.html - 20 + app/menu/menu.component.html + 62 - app/+my-account/my-account-videos/my-account-videos.component.html - 1 + app/+accounts/accounts.component.html + 38 - app/shared/video/abstract-video-list.html - 20 + app/+video-channels/video-channels.component.html + 24 - - - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/><x id="INTERPOLATION" equiv-text="{{ object.category.label }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> - + + Playlists - app/videos/video-list/video-overview.component.html - 6 + app/menu/menu.component.html + 46 - - - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>#<x id="INTERPOLATION" equiv-text="{{ object.tag }}"/><x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> - + + Subscriptions - app/videos/video-list/video-overview.component.html - 14 + app/menu/menu.component.html + 51 - - - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/> - <x id="TAG_IMG" ctype="image" equiv-text="<img/>"/> - - <x id="START_TAG_DIV" ctype="x-div" equiv-text="<div>"/><x id="INTERPOLATION" equiv-text="{{ object.channel.displayName }}"/><x id="CLOSE_TAG_DIV" ctype="x-div" equiv-text="</div>"/> - <x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> - + + History - app/videos/video-list/video-overview.component.html - 22 + app/menu/menu.component.html + 56 - - Instance + + Discover - app/+about/about.component.html - 5 + app/menu/menu.component.html + 66 + + Trending - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 8 + app/menu/menu.component.html + 71 + + Recently added - app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html - 8 + app/menu/menu.component.html + 76 + + Local - app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html - 12 + app/menu/menu.component.html + 81 - - PeerTube + + More - app/+about/about.component.html - 7 + app/menu/menu.component.html + 86 - - Contact <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> administrator + + Administration - app/+about/about-instance/contact-admin-modal.component.html - 3 + app/menu/menu.component.html + 90 - - Your name + + About - app/+about/about-instance/contact-admin-modal.component.html - 11 + app/menu/menu.component.html + 95 - - Your email - app/+about/about-instance/contact-admin-modal.component.html - 20 + app/+accounts/accounts.component.html + 40 - - Your message - app/+about/about-instance/contact-admin-modal.component.html - 29 + app/+video-channels/video-channels.component.html + 26 - - - Cancel - + + Show keyboard shortcuts - app/+about/about-instance/contact-admin-modal.component.html - 38 + app/menu/menu.component.html + 106 + + View your notifications - app/videos/+video-watch/modal/video-report.component.html - 24 + app/menu/avatar-notification.component.html + 3 + + Notifications - app/videos/+video-watch/modal/video-blacklist.component.html - 26 + app/menu/avatar-notification.component.html + 13 - - Submit - app/+about/about-instance/contact-admin-modal.component.html - 43 + app/+my-account/my-account-settings/my-account-settings.component.html + 13 + + Update your notification preferences - app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html - 25 + app/menu/avatar-notification.component.html + 16 + + See all your notifications - app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html - 28 + app/menu/avatar-notification.component.html + 30 + + Search... - app/videos/+video-watch/modal/video-report.component.html - 29 + app/header/header.component.html + 2 - app/videos/+video-watch/modal/video-blacklist.component.html - 31 + app/+admin/plugins/plugin-search/plugin-search.component.html + 6 - - About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance + + Upload - app/+about/about-instance/about-instance.component.html - 4 + app/header/header.component.html + 9 - - Contact administrator + + Sort - app/+about/about-instance/about-instance.component.html + app/search/search-filters.component.html 6 - - Description + + Published date - app/+about/about-instance/about-instance.component.html - 14 + app/search/search-filters.component.html + 15 + + Original publication year - app/+accounts/account-about/account-about.component.html - 3 + app/search/search-filters.component.html + 24 + + After... - app/+admin/config/edit-custom-config/edit-custom-config.component.html + app/search/search-filters.component.html 30 + + Before... - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 39 + app/search/search-filters.component.html + 37 + + Duration - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 39 + app/search/search-filters.component.html + 45 + + Display sensitive content - app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html - 17 + app/search/search-filters.component.html + 54 + + Yes - app/+video-channels/video-channel-about/video-channel-about.component.html - 4 + app/search/search-filters.component.html + 58 + + No - app/videos/+video-edit/shared/video-edit.component.html - 27 + app/search/search-filters.component.html + 63 - - Terms + + Category - app/+about/about-instance/about-instance.component.html - 20 + app/search/search-filters.component.html + 71 - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 39 + app/videos/+video-edit/shared/video-edit.component.html + 48 - - User registration is allowed and - app/+about/about-instance/about-instance.component.html - 29 + app/videos/+video-watch/video-watch.component.html + 164 - - - this instance provides a baseline quota of <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> space for the videos of its users. - + + Licence - app/+about/about-instance/about-instance.component.html - 31 + app/search/search-filters.component.html + 81 - - - this instance provides unlimited space for the videos of its users. - - app/+about/about-instance/about-instance.component.html + app/videos/+video-edit/shared/video-edit.component.html + 62 + + + app/videos/+video-watch/video-watch.component.html + 173 + + + Language + + app/search/search-filters.component.html + 91 + + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 10 + + + app/videos/+video-edit/shared/video-edit.component.html + 76 + + + app/videos/+video-watch/video-watch.component.html + 182 + + + All of these tags + + app/search/search-filters.component.html + 103 + + + One of these tags + + app/search/search-filters.component.html + 108 + + + Filter + + app/search/search-filters.component.html + 115 + + + Display unlisted and private videos + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + Add caption + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 5 + + + Select the caption file + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 24 + + + + This will replace an existing caption! + + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 29 + + + + Cancel + + + app/videos/+video-edit/shared/video-caption-add-modal.component.html 35 - - - User registration is currently not allowed. - - app/+about/about-instance/about-instance.component.html - 40 + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 21 + + + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 24 + + + Add this caption + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 40 + + + Title + + app/videos/+video-edit/shared/video-edit.component.html + 9 + + + Tags + + app/videos/+video-edit/shared/video-edit.component.html + 17 + + + app/videos/+video-watch/video-watch.component.html + 191 + + + Tags could be used to suggest relevant recommendations.</br>Press Enter to add a new tag. + + app/videos/+video-edit/shared/video-edit.component.html + 18 + + + + Tag + + app/videos/+video-edit/shared/video-edit.component.html + 21 + + + Enter a new tag + + app/videos/+video-edit/shared/video-edit.component.html + 21 + + + Description + + app/videos/+video-edit/shared/video-edit.component.html + 27 + + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 30 + + + app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html + 17 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 39 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 39 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 20 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 20 + + + app/+accounts/account-about/account-about.component.html + 3 + + + app/+video-channels/video-channel-about/video-channel-about.component.html + 4 + + + app/+about/about-instance/about-instance.component.html + 16 + + + Video descriptions are truncated by default and require manual action to expand them. + + app/videos/+video-edit/shared/video-edit.component.html + 28 + + + Channel + + app/videos/+video-edit/shared/video-edit.component.html + 39 + + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 16 + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 12 + + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 24 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 46 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 46 + + + Privacy + + app/videos/+video-edit/shared/video-edit.component.html + 90 + + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 25 + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 21 + + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 33 + + + app/videos/+video-watch/video-watch.component.html + 154 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 33 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 33 + + + Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>) + + app/videos/+video-edit/shared/video-edit.component.html + 105 + + + This video contains mature or explicit content + + app/videos/+video-edit/shared/video-edit.component.html + 119 + + + Some instances do not list videos containing mature or explicit content by default. + + app/videos/+video-edit/shared/video-edit.component.html + 120 + + + Wait transcoding before publishing the video + + app/videos/+video-edit/shared/video-edit.component.html + 126 + + + If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends. + + app/videos/+video-edit/shared/video-edit.component.html + 127 + + + Basic info + + app/videos/+video-edit/shared/video-edit.component.html + 4 + + + Add another caption + + app/videos/+video-edit/shared/video-edit.component.html + 142 + + + See the subtitle file + + app/videos/+video-edit/shared/video-edit.component.html + 151 + + + Already uploaded ✔ + + app/videos/+video-edit/shared/video-edit.component.html + 155 + + + Will be created on update + + app/videos/+video-edit/shared/video-edit.component.html + 163 + + + Cancel create + + app/videos/+video-edit/shared/video-edit.component.html + 165 + + + Will be deleted on update + + app/videos/+video-edit/shared/video-edit.component.html + 171 + + + Cancel deletion + + app/videos/+video-edit/shared/video-edit.component.html + 173 + + + + No captions for now. + + + app/videos/+video-edit/shared/video-edit.component.html + 178 + + + Captions + + app/videos/+video-edit/shared/video-edit.component.html + 135 + + + Video preview + + app/videos/+video-edit/shared/video-edit.component.html + 192 + + + Support + + app/videos/+video-edit/shared/video-edit.component.html + 201 + + + app/videos/+video-watch/modal/video-support.component.html + 3 + + + app/videos/+video-watch/video-watch.component.html + 78 + + + Short text to tell people how they can support you (membership platform...). + + app/videos/+video-edit/shared/video-edit.component.html + 202 + + + Original publication date + + app/videos/+video-edit/shared/video-edit.component.html + 215 + + + This is the date when the content was originally published (e.g. the release date for a film) + + app/videos/+video-edit/shared/video-edit.component.html + 216 + + + Enable video comments + + app/videos/+video-edit/shared/video-edit.component.html + 230 + + + Enable download + + app/videos/+video-edit/shared/video-edit.component.html + 235 + + + Advanced settings + + app/videos/+video-edit/shared/video-edit.component.html + 186 + + + URL + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 6 + + + app/videos/+video-watch/modal/video-share.component.html + 10 + + + You can import any URL <a href='https://rg3.github.io/youtube-dl/supportedsites.html' target='_blank' rel='noopener noreferrer'>supported by youtube-dl</a> or URL that points to a raw MP4 file. You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance. + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 9 + + + Import + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 34 + + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 42 + + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 162 + + + Sorry, but something went wrong + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 42 + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 62 + + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 49 + + + + Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video. + + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 46 + + + Update + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 63 + + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 70 + + + app/videos/+video-edit/video-update.component.html + 17 + + + Select the file to upload + + app/videos/+video-edit/video-add-components/video-upload.component.html + 6 + + + Scheduled + + app/videos/+video-edit/video-add-components/video-upload.component.html + 25 + + + Video background image + + app/videos/+video-edit/video-add-components/video-upload.component.html + 32 + + + + Image that will be merged with your audio file. + <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> + The chosen image will be definitive and cannot be modified. + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 34 + + + + Congratulations! Your video is now available in your private library. + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 66 + + + Publish will be available when upload is finished + + app/videos/+video-edit/video-add-components/video-upload.component.html + 79 + + + Publish + + app/videos/+video-edit/video-add-components/video-upload.component.html + 86 + + + Select the torrent to import + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 6 + + + Or + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 11 - + + Paste magnet URI + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 14 + + + You can import any torrent file that points to a mp4 file. You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance. + + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 17 + + - About PeerTube + Congratulations, the video will be imported with BitTorrent! You can already add information about this video. - app/+about/about-peertube/about-peertube.component.html - 1 + app/videos/+video-edit/video-add-components/video-import-torrent.component.html + 53 - - PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser. + + Import <x id="INTERPOLATION" equiv-text="{{ videoName }}"/> - app/+about/about-peertube/about-peertube.component.html - 6 + app/videos/+video-edit/video-add.component.html + 3 - + + Upload <x id="INTERPOLATION" equiv-text="{{ videoName }}"/> + + app/videos/+video-edit/video-add.component.html + 4 + + + Upload a file + + app/videos/+video-edit/video-add.component.html + 10 + + + Import with URL + + app/videos/+video-edit/video-add.component.html + 17 + + + Import with torrent + + app/videos/+video-edit/video-add.component.html + 24 + + - It is a free and open-source software, under the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. + Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> - app/+about/about-peertube/about-peertube.component.html - 8 + app/videos/+video-edit/video-update.component.html + 2 - + - For more information, please visit <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. - + Other videos + - app/+about/about-peertube/about-peertube.component.html - 12 + app/videos/recommendations/recommended-videos.component.html + 2 - - P2P & Privacy + + Share - app/+about/about-peertube/about-peertube.component.html - 18 + app/videos/+video-watch/modal/video-share.component.html + 3 - + + app/videos/+video-watch/video-watch.component.html + 83 + + + QR-Code + + app/videos/+video-watch/modal/video-share.component.html + 27 + + - PeerTube uses the BitTorrent protocol to share bandwidth between users. - This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. - + The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites). + - app/+about/about-peertube/about-peertube.component.html + app/videos/+video-watch/modal/video-share.component.html + 47 + + + Embed + + app/videos/+video-watch/modal/video-share.component.html + 35 + + + Auto select subtitle + + app/videos/+video-watch/modal/video-share.component.html + 76 + + + + More customization + + + app/videos/+video-watch/modal/video-share.component.html + 93 + + + + Less customization + + + app/videos/+video-watch/modal/video-share.component.html + 101 + + + Autoplay + + app/videos/+video-watch/modal/video-share.component.html + 127 + + + Muted + + app/videos/+video-watch/modal/video-share.component.html + 134 + + + app/+accounts/accounts.component.html 20 - - What are the consequences? + + Loop - app/+about/about-peertube/about-peertube.component.html - 25 + app/videos/+video-watch/modal/video-share.component.html + 141 - + + Display video title + + app/videos/+video-watch/modal/video-share.component.html + 150 + + + Display privacy warning + + app/videos/+video-watch/modal/video-share.component.html + 157 + + + Display player controls + + app/videos/+video-watch/modal/video-share.component.html + 164 + + + Close + + app/videos/+video-watch/modal/video-share.component.html + 173 + + + Public + + app/videos/+video-watch/video-watch-playlist.component.html + 8 + + - In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. - In practice, this is much more difficult because: - + The video is being imported, it will be available when the import is finished. + - app/+about/about-peertube/about-peertube.component.html - 27 + app/videos/+video-watch/video-watch.component.html + 19 - + - An HTTP request has to be sent on each tracker for each video to spy. - If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) + The video is being transcoded, it may not work properly. - app/+about/about-peertube/about-peertube.component.html - 33 + app/videos/+video-watch/video-watch.component.html + 23 - + - For each request sent, the tracker returns random peers at a limited number. - For instance, if there are 1000 peers in the swarm and the tracker sends only 20 peers for each request, there must be at least 50 requests sent to know every peers in the swarm + This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/>. - app/+about/about-peertube/about-peertube.component.html - 38 + app/videos/+video-watch/video-watch.component.html + 27 + + + This video is blacklisted. + + app/videos/+video-watch/video-watch.component.html + 32 + + + + Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + + app/videos/+video-watch/video-watch.component.html + 44 + + + + Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + + app/videos/+video-watch/video-watch.component.html + 53 + + + Like this video + + app/videos/+video-watch/video-watch.component.html + 63 + + + Dislike this video + + app/videos/+video-watch/video-watch.component.html + 71 + + + Go the channel page + + app/videos/+video-watch/video-watch.component.html + 118 + + + By <x id="INTERPOLATION" equiv-text="{{ video.byAccount }}"/> + + app/videos/+video-watch/video-watch.component.html + 129 + + + Go to the account page + + app/videos/+video-watch/video-watch.component.html + 128 + + + app/+admin/users/user-list/user-list.component.html + 63 + + + Show more + + app/videos/+video-watch/video-watch.component.html + 141 + + + Show less + + app/videos/+video-watch/video-watch.component.html + 147 + + + Originally published + + app/videos/+video-watch/video-watch.component.html + 159 + + + Friendly Reminder: + + app/videos/+video-watch/video-watch.component.html + 207 - + - Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour - + the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. + - app/+about/about-peertube/about-peertube.component.html - 43 + app/videos/+video-watch/video-watch.component.html + 208 - - - If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video - + + More information - app/+about/about-peertube/about-peertube.component.html - 47 + app/videos/+video-watch/video-watch.component.html + 211 - - - The IP address is a vague information : usually, it regularly changes and can represent many persons or entities - + + Get more information - app/+about/about-peertube/about-peertube.component.html - 51 + app/videos/+video-watch/video-watch.component.html + 211 - + - Web peers are not publicly accessible: because we use WebRTC inside the web browser (<x id="START_LINK" ctype="x-a" equiv-text="<a>"/>with the WebTorrent library<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>), the protocol is different from classic BitTorrent. - When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. - See <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information + OK - app/+about/about-peertube/about-peertube.component.html - 55 + app/videos/+video-watch/video-watch.component.html + 214 - + - The worst-case scenario of an average person spying on their friends is quite unlikely. - There are much more effective ways to get that kind of information. - - - app/+about/about-peertube/about-peertube.component.html - 62 - - - How does PeerTube compare with YouTube? + Comments + - app/+about/about-peertube/about-peertube.component.html - 67 + app/videos/+video-watch/comment/video-comments.component.html + 3 - - - The threats to privacy in YouTube are different from PeerTube's. - In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. - Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). - + + No comments. - app/+about/about-peertube/about-peertube.component.html - 69 + app/videos/+video-watch/comment/video-comments.component.html + 17 - - What can I do to limit the exposure of my IP address? + + View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies - app/+about/about-peertube/about-peertube.component.html - 75 + app/videos/+video-watch/comment/video-comments.component.html + 54 - + - Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing your IP in their connection logs: ISP/routers/trackers/CDN and more. - PeerTube is transparent about it: we warn you that if you want to keep your IP private, you must use a VPN or Tor Browser. - Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. + Comments are disabled. - app/+about/about-peertube/about-peertube.component.html - 77 + app/videos/+video-watch/comment/video-comments.component.html + 63 - - What will be done to mitigate this problem? + + Add comment... - app/+about/about-peertube/about-peertube.component.html - 83 + app/videos/+video-watch/comment/video-comment-add.component.html + 6 - + - PeerTube is in its early stages, and want to deliver the best countermeasures possible by the time the stable is released. - In the meantime, we want to test different ideas related to this issue: - - - app/+about/about-peertube/about-peertube.component.html - 85 - - - Set a limit to the number of peers sent by the tracker + Post comment + - app/+about/about-peertube/about-peertube.component.html - 91 + app/videos/+video-watch/comment/video-comment-add.component.html + 20 - - Set a limit on the request frequency received by the tracker (being tested) + + You are one step away from commenting - app/+about/about-peertube/about-peertube.component.html - 92 + app/videos/+video-watch/comment/video-comment-add.component.html + 28 - - Ring a bell if there are unusual requests (being tested) + + + If you have an account on this instance, you can login: + - app/+about/about-peertube/about-peertube.component.html - 93 + app/videos/+video-watch/comment/video-comment-add.component.html + 32 - - Disable P2P from the administration interface + + login to comment - app/+about/about-peertube/about-peertube.component.html - 94 + app/videos/+video-watch/comment/video-comment-add.component.html + 35 - - An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program + + + Otherwise you can comment using an account on any ActivityPub-compatible instance. + On most platforms, you can find the video by typing its URL in the search bar and then comment it + from within the software's interface. + - app/+about/about-peertube/about-peertube.component.html - 95 + app/videos/+video-watch/comment/video-comment-add.component.html + 36 - - Banned + + + If you have an account on Mastodon or Pleroma, you can open it directly in their interface: + - app/+accounts/accounts.component.html - 12 + app/videos/+video-watch/comment/video-comment-add.component.html + 41 - - Muted + + Highlighted comment - app/+accounts/accounts.component.html - 13 + app/videos/+video-watch/comment/video-comment.component.html + 5 - - Muted by your instance + + Reply - app/+accounts/accounts.component.html + app/videos/+video-watch/comment/video-comment.component.html 14 - - Instance muted + + + Users + - app/+accounts/accounts.component.html - 15 + app/+admin/admin.component.html + 3 - - Instance muted by your instance + + + Manage follows + - app/+accounts/accounts.component.html - 16 + app/+admin/admin.component.html + 7 - - <x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers + + + Moderation + - app/+accounts/accounts.component.html - 24 + app/+admin/admin.component.html + 11 - - Video channels + + + Configuration + - app/+accounts/accounts.component.html - 31 + app/+admin/admin.component.html + 15 - - Stats + + + Plugins/Themes + - app/+accounts/account-about/account-about.component.html - 8 + app/+admin/admin.component.html + 19 + + + System + - app/+video-channels/video-channel-about/video-channel-about.component.html - 16 + app/+admin/admin.component.html + 23 - - Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/> + + Manage follows - app/+accounts/account-about/account-about.component.html - 10 + app/+admin/follows/follows.component.html + 2 - - <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers + + Following - app/+accounts/account-video-channels/account-video-channels.component.html - 9 + app/+admin/follows/follows.component.html + 5 + + Follow - app/+my-account/my-account-video-channels/my-account-video-channels.component.html - 20 + app/+admin/follows/follows.component.html + 7 + + Followers - app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html - 15 + app/+admin/follows/follows.component.html + 9 - app/+video-channels/video-channels.component.html - 14 + app/+about/about-follows/about-follows.component.html + 3 - - See this video channel + + 1 host (without "http://") per line - app/+accounts/account-video-channels/account-video-channels.component.html - 4 + app/+admin/follows/following-add/following-add.component.html + 5 - - Name + + + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. + - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 12 + app/+admin/follows/following-add/following-add.component.html + 17 + + Add following - app/+admin/follows/followers-list/followers-list.component.html - 18 + app/+admin/follows/following-add/following-add.component.html + 21 + + Filter... - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 12 + app/+admin/follows/followers-list/followers-list.component.html + 8 - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 12 + app/+admin/follows/following-list/following-list.component.html + 9 - - Short description - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 21 + app/+admin/users/user-list/user-list.component.html + 27 - - Default client route + + ID - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 48 + app/+admin/follows/followers-list/followers-list.component.html + 16 - - Videos Overview - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 51 + app/+admin/follows/following-list/following-list.component.html + 18 - - Videos Trending - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 52 + app/+admin/system/jobs/jobs.component.html + 18 - - Videos Recently Added + + Follower handle - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 53 + app/+admin/follows/followers-list/followers-list.component.html + 17 - - Local videos + + State - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 54 + app/+admin/follows/followers-list/followers-list.component.html + 18 - - Policy on videos containing sensitive content - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 61 + app/+admin/follows/following-list/following-list.component.html + 20 - - With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video. - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 64 + app/+admin/system/jobs/jobs.component.html + 20 - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html - 6 + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 10 - - Do not list + + Score - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 69 + app/+admin/follows/followers-list/followers-list.component.html + 19 + + Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html - 11 + app/+admin/follows/followers-list/followers-list.component.html + 20 - - Blur thumbnails - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 70 + app/+admin/follows/following-list/following-list.component.html + 21 - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html - 12 + app/+admin/users/user-list/user-list.component.html + 44 - - Display - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 71 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 9 - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html - 13 + app/+admin/system/jobs/jobs.component.html + 21 - - Signup enabled - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 84 + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 11 - - Signup requires email verification + + Accepted - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 91 + app/+admin/follows/followers-list/followers-list.component.html + 30 - - Signup limit - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 96 + app/+admin/follows/following-list/following-list.component.html + 32 - - Users + + Pending - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 105 + app/+admin/follows/followers-list/followers-list.component.html + 31 - - User default video quota - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 109 + app/+admin/follows/following-list/following-list.component.html + 33 - - User default daily upload limit + + Accept - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 121 + app/+admin/follows/followers-list/followers-list.component.html + 38 - - Import - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 133 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 41 + + Refuse - app/videos/+video-edit/video-add-components/video-import-url.component.html - 34 + app/+admin/follows/followers-list/followers-list.component.html + 39 - app/videos/+video-edit/video-add-components/video-import-torrent.component.html + app/+my-account/my-account-ownership/my-account-ownership.component.html 42 - - Video import with HTTP URL (i.e. YouTube) enabled + + Host - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 141 + app/+admin/follows/following-list/following-list.component.html + 19 - - Video import with a torrent file or a magnet URI enabled + + Redundancy allowed - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 148 + app/+admin/follows/following-list/following-list.component.html + 22 - - Administrator + + Create user - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 155 + app/+admin/users/user-edit/user-edit.component.html + 1 - - Admin email - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 158 + app/+admin/users/user-edit/user-edit.component.html + 1 - - Enable contact form - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 169 + app/+admin/users/user-list/user-list.component.html + 6 - - Basic configuration + + Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/> - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 5 + app/+admin/users/user-edit/user-edit.component.html + 2 - - Twitter - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 178 + app/+admin/users/user-edit/user-edit.component.html + 2 - - Your Twitter username + + Username - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 184 + app/+admin/users/user-edit/user-edit.component.html + 8 - - Indicates the Twitter account for the website or platform on which the content was published. - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 187 + app/+admin/users/user-edit/user-edit.component.html + 8 - - Instance whitelisted by Twitter - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 199 + app/+signup/+register/register-step-user.component.html + 19 - - If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> - If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> - Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted. + + john - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 200 + app/+admin/users/user-edit/user-edit.component.html + 10 - - Services - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 176 + app/+admin/users/user-edit/user-edit.component.html + 10 - - Transcoding + + mail@example.com - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 215 + app/+admin/users/user-edit/user-edit.component.html + 21 - - Transcoding enabled - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 221 + app/+admin/users/user-edit/user-edit.component.html + 21 - - If you disable transcoding, many videos from your users will not work! + + Role - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 222 + app/+admin/users/user-edit/user-edit.component.html + 41 - - Allow additional extensions - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 231 + app/+admin/users/user-edit/user-edit.component.html + 41 - - Allow your users to upload .mkv, .mov, .avi, .flv videos - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 232 + app/+admin/users/user-list/user-list.component.html + 43 - - Transcoding threads + + + Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> + At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. + - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 237 + app/+admin/users/user-edit/user-edit.component.html + 65 - - Resolution <x id="INTERPOLATION" equiv-text="{{resolution}}"/> enabled - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 252 + app/+admin/users/user-edit/user-edit.component.html + 65 - - - Cache - - <x id="START_TAG_MY-HELP" ctype="x-my-help" equiv-text="<my-help>"/><x id="CLOSE_TAG_MY-HELP" ctype="x-my-help" equiv-text="</my-help>"/> - + + Daily video quota - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 260 + app/+admin/users/user-edit/user-edit.component.html + 72 - - Some files are not federated (previews, captions). We fetch them directly from the origin instance and cache them. - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 265 + app/+admin/users/user-edit/user-edit.component.html + 72 - - Previews cache size + + Bypass video auto blacklist - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 271 + app/+admin/users/user-edit/user-edit.component.html + 85 - - Video captions cache size - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 280 + app/+admin/users/user-edit/user-edit.component.html + 85 - - Customizations + + Danger Zone - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 289 + app/+admin/users/user-edit/user-edit.component.html + 93 - - JavaScript - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 294 + app/+admin/users/user-edit/user-edit.component.html + 93 - - Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre> + + Send a link to reset the password by email to the user - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 297 + app/+admin/users/user-edit/user-edit.component.html + 96 - - - Write directly CSS code. Example:<br /> - <pre> - body <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> - background-color: red; - <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> - </pre> - - Prepend with <em>#custom-css</em> to override styles. Example: - <pre> - #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> - color: red; - <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> - </pre> - - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 311 + app/+admin/users/user-edit/user-edit.component.html + 96 - - Advanced configuration + + Ask for new password - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 212 + app/+admin/users/user-edit/user-edit.component.html + 97 - - Update configuration - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 340 + app/+admin/users/user-edit/user-edit.component.html + 97 - - It seems the configuration is invalid. Please search potential errors in the different tabs. + + Manually set the user password - app/+admin/config/edit-custom-config/edit-custom-config.component.html - 341 + app/+admin/users/user-edit/user-edit.component.html + 101 - - - Users - - app/+admin/admin.component.html - 3 + app/+admin/users/user-edit/user-edit.component.html + 101 - - - Manage follows - + + Show - app/+admin/admin.component.html - 7 + app/+admin/users/user-edit/user-password.component.html + 10 - - - Moderation - + + Hide - app/+admin/admin.component.html + app/+admin/users/user-edit/user-password.component.html 11 - - - Jobs - + + Users list - app/+admin/admin.component.html - 15 + app/+admin/users/user-list/user-list.component.html + 2 - - - Configuration - + + Batch actions - app/+admin/admin.component.html + app/+admin/users/user-list/user-list.component.html 19 - - 1 host (without "http://") per line + + Username <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/follows/following-add/following-add.component.html - 5 + app/+admin/users/user-list/user-list.component.html + 40 - - - It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. - + + Video quota <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/follows/following-add/following-add.component.html - 17 + app/+admin/users/user-list/user-list.component.html + 42 - - Add following + + (banned) - app/+admin/follows/following-add/following-add.component.html - 21 + app/+admin/users/user-list/user-list.component.html + 65 - - Filter... + + User's email must be verified to login - app/+admin/follows/followers-list/followers-list.component.html - 8 + app/+admin/users/user-list/user-list.component.html + 72 + + User's email is verified / User can login without email verification - app/+admin/follows/following-list/following-list.component.html - 9 + app/+admin/users/user-list/user-list.component.html + 76 + + Ban reason: app/+admin/users/user-list/user-list.component.html - 27 + 95 - - ID + + Moderation - app/+admin/follows/followers-list/followers-list.component.html - 16 + app/+admin/moderation/moderation.component.html + 2 + + Video abuses - app/+admin/follows/following-list/following-list.component.html - 18 + app/+admin/moderation/moderation.component.html + 5 + + <x id="INTERPOLATION" equiv-text="{{ autoBlacklistVideosEnabled ? 'Manually blacklisted videos' : 'Blacklisted videos' }}"/> - app/+admin/jobs/jobs-list/jobs-list.component.html - 18 + app/+admin/moderation/moderation.component.html + 7 - - Score + + Auto-blacklisted videos - app/+admin/follows/followers-list/followers-list.component.html - 17 + app/+admin/moderation/moderation.component.html + 9 - - Host + + Muted accounts - app/+admin/follows/followers-list/followers-list.component.html - 19 + app/+admin/moderation/moderation.component.html + 11 - app/+admin/follows/following-list/following-list.component.html - 19 + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 2 - - State + + Muted servers - app/+admin/follows/followers-list/followers-list.component.html - 20 + app/+admin/moderation/moderation.component.html + 13 + + Video name <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/follows/following-list/following-list.component.html - 20 + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 8 + + Sensitive - app/+admin/jobs/jobs-list/jobs-list.component.html - 20 + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 9 + + Unfederated - app/+my-account/my-account-video-imports/my-account-video-imports.component.html + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html 10 - - Created <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Date <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 11 + + + Go to the video + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 25 + + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 33 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 33 + + + Actions - app/+admin/follows/followers-list/followers-list.component.html - 21 + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 35 - app/+admin/follows/following-list/following-list.component.html - 21 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 44 + + Blacklist reason: - app/+admin/jobs/jobs-list/jobs-list.component.html - 21 + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 43 + + Moderation comment - app/+admin/users/user-list/user-list.component.html - 44 + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 3 + + + This comment can only be seen by you or the other moderators. + - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 9 + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 18 + + Update this comment - app/+my-account/my-account-video-imports/my-account-video-imports.component.html - 11 + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 26 - - Accepted + + Reporter - app/+admin/follows/followers-list/followers-list.component.html - 32 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 8 + + Video - app/+admin/follows/following-list/following-list.component.html - 32 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 10 - - Pending - app/+admin/follows/followers-list/followers-list.component.html - 33 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 14 - app/+admin/follows/following-list/following-list.component.html - 33 + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 9 - - Redundancy allowed + + State <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/follows/following-list/following-list.component.html - 22 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 11 - - Manage follows + + Go to the account - app/+admin/follows/follows.component.html - 2 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 25 - - Following - app/+admin/follows/follows.component.html - 5 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 27 - - Follow + + Reason: - app/+admin/follows/follows.component.html - 7 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 53 - - Followers + + Moderation comment: - app/+admin/follows/follows.component.html - 9 + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 57 - - Jobs list + + Unblacklist - app/+admin/jobs/jobs-list/jobs-list.component.html - 2 + app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html + 12 - - Type - app/+admin/jobs/jobs-list/jobs-list.component.html - 19 + app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html + 17 - - Processed on + + Instance - app/+admin/jobs/jobs-list/jobs-list.component.html - 22 + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 8 - - Finished on - app/+admin/jobs/jobs-list/jobs-list.component.html - 23 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 8 - - Create user - app/+admin/users/user-edit/user-edit.component.html - 1 + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 12 - app/+admin/users/user-edit/user-edit.component.html - 1 + app/+about/about.component.html + 5 + + Muted at <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/users/user-list/user-list.component.html - 6 + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 9 - - Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/> - app/+admin/users/user-edit/user-edit.component.html - 2 + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 9 - app/+admin/users/user-edit/user-edit.component.html - 2 + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 13 - - john - app/+admin/users/user-edit/user-edit.component.html - 10 + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 13 + + Unmute - app/+admin/users/user-edit/user-edit.component.html - 10 + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 19 - - mail@example.com - app/+admin/users/user-edit/user-edit.component.html - 21 + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 18 - app/+admin/users/user-edit/user-edit.component.html - 21 + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 22 - - Role - app/+admin/users/user-edit/user-edit.component.html - 41 + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 23 + + Account - app/+admin/users/user-edit/user-edit.component.html - 41 + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 8 - app/+admin/users/user-list/user-list.component.html - 43 + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 12 - - - Transcoding is enabled on server. The video quota only take in account <x id="START_TAG_STRONG" ctype="x-strong" equiv-text="<strong>"/>original<x id="CLOSE_TAG_STRONG" ctype="x-strong" equiv-text="</strong>"/> video. <x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - At most, this user could use ~ <x id="INTERPOLATION" equiv-text="{{ computeQuotaWithTranscoding() | bytes: 0 }}"/>. - + + Plugins/Themes - app/+admin/users/user-edit/user-edit.component.html - 65 + app/+admin/plugins/plugins.component.html + 2 + + Installed - app/+admin/users/user-edit/user-edit.component.html - 65 + app/+admin/plugins/plugins.component.html + 5 - - Daily video quota + + Search - app/+admin/users/user-edit/user-edit.component.html - 72 + app/+admin/plugins/plugins.component.html + 7 + + Homepage - app/+admin/users/user-edit/user-edit.component.html - 72 + app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html + 26 - - Users list - app/+admin/users/user-list/user-list.component.html - 2 + app/+admin/plugins/plugin-search/plugin-search.component.html + 51 - - Batch actions + + Go to the plugin homepage - app/+admin/users/user-list/user-list.component.html - 19 + app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html + 23 - - Username <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - app/+admin/users/user-list/user-list.component.html - 40 + app/+admin/plugins/plugin-search/plugin-search.component.html + 48 - - (banned) + + Settings - app/+admin/users/user-list/user-list.component.html - 65 + app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html + 29 - - Go to the account page + + Uninstall - app/+admin/users/user-list/user-list.component.html - 63 + app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.html + 35 + + + To load your new installed plugins or themes, refresh the page. + - app/videos/+video-watch/video-watch.component.html - 133 + app/+admin/plugins/plugin-search/plugin-search.component.html + 9 - - User's email must be verified to login + + Popular - app/+admin/users/user-list/user-list.component.html - 72 + app/+admin/plugins/plugin-search/plugin-search.component.html + 16 - - User's email is verified / User can login without email verification + + + <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems }}"/> <x id="ICU" equiv-text="{pagination.totalItems, plural, =1 {...} other {...}}"/> for "<x id="INTERPOLATION_1" equiv-text="{{ search }}"/>" + - app/+admin/users/user-list/user-list.component.html - 76 + app/+admin/plugins/plugin-search/plugin-search.component.html + 22 - - Ban reason: + + {VAR_PLURAL, plural, =1 {result} other {results} } - app/+admin/users/user-list/user-list.component.html - 95 + app/+admin/plugins/plugin-search/plugin-search.component.html + 23 - - Moderation comment + + + No results. + - app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html - 3 + app/+admin/plugins/plugin-search/plugin-search.component.html + 28 - + - This comment can only be seen by you or the other moderators. - + This <x id="INTERPOLATION" equiv-text="{{ pluginTypeLabel }}"/> does not have settings. + - app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html - 17 + app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.html + 22 - - Update this comment + + System - app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html - 25 + app/+admin/system/system.component.html + 2 - - Reporter + + Jobs - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 8 + app/+admin/system/system.component.html + 5 - - Video + + Logs - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 10 + app/+admin/system/system.component.html + 7 + + Debug - app/+my-account/my-account-video-imports/my-account-video-imports.component.html + app/+admin/system/system.component.html 9 + + Jobs list - app/+my-account/my-account-ownership/my-account-ownership.component.html - 14 + app/+admin/system/jobs/jobs.component.html + 2 - - State <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Type - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 11 + app/+admin/system/jobs/jobs.component.html + 19 - - Go to the account + + Processed on - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 25 + app/+admin/system/jobs/jobs.component.html + 22 + + Finished on - app/+my-account/my-account-ownership/my-account-ownership.component.html - 27 + app/+admin/system/jobs/jobs.component.html + 23 - - Go to the video + + Refresh - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 33 + app/+admin/system/logs/logs.component.html + 14 + + Name - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 25 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 12 - app/+my-account/my-account-ownership/my-account-ownership.component.html - 33 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 12 - - Actions - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 44 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 12 + + Short description - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 35 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 21 - - Reason: + + Terms - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 53 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 39 - - Moderation comment: - app/+admin/moderation/video-abuse-list/video-abuse-list.component.html - 57 + app/+about/about-instance/about-instance.component.html + 22 - - Video name <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Dedicated to sensitive or NSFW content - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 8 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 50 - - Sensitive + + Enabling it will allow other administrators to know that you are mainly federating sensitive content.<br /><br /> + Moreover, the NSFW checkbox on video upload will be automatically checked by default. - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 9 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 51 - - Unfederated + + Default client route - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 10 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 57 - - Date <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Videos Overview - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 11 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 60 - - Blacklist reason: + + Videos Trending - app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html - 43 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 61 - - Moderation + + Videos Recently Added - app/+admin/moderation/moderation.component.html - 2 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 62 - - Video abuses + + Local videos - app/+admin/moderation/moderation.component.html - 5 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 63 - - Blacklisted videos + + Policy on videos containing sensitive content - app/+admin/moderation/moderation.component.html - 7 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 70 - - Muted accounts + + With <strong>Do not list</strong> or <strong>Blur thumbnails</strong>, a confirmation will be requested to watch the video. - app/+admin/moderation/moderation.component.html - 9 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 73 - app/+my-account/my-account-blocklist/my-account-blocklist.component.html - 2 + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 6 - - Muted servers + + Do not list - app/+admin/moderation/moderation.component.html + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 78 + + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html 11 - - Account + + Blur thumbnails - app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html - 8 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 79 - app/+my-account/my-account-blocklist/my-account-blocklist.component.html + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html 12 - - Muted at <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Display - app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html - 9 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 80 - app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html - 9 + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 13 + + Theme - app/+my-account/my-account-blocklist/my-account-blocklist.component.html - 13 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 88 - app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html - 13 + app/+my-account/my-account-settings/my-account-interface/my-account-interface-settings.component.html + 3 - - Unmute + + Global theme - app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html - 18 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 92 + + default - app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html - 19 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 96 + + Signup - app/+my-account/my-account-blocklist/my-account-blocklist.component.html - 22 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 105 + + Signup enabled - app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html - 23 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 111 - - Video quota: + + Signup requires email verification - app/+my-account/my-account-settings/my-account-settings.component.html - 4 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 118 - - Profile + + Signup limit - app/+my-account/my-account-settings/my-account-settings.component.html - 7 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 123 - - Video settings + + Users - app/+my-account/my-account-settings/my-account-settings.component.html - 16 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 133 - - Danger zone + + User default video quota - app/+my-account/my-account-settings/my-account-settings.component.html - 19 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 137 + + + User default daily upload limit + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 149 - - Change ownership + + Video import with HTTP URL (i.e. YouTube) enabled - app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html - 3 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 170 + + Video import with a torrent file or a magnet URI enabled - app/+my-account/my-account-videos/my-account-videos.component.html - 46 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 177 - - Select the next owner + + Auto-blacklist - app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html - 9 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 185 - - - Cancel - + + New videos of users automatically blacklisted enabled - app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html - 20 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 194 + + Instance followers - app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html - 23 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 203 + + Other instances can follow your instance - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 35 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 211 - - <x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + Manually approve new instance follower - app/+my-account/my-account-videos/my-account-videos.component.html - 19 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 218 - - Blacklisted + + Administrator - app/+my-account/my-account-videos/my-account-videos.component.html - 22 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 225 - - - Cancel - + + Admin email - app/+my-account/my-account-videos/my-account-videos.component.html - 30 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 228 - - Create another video channel + + Enable contact form - app/+my-account/my-account-video-channels/my-account-video-channels.component.html - 4 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 239 - - Go to the channel + + Basic configuration - app/+my-account/my-account-video-channels/my-account-video-channels.component.html - 15 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 5 + + Twitter - app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html - 10 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 248 - - Create a video channel + + Your Twitter username - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 6 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 254 + + Indicates the Twitter account for the website or platform on which the content was published. - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 6 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 257 - - Example: my_channel + + Instance whitelisted by Twitter - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 15 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 269 + + If your instance is whitelisted by Twitter, a video player will be embedded in the Twitter feed on PeerTube video share.<br /> + If the instance is not whitelisted, we use an image link card that will redirect on your PeerTube instance.<br /><br /> + Check this checkbox, save the configuration and test with a video URL of your instance (https://example.com/videos/watch/blabla) on <a target='_blank' rel='noopener noreferrer' href='https://cards-dev.twitter.com/validator'>https://cards-dev.twitter.com/validator</a> to see if you instance is whitelisted. - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 15 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 270 - - Display name + + Services - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 28 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 246 + + Transcoding - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 28 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 285 + + Transcoding enabled - app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html - 6 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 291 - - Short text to tell people how they can support your channel (membership platform...).<br /><br /> -When you will upload a video in this channel, the video support field will be automatically filled by this text. + + If you disable transcoding, many videos from your users will not work! - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 52 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 292 + + Allow additional extensions - app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html - 52 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 301 - - Target + + Allow your users to upload .mkv, .mov, .avi, .flv videos - app/+my-account/my-account-video-imports/my-account-video-imports.component.html - 8 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 302 - - You don't have any subscriptions yet. + + Allow audio files upload - app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html - 1 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 309 - - Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> + + Allow your users to upload audio files that will be merged with the preview file on upload - app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html - 18 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 310 + + Transcoding threads - app/+video-channels/video-channels.component.html - 17 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 315 - - Go the owner account page + + Resolution <x id="INTERPOLATION" equiv-text="{{resolution.label}}"/> enabled - app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html - 17 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 330 + + + Cache + + <x id="START_TAG_MY-HELP" ctype="x-my-help" equiv-text="<my-help>"/><x id="CLOSE_TAG_MY-HELP" ctype="x-my-help" equiv-text="</my-help>"/> + - app/+video-channels/video-channels.component.html - 16 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 338 - - Accept ownership + + Some files are not federated (previews, captions). We fetch them directly from the origin instance and cache them. - app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html - 3 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 343 - - Select the target channel + + Previews cache size - app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html - 9 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 349 - - Initiator + + Video captions cache size - app/+my-account/my-account-ownership/my-account-ownership.component.html - 13 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 358 - - - Created - <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> - + + Customizations - app/+my-account/my-account-ownership/my-account-ownership.component.html - 15 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 367 - - Status + + JavaScript - app/+my-account/my-account-ownership/my-account-ownership.component.html - 19 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 372 - - Action + + Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre> - app/+my-account/my-account-ownership/my-account-ownership.component.html - 20 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 375 - - <x id="INTERPOLATION" equiv-text="{{ videoChangeOwnership.status }}"/> + + + Write directly CSS code. Example:<br /><br /> + <pre> + #custom-css <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> + color: red; + <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> + </pre> + + Prepend with <em>#custom-css</em> to override styles. Example:<br /><br /> + <pre> + #custom-css .logged-in-email <x id="INTERPOLATION" equiv-text="{{ '{' }}"/> + color: red; + <x id="INTERPOLATION_1" equiv-text="{{ '}' }}"/> + </pre> + - app/+my-account/my-account-ownership/my-account-ownership.component.html - 39 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 389 - - Refuse + + Advanced configuration - app/+my-account/my-account-ownership/my-account-ownership.component.html - 47 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 282 - - Muted instances + + Update configuration - app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html - 2 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 418 - - History enabled + + It seems the configuration is invalid. Please search potential errors in the different tabs. - app/+my-account/my-account-history/my-account-history.component.html - 4 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 419 - - Delete history + + Video quota: - app/+my-account/my-account-history/my-account-history.component.html - 8 + app/+my-account/my-account-settings/my-account-settings.component.html + 4 - - You don't have videos history yet. + + Profile - app/+my-account/my-account-history/my-account-history.component.html - 13 + app/+my-account/my-account-settings/my-account-settings.component.html + 7 - - <x id="INTERPOLATION" equiv-text="{{ video.views | myNumberFormatter }}"/> views + + Video settings - app/+my-account/my-account-history/my-account-history.component.html - 22 + app/+my-account/my-account-settings/my-account-settings.component.html + 10 - - Notification preferences + + Interface - app/+my-account/my-account-notifications/my-account-notifications.component.html - 2 + app/+my-account/my-account-settings/my-account-settings.component.html + 16 - - Mark all as read + + Danger zone - app/+my-account/my-account-notifications/my-account-notifications.component.html - 4 + app/+my-account/my-account-settings/my-account-settings.component.html + 25 Change password @@ -2859,23 +3634,35 @@ When you will upload a video in this channel, the video support field will be au app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html 3 - - Use WebTorrent to exchange parts of the video with others + + Only display videos in the following languages + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 19 + + + In Recently added, Trending, Local and Search pages app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html 21 - - Automatically plays video + + No results found app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html 28 - - Save + + Use WebTorrent to exchange parts of the video with others app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html - 32 + 36 + + + Automatically plays video + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 43 Update my profile @@ -2883,888 +3670,894 @@ When you will upload a video in this channel, the video support field will be au app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html 27 - - <x id="INTERPOLATION" equiv-text="{{ actor.followersCount }}"/> subscribers - - app/+my-account/shared/actor-avatar-info.component.html - 10 - - - Change the avatar - - app/+my-account/shared/actor-avatar-info.component.html - 15 - - - (extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>) + + + Your current email is <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ user.email }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> + - app/+my-account/shared/actor-avatar-info.component.html - 18 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 4 - - Once you delete your account, there is no going back. Please be certain. + + + <x id="START_TAG_SPAN" ctype="x-span" equiv-text="<span>"/><x id="INTERPOLATION" equiv-text="{{ user.pendingEmail }}"/><x id="CLOSE_TAG_SPAN" ctype="x-span" equiv-text="</span>"/> is awaiting email verification + - app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html - 2 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 8 - - Delete your account + + New email - app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html - 4 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 15 - - Activities + + Your new email - app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html - 2 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 17 - - Web + + Your password - app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html - 3 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 27 - - - Sorry, but we couldn't find the page you were looking for. - + + Change email - app/+page-not-found/page-not-found.component.html - 1 + app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.html + 35 - - - Verify account email confirmation - + + instance default - app/+verify-account/verify-account-email/verify-account-email.component.html - 2 + app/+my-account/my-account-settings/my-account-interface/my-account-interface-settings.component.html + 7 - - - Your email has been verified and you may now login. Redirecting... - + + peertube default - app/+verify-account/verify-account-email/verify-account-email.component.html - 6 + app/+my-account/my-account-settings/my-account-interface/my-account-interface-settings.component.html + 8 - - An error occurred. + + Change ownership - app/+verify-account/verify-account-email/verify-account-email.component.html - 11 + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 3 - - - Request email for account verification - - app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html - 2 + app/+my-account/my-account-videos/my-account-videos.component.html + 22 - - Send verification email + + Select the next owner - app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html - 17 + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 10 - - This instance does not require email verification. + + Accept ownership - app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html - 20 + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 3 - - Support this channel + + Select the target channel - app/+video-channels/video-channel-about/video-channel-about.component.html - 9 + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 10 - - Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/> + + Initiator - app/+video-channels/video-channel-about/video-channel-about.component.html - 17 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 13 - - URL + + + Created + <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + - app/videos/+video-edit/video-add-components/video-import-url.component.html - 6 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 15 + + Status - app/videos/+video-watch/modal/video-share.component.html - 17 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 19 - - You can import any URL <a href='https://rg3.github.io/youtube-dl/supportedsites.html' target='_blank' rel='noopener noreferrer'>supported by youtube-dl</a> or URL that points to a raw MP4 file. You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance. + + Action - app/videos/+video-edit/video-add-components/video-import-url.component.html - 9 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 20 - - Channel + + <x id="INTERPOLATION" equiv-text="{{ videoChangeOwnership.status }}"/> - app/videos/+video-edit/video-add-components/video-import-url.component.html - 16 + app/+my-account/my-account-ownership/my-account-ownership.component.html + 38 + + Create a new video channel - app/videos/+video-edit/video-add-components/video-upload.component.html - 12 + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 4 + + Go to the channel - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 24 + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 15 - app/videos/+video-edit/shared/video-edit.component.html - 39 + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 10 - - Privacy + + <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers - app/videos/+video-edit/video-add-components/video-import-url.component.html - 25 + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 20 - app/videos/+video-edit/video-add-components/video-upload.component.html - 21 + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 15 - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 33 + app/+accounts/account-video-channels/account-video-channels.component.html + 12 - app/videos/+video-edit/shared/video-edit.component.html - 90 + app/+video-channels/video-channels.component.html + 14 + + Create a video channel - app/videos/+video-watch/video-watch.component.html - 159 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 6 - - Sorry, but something went wrong - app/videos/+video-edit/video-add-components/video-import-url.component.html - 42 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 6 + + Example: my_channel - app/videos/+video-edit/video-add-components/video-upload.component.html - 41 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 15 - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 49 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 15 - - - Congratulations, the video behind <x id="INTERPOLATION" equiv-text="{{ targetUrl }}"/> will be imported! You can already add information about this video. - + + Short text to tell people how they can support your channel (membership platform...).<br /><br /> +When you will upload a video in this channel, the video support field will be automatically filled by this text. - app/videos/+video-edit/video-add-components/video-import-url.component.html - 46 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 52 - - Update - app/videos/+video-edit/video-add-components/video-import-url.component.html - 63 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 52 + + Overwrite support field of all videos of this channel - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 70 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 67 - app/videos/+video-edit/video-update.component.html - 17 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 67 + + <x id="INTERPOLATION" equiv-text="{{ actor.followersCount }}"/> subscribers - app/videos/+video-watch/video-watch.component.html - 92 + app/+my-account/shared/actor-avatar-info.component.html + 10 - - Select the file to upload + + Change the avatar - app/videos/+video-edit/video-add-components/video-upload.component.html - 6 + app/+my-account/shared/actor-avatar-info.component.html + 15 - - Scheduled + + (extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>) - app/videos/+video-edit/video-add-components/video-upload.component.html - 25 + app/+my-account/shared/actor-avatar-info.component.html + 18 - - - Congratulations! Your video is now available in your private library. - + + Target - app/videos/+video-edit/video-add-components/video-upload.component.html - 45 + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 8 - - Publish will be available when upload is finished + + Once you delete your account, there is no going back. Please be certain. - app/videos/+video-edit/video-add-components/video-upload.component.html - 58 + app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html + 2 - - Publish + + Delete your account - app/videos/+video-edit/video-add-components/video-upload.component.html - 65 + app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html + 4 - - Select the torrent to import + + You don't have any subscriptions yet. - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 6 + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 1 - - Or + + Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 11 + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 18 - - Paste magnet URI - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 14 + app/+video-channels/video-channels.component.html + 17 - - You can import any torrent file that points to a mp4 file. You should make sure you have diffusion rights over the content it points to, otherwise it could cause legal trouble to yourself and your instance. + + Go the owner account page - app/videos/+video-edit/video-add-components/video-import-torrent.component.html + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html 17 - - - Congratulations, the video will be imported with BitTorrent! You can already add information about this video. - - app/videos/+video-edit/video-add-components/video-import-torrent.component.html - 53 + app/+video-channels/video-channels.component.html + 16 - - Import <x id="INTERPOLATION" equiv-text="{{ videoName }}"/> + + Muted instances - app/videos/+video-edit/video-add.component.html - 3 + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 2 - - Upload <x id="INTERPOLATION" equiv-text="{{ videoName }}"/> + + History enabled - app/videos/+video-edit/video-add.component.html + app/+my-account/my-account-history/my-account-history.component.html 4 - - Upload a file + + + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + Delete history + - app/videos/+video-edit/video-add.component.html - 10 + app/+my-account/my-account-history/my-account-history.component.html + 7 - - Import with URL + + You don't have videos history yet. - app/videos/+video-edit/video-add.component.html - 17 + app/+my-account/my-account-history/my-account-history.component.html + 14 - - Import with torrent + + + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + Notification preferences + - app/videos/+video-edit/video-add.component.html - 24 + app/+my-account/my-account-notifications/my-account-notifications.component.html + 2 - - Add caption + + + <x id="START_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="<my-global-icon>"/><x id="CLOSE_TAG_MY-GLOBAL-ICON" ctype="x-my-global-icon" equiv-text="</my-global-icon>"/> + Mark all as read + - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 5 + app/+my-account/my-account-notifications/my-account-notifications.component.html + 7 - - Select the caption file + + Activities - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 24 + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 2 - - - This will replace an existing caption! - + + Web - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 29 + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 3 - - Add this caption + + Create a new playlist - app/videos/+video-edit/shared/video-caption-add-modal.component.html - 40 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 1 - - Title - app/videos/+video-edit/shared/video-edit.component.html - 9 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 1 - - Tags - app/videos/+video-edit/shared/video-edit.component.html - 17 + app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html + 4 + + Playlist thumbnail - app/videos/+video-watch/video-watch.component.html - 191 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 60 - - Tags could be used to suggest relevant recommendations.</br>Press Enter to add a new tag. - app/videos/+video-edit/shared/video-edit.component.html - 18 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 60 - - + Tag + + No videos in this playlist. - app/videos/+video-edit/shared/video-edit.component.html - 21 + app/+my-account/my-account-video-playlists/my-account-video-playlist-elements.component.html + 11 - - Enter a new tag + + + If you need help to use PeerTube, you can take a look to the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>documentation<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. + - app/videos/+video-edit/shared/video-edit.component.html - 21 + app/+signup/shared/signup-success.component.html + 13 - - Video descriptions are truncated by default and require manual action to expand them. + + + Verify account email confirmation + - app/videos/+video-edit/shared/video-edit.component.html - 28 + app/+signup/+verify-account/verify-account-email/verify-account-email.component.html + 2 - - Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>) + + + - app/videos/+video-edit/shared/video-edit.component.html - 105 + app/+signup/+verify-account/verify-account-email/verify-account-email.component.html + 6 - - This video contains mature or explicit content + + + Email updated. + - app/videos/+video-edit/shared/video-edit.component.html - 119 + app/+signup/+verify-account/verify-account-email/verify-account-email.component.html + 9 - - Some instances do not list videos containing mature or explicit content by default. + + An error occurred. - app/videos/+video-edit/shared/video-edit.component.html - 120 + app/+signup/+verify-account/verify-account-email/verify-account-email.component.html + 14 - - Enable video comments + + + Request email for account verification + - app/videos/+video-edit/shared/video-edit.component.html - 125 + app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 2 - - Wait transcoding before publishing the video + + Send verification email - app/videos/+video-edit/shared/video-edit.component.html - 131 + app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 17 - - If you decide not to wait for transcoding before publishing the video, it could be unplayable until transcoding ends. + + This instance does not require email verification. - app/videos/+video-edit/shared/video-edit.component.html - 132 + app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 20 - - Basic info + + Banned - app/videos/+video-edit/shared/video-edit.component.html - 4 + app/+accounts/accounts.component.html + 19 - - Add another caption + + Muted by your instance - app/videos/+video-edit/shared/video-edit.component.html - 147 + app/+accounts/accounts.component.html + 21 - - See the subtitle file + + Instance muted - app/videos/+video-edit/shared/video-edit.component.html - 156 + app/+accounts/accounts.component.html + 22 - - Already uploaded ✔ + + Instance muted by your instance + + app/+accounts/accounts.component.html + 23 + + + <x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers - app/videos/+video-edit/shared/video-edit.component.html - 160 + app/+accounts/accounts.component.html + 31 - - Will be created on update + + Video channels - app/videos/+video-edit/shared/video-edit.component.html - 168 + app/+accounts/accounts.component.html + 36 - - Cancel create + + This account does not have channels. - app/videos/+video-edit/shared/video-edit.component.html - 170 + app/+accounts/account-video-channels/account-video-channels.component.html + 3 - - Will be deleted on update + + See this video channel - app/videos/+video-edit/shared/video-edit.component.html - 176 + app/+accounts/account-video-channels/account-video-channels.component.html + 8 - - Cancel deletion + + This channel does not have videos. - app/videos/+video-edit/shared/video-edit.component.html - 178 + app/+accounts/account-video-channels/account-video-channels.component.html + 19 - - - No captions for now. - + + Stats - app/videos/+video-edit/shared/video-edit.component.html - 183 + app/+accounts/account-about/account-about.component.html + 8 - - Captions - app/videos/+video-edit/shared/video-edit.component.html - 140 + app/+video-channels/video-channel-about/video-channel-about.component.html + 16 - - Upload thumbnail + + Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/> - app/videos/+video-edit/shared/video-edit.component.html - 196 + app/+accounts/account-about/account-about.component.html + 10 - - Upload preview + + Video playlists - app/videos/+video-edit/shared/video-edit.component.html - 203 + app/+video-channels/video-channels.component.html + 25 - - Support + + Support this channel - app/videos/+video-edit/shared/video-edit.component.html - 209 + app/+video-channels/video-channel-about/video-channel-about.component.html + 9 + + Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/> - app/videos/+video-watch/modal/video-support.component.html - 3 + app/+video-channels/video-channel-about/video-channel-about.component.html + 17 + + + Created <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems }}"/> playlists + - app/videos/+video-watch/video-watch.component.html - 69 + app/+video-channels/video-channel-playlists/video-channel-playlists.component.html + 1 - - Short text to tell people how they can support you (membership platform...). + + This channel does not have playlists. - app/videos/+video-edit/shared/video-edit.component.html - 210 + app/+video-channels/video-channel-playlists/video-channel-playlists.component.html + 5 - - Advanced settings + + PeerTube - app/videos/+video-edit/shared/video-edit.component.html - 191 + app/+about/about.component.html + 7 - - - Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> - + + Follows - app/videos/+video-edit/video-update.component.html - 2 + app/+about/about.component.html + 9 - - Download video + + Contact <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> administrator - app/videos/+video-watch/modal/video-download.component.html + app/+about/about-instance/contact-admin-modal.component.html 3 - - Direct download + + Your name - app/videos/+video-watch/modal/video-download.component.html - 27 + app/+about/about-instance/contact-admin-modal.component.html + 11 - - Torrent (.torrent file) + + Your email - app/videos/+video-watch/modal/video-download.component.html - 32 + app/+about/about-instance/contact-admin-modal.component.html + 20 - - Torrent (magnet link) + + Subject - app/videos/+video-watch/modal/video-download.component.html - 37 + app/+about/about-instance/contact-admin-modal.component.html + 29 - - - Cancel - + + Your message - app/videos/+video-watch/modal/video-download.component.html - 43 + app/+about/about-instance/contact-admin-modal.component.html + 38 + + About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance - app/videos/+video-watch/comment/video-comment-add.component.html - 47 + app/+about/about-instance/about-instance.component.html + 4 - - Download + + Contact administrator - app/videos/+video-watch/modal/video-download.component.html - 48 + app/+about/about-instance/about-instance.component.html + 6 + + + About PeerTube + - app/videos/+video-watch/video-watch.component.html - 84 + app/+about/about-peertube/about-peertube.component.html + 1 - - Report video + + PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser. - app/videos/+video-watch/modal/video-report.component.html - 3 + app/+about/about-peertube/about-peertube.component.html + 6 - + - Your report will be sent to moderators of <x id="INTERPOLATION" equiv-text="{{ currentHost }}"/>. - <x id="START_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="<ng-container>"/> It will be forwarded to origin instance <x id="INTERPOLATION_1" equiv-text="{{ originHost }}"/> too.<x id="CLOSE_TAG_NG-CONTAINER" ctype="x-ng-container" equiv-text="</ng-container>"/> - + It is a free and open-source software, under the <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>AGPLv3 licence<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. + - app/videos/+video-watch/modal/video-report.component.html - 9 + app/+about/about-peertube/about-peertube.component.html + 8 - - Share + + + For more information, please visit <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>joinpeertube.org<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>. + - app/videos/+video-watch/modal/video-share.component.html - 3 + app/+about/about-peertube/about-peertube.component.html + 12 + + P2P & Privacy - app/videos/+video-watch/video-watch.component.html - 74 + app/+about/about-peertube/about-peertube.component.html + 18 - - QR-Code + + + PeerTube uses the BitTorrent protocol to share bandwidth between users. + This implies that your IP address is stored in the instance's BitTorrent tracker as long as you download or watch the video. + - app/videos/+video-watch/modal/video-share.component.html - 29 + app/+about/about-peertube/about-peertube.component.html + 20 - - Embed + + What are the consequences? - app/videos/+video-watch/modal/video-share.component.html - 34 + app/+about/about-peertube/about-peertube.component.html + 25 + + + + In theory, someone with enough technical skills could create a script that tracks which IP is downloading which video. + In practice, this is much more difficult because: + + + app/+about/about-peertube/about-peertube.component.html + 27 - + - The url is not secured (no HTTPS), so the embed video won't work on HTTPS websites (web browsers block non secured HTTP requests on HTTPS websites). + An HTTP request has to be sent on each tracker for each video to spy. + If we want to spy all PeerTube's videos, we have to send as many requests as there are videos (so potentially a lot) - app/videos/+video-watch/modal/video-share.component.html - 45 + app/+about/about-peertube/about-peertube.component.html + 33 - - Close + + + For each request sent, the tracker returns random peers at a limited number. + For instance, if there are 1000 peers in the swarm and the tracker sends only 20 peers for each request, there must be at least 50 requests sent to know every peers in the swarm + - app/videos/+video-watch/modal/video-share.component.html - 51 + app/+about/about-peertube/about-peertube.component.html + 38 - - Blacklist video + + + Those requests have to be sent regularly to know who starts/stops watching a video. It is easy to detect that kind of behaviour + - app/videos/+video-watch/modal/video-blacklist.component.html - 3 + app/+about/about-peertube/about-peertube.component.html + 43 - - Unfederate the video (ask for its deletion from the remote instances) + + + If an IP address is stored in the tracker, it doesn't mean that the person behind the IP (if this person exists) has watched the video + - app/videos/+video-watch/modal/video-blacklist.component.html - 21 + app/+about/about-peertube/about-peertube.component.html + 47 - + - The video is being imported, it will be available when the import is finished. - + The IP address is a vague information : usually, it regularly changes and can represent many persons or entities + - app/videos/+video-watch/video-watch.component.html - 11 + app/+about/about-peertube/about-peertube.component.html + 51 - + - The video is being transcoded, it may not work properly. - + Web peers are not publicly accessible: because we use WebRTC inside the web browser (<x id="START_LINK" ctype="x-a" equiv-text="<a>"/>with the WebTorrent library<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/>), the protocol is different from classic BitTorrent. + When you are in a web browser, you send a signal containing your IP address to the tracker that will randomly choose other peers to forward the information to. + See <x id="START_LINK_1" ctype="x-a" equiv-text="<a>"/>this document<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> for more information + - app/videos/+video-watch/video-watch.component.html - 15 + app/+about/about-peertube/about-peertube.component.html + 55 - + - This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/>. + The worst-case scenario of an average person spying on their friends is quite unlikely. + There are much more effective ways to get that kind of information. - app/videos/+video-watch/video-watch.component.html - 19 - - - This video is blacklisted. - - app/videos/+video-watch/video-watch.component.html - 24 + app/+about/about-peertube/about-peertube.component.html + 62 - - - Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views - + + How does PeerTube compare with YouTube? - app/videos/+video-watch/video-watch.component.html - 37 + app/+about/about-peertube/about-peertube.component.html + 67 - + - Published <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views - + The threats to privacy in YouTube are different from PeerTube's. + In YouTube's case, the platform gathers a huge amount of your personal information (not only your IP) to analyze them and track you. + Moreover, YouTube is owned by Google/Alphabet, a company that tracks you across many websites (via AdSense or Google Analytics). + - app/videos/+video-watch/video-watch.component.html - 46 + app/+about/about-peertube/about-peertube.component.html + 69 - - Like this video + + What can I do to limit the exposure of my IP address? - app/videos/+video-watch/video-watch.component.html - 57 + app/+about/about-peertube/about-peertube.component.html + 75 - - Dislike this video + + + Your IP address is public so every time you consult a website, there is a number of actors (in addition to the final website) seeing your IP in their connection logs: ISP/routers/trackers/CDN and more. + PeerTube is transparent about it: we warn you that if you want to keep your IP private, you must use a VPN or Tor Browser. + Thinking that removing P2P from PeerTube will give you back anonymity doesn't make sense. + - app/videos/+video-watch/video-watch.component.html - 64 + app/+about/about-peertube/about-peertube.component.html + 77 - - Download the video + + What will be done to mitigate this problem? - app/videos/+video-watch/video-watch.component.html + app/+about/about-peertube/about-peertube.component.html 83 - - Report - - app/videos/+video-watch/video-watch.component.html - 88 - - - Report this video + + + PeerTube is in its early stages, and want to deliver the best countermeasures possible by the time the stable is released. + In the meantime, we want to test different ideas related to this issue: + - app/videos/+video-watch/video-watch.component.html - 87 + app/+about/about-peertube/about-peertube.component.html + 85 - - Update this video + + Set a limit to the number of peers sent by the tracker - app/videos/+video-watch/video-watch.component.html + app/+about/about-peertube/about-peertube.component.html 91 - - Blacklist + + Set a limit on the request frequency received by the tracker (being tested) - app/videos/+video-watch/video-watch.component.html - 96 + app/+about/about-peertube/about-peertube.component.html + 92 - - Blacklist this video + + Ring a bell if there are unusual requests (being tested) - app/videos/+video-watch/video-watch.component.html - 95 + app/+about/about-peertube/about-peertube.component.html + 93 - - Unblacklist + + Disable P2P from the administration interface - app/videos/+video-watch/video-watch.component.html - 100 + app/+about/about-peertube/about-peertube.component.html + 94 - - Unblacklist this video + + An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program - app/videos/+video-watch/video-watch.component.html - 99 + app/+about/about-peertube/about-peertube.component.html + 95 - - Delete this video + + This instance does not have followers. - app/videos/+video-watch/video-watch.component.html - 103 + app/+about/about-follows/about-follows.component.html + 5 - - Go the channel page + + Followings - app/videos/+video-watch/video-watch.component.html - 123 + app/+about/about-follows/about-follows.component.html + 13 - - By <x id="INTERPOLATION" equiv-text="{{ video.byAccount }}"/> + + This instance does not have followings. - app/videos/+video-watch/video-watch.component.html - 134 + app/+about/about-follows/about-follows.component.html + 15 - - Show more + + + Create an account + - app/videos/+video-watch/video-watch.component.html - 146 + app/+signup/+register/register.component.html + 3 - - Show less + + Next - app/videos/+video-watch/video-watch.component.html - 152 + app/+signup/+register/register.component.html + 16 - - Friendly Reminder: + + User information - app/videos/+video-watch/video-watch.component.html - 208 + app/+signup/+register/register.component.html + 13 - + - the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. - + Create my account + - app/videos/+video-watch/video-watch.component.html - 209 + app/+signup/+register/register.component.html + 24 - - More information + + Channel information - app/videos/+video-watch/video-watch.component.html - 212 + app/+signup/+register/register.component.html + 19 - - Get more information + + PeerTube is creating your account... - app/videos/+video-watch/video-watch.component.html - 212 + app/+signup/+register/register.component.html + 33 - - - OK - + + Done - app/videos/+video-watch/video-watch.component.html - 215 + app/+signup/+register/register.component.html + 29 - - - Other videos - + + Features found on this instance - app/videos/recommendations/recommended-videos.component.html - 2 + app/+signup/+register/register.component.html + 42 - + - Comments + A channel is an entity in which you upload your videos. Creating several of them helps you to organize and separate your content.<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> + For example, you could decide to have a channel to publish your piano concerts, and another channel in which you publish your videos talking about ecology. - app/videos/+video-watch/comment/video-comments.component.html - 3 - - - No comments. - - app/videos/+video-watch/comment/video-comments.component.html - 17 + app/+signup/+register/register-step-channel.component.html + 4 - - View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies + + Channel display name - app/videos/+video-watch/comment/video-comments.component.html - 54 + app/+signup/+register/register-step-channel.component.html + 15 - - - Comments are disabled. - + + Channel name - app/videos/+video-watch/comment/video-comments.component.html - 63 + app/+signup/+register/register-step-channel.component.html + 30 - - Add comment... + + Example: my_super_channel - app/videos/+video-watch/comment/video-comment-add.component.html - 6 + app/+signup/+register/register-step-channel.component.html + 34 - + - Post comment + The channel name is a unique identifier of your channel on this instance. It's like an address mail, so other people can find your channel. - app/videos/+video-watch/comment/video-comment-add.component.html - 20 - - - You are one step away from commenting - - app/videos/+video-watch/comment/video-comment-add.component.html - 28 + app/+signup/+register/register-step-channel.component.html + 42 - + - If you have an account on this instance, you can login: + Channel name cannot be the same than your account name. You can click on the first step to update your account name. - app/videos/+video-watch/comment/video-comment-add.component.html - 32 - - - login to comment - - app/videos/+video-watch/comment/video-comment-add.component.html - 35 + app/+signup/+register/register-step-channel.component.html + 50 - - - Otherwise you can comment using an account on any ActivityPub-compatible instance. - On most platforms, you can find the video by typing its URL in the search bar and then comment it - from within the software's interface. - + + Example: jane_doe - app/videos/+video-watch/comment/video-comment-add.component.html - 36 + app/+signup/+register/register-step-user.component.html + 23 - + - If you have an account on Mastodon or Pleroma, you can open it directly in their interface: + The username is a unique identifier of your account on this instance. It's like an address mail, so other people can find you. - app/videos/+video-watch/comment/video-comment-add.component.html - 41 + app/+signup/+register/register-step-user.component.html + 31 - - Highlighted comment + + I am at least 16 years old and agree to the <a href='/about/instance#terms-section' target='_blank'rel='noopener noreferrer'>Terms</a> of this instance - app/videos/+video-watch/comment/video-comment.component.html - 5 + app/+signup/+register/register-step-user.component.html + 66 - - Reply + + + Sorry, but we couldn't find the page you were looking for. + - app/videos/+video-watch/comment/video-comment.component.html - 14 + app/+page-not-found/page-not-found.component.html + 1 @@ -3799,8 +4592,8 @@ When you will upload a video in this channel, the video support field will be au 1 - - Published videos + + Published <x id="INTERPOLATION" equiv-text="{{total}}"/> videos src/app/+accounts/account-videos/account-videos.component.ts 1 @@ -3810,14 +4603,10 @@ When you will upload a video in this channel, the video support field will be au 1 - - Published <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> videos - - src/app/+accounts/account-videos/account-videos.component.ts - 1 - + + Username copied - src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + src/app/+accounts/accounts.component.ts 1 @@ -3849,8 +4638,15 @@ When you will upload a video in this channel, the video support field will be au 1 - - 1080p + + 1080p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + 2160p src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts 1 @@ -3964,6 +4760,48 @@ When you will upload a video in this channel, the video support field will be au 1 + + <x id="INTERPOLATION" equiv-text="{{handle}}"/> accepted in instance followers + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + + + Do you really want to reject this follower? + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + + + Reject + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{handle}}"/> rejected from instance followers + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + + + Do you really want to delete this follower? + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{handle}}"/> removed from instance followers + + src/app/+admin/follows/followers-list/followers-list.component.ts + 1 + + <x id="INTERPOLATION" equiv-text="{{host}}"/> is not valid @@ -4111,6 +4949,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from blacklist. + + src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{num}}"/> videos removed from blacklist. + + src/app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.ts + 1 + + yes @@ -4132,7 +4984,7 @@ When you will upload a video in this channel, the video support field will be au 1 - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/video/video-actions-dropdown.component.ts 1 @@ -4143,7 +4995,170 @@ When you will upload a video in this channel, the video support field will be au 1 - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + You don't have plugins installed yet. + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + You don't have themes installed yet. + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + Update to <x id="INTERPOLATION" equiv-text="{{version}}"/> + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + Do you really want to uninstall <x id="INTERPOLATION" equiv-text="{{pluginName}}"/>? + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{pluginName}}"/> uninstalled. + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{pluginName}}"/> updated. + + src/app/+admin/plugins/plugin-list-installed/plugin-list-installed.component.ts + 1 + + + + The plugin index is not available. Please retry later. + + src/app/+admin/plugins/plugin-search/plugin-search.component.ts + 1 + + + + Please only install plugins or themes you trust, since they can execute any code on your instance. + + src/app/+admin/plugins/plugin-search/plugin-search.component.ts + 1 + + + + Install <x id="INTERPOLATION" equiv-text="{{pluginName}}"/>? + + src/app/+admin/plugins/plugin-search/plugin-search.component.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{pluginName}}"/> installed. + + src/app/+admin/plugins/plugin-search/plugin-search.component.ts + 1 + + + + Settings updated. + + src/app/+admin/plugins/plugin-show-installed/plugin-show-installed.component.ts + 1 + + + + Plugins + + src/app/+admin/plugins/shared/plugin-api.service.ts + 1 + + + + Themes + + src/app/+admin/plugins/shared/plugin-api.service.ts + 1 + + + + plugin + + src/app/+admin/plugins/shared/plugin-api.service.ts + 1 + + + + theme + + src/app/+admin/plugins/shared/plugin-api.service.ts + 1 + + + + Last week + + src/app/+admin/system/logs/logs.component.ts + 1 + + + + Last day + + src/app/+admin/system/logs/logs.component.ts + 1 + + + + Last hour + + src/app/+admin/system/logs/logs.component.ts + 1 + + + + Info + + src/app/+admin/system/logs/logs.component.ts + 1 + + + src/app/core/notification/notifier.service.ts + 1 + + + + Warning + + src/app/+admin/system/logs/logs.component.ts + 1 + + + src/app/shared/guards/can-deactivate-guard.service.ts + 1 + + + + Error + + src/app/+admin/system/logs/logs.component.ts + 1 + + + src/app/core/auth/auth.service.ts + 1 + + + src/app/core/notification/notifier.service.ts 1 @@ -4154,6 +5169,20 @@ When you will upload a video in this channel, the video support field will be au 1 + + Password changed for user <x id="INTERPOLATION" equiv-text="{{username}}"/>. + + src/app/+admin/users/user-edit/user-password.component.ts + 1 + + + + Update user password + + src/app/+admin/users/user-edit/user-password.component.ts + 1 + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> updated. @@ -4168,6 +5197,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + An email asking for password reset has been sent to <x id="INTERPOLATION" equiv-text="{{username}}"/>. + + src/app/+admin/users/user-edit/user-update.component.ts + 1 + + Unban @@ -4326,15 +5362,33 @@ When you will upload a video in this channel, the video support field will be au 1 - - Password updated. + + Please check your emails to verify your new email. - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts + 1 + + + + Email updated. + + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts 1 You current password is invalid. + + src/app/+my-account/my-account-settings/my-account-change-email/my-account-change-email.component.ts + 1 + + + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + 1 + + + + Password updated. src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts 1 @@ -4368,6 +5422,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Interface settings updated. + + src/app/+my-account/my-account-settings/my-account-interface/my-account-interface-settings.component.ts + 1 + + New video from your subscriptions @@ -4382,8 +5443,15 @@ When you will upload a video in this channel, the video support field will be au 1 - - New video abuse on local video + + New video abuse + + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 + + + + Video auto-blacklisted waiting review src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts 1 @@ -4431,6 +5499,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Your instance has a new follower + + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 + + Preferences saved @@ -4456,8 +5531,29 @@ When you will upload a video in this channel, the video support field will be au 1 - - Information updated. + + Unknown language + + src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + 1 + + + + Video settings updated. + + src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + 1 + + + + No language + + src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + 1 + + + + {{'{0} languages selected src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts 1 @@ -4477,17 +5573,17 @@ When you will upload a video in this channel, the video support field will be au 1 - - Create + + Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated. - src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts 1 - - Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated. + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{channelDisplayName}}"/>? It will delete all videos uploaded in this channel, and you will not be able to create another channel with the same name (<x id="INTERPOLATION_1" equiv-text="{{channelName}}"/>)! - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts 1 @@ -4505,83 +5601,76 @@ When you will upload a video in this channel, the video support field will be au 1 - - My videos - - src/app/+my-account/my-account-videos/my-account-videos.component.ts - 1 - + + Playlist <x id="INTERPOLATION" equiv-text="{{playlistName}}"/> created. - src/app/+my-account/my-account.component.ts + src/app/+my-account/my-account-video-playlists/my-account-video-playlist-create.component.ts 1 - - Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos? + + Playlist <x id="INTERPOLATION" equiv-text="{{videoPlaylistName}}"/> updated. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/+my-account/my-account-video-playlists/my-account-video-playlist-update.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted. + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{playlistDisplayName}}"/>? - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.ts 1 - - Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>? + + Playlist <x id="INTERPOLATION" equiv-text="{{playlistDisplayName}}"/> deleted. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.ts 1 - - Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted. + + My videos src/app/+my-account/my-account-videos/my-account-videos.component.ts 1 - src/app/videos/+video-watch/video-watch.component.ts - 1 - - - - Published - - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/+my-account/my-account.component.ts 1 - - Publication scheduled on + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos? src/app/+my-account/my-account-videos/my-account-videos.component.ts 1 - - Waiting transcoding + + <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted. src/app/+my-account/my-account-videos/my-account-videos.component.ts 1 - - To transcode + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>? src/app/+my-account/my-account-videos/my-account-videos.component.ts 1 - - To import + + Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted. src/app/+my-account/my-account-videos/my-account-videos.component.ts 1 + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + Ownership change request sent. @@ -4590,15 +5679,15 @@ When you will upload a video in this channel, the video support field will be au 1 - - My library + + My channels src/app/+my-account/my-account.component.ts 1 - - My channels + + My playlists src/app/+my-account/my-account.component.ts 1 @@ -4646,17 +5735,31 @@ When you will upload a video in this channel, the video support field will be au 1 + + Now please check your emails to verify your account and complete signup. + + src/app/+signup/+register/register.component.ts + 1 + + + + You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>! + + src/app/+signup/+register/register.component.ts + 1 + + An email with verification link will be sent to <x id="INTERPOLATION" equiv-text="{{email}}"/>. - src/app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts + src/app/+signup/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts 1 Unable to find user id or verification string. - src/app/+verify-account/verify-account-email/verify-account-email.component.ts + src/app/+signup/+verify-account/verify-account-email/verify-account-email.component.ts 1 @@ -4664,6 +5767,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Published videos + + src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + 1 + + Subscribe to the account @@ -4724,13 +5834,6 @@ When you will upload a video in this channel, the video support field will be au 1 - - Toggle Dark theme - - src/app/app.component.ts - 1 - - Go to my subscriptions @@ -4774,17 +5877,6 @@ When you will upload a video in this channel, the video support field will be au 1 - - Error - - src/app/core/auth/auth.service.ts - 1 - - - src/app/core/notification/notifier.service.ts - 1 - - You need to reconnect. @@ -4792,13 +5884,6 @@ When you will upload a video in this channel, the video support field will be au 1 - - Confirm - - src/app/core/confirm/confirm.component.ts - 1 - - Keyboard Shortcuts: @@ -4806,13 +5891,6 @@ When you will upload a video in this channel, the video support field will be au 1 - - Info - - src/app/core/notification/notifier.service.ts - 1 - - Success @@ -4887,15 +5965,15 @@ When you will upload a video in this channel, the video support field will be au 1 - - Long (> 10 min) + + Medium (4-10 min) src/app/search/search-filters.component.ts 1 - - Medium (4-10 min) + + Long (> 10 min) src/app/search/search-filters.component.ts 1 @@ -4922,10 +6000,87 @@ When you will upload a video in this channel, the video support field will be au 1 - - Search + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago + + src/app/shared/angular/from-now.pipe.ts + 1 + + + + Confirm - src/app/search/search.component.ts + src/app/shared/confirm/confirm.component.ts 1 @@ -5084,6 +6239,27 @@ When you will upload a video in this channel, the video support field will be au 1 + + A subject is required. + + src/app/shared/forms/form-validators/instance-validators.service.ts + 1 + + + + The subject must be at least 1 character long. + + src/app/shared/forms/form-validators/instance-validators.service.ts + 1 + + + + The subject cannot be more than 120 characters long. + + src/app/shared/forms/form-validators/instance-validators.service.ts + 1 + + A message is required. @@ -5211,8 +6387,8 @@ When you will upload a video in this channel, the video support field will be au 1 - - Display name is required. + + Description must be at least 3 characters long. src/app/shared/forms/form-validators/user-validators.service.ts 1 @@ -5221,9 +6397,13 @@ When you will upload a video in this channel, the video support field will be au src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + - - Display name must be at least 1 character long. + + Description cannot be more than 1000 characters long. src/app/shared/forms/form-validators/user-validators.service.ts 1 @@ -5232,20 +6412,34 @@ When you will upload a video in this channel, the video support field will be au src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + - - Display name cannot be more than 50 characters long. + + You must to agree with the instance terms in order to registering on it. src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Ban reason must be at least 3 characters long. - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - Description must be at least 3 characters long. + + Ban reason cannot be more than 250 characters long. + + src/app/shared/forms/form-validators/user-validators.service.ts + 1 + + + + Display name is required. src/app/shared/forms/form-validators/user-validators.service.ts 1 @@ -5254,9 +6448,13 @@ When you will upload a video in this channel, the video support field will be au src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + - - Description cannot be more than 1000 characters long. + + Display name must be at least 1 character long. src/app/shared/forms/form-validators/user-validators.service.ts 1 @@ -5265,25 +6463,19 @@ When you will upload a video in this channel, the video support field will be au src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - - You must to agree with the instance terms in order to registering on it. - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - Ban reason must be at least 3 characters long. + + Display name cannot be more than 50 characters long. src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - Ban reason cannot be more than 250 characters long. - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 @@ -5441,6 +6633,27 @@ When you will upload a video in this channel, the video support field will be au 1 + + Display name cannot be more than 120 characters long. + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + + + + Privacy is required. + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + + + + The channel is required when the playlist is public. + + src/app/shared/forms/form-validators/video-playlist-validators.service.ts + 1 + + Video name is required. @@ -5546,13 +6759,6 @@ When you will upload a video in this channel, the video support field will be au 1 - - Warning - - src/app/shared/guards/can-deactivate-guard.service.ts - 1 - - Sunday @@ -5882,159 +7088,124 @@ When you will upload a video in this channel, the video support field will be au Month name short - - Dec - - src/app/shared/i18n/i18n-primeng-calendar.ts - 1 - - Month name short - - - Clear - - src/app/shared/i18n/i18n-primeng-calendar.ts - 1 - - - - yy-mm-dd - - src/app/shared/i18n/i18n-primeng-calendar.ts - 1 - - Date format in this locale. - - - Transcode your videos in multiple resolutions - - src/app/shared/instance/instance-features-table.component.ts - 1 - - - - HTTP import (YouTube, Vimeo, direct URL...) - - src/app/shared/instance/instance-features-table.component.ts - 1 - - - - Torrent import + + Dec - src/app/shared/instance/instance-features-table.component.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - ~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/> + + Clear - src/app/shared/instance/instance-features-table.component.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - {VAR_PLURAL, plural, =1 {minute} other {minutes} } + + yy-mm-dd - src/app/shared/instance/instance-features-table.component.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Date format in this locale. - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos + + Hidden src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos + + Blurred with confirmation request src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos + + Displayed src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago + + User registration allowed - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago + + Video uploads require manual validation by moderators - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago + + Transcode your videos in multiple resolutions - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago + + HTTP import (YouTube, Vimeo, direct URL...) - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago + + Torrent import - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago + + P2P enabled - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago + + ~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/> - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago + + {VAR_PLURAL, plural, =1 {minute} other {minutes} } - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos - src/app/shared/misc/from-now.pipe.ts + src/app/shared/instance/instance-features-table.component.ts 1 @@ -6290,38 +7461,169 @@ When you will upload a video in this channel, the video support field will be au 1 - - Only I can see this video + + Video removed from <x id="INTERPOLATION" equiv-text="{{name}}"/> - src/app/shared/video/video.service.ts + src/app/shared/video-playlist/video-add-to-playlist.component.ts + 1 + + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - Only people with the private link can see this video + + Video added in <x id="INTERPOLATION" equiv-text="{{n}}"/> at timestamps <x id="INTERPOLATION_1" equiv-text="{{t}}"/> - src/app/shared/video/video.service.ts + src/app/shared/video-playlist/video-add-to-playlist.component.ts 1 - - Anyone can see this video + + Video added in <x id="INTERPOLATION" equiv-text="{{n}}"/> + + src/app/shared/video-playlist/video-add-to-playlist.component.ts + 1 + + + + Timestamps updated + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts + 1 + + + + Starts at + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts + 1 + + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts + 1 + + + + Stops at + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts + 1 + + + + and stops at + + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts + 1 + + + + Video blacklisted. + + src/app/shared/video/modals/video-blacklist.component.ts + 1 + + + + Copied + + src/app/shared/video/modals/video-download.component.ts + 1 + + + src/app/videos/+video-watch/modal/video-share.component.ts + 1 + + + + Video reported. + + src/app/shared/video/modals/video-report.component.ts + 1 + + + + Do you really want to delete this video? + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + Save to playlist + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + Blacklist + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + Report + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + Published + + src/app/shared/video/video-miniature.component.ts + 1 + + + + Publication scheduled on + + src/app/shared/video/video-miniature.component.ts + 1 + + + + Waiting transcoding + + src/app/shared/video/video-miniature.component.ts + 1 + + + + To transcode + + src/app/shared/video/video-miniature.component.ts + 1 + + + + To import + + src/app/shared/video/video-miniature.component.ts + 1 + + + + Only I can see this video src/app/shared/video/video.service.ts 1 - - Welcome! Now please check your emails to verify your account and complete signup. + + Only people with the private link can see this video - src/app/signup/signup.component.ts + src/app/shared/video/video.service.ts 1 - - You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>! + + Anyone can see this video - src/app/signup/signup.component.ts + src/app/shared/video/video.service.ts 1 @@ -6357,6 +7659,13 @@ When you will upload a video in this channel, the video support field will be au 1 + + Upload <x id="INTERPOLATION" equiv-text="{{videofileName}}"/> + + src/app/videos/+video-edit/video-add-components/video-upload.component.ts + 1 + + Upload cancelled @@ -6364,22 +7673,22 @@ When you will upload a video in this channel, the video support field will be au 1 - - Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{videoQuotaUsed}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{videoQuota}}"/>) + + Video published. src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 - - Your daily video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{quotaUsedDaily}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{quotaDaily}}"/>) + + Your video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{videoQuotaUsed}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{videoQuota}}"/>) src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 - - Video published. + + Your daily video quota is exceeded with this video (video size: <x id="INTERPOLATION" equiv-text="{{videoSize}}"/>, used: <x id="INTERPOLATION_1" equiv-text="{{quotaUsedDaily}}"/>, quota: <x id="INTERPOLATION_2" equiv-text="{{quotaDaily}}"/>) src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 @@ -6406,75 +7715,50 @@ When you will upload a video in this channel, the video support field will be au 1 - - Video blacklisted. - - src/app/videos/+video-watch/modal/video-blacklist.component.ts - 1 - - - - Copied - - src/app/videos/+video-watch/modal/video-download.component.ts - 1 - - - src/app/videos/+video-watch/modal/video-share.component.ts - 1 - - - - Video reported. - - src/app/videos/+video-watch/modal/video-report.component.ts - 1 - - - - Start at <x id="INTERPOLATION" equiv-text="{{timestamp}}"/> + + The deletion will be sent to remote instances so they remove the comment too. - src/app/videos/+video-watch/modal/video-share.component.ts + src/app/videos/+video-watch/comment/video-comments.component.ts 1 - - Like the video + + It is a remote comment, so the deletion will only be effective on your instance. - src/app/videos/+video-watch/video-watch.component.ts + src/app/videos/+video-watch/comment/video-comments.component.ts 1 - - Dislike the video + + <x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes src/app/videos/+video-watch/video-watch.component.ts 1 - - Do you really want to delete this video? + + This video contains mature or explicit content. Are you sure you want to watch it? src/app/videos/+video-watch/video-watch.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes + + Mature or explicit content src/app/videos/+video-watch/video-watch.component.ts 1 - - This video contains mature or explicit content. Are you sure you want to watch it? + + Like the video src/app/videos/+video-watch/video-watch.component.ts 1 - - Mature or explicit content + + Dislike the video src/app/videos/+video-watch/video-watch.component.ts 1 @@ -6487,8 +7771,8 @@ When you will upload a video in this channel, the video support field will be au 1 - - Trending videos are those totalizing the greatest number of views during the last 24 hours. + + Trending videos are those totalizing the greatest number of views during the last 24 hours src/app/videos/video-list/video-trending.component.ts 1 @@ -6501,8 +7785,8 @@ When you will upload a video in this channel, the video support field will be au 1 - - Trending videos are those totalizing the greatest number of views during the last <x id="INTERPOLATION" equiv-text="{{days}}"/> days. + + Trending videos are those totalizing the greatest number of views during the last <x id="INTERPOLATION" equiv-text="{{days}}"/> days src/app/videos/video-list/video-trending.component.ts 1