X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Flocale%2Fsource%2Fangular_en_US.xml;h=88e55a497cb8fcd85ed16dd48d65e828f2fd16f5;hb=b59f12b0955d34b447a2bbcd3fbb0eb40b241631;hp=9d113d307e068fa9a63de61dc80df3cf268a7fb9;hpb=b63e428e8bf1ed1457ab1888350809bd78ce4d2f;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 9d113d307..88e55a497 100644 --- a/client/src/locale/source/angular_en_US.xml +++ b/client/src/locale/source/angular_en_US.xml @@ -2,3821 +2,7087 @@ - - - Cancel - + + Close - app/core/confirm/confirm.component.ts - 19 + ../node_modules/@ng-bootstrap/ng-bootstrap/alert/alert.d.ts + 2 + + Previous - app/login/login.component.ts - 72 + ../node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts + 13 + + Next - app/+my-account/my-account-videos/my-account-videos.component.ts - 27 + ../node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts + 17 + + Previous month - app/videos/+video-watch/modal/video-support.component.ts - 15 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.d.ts + 4 - app/videos/+video-watch/modal/video-download.component.ts - 35 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.d.ts + 5 + + Next month - app/videos/+video-watch/modal/video-share.component.ts - 40 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.d.ts + 26 - - <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views - app/shared/video/video-miniature.component.ts - 12 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation.d.ts + 27 - - Edit + + Select month - app/shared/misc/edit-button.component.ts - 3 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.d.ts + 6 - - Truncated preview - app/shared/forms/markdown-textarea.component.ts - 9 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.d.ts + 7 - - Complete preview + + Select year - app/shared/forms/markdown-textarea.component.ts - 10 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.d.ts + 15 - - Get help - app/shared/misc/help.component.ts - 17 + ../node_modules/@ng-bootstrap/ng-bootstrap/datepicker/datepicker-navigation-select.d.ts + 16 - - - Login - + + «« - app/login/login.component.ts + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts 2 - - User + + « - app/login/login.component.ts - 11 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 3 - - Username or email address + + » - app/login/login.component.ts - 13 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 4 - - - or create an account - + + »» - app/login/login.component.ts - 16 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 5 - - - or create an account on another instance - + + First - app/login/login.component.ts - 20 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 14 - - User registration is not allowed on this instance, but you can register on many others! + + Previous - app/login/login.component.ts - 26 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 23 - - Password + + Next - app/login/login.component.ts - 36 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 41 + + Last - app/login/login.component.ts - 39 + ../node_modules/@ng-bootstrap/ng-bootstrap/pagination/pagination.d.ts + 49 + + <x id="INTERPOLATION" equiv-text="{{getPercentValue()}}"/>% - app/reset-password/reset-password.component.ts - 8 + ../node_modules/@ng-bootstrap/ng-bootstrap/progressbar/progressbar.d.ts + 6 + + Increment hours - app/reset-password/reset-password.component.ts - 10 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 9 + + HH - app/signup/signup.component.ts - 47 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 12 + + Hours - app/signup/signup.component.ts - 49 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 14 + + Decrement hours - app/+admin/users/user-edit/user-create.component.ts - 30 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 20 + + Increment minutes - app/+admin/users/user-edit/user-update.component.ts - 30 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 29 + + MM - app/+my-account/my-account-settings/my-account-settings.component.ts - 12 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 32 - - I forgot my password + + Minutes - app/login/login.component.ts - 42 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 34 - - Forgot your password + + Decrement minutes - app/login/login.component.ts - 59 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 40 - - Email + + Increment seconds - app/login/login.component.ts - 64 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 49 + + SS - app/signup/signup.component.ts - 36 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 52 + + Seconds - app/signup/signup.component.ts - 38 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 54 + + Decrement seconds - app/+admin/users/user-edit/user-create.component.ts - 19 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 60 + + PM - app/+admin/users/user-edit/user-update.component.ts - 19 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 68 + + AM - app/+admin/users/user-list/user-list.component.ts - 17 + ../node_modules/@ng-bootstrap/ng-bootstrap/timepicker/timepicker.d.ts + 69 - - Email address + + (extensions: <x id="INTERPOLATION" equiv-text="{{ allowedExtensionsMessage }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxFileSize | bytes }}"/>) - app/login/login.component.ts - 66 + app/shared/forms/reactive-file.component.html + 11 - - Send me an email to reset my password + + You don't have notifications. - app/login/login.component.ts - 77 + app/shared/users/user-notifications.component.html + 1 - + - Reset my password - + <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/reset-password/reset-password.component.ts - 2 + app/shared/users/user-notifications.component.html + 7 - - Confirm password + + + <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/reset-password/reset-password.component.ts - 19 + app/shared/users/user-notifications.component.html + 15 - - Confirmed password + + + <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/reset-password/reset-password.component.ts - 21 + app/shared/users/user-notifications.component.html + 23 - - Reset my password + + + <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/reset-password/reset-password.component.ts - 29 + app/shared/users/user-notifications.component.html + 31 - + - Create an account - + <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/signup/signup.component.ts - 3 + app/shared/users/user-notifications.component.html + 39 - - Initial video quota: + + + <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/signup/signup.component.ts - 8 + app/shared/users/user-notifications.component.html + 47 - + - Unlimited - + <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/signup/signup.component.ts - 16 + app/shared/users/user-notifications.component.html + 55 - - Username + + + <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/signup/signup.component.ts - 25 + app/shared/users/user-notifications.component.html + 63 + + + <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/signup/signup.component.ts - 27 + app/shared/users/user-notifications.component.html + 71 + + + <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>"/> + 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/+admin/users/user-edit/user-create.component.ts - 8 + app/shared/users/user-notifications.component.html + 79 + + + <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/+admin/users/user-edit/user-update.component.ts - 8 + app/shared/users/user-notifications.component.html + 87 - - Signup + + + <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/signup/signup.component.ts - 57 + app/shared/users/user-notifications.component.html + 98 + + + <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/+about/about-instance/about-instance.component.ts - 22 + app/shared/users/user-notifications.component.html + 106 + + Save to - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 86 + app/shared/video-playlist/video-add-to-playlist.component.html + 4 - - Change the language + + Options - app/menu/language-chooser.component.ts - 7 + app/shared/video-playlist/video-add-to-playlist.component.html + 9 + + Start at - app/menu/menu.component.ts - 76 + app/shared/video-playlist/video-add-to-playlist.component.html + 17 - - - My public profile - - app/menu/menu.component.ts - 19 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 40 - - - My account - - app/menu/menu.component.ts - 23 + app/videos/+video-watch/modal/video-share.component.html + 12 - - - Log out - + + Stop at - app/menu/menu.component.ts - 27 + app/shared/video-playlist/video-add-to-playlist.component.html + 31 - - Login - app/menu/menu.component.ts - 36 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 54 - - Create an account + + Display name - app/menu/menu.component.ts - 37 + app/shared/video-playlist/video-add-to-playlist.component.html + 64 - - Videos - app/menu/menu.component.ts - 41 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 28 - app/+accounts/accounts.component.ts - 17 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 28 - app/+video-channels/video-channels.component.ts - 21 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 9 - - Trending - app/menu/menu.component.ts - 45 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 9 - - Recently added - app/menu/menu.component.ts - 50 + app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html + 6 - - Local + + Create - app/menu/menu.component.ts - 55 + app/shared/video-playlist/video-add-to-playlist.component.html + 74 - - More + + Download video - app/menu/menu.component.ts - 60 + app/shared/video/modals/video-download.component.html + 3 - - Administration + + Direct download - app/menu/menu.component.ts - 64 + app/shared/video/modals/video-download.component.html + 27 - - About + + Torrent (.torrent file) - app/menu/menu.component.ts - 69 + app/shared/video/modals/video-download.component.html + 32 + + Torrent (magnet link) - app/+accounts/accounts.component.ts - 21 + app/shared/video/modals/video-download.component.html + 37 + + + Cancel + - app/+video-channels/video-channels.component.ts - 23 + app/shared/video/modals/video-download.component.html + 43 - - Search... - app/header/header.component.ts - 2 + app/videos/+video-watch/comment/video-comment-add.component.html + 47 - - Upload + + Download + + app/shared/video/modals/video-download.component.html + 48 + + + Report video - app/header/header.component.ts + 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/shared/video/modals/video-report.component.html 9 - - No results. + + Reason... - app/videos/video-list/video-trending.component.ts - 7 + app/shared/video/modals/video-report.component.html + 16 - app/videos/video-list/video-recently-added.component.ts - 7 + app/shared/video/modals/video-blacklist.component.html + 11 - app/videos/video-list/video-local.component.ts - 7 + app/shared/moderation/user-ban-modal.component.html + 11 + + + Cancel + - app/videos/video-list/video-search.component.ts - 7 + app/shared/video/modals/video-report.component.html + 24 - app/+accounts/account-videos/account-videos.component.ts - 7 + app/shared/video/modals/video-blacklist.component.html + 26 - app/+my-account/my-account-videos/my-account-videos.component.ts - 1 + app/shared/video/videos-selection.component.html + 14 - app/+video-channels/video-channel-videos/video-channel-videos.component.ts - 7 + app/+about/about-instance/contact-admin-modal.component.html + 38 - - Instance + + Submit - app/+about/about.component.ts - 5 + app/shared/video/modals/video-report.component.html + 29 - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 7 + app/shared/video/modals/video-blacklist.component.html + 31 - - PeerTube - app/+about/about.component.ts - 7 + app/+about/about-instance/contact-admin-modal.component.html + 43 - - - About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance - - app/+about/about-instance/about-instance.component.ts - 1 + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 26 - - Description - app/+about/about-instance/about-instance.component.ts - 10 + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 29 + + Blacklist video - app/+accounts/account-about/account-about.component.ts + app/shared/video/modals/video-blacklist.component.html 3 + + Unfederate the video (ask for its deletion from the remote instances) - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 32 + app/shared/video/modals/video-blacklist.component.html + 21 + + Unlisted - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + app/shared/video/video-miniature.component.html 12 - app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts - 23 - - - app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts - 23 + app/videos/+video-watch/video-watch-playlist.component.html + 6 + + Private - app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts - 17 + app/shared/video/video-miniature.component.html + 13 - app/+video-channels/video-channel-about/video-channel-about.component.ts - 4 + app/videos/+video-watch/video-watch-playlist.component.html + 7 + + <x id="INTERPOLATION" equiv-text="{{ video.views | myNumberFormatter }}"/> views - app/videos/+video-edit/shared/video-edit.component.ts - 23 + app/shared/video/video-miniature.component.html + 22 - - Terms + + Blacklisted - app/+about/about-instance/about-instance.component.ts - 16 + app/shared/video/video-miniature.component.html + 39 + + + Sensitive + - app/+admin/config/edit-custom-config/edit-custom-config.component.ts + app/shared/video/video-miniature.component.html 43 - - User registration is allowed and + + {VAR_PLURAL, plural, =0 {No videos} =1 {1 video} other {<x id="INTERPOLATION" equiv-text="{{ playlist.videosLength }}"/> videos} } - app/+about/about-instance/about-instance.component.ts - 25 + app/shared/video-playlist/video-playlist-miniature.component.html + 9 - + - this instance provides a baseline quota of <x id="INTERPOLATION" equiv-text="{{ userVideoQuota | bytes: 0 }}"/> space for the videos of its users. + <x id="INTERPOLATION" equiv-text="{{ playlist.videoChannelBy }}"/> - app/+about/about-instance/about-instance.component.ts - 27 + app/shared/video-playlist/video-playlist-miniature.component.html + 22 - - - this instance provides unlimited space for the videos of its users. - + + Updated <x id="INTERPOLATION" equiv-text="{{ playlist.updatedAt | myFromNow }}"/> - app/+about/about-instance/about-instance.component.ts - 31 + app/shared/video-playlist/video-playlist-miniature.component.html + 29 - - - User registration is currently not allowed. - + + Edit starts/stops at - app/+about/about-instance/about-instance.component.ts - 36 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 33 - - - About PeerTube - + + Save - app/+about/about-peertube/about-peertube.component.ts - 1 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 65 - - PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser. - app/+about/about-peertube/about-peertube.component.ts - 6 + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 32 - - - 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/+about/about-peertube/about-peertube.component.ts - 8 + app/videos/+video-watch/video-watch.component.html + 92 - - - 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>"/>. - + + Delete from <x id="INTERPOLATION" equiv-text="{{ playlist?.displayName }}"/> - app/+about/about-peertube/about-peertube.component.ts - 12 + app/shared/video-playlist/video-playlist-element-miniature.component.html + 69 - - P2P & Privacy + + No results. - app/+about/about-peertube/about-peertube.component.ts - 18 + app/shared/video/videos-selection.component.html + 1 - - - 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/+about/about-peertube/about-peertube.component.ts + app/shared/video/abstract-video-list.html 20 - - What are the consequences? - app/+about/about-peertube/about-peertube.component.ts - 25 + app/shared/video/abstract-video-list.html + 20 - - - 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.ts - 27 + app/shared/video/abstract-video-list.html + 20 - - - 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/+about/about-peertube/about-peertube.component.ts - 33 + app/shared/video/abstract-video-list.html + 20 - - - 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/+about/about-peertube/about-peertube.component.ts - 38 + app/videos/video-list/video-overview.component.html + 3 - - - 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/+about/about-peertube/about-peertube.component.ts - 43 + app/shared/video/abstract-video-list.html + 20 - - - 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/+about/about-peertube/about-peertube.component.ts - 47 + app/shared/video/abstract-video-list.html + 20 - - - The IP address is a vague information : usually, it regularly changes and can represent many persons or entities - + + Delete - app/+about/about-peertube/about-peertube.component.ts - 51 + app/shared/buttons/delete-button.component.html + 5 - - - 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/+about/about-peertube/about-peertube.component.ts - 55 + app/+my-account/my-account-videos/my-account-videos.component.html + 12 - - - 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.ts - 62 + app/videos/+video-edit/shared/video-edit.component.html + 157 - - How does PeerTube compare with YouTube? - app/+about/about-peertube/about-peertube.component.ts - 67 + app/videos/+video-watch/comment/video-comment.component.html + 15 - - - 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). - + + Edit - app/+about/about-peertube/about-peertube.component.ts - 69 + app/shared/buttons/edit-button.component.html + 5 - - What can I do to limit the exposure of my IP address? - app/+about/about-peertube/about-peertube.component.ts - 75 + app/shared/buttons/edit-button.component.html + 1 - - - 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. - + + Truncated preview - app/+about/about-peertube/about-peertube.component.ts - 77 + app/shared/forms/markdown-textarea.component.html + 9 - - What will be done to mitigate this problem? + + Complete preview - app/+about/about-peertube/about-peertube.component.ts - 83 + app/shared/forms/markdown-textarea.component.html + 13 + + + Get help + + app/shared/misc/help.component.html + 19 - + - PeerTube is only in beta, 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: + <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/+about/about-peertube/about-peertube.component.ts - 85 + app/shared/user-subscription/subscribe-button.component.html + 5 - - Set a limit to the number of peers sent by the tracker + + + Unsubscribe + - app/+about/about-peertube/about-peertube.component.ts - 91 + app/shared/user-subscription/subscribe-button.component.html + 18 - - Set a limit on the request frequency received by the tracker (being tested) + + Using an ActivityPub account - app/+about/about-peertube/about-peertube.component.ts - 92 + app/shared/user-subscription/subscribe-button.component.html + 36 - - Ring a bell if there are unusual requests (being tested) + + Subscribe with an account on <x id="INTERPOLATION" equiv-text="{{ videoChannel.host }}"/> - app/+about/about-peertube/about-peertube.component.ts - 93 + app/shared/user-subscription/subscribe-button.component.html + 39 - - Disable P2P from the administration interface + + Subscribe with your local account - app/+about/about-peertube/about-peertube.component.ts - 94 + app/shared/user-subscription/subscribe-button.component.html + 40 - - An automatic video redundancy program: we wouldn't know if the IP downloaded the video on purpose or if it was the automatized program + + Subscribe with a Mastodon account: - app/+about/about-peertube/about-peertube.component.ts - 95 + app/shared/user-subscription/subscribe-button.component.html + 43 - - <x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers + + Using a syndication feed - app/+accounts/accounts.component.ts - 12 + app/shared/user-subscription/subscribe-button.component.html + 48 - - Video channels + + Subscribe via RSS - app/+accounts/accounts.component.ts - 19 + app/shared/user-subscription/subscribe-button.component.html + 49 - - Stats + + + <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/+accounts/account-about/account-about.component.ts - 8 + 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/+video-channels/video-channel-about/video-channel-about.component.ts - 16 + app/shared/user-subscription/remote-subscribe.component.html + 17 - - Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/> + + 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/+accounts/account-about/account-about.component.ts - 10 + app/shared/user-subscription/remote-subscribe.component.html + 22 - - <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers + + Default NSFW/sensitive videos policy (can be redefined by the users) - app/+accounts/account-video-channels/account-video-channels.component.ts - 9 + app/shared/instance/instance-features-table.component.html + 5 + + Video quota - app/+my-account/my-account-video-channels/my-account-video-channels.component.ts - 21 + app/shared/instance/instance-features-table.component.html + 19 - app/+video-channels/video-channels.component.ts - 11 + app/+admin/users/user-edit/user-edit.component.html + 56 - - See this video channel - app/+accounts/account-video-channels/account-video-channels.component.ts - 4 + app/+admin/users/user-edit/user-edit.component.html + 56 - - Name - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 10 + app/+admin/users/user-list/user-list.component.html + 42 + + + 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/+admin/follows/followers-list/followers-list.component.ts - 9 + app/shared/instance/instance-features-table.component.html + 28 - - Short description + + Ban - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 21 + app/shared/moderation/user-ban-modal.component.html + 3 - - Default client route + + + A banned user will no longer be able to login. + - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 54 + app/shared/moderation/user-ban-modal.component.html + 18 - - Videos Trending + + Cancel - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 57 + app/shared/moderation/user-ban-modal.component.html + 23 - - Videos Recently Added - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 58 + app/shared/confirm/confirm.component.html + 19 - - Local videos - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 59 + app/login/login.component.html + 78 - - Policy on videos containing sensitive content - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 68 + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 23 - - 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.ts - 71 + app/videos/+video-watch/modal/video-support.component.html + 10 + + Ban this user - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts - 6 + app/shared/moderation/user-ban-modal.component.html + 26 - - Do not list + + <x id="INTERPOLATION" equiv-text="{{ menuEntry.label }}"/> - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 76 + app/shared/menu/top-menu-dropdown.component.html + 11 + + + Login + - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts - 11 + app/login/login.component.html + 2 - - Blur thumbnails + + Request new verification email. - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 77 + app/login/login.component.html + 7 - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + app/+verify-account/verify-account-email/verify-account-email.component.html 12 - - Display + + User - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 78 + app/login/login.component.html + 13 + + Username or email address - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts - 13 + app/login/login.component.html + 15 - - Signup enabled + + + or create an account + - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 92 + app/login/login.component.html + 18 - - Signup limit + + + or create an account on another instance + - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 96 + app/login/login.component.html + 22 - - Administrator + + User registration is not allowed on this instance, but you can register on many others! - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 106 + app/login/login.component.html + 28 - - Admin email + + Password - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 109 + app/login/login.component.html + 38 - - Users - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 119 + app/login/login.component.html + 41 - - User default video quota - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 122 + app/reset-password/reset-password.component.html + 8 - - Basic configuration - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 5 + app/reset-password/reset-password.component.html + 10 - - Twitter - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 138 + app/signup/signup.component.html + 42 - - Your Twitter username - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 141 + app/signup/signup.component.html + 44 - - 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.ts - 144 + app/+admin/users/user-edit/user-edit.component.html + 30 - - Instance whitelisted by Twitter - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 159 + app/+admin/users/user-edit/user-edit.component.html + 30 - - 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/+admin/config/edit-custom-config/edit-custom-config.component.ts - 162 + app/+my-account/my-account-settings/my-account-settings.component.html + 13 - - Services + + I forgot my password - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 136 + app/login/login.component.html + 44 - - Transcoding + + Login - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 172 + app/login/login.component.html + 51 - - Transcoding enabled - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 178 + app/menu/menu.component.html + 32 - - If you disable transcoding, many videos from your users will not work! + + Forgot your password - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 180 + app/login/login.component.html + 57 - - Transcoding threads + + + We are sorry, you cannot recover you password because your instance administrator did not configure the PeerTube email system. + - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 186 + app/login/login.component.html + 64 - - Resolution <x id="INTERPOLATION" equiv-text="{{ resolution }}"/> enabled + + Email - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 205 + app/login/login.component.html + 69 - - Cache - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 209 + app/signup/signup.component.html + 31 - - Previews cache size - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 212 + app/signup/signup.component.html + 33 - - Previews are not federated. We fetch them directly from the origin instance and cache them. - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 215 + app/+admin/users/user-edit/user-edit.component.html + 19 - - Customizations - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 227 + app/+admin/users/user-edit/user-edit.component.html + 19 - - JavaScript - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 230 + app/+admin/users/user-list/user-list.component.html + 41 - - Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre> - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 233 + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 4 - - - 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.ts - 249 + app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 8 - - Advanced configuration + + Email address - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 170 + app/login/login.component.html + 71 - - Update configuration - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 276 + app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 10 - - It seems the configuration is invalid. Please search potential errors in the different tabs. + + Send me an email to reset my password - app/+admin/config/edit-custom-config/edit-custom-config.component.ts - 277 + app/login/login.component.html + 81 - + - Users - + Reset my password + - app/+admin/admin.component.ts - 3 + app/reset-password/reset-password.component.html + 2 - - - Manage follows - + + Confirm password - app/+admin/admin.component.ts - 7 + app/reset-password/reset-password.component.html + 19 - - - Video abuses - + + Confirmed password - app/+admin/admin.component.ts - 11 + app/reset-password/reset-password.component.html + 21 - - - Video blacklist - + + Reset my password - app/+admin/admin.component.ts - 15 + app/reset-password/reset-password.component.html + 29 - + - Jobs - + Create an account + - app/+admin/admin.component.ts - 19 + app/signup/signup.component.html + 3 - - - Configuration - + + Username - app/+admin/admin.component.ts - 23 + app/signup/signup.component.html + 13 - - 1 host (without "http://") per line - app/+admin/follows/following-add/following-add.component.ts - 5 + app/+admin/users/user-edit/user-edit.component.html + 8 - - - It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. - - app/+admin/follows/following-add/following-add.component.ts - 17 + app/+admin/users/user-edit/user-edit.component.html + 8 - - Add following + + Example: jane_doe - app/+admin/follows/following-add/following-add.component.ts - 21 + app/signup/signup.component.html + 17 - - ID + + 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/+admin/follows/followers-list/followers-list.component.ts - 7 + app/signup/signup.component.html + 55 + + Signup - app/+admin/follows/following-list/following-list.component.ts - 7 + app/signup/signup.component.html + 63 - app/+admin/jobs/jobs-list/jobs-list.component.ts - 18 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 88 - - Score + + Features found on this instance - app/+admin/follows/followers-list/followers-list.component.ts - 8 + app/signup/signup.component.html + 67 - - Host + + <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems | myNumberFormatter }}"/> results - app/+admin/follows/followers-list/followers-list.component.ts - 10 + app/search/search.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>"/> + - app/+admin/follows/following-list/following-list.component.ts - 8 + app/search/search.component.html + 6 - - State + + + 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/+admin/follows/followers-list/followers-list.component.ts - 11 + app/search/search.component.html + 16 + + + No results found + - app/+admin/follows/following-list/following-list.component.ts - 9 + app/search/search.component.html + 28 + + <x id="INTERPOLATION" equiv-text="{{ result.followersCount }}"/> subscribers - app/+admin/jobs/jobs-list/jobs-list.component.ts - 20 + app/search/search.component.html + 44 - - 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>"/> + + Change the language - app/+admin/follows/followers-list/followers-list.component.ts - 12 + app/menu/language-chooser.component.html + 3 - app/+admin/follows/following-list/following-list.component.ts - 10 + app/menu/menu.component.html + 102 + + + Help to translate PeerTube! + - app/+admin/jobs/jobs-list/jobs-list.component.ts - 21 + app/menu/language-chooser.component.html + 8 + + My public profile - app/+admin/users/user-list/user-list.component.ts - 20 + app/menu/menu.component.html + 17 + + My account - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 13 + app/menu/menu.component.html + 21 + + Log out - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 16 + app/menu/menu.component.html + 25 - - Manage follows + + Create an account - app/+admin/follows/follows.component.ts - 2 + app/menu/menu.component.html + 33 - - Jobs list + + My library - app/+admin/jobs/jobs-list/jobs-list.component.ts - 2 + app/menu/menu.component.html + 37 - - Type + + Videos - app/+admin/jobs/jobs-list/jobs-list.component.ts - 19 + app/menu/menu.component.html + 41 - - Processed on - app/+admin/jobs/jobs-list/jobs-list.component.ts - 22 + app/menu/menu.component.html + 62 - - Finished on - app/+admin/jobs/jobs-list/jobs-list.component.ts - 23 + app/+accounts/accounts.component.html + 29 - - Create user - app/+admin/users/user-edit/user-create.component.ts - 1 + app/+video-channels/video-channels.component.html + 24 + + Playlists - app/+admin/users/user-edit/user-update.component.ts - 1 + app/menu/menu.component.html + 46 + + Subscriptions - app/+admin/users/user-list/user-list.component.ts - 6 + app/menu/menu.component.html + 51 - - Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/> + + History - app/+admin/users/user-edit/user-create.component.ts - 2 + app/menu/menu.component.html + 56 + + Overview - app/+admin/users/user-edit/user-update.component.ts - 2 + app/menu/menu.component.html + 66 - - john + + Trending - app/+admin/users/user-edit/user-create.component.ts - 10 + app/menu/menu.component.html + 71 + + Recently added - app/+admin/users/user-edit/user-update.component.ts - 10 + app/menu/menu.component.html + 76 - - mail@example.com + + Local - app/+admin/users/user-edit/user-create.component.ts - 21 + app/menu/menu.component.html + 81 + + More - app/+admin/users/user-edit/user-update.component.ts - 21 + app/menu/menu.component.html + 86 - - Role + + Administration - app/+admin/users/user-edit/user-create.component.ts - 41 + app/menu/menu.component.html + 90 + + About - app/+admin/users/user-edit/user-update.component.ts - 41 + app/menu/menu.component.html + 95 - app/+admin/users/user-list/user-list.component.ts - 19 + app/+accounts/accounts.component.html + 33 - - Video quota - app/+admin/users/user-edit/user-create.component.ts - 56 + app/+video-channels/video-channels.component.html + 26 + + Show keyboard shortcuts - app/+admin/users/user-edit/user-update.component.ts - 56 + app/menu/menu.component.html + 105 + + Toggle dark interface - app/+admin/users/user-list/user-list.component.ts - 18 + app/menu/menu.component.html + 108 - - - 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 }}"/>. - + + View your notifications - app/+admin/users/user-edit/user-create.component.ts - 65 + app/menu/avatar-notification.component.html + 3 + + Notifications - app/+admin/users/user-edit/user-update.component.ts - 65 + app/menu/avatar-notification.component.html + 13 - - Users list - app/+admin/users/user-list/user-list.component.ts - 2 + app/+my-account/my-account-settings/my-account-settings.component.html + 10 - - 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>"/> + + Update your notification preferences - app/+admin/users/user-list/user-list.component.ts + app/menu/avatar-notification.component.html 16 - - Video abuses list + + See all your notifications + + app/menu/avatar-notification.component.html + 30 + + + Search... - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts + app/header/header.component.html 2 - - Reason + + Upload - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 11 + app/header/header.component.html + 9 - - Reporter + + Sort - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 12 + app/search/search-filters.component.html + 6 - - Video + + Published date - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 14 + app/search/search-filters.component.html + 15 - - Go to the account + + Original publication year - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 22 + app/search/search-filters.component.html + 24 - - Go to the video + + After... - app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts - 28 + app/search/search-filters.component.html + 30 - - Blacklisted videos + + Before... - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 2 + app/search/search-filters.component.html + 37 - - 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>"/> + + Duration - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 11 + app/search/search-filters.component.html + 45 - - Views <x id="START_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="<p-sortIcon>"/><x id="CLOSE_TAG_P-SORTICON" ctype="x-p-sortIcon" equiv-text="</p-sortIcon>"/> + + Display sensitive content - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 13 + app/search/search-filters.component.html + 54 - - NSFW + + Yes - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 14 + app/search/search-filters.component.html + 58 - - UUID + + No - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 15 + app/search/search-filters.component.html + 63 - - Unblacklist + + Category - app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts - 30 + app/search/search-filters.component.html + 71 - - My settings - app/+my-account/my-account.component.ts - 3 + app/videos/+video-edit/shared/video-edit.component.html + 48 - - My video channels - app/+my-account/my-account.component.ts - 5 + app/videos/+video-watch/video-watch.component.html + 164 - - My videos + + Licence - app/+my-account/my-account.component.ts - 7 + app/search/search-filters.component.html + 81 - - Video quota: - app/+my-account/my-account-settings/my-account-settings.component.ts - 4 + app/videos/+video-edit/shared/video-edit.component.html + 62 - - Profile - app/+my-account/my-account-settings/my-account-settings.component.ts - 8 + app/videos/+video-watch/video-watch.component.html + 173 - - Video settings + + Language - app/+my-account/my-account-settings/my-account-settings.component.ts - 15 + app/search/search-filters.component.html + 91 - - <x id="INTERPOLATION" equiv-text="{{ video.createdAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views - app/+my-account/my-account-videos/my-account-videos.component.ts - 20 + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 10 - - Delete - app/+my-account/my-account-videos/my-account-videos.component.ts - 33 + app/videos/+video-edit/shared/video-edit.component.html + 76 - app/videos/+video-watch/video-watch.component.ts - 101 + app/videos/+video-watch/video-watch.component.html + 182 + + All of these tags - app/videos/+video-watch/comment/video-comment.component.ts - 15 + app/search/search-filters.component.html + 103 - - Create another video channel + + One of these tags - app/+my-account/my-account-video-channels/my-account-video-channels.component.ts - 4 + app/search/search-filters.component.html + 108 - - Go to the channel + + Filter - app/+my-account/my-account-video-channels/my-account-video-channels.component.ts - 15 + app/search/search-filters.component.html + 115 - - Create a video channel + + Display unlisted and private videos - app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts - 6 + app/shared/video/abstract-video-list.html + 14 - app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts - 6 + app/shared/video/abstract-video-list.html + 14 - - Display name - app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts - 12 + app/shared/video/abstract-video-list.html + 14 - app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts - 12 + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + app/shared/video/abstract-video-list.html + 14 + + + <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>"/> + - app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts + app/videos/video-list/video-overview.component.html 6 - - 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. + + + <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>"/> + - app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts - 36 + app/videos/video-list/video-overview.component.html + 14 + + + <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>"/> + - app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts - 36 + app/videos/video-list/video-overview.component.html + 22 - - Change password + + Instance - app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + app/+about/about.component.html 5 - app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts - 19 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 8 - - New password - app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts - 7 + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 8 - - Confirm new password - app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts - 15 + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 12 - - Default policy on videos containing sensitive content + + PeerTube - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + app/+about/about.component.html + 7 + + + Contact <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> administrator + + app/+about/about-instance/contact-admin-modal.component.html 3 - - Automatically plays video + + Your name - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts - 24 + app/+about/about-instance/contact-admin-modal.component.html + 11 - - Save + + Your email - app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts - 27 + app/+about/about-instance/contact-admin-modal.component.html + 20 - - Update my profile + + Your message - app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts - 27 + app/+about/about-instance/contact-admin-modal.component.html + 29 - - <x id="INTERPOLATION" equiv-text="{{ actor.followersCount }}"/> subscribers + + About <x id="INTERPOLATION" equiv-text="{{ instanceName }}"/> instance - app/+my-account/shared/actor-avatar-info.component.ts - 10 + app/+about/about-instance/about-instance.component.html + 4 - - Change the avatar + + Contact administrator - app/+my-account/shared/actor-avatar-info.component.ts - 15 + app/+about/about-instance/about-instance.component.html + 6 - - (extensions: <x id="INTERPOLATION" equiv-text="{{ avatarExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxAvatarSize | bytes }}"/>) + + Description - app/+my-account/shared/actor-avatar-info.component.ts - 18 + app/+about/about-instance/about-instance.component.html + 16 - - - Sorry, but we couldn't find the page you were looking for. - - app/+page-not-found/page-not-found.component.ts - 1 + app/+accounts/account-about/account-about.component.html + 3 - - Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> - app/+video-channels/video-channels.component.ts - 14 + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 30 - - Go the owner account page - app/+video-channels/video-channels.component.ts - 13 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 39 - - Support this channel - app/+video-channels/video-channel-about/video-channel-about.component.ts - 9 + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 39 - - Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/> - app/+video-channels/video-channel-about/video-channel-about.component.ts - 17 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 20 - - Upload your video - app/videos/+video-edit/video-add.component.ts - 3 + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 20 + + + app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.html + 17 - - Upload <x id="INTERPOLATION" equiv-text="{{ videoFileName }}"/> - app/videos/+video-edit/video-add.component.ts + app/+video-channels/video-channel-about/video-channel-about.component.html 4 - - Select the file to upload - app/videos/+video-edit/video-add.component.ts + app/videos/+video-edit/shared/video-edit.component.html + 27 + + + Terms + + app/+about/about-instance/about-instance.component.html + 22 + + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 39 + + + + About PeerTube + + + app/+about/about-peertube/about-peertube.component.html + 1 + + + PeerTube is a federated (ActivityPub) video streaming platform using P2P (WebTorrent) directly in the web browser. + + app/+about/about-peertube/about-peertube.component.html + 6 + + + + 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/+about/about-peertube/about-peertube.component.html + 8 + + + + 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/+about/about-peertube/about-peertube.component.html 12 - - Channel + + P2P & Privacy - app/videos/+video-edit/video-add.component.ts + app/+about/about-peertube/about-peertube.component.html 18 + + + 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-edit/shared/video-edit.component.ts - 35 + app/+about/about-peertube/about-peertube.component.html + 20 - - Privacy + + What are the consequences? + + 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/videos/+video-edit/video-add.component.ts + app/+about/about-peertube/about-peertube.component.html 27 + + + 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/+about/about-peertube/about-peertube.component.html + 33 + + + + 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-edit/shared/video-edit.component.ts - 86 + app/+about/about-peertube/about-peertube.component.html + 38 - - Publish will be available when upload is finished + + + 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-edit/video-add.component.ts - 54 + app/+about/about-peertube/about-peertube.component.html + 43 - - Publish + + + 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-edit/video-add.component.ts - 61 + app/+about/about-peertube/about-peertube.component.html + 47 - - Title + + + The IP address is a vague information : usually, it regularly changes and can represent many persons or entities + - app/videos/+video-edit/shared/video-edit.component.ts - 7 + app/+about/about-peertube/about-peertube.component.html + 51 - - Tags + + + 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/+about/about-peertube/about-peertube.component.html + 55 + + + + 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? + + app/+about/about-peertube/about-peertube.component.html + 67 + + + + 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-edit/shared/video-edit.component.ts + app/+about/about-peertube/about-peertube.component.html + 69 + + + What can I do to limit the exposure of my IP address? + + app/+about/about-peertube/about-peertube.component.html + 75 + + + + 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/+about/about-peertube/about-peertube.component.html + 77 + + + What will be done to mitigate this problem? + + app/+about/about-peertube/about-peertube.component.html + 83 + + + + PeerTube is in its early stages, and want to deliver the best countermeasures possible by the time the stable is released. + In the meantime, we want to test different ideas related to this issue: + + + app/+about/about-peertube/about-peertube.component.html + 85 + + + Set a limit to the number of peers sent by the tracker + + app/+about/about-peertube/about-peertube.component.html + 91 + + + Set a limit on the request frequency received by the tracker (being tested) + + app/+about/about-peertube/about-peertube.component.html + 92 + + + Ring a bell if there are unusual requests (being tested) + + app/+about/about-peertube/about-peertube.component.html + 93 + + + Disable P2P from the administration interface + + app/+about/about-peertube/about-peertube.component.html + 94 + + + 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/+about/about-peertube/about-peertube.component.html + 95 + + + Banned + + app/+accounts/accounts.component.html + 12 + + + Muted + + app/+accounts/accounts.component.html + 13 + + + Muted by your instance + + app/+accounts/accounts.component.html + 14 + + + Instance muted + + app/+accounts/accounts.component.html 15 - - (press Enter to add) + + Instance muted by your instance + + app/+accounts/accounts.component.html + 16 + + + <x id="INTERPOLATION" equiv-text="{{ account.followersCount }}"/> subscribers + + app/+accounts/accounts.component.html + 24 + + + Video channels + + app/+accounts/accounts.component.html + 31 + + + Stats + + app/+accounts/account-about/account-about.component.html + 8 + + + app/+video-channels/video-channel-about/video-channel-about.component.html + 16 + + + Joined <x id="INTERPOLATION" equiv-text="{{ account.createdAt | date }}"/> + + app/+accounts/account-about/account-about.component.html + 10 + + + <x id="INTERPOLATION" equiv-text="{{ videoChannel.followersCount }}"/> subscribers + + app/+accounts/account-video-channels/account-video-channels.component.html + 9 + + + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 20 + + + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 15 + + + app/+video-channels/video-channels.component.html + 14 + + + See this video channel + + app/+accounts/account-video-channels/account-video-channels.component.html + 4 + + + Name + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 12 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 12 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 12 + + + Short description + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 21 + + + Dedicated to sensitive or NSFW content + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 50 + + + Enabling it will allow other administrators to know that you are mainly federating sensitive content.<br /><br /> + Moreover, the NSFW checkbox on video upload will be automatically checked by default. + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 51 + + + Default client route + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 57 + + + Videos Overview + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 60 + + + Videos Trending + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 61 + + + Videos Recently Added + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 62 + + + Local videos + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 63 + + + Policy on videos containing sensitive content + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 70 + + + 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 + 73 + + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 6 + + + Do not list + + 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 + + + Blur thumbnails + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 79 + + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 12 + + + Display + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 80 + + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 13 + + + Signup enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 94 + + + Signup requires email verification + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 101 + + + Signup limit + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 106 + + + Users + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 116 + + + User default video quota + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 120 + + + User default daily upload limit + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 132 + + + Import + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 145 + + + 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 + + + Video import with HTTP URL (i.e. YouTube) enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 153 + + + Video import with a torrent file or a magnet URI enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 160 + + + Auto-blacklist + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 168 + + + New videos of users automatically blacklisted enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 177 + + + Instance followers + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 186 + + + Other instances can follow your instance + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 194 + + + Manually approve new instance follower + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 201 + + + Administrator + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 208 + + + Admin email + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 211 + + + Enable contact form + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 222 + + + Basic configuration + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 5 + + + Twitter + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 231 + + + Your Twitter username + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 237 + + + 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 + 240 + + + Instance whitelisted by Twitter + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 252 + + + 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/+admin/config/edit-custom-config/edit-custom-config.component.html + 253 + + + Services + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 229 + + + Transcoding + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 268 + + + Transcoding enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 274 + + + If you disable transcoding, many videos from your users will not work! + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 275 + + + Allow additional extensions + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 284 + + + Allow your users to upload .mkv, .mov, .avi, .flv videos + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 285 + + + Transcoding threads + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 290 + + + Resolution <x id="INTERPOLATION" equiv-text="{{resolution}}"/> enabled + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 305 + + + + 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/+admin/config/edit-custom-config/edit-custom-config.component.html + 313 + + + 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 + 318 + + + Previews cache size + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 324 + + + Video captions cache size + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 333 + + + Customizations + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 342 + + + JavaScript + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 347 + + + Write directly JavaScript code.<br />Example: <pre>console.log('my instance is amazing');</pre> + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 350 + + + + 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/+admin/config/edit-custom-config/edit-custom-config.component.html + 364 + + + Advanced configuration + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 265 + + + Update configuration + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 393 + + + It seems the configuration is invalid. Please search potential errors in the different tabs. + + app/+admin/config/edit-custom-config/edit-custom-config.component.html + 394 + + + + Users + + + app/+admin/admin.component.html + 3 + + + + Manage follows + + + app/+admin/admin.component.html + 7 + + + + Moderation + + + app/+admin/admin.component.html + 11 + + + + Configuration + + + app/+admin/admin.component.html + 15 + + + + System + + + app/+admin/admin.component.html + 19 + + + 1 host (without "http://") per line + + app/+admin/follows/following-add/following-add.component.html + 5 + + + + It seems that you are not on a HTTPS server. Your webserver needs to have TLS activated in order to follow servers. + + + app/+admin/follows/following-add/following-add.component.html + 17 + + + Add following + + app/+admin/follows/following-add/following-add.component.html + 21 + + + Filter... + + app/+admin/follows/followers-list/followers-list.component.html + 8 + + + app/+admin/follows/following-list/following-list.component.html + 9 + + + app/+admin/users/user-list/user-list.component.html + 27 + + + ID + + app/+admin/follows/followers-list/followers-list.component.html + 16 + + + app/+admin/follows/following-list/following-list.component.html + 18 + + + app/+admin/system/jobs/jobs.component.html + 18 + + + Follower handle + + app/+admin/follows/followers-list/followers-list.component.html + 17 + + + State + + app/+admin/follows/followers-list/followers-list.component.html + 18 + + + app/+admin/follows/following-list/following-list.component.html + 20 + + + app/+admin/system/jobs/jobs.component.html + 20 + + + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 10 + + + Score + + 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/+admin/follows/followers-list/followers-list.component.html + 20 + + + app/+admin/follows/following-list/following-list.component.html + 21 + + + app/+admin/users/user-list/user-list.component.html + 44 + + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 9 + + + app/+admin/system/jobs/jobs.component.html + 21 + + + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 11 + + + Accepted + + app/+admin/follows/followers-list/followers-list.component.html + 30 + + + app/+admin/follows/following-list/following-list.component.html + 32 + + + Pending + + app/+admin/follows/followers-list/followers-list.component.html + 31 + + + app/+admin/follows/following-list/following-list.component.html + 33 + + + Accept + + app/+admin/follows/followers-list/followers-list.component.html + 38 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 41 + + + Refuse + + app/+admin/follows/followers-list/followers-list.component.html + 39 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 42 + + + Host + + app/+admin/follows/following-list/following-list.component.html + 19 + + + Redundancy allowed + + app/+admin/follows/following-list/following-list.component.html + 22 + + + Manage follows + + app/+admin/follows/follows.component.html + 2 + + + Following + + app/+admin/follows/follows.component.html + 5 + + + Follow + + app/+admin/follows/follows.component.html + 7 + + + Followers + + app/+admin/follows/follows.component.html + 9 + + + Create user + + app/+admin/users/user-edit/user-edit.component.html + 1 + + + app/+admin/users/user-edit/user-edit.component.html + 1 + + + app/+admin/users/user-list/user-list.component.html + 6 + + + Edit user <x id="INTERPOLATION" equiv-text="{{ username }}"/> + + app/+admin/users/user-edit/user-edit.component.html + 2 + + + app/+admin/users/user-edit/user-edit.component.html + 2 + + + john + + app/+admin/users/user-edit/user-edit.component.html + 10 + + + app/+admin/users/user-edit/user-edit.component.html + 10 + + + mail@example.com + + app/+admin/users/user-edit/user-edit.component.html + 21 + + + app/+admin/users/user-edit/user-edit.component.html + 21 + + + Role + + app/+admin/users/user-edit/user-edit.component.html + 41 + + + app/+admin/users/user-edit/user-edit.component.html + 41 + + + app/+admin/users/user-list/user-list.component.html + 43 + + + + 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/users/user-edit/user-edit.component.html + 65 + + + app/+admin/users/user-edit/user-edit.component.html + 65 + + + Daily video quota + + app/+admin/users/user-edit/user-edit.component.html + 72 + + + app/+admin/users/user-edit/user-edit.component.html + 72 + + + Bypass video auto blacklist + + app/+admin/users/user-edit/user-edit.component.html + 85 + + + app/+admin/users/user-edit/user-edit.component.html + 85 + + + Danger Zone + + app/+admin/users/user-edit/user-edit.component.html + 93 + + + app/+admin/users/user-edit/user-edit.component.html + 93 + + + Send a link to reset the password by email to the user + + app/+admin/users/user-edit/user-edit.component.html + 96 + + + app/+admin/users/user-edit/user-edit.component.html + 96 + + + Ask for new password + + app/+admin/users/user-edit/user-edit.component.html + 97 + + + app/+admin/users/user-edit/user-edit.component.html + 97 + + + Manually set the user password + + app/+admin/users/user-edit/user-edit.component.html + 101 + + + app/+admin/users/user-edit/user-edit.component.html + 101 + + + Show + + app/+admin/users/user-edit/user-password.component.html + 10 + + + Hide + + app/+admin/users/user-edit/user-password.component.html + 11 + + + Users list + + app/+admin/users/user-list/user-list.component.html + 2 + + + Batch actions + + app/+admin/users/user-list/user-list.component.html + 19 + + + 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 + + + (banned) + + app/+admin/users/user-list/user-list.component.html + 65 + + + Go to the account page + + app/+admin/users/user-list/user-list.component.html + 63 + + + app/videos/+video-watch/video-watch.component.html + 128 + + + User's email must be verified to login + + app/+admin/users/user-list/user-list.component.html + 72 + + + User's email is verified / User can login without email verification + + app/+admin/users/user-list/user-list.component.html + 76 + + + Ban reason: + + app/+admin/users/user-list/user-list.component.html + 95 + + + Moderation comment + + 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/moderation-comment-modal.component.html + 18 + + + Update this comment + + app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.html + 26 + + + Reporter + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 8 + + + Video + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 10 + + + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 9 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 14 + + + 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/moderation/video-abuse-list/video-abuse-list.component.html + 11 + + + Go to the account + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 25 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 27 + + + Go to the video + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 33 + + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 25 + + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 33 + + + Actions + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 44 + + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 35 + + + Reason: + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 53 + + + Moderation comment: + + app/+admin/moderation/video-abuse-list/video-abuse-list.component.html + 57 + + + 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/moderation/video-blacklist-list/video-blacklist-list.component.html + 8 + + + Sensitive + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 9 + + + Unfederated + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 10 + + + 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 + + + Blacklist reason: + + app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.html + 43 + + + Unblacklist + + app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html + 11 + + + app/+admin/moderation/video-auto-blacklist-list/video-auto-blacklist-list.component.html + 16 + + + Moderation + + app/+admin/moderation/moderation.component.html + 2 + + + Video abuses + + app/+admin/moderation/moderation.component.html + 5 + + + <x id="INTERPOLATION" equiv-text="{{ autoBlacklistVideosEnabled ? 'Manually blacklisted videos' : 'Blacklisted videos' }}"/> + + app/+admin/moderation/moderation.component.html + 7 + + + Auto-blacklisted videos + + app/+admin/moderation/moderation.component.html + 9 + + + Muted accounts + + app/+admin/moderation/moderation.component.html + 11 + + + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 2 + + + Muted servers + + app/+admin/moderation/moderation.component.html + 13 + + + Account + + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 8 + + + app/+my-account/my-account-blocklist/my-account-blocklist.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>"/> + + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 9 + + + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 9 + + + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 13 + + + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 13 + + + Unmute + + app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.html + 18 + + + app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.html + 19 + + + app/+my-account/my-account-blocklist/my-account-blocklist.component.html + 22 + + + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 23 + + + Jobs list + + app/+admin/system/jobs/jobs.component.html + 2 + + + Type + + app/+admin/system/jobs/jobs.component.html + 19 + + + Processed on + + app/+admin/system/jobs/jobs.component.html + 22 + + + Finished on + + app/+admin/system/jobs/jobs.component.html + 23 + + + Refresh + + app/+admin/system/logs/logs.component.html + 14 + + + System + + app/+admin/system/system.component.html + 2 + + + Jobs + + app/+admin/system/system.component.html + 5 + + + Logs + + app/+admin/system/system.component.html + 7 + + + Debug + + app/+admin/system/system.component.html + 9 + + + Video quota: + + app/+my-account/my-account-settings/my-account-settings.component.html + 4 + + + Profile + + app/+my-account/my-account-settings/my-account-settings.component.html + 7 + + + Video settings + + app/+my-account/my-account-settings/my-account-settings.component.html + 16 + + + Danger zone + + app/+my-account/my-account-settings/my-account-settings.component.html + 19 + + + Change ownership + + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 3 + + + app/+my-account/my-account-videos/my-account-videos.component.html + 21 + + + Select the next owner + + app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.html + 10 + + + + Cancel + + + 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 + + + app/videos/+video-edit/shared/video-caption-add-modal.component.html + 35 + + + Create a new video channel + + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 4 + + + Go to the channel + + app/+my-account/my-account-video-channels/my-account-video-channels.component.html + 15 + + + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 10 + + + Create a video channel + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 6 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 6 + + + Example: my_channel + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 15 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 15 + + + Short text to tell people how they can support your channel (membership platform...).<br /><br /> +When you will upload a video in this channel, the video support field will be automatically filled by this text. + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 52 + + + app/+my-account/my-account-video-channels/my-account-video-channel-edit.component.html + 52 + + + Target + + app/+my-account/my-account-video-imports/my-account-video-imports.component.html + 8 + + + You don't have any subscriptions yet. + + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 1 + + + Created by <x id="INTERPOLATION" equiv-text="{{ videoChannel.ownerBy }}"/> + + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 18 + + + app/+video-channels/video-channels.component.html + 17 + + + Go the owner account page + + app/+my-account/my-account-subscriptions/my-account-subscriptions.component.html + 17 + + + app/+video-channels/video-channels.component.html + 16 + + + Accept ownership + + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 3 + + + Select the target channel + + app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.html + 10 + + + Initiator + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 13 + + + + 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-ownership/my-account-ownership.component.html + 15 + + + Status + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 19 + + + Action + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 20 + + + <x id="INTERPOLATION" equiv-text="{{ videoChangeOwnership.status }}"/> + + app/+my-account/my-account-ownership/my-account-ownership.component.html + 38 + + + Muted instances + + app/+my-account/my-account-blocklist/my-account-server-blocklist.component.html + 2 + + + History enabled + + app/+my-account/my-account-history/my-account-history.component.html + 4 + + + + <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/+my-account/my-account-history/my-account-history.component.html + 7 + + + You don't have videos history yet. + + app/+my-account/my-account-history/my-account-history.component.html + 14 + + + + <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/+my-account/my-account-notifications/my-account-notifications.component.html + 2 + + + + <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/+my-account/my-account-notifications/my-account-notifications.component.html + 7 + + + Create a new playlist + + app/+my-account/my-account-video-playlists/my-account-video-playlists.component.html + 4 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 1 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 1 + + + Privacy + + 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 + + + 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-edit/shared/video-edit.component.html + 90 + + + app/videos/+video-watch/video-watch.component.html + 154 + + + Channel + + 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 + + + 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/videos/+video-edit/shared/video-edit.component.html + 39 + + + Upload thumbnail + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 61 + + + app/+my-account/my-account-video-playlists/my-account-video-playlist-edit.component.html + 61 + + + app/videos/+video-edit/shared/video-edit.component.html + 192 + + + No videos in this playlist. + + app/+my-account/my-account-video-playlists/my-account-video-playlist-elements.component.html + 11 + + + Change password + + app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html + 5 + + + app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html + 30 + + + Current password + + app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html + 7 + + + New password + + app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html + 15 + + + Confirm new password + + app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.html + 23 + + + Default policy on videos containing sensitive content + + 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 + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 21 + + + Automatically plays video + + app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.html + 28 + + + Update my profile + + 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 }}"/>) + + app/+my-account/shared/actor-avatar-info.component.html + 18 + + + Once you delete your account, there is no going back. Please be certain. + + app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html + 2 + + + Delete your account + + app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.html + 4 + + + Activities + + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 2 + + + Web + + app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.html + 3 + + + + Sorry, but we couldn't find the page you were looking for. + + + app/+page-not-found/page-not-found.component.html + 1 + + + + Verify account email confirmation + + + app/+verify-account/verify-account-email/verify-account-email.component.html + 2 + + + + Your email has been verified and you may now login. Redirecting... + + + app/+verify-account/verify-account-email/verify-account-email.component.html + 6 + + + An error occurred. + + app/+verify-account/verify-account-email/verify-account-email.component.html + 11 + + + + Request email for account verification + + + app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 2 + + + Send verification email + + app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 17 + + + This instance does not require email verification. + + app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.html + 20 + + + Video playlists + + app/+video-channels/video-channels.component.html + 25 + + + Support this channel + + app/+video-channels/video-channel-about/video-channel-about.component.html + 9 + + + Created <x id="INTERPOLATION" equiv-text="{{ videoChannel.createdAt | date }}"/> + + app/+video-channels/video-channel-about/video-channel-about.component.html + 17 + + + + Created <x id="INTERPOLATION" equiv-text="{{ pagination.totalItems }}"/> playlists + + + app/+video-channels/video-channel-playlists/video-channel-playlists.component.html + 1 + + + This channel does not have playlists. + + app/+video-channels/video-channel-playlists/video-channel-playlists.component.html + 5 + + + URL + + app/videos/+video-edit/video-add-components/video-import-url.component.html + 6 + + + app/videos/+video-watch/modal/video-share.component.html + 25 + + + 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 + + + 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 + 41 + + + 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 + + + + Congratulations! Your video is now available in your private library. + + + app/videos/+video-edit/video-add-components/video-upload.component.html + 45 + + + Publish will be available when upload is finished + + app/videos/+video-edit/video-add-components/video-upload.component.html + 58 + + + Publish + + app/videos/+video-edit/video-add-components/video-upload.component.html + 65 + + + 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 + + + + 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 + + + Import <x id="INTERPOLATION" equiv-text="{{ videoName }}"/> + + 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 + + + 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 + + + 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 + + + Video descriptions are truncated by default and require manual action to expand them. + + app/videos/+video-edit/shared/video-edit.component.html + 28 + + + 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 + + + Upload preview + + app/videos/+video-edit/shared/video-edit.component.html + 199 + + + Support + + app/videos/+video-edit/shared/video-edit.component.html + 205 + + + 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 + 206 + + + Original publication date + + app/videos/+video-edit/shared/video-edit.component.html + 219 + + + 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 + 220 + + + Enable video comments + + app/videos/+video-edit/shared/video-edit.component.html + 234 + + + Enable download + + app/videos/+video-edit/shared/video-edit.component.html + 239 + + + Advanced settings + + app/videos/+video-edit/shared/video-edit.component.html + 186 + + + + Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> + + + app/videos/+video-edit/video-update.component.html + 2 + + + Public + + app/videos/+video-watch/video-watch-playlist.component.html + 8 + + + Share + + 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 + 37 + + + Embed + + app/videos/+video-watch/modal/video-share.component.html + 42 + + + + 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/videos/+video-watch/modal/video-share.component.html + 53 + + + Close + + app/videos/+video-watch/modal/video-share.component.html + 59 + + + + The video is being imported, it will be available when the import is finished. + + + app/videos/+video-watch/video-watch.component.html + 19 + + + + The video is being transcoded, it may not work properly. + + + app/videos/+video-watch/video-watch.component.html + 23 + + + + This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/>. + + + 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 + + + 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 + + + + 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/videos/+video-watch/video-watch.component.html + 208 + + + More information + + app/videos/+video-watch/video-watch.component.html + 211 + + + Get more information + + app/videos/+video-watch/video-watch.component.html + 211 + + + + OK + + + app/videos/+video-watch/video-watch.component.html + 214 + + + + Other videos + + + app/videos/recommendations/recommended-videos.component.html + 2 + + + + Comments + + + app/videos/+video-watch/comment/video-comments.component.html + 3 + + + No comments. + + app/videos/+video-watch/comment/video-comments.component.html + 17 + + + View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies + + app/videos/+video-watch/comment/video-comments.component.html + 54 + + + + Comments are disabled. + + + app/videos/+video-watch/comment/video-comments.component.html + 63 + + + Add comment... + + app/videos/+video-watch/comment/video-comment-add.component.html + 6 + + + + Post comment + + + 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 + + + + If you have an account on this instance, you can login: + + + 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 + + + + 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/videos/+video-watch/comment/video-comment-add.component.html + 36 + + + + If you have an account on Mastodon or Pleroma, you can open it directly in their interface: + + + app/videos/+video-watch/comment/video-comment-add.component.html + 41 + + + Highlighted comment + + app/videos/+video-watch/comment/video-comment.component.html + 5 + + + Reply + + app/videos/+video-watch/comment/video-comment.component.html + 14 + + + + Cannot get about information from server + + src/app/+about/about-instance/about-instance.component.ts + 1 + + + + Your message has been sent. + + src/app/+about/about-instance/contact-admin-modal.component.ts + 1 + + + + You already sent this form recently + + src/app/+about/about-instance/contact-admin-modal.component.ts + 1 + + + + No description + + src/app/+accounts/account-about/account-about.component.ts + 1 + + + src/app/+video-channels/video-channel-about/video-channel-about.component.ts + 1 + + + + Published videos + + src/app/+accounts/account-videos/account-videos.component.ts + 1 + + + src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + 1 + + + + Published <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> videos + + src/app/+accounts/account-videos/account-videos.component.ts + 1 + + + src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + 1 + + + + 240p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + 360p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + 480p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + 720p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + 1080p + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + Auto (via ffmpeg) + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + Configuration updated. + + src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + 1 + + + + Unlimited + + src/app/+admin/config/shared/config.service.ts + 1 + + + src/app/+admin/config/shared/config.service.ts + 1 + + + src/app/+my-account/my-account-settings/my-account-settings.component.ts + 1 + + + src/app/shared/users/user.service.ts + 1 + + + + 100MB + + src/app/+admin/config/shared/config.service.ts + 1 + + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 500MB + + src/app/+admin/config/shared/config.service.ts + 1 + + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 1GB + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 5GB + + src/app/+admin/config/shared/config.service.ts + 1 + + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 20GB + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 50GB + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 10MB + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 50MB + + src/app/+admin/config/shared/config.service.ts + 1 + + + + 2GB + + src/app/+admin/config/shared/config.service.ts + 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 + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + You need to specify hosts to follow. + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + Hosts need to be unique. + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + If you confirm, you will send a follow request to:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + Follow new server(s) + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + Follow request(s) sent! + + src/app/+admin/follows/following-add/following-add.component.ts + 1 + + + + Do you really want to unfollow <x id="INTERPOLATION" equiv-text="{{host}}"/>? + + src/app/+admin/follows/following-list/following-list.component.ts + 1 + + + + Unfollow + + src/app/+admin/follows/following-list/following-list.component.ts + 1 + + + + You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore. + + src/app/+admin/follows/following-list/following-list.component.ts + 1 + + + + enabled + + src/app/+admin/follows/shared/redundancy-checkbox.component.ts + 1 + + + + disabled + + src/app/+admin/follows/shared/redundancy-checkbox.component.ts + 1 + + + + Redundancy for <x id="INTERPOLATION" equiv-text="{{host}}"/> is <x id="INTERPOLATION_1" equiv-text="{{stateLabel}}"/> + + src/app/+admin/follows/shared/redundancy-checkbox.component.ts + 1 + + + + Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted by your instance. + + src/app/+admin/moderation/instance-blocklist/instance-account-blocklist.component.ts + 1 + + + + Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted by your instance. + + src/app/+admin/moderation/instance-blocklist/instance-server-blocklist.component.ts + 1 + + + + Comment updated. + + src/app/+admin/moderation/video-abuse-list/moderation-comment-modal.component.ts + 1 + + + + Delete this report + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 1 + + + + Update moderation comment + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 1 + + + + Mark as accepted + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 1 + + + + Mark as rejected + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 1 + + + + Do you really want to delete this abuse report? + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 1 + + + + Abuse deleted. + + src/app/+admin/moderation/video-abuse-list/video-abuse-list.component.ts + 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 + + src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts + 1 + + + + no + + src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts + 1 + + + + Do you really want to remove this video from the blacklist? It will be available again in the videos list. + + src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts + 1 + + + src/app/shared/video/video-actions-dropdown.component.ts + 1 + + + + Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from the blacklist. + + src/app/+admin/moderation/video-blacklist-list/video-blacklist-list.component.ts + 1 + + + src/app/shared/video/video-actions-dropdown.component.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 + + + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> created. + + src/app/+admin/users/user-edit/user-create.component.ts + 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. + + src/app/+admin/users/user-edit/user-update.component.ts + 1 + + + + Update user + + src/app/+admin/users/user-edit/user-update.component.ts + 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 + + src/app/+admin/users/user-list/user-list.component.ts + 1 + + + src/app/+admin/users/user-list/user-list.component.ts + 1 + + + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 + + + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 + + + + Set Email as Verified + + src/app/+admin/users/user-list/user-list.component.ts + 1 + + + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 + + + + You cannot ban root. + + src/app/+admin/users/user-list/user-list.component.ts + 1 + + + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 + + + + Do you really want to unban <x id="INTERPOLATION" equiv-text="{{num}}"/> users? - app/videos/+video-edit/shared/video-edit.component.ts - 15 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - Video descriptions are truncated by default and require manual action to expand them. + + + <x id="INTERPOLATION" equiv-text="{{num}}"/> users unbanned. - app/videos/+video-edit/shared/video-edit.component.ts - 24 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - Category + + + You cannot delete root. - app/videos/+video-edit/shared/video-edit.component.ts - 44 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - Licence - app/videos/+video-edit/shared/video-edit.component.ts - 58 + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 - - Language + + + If you remove these users, you will not be able to create others with the same username! - app/videos/+video-edit/shared/video-edit.component.ts - 72 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - Schedule publication (<x id="INTERPOLATION" equiv-text="{{ calendarTimezone }}"/>) + + + <x id="INTERPOLATION" equiv-text="{{num}}"/> users deleted. - app/videos/+video-edit/shared/video-edit.component.ts - 101 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - This video contains mature or explicit content + + + <x id="INTERPOLATION" equiv-text="{{num}}"/> users email set as verified. - app/videos/+video-edit/shared/video-edit.component.ts - 116 + src/app/+admin/users/user-list/user-list.component.ts + 1 - - Some instances do not list videos containing mature or explicit content by default. + + + Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted. - app/videos/+video-edit/shared/video-edit.component.ts - 119 + src/app/+my-account/my-account-blocklist/my-account-blocklist.component.ts + 1 - - Enable video comments - app/videos/+video-edit/shared/video-edit.component.ts - 126 + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 - - Wait transcoding before publishing the video + + + Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted. - app/videos/+video-edit/shared/video-edit.component.ts - 132 + src/app/+my-account/my-account-blocklist/my-account-server-blocklist.component.ts + 1 - - If you decide to not wait transcoding before publishing the video, it can be unplayable until it transcoding ends. - app/videos/+video-edit/shared/video-edit.component.ts - 135 + src/app/shared/moderation/user-moderation-dropdown.component.ts + 1 - - Basic info + + + My videos history - app/videos/+video-edit/shared/video-edit.component.ts - 4 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 - - Upload thumbnail + + + Videos history is enabled - app/videos/+video-edit/shared/video-edit.component.ts - 146 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 - - Upload preview + + + Videos history is disabled - app/videos/+video-edit/shared/video-edit.component.ts - 153 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 - - Support + + + Delete videos history - app/videos/+video-edit/shared/video-edit.component.ts - 159 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 + + + Are you sure you want to delete all your videos history? - app/videos/+video-watch/modal/video-support.component.ts - 7 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 + + + Videos history deleted - app/videos/+video-watch/video-watch.component.ts - 61 + src/app/+my-account/my-account-history/my-account-history.component.ts + 1 - - Short text to tell people how they can support you (membership platform...). + + + Ownership accepted - app/videos/+video-edit/shared/video-edit.component.ts - 160 + src/app/+my-account/my-account-ownership/my-account-accept-ownership/my-account-accept-ownership.component.ts + 1 - - Advanced settings + + + Password updated. - app/videos/+video-edit/shared/video-edit.component.ts - 142 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + 1 - - (extensions: <x id="INTERPOLATION" equiv-text="{{ videoImageExtensions }}"/>, max size: <x id="INTERPOLATION_1" equiv-text="{{ maxVideoImageSize | bytes }}"/>) + + + You current password is invalid. - app/videos/+video-edit/shared/video-image.component.ts - 11 + src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + 1 - - - Update <x id="INTERPOLATION" equiv-text="{{ video?.name }}"/> - + + + Are you sure you want to delete your account? This will delete all you data, including channels, videos etc. - app/videos/+video-edit/video-update.component.ts - 2 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts + 1 - - Update + + + Type your username to confirm - app/videos/+video-edit/video-update.component.ts - 16 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts + 1 + + + Delete my account - app/videos/+video-watch/video-watch.component.ts - 95 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts + 1 - - Download video + + + Your account is deleted. - app/videos/+video-watch/modal/video-download.component.ts - 7 + src/app/+my-account/my-account-settings/my-account-danger-zone/my-account-danger-zone.component.ts + 1 - - Direct download + + + New video from your subscriptions - app/videos/+video-watch/modal/video-download.component.ts - 20 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Torrent (.torrent file) + + + New comment on your video - app/videos/+video-watch/modal/video-download.component.ts - 25 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Torrent (magnet link) + + + New video abuse - app/videos/+video-watch/modal/video-download.component.ts - 30 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Download + + + Video auto-blacklisted waiting review - app/videos/+video-watch/modal/video-download.component.ts - 40 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 + + + One of your video is blacklisted/unblacklisted - app/videos/+video-watch/video-watch.component.ts - 77 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Report video + + + Video published (after transcoding/scheduled update) - app/videos/+video-watch/modal/video-report.component.ts - 7 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Reason... + + + Video import finished - app/videos/+video-watch/modal/video-report.component.ts - 14 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - - Cancel - + + + A new user registered on your instance - app/videos/+video-watch/modal/video-report.component.ts - 22 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Submit + + + You or your channel(s) has a new follower - app/videos/+video-watch/modal/video-report.component.ts - 27 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Share + + + Someone mentioned you in video comments - app/videos/+video-watch/modal/video-share.component.ts - 7 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 + + + Your instance has a new follower - app/videos/+video-watch/video-watch.component.ts - 66 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - URL + + + Preferences saved - app/videos/+video-watch/modal/video-share.component.ts - 12 + src/app/+my-account/my-account-settings/my-account-notification-preferences/my-account-notification-preferences.component.ts + 1 - - Embed + + + Profile updated. - app/videos/+video-watch/modal/video-share.component.ts - 24 + src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts + 1 - - - 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). - + + + Avatar changed. - app/videos/+video-watch/modal/video-share.component.ts - 35 + src/app/+my-account/my-account-settings/my-account-settings.component.ts + 1 - - - The video is being transcoded, it may not work properly. - - app/videos/+video-watch/video-watch.component.ts - 6 + src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + 1 - - - This video will be published on <x id="INTERPOLATION" equiv-text="{{ video.scheduledUpdate.updateAt | date: 'full' }}"/> - + + + Information updated. - app/videos/+video-watch/video-watch.component.ts - 10 + src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + 1 - - - <x id="INTERPOLATION" equiv-text="{{ video.publishedAt | myFromNow }}"/> - <x id="INTERPOLATION_1" equiv-text="{{ video.views | myNumberFormatter }}"/> views - + + + Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> created. - app/videos/+video-watch/video-watch.component.ts - 21 + src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + 1 - - Go the channel page + + + This name already exists on this instance. - app/videos/+video-watch/video-watch.component.ts - 26 + src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + 1 - - You can subscribe to this account via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and subscribe there. Subscription as a PeerTube user is being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/470'>#470</a>. + + + Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated. - app/videos/+video-watch/video-watch.component.ts - 32 + src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + 1 - - By <x id="INTERPOLATION" equiv-text="{{ video.by }}"/> + + + 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}}"/>)! - app/videos/+video-watch/video-watch.component.ts - 37 + src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + 1 - - Go to the account page + + + Please type the display name of the video channel (<x id="INTERPOLATION" equiv-text="{{displayName}}"/>) to confirm - app/videos/+video-watch/video-watch.component.ts - 36 + src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + 1 - - Like this video + + + Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> deleted. - app/videos/+video-watch/video-watch.component.ts - 49 + src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + 1 - - Dislike this video + + + Playlist <x id="INTERPOLATION" equiv-text="{{playlistName}}"/> created. - app/videos/+video-watch/video-watch.component.ts - 56 + src/app/+my-account/my-account-video-playlists/my-account-video-playlist-create.component.ts + 1 - - Download the video + + + Playlist <x id="INTERPOLATION" equiv-text="{{videoPlaylistName}}"/> updated. - app/videos/+video-watch/video-watch.component.ts - 76 + src/app/+my-account/my-account-video-playlists/my-account-video-playlist-update.component.ts + 1 - - Report + + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{playlistDisplayName}}"/>? - app/videos/+video-watch/video-watch.component.ts - 83 + src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.ts + 1 - - Report this video + + + Playlist <x id="INTERPOLATION" equiv-text="{{playlistDisplayName}}"/> deleted. - app/videos/+video-watch/video-watch.component.ts - 82 + src/app/+my-account/my-account-video-playlists/my-account-video-playlists.component.ts + 1 - - Blacklist + + + My videos - app/videos/+video-watch/video-watch.component.ts - 89 + src/app/+my-account/my-account-videos/my-account-videos.component.ts + 1 - - Blacklist this video - app/videos/+video-watch/video-watch.component.ts - 88 + src/app/+my-account/my-account.component.ts + 1 - - Update this video + + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos? - app/videos/+video-watch/video-watch.component.ts - 94 + src/app/+my-account/my-account-videos/my-account-videos.component.ts + 1 - - Delete this video + + + <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted. - app/videos/+video-watch/video-watch.component.ts - 100 + src/app/+my-account/my-account-videos/my-account-videos.component.ts + 1 - - Show more + + + Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>? - app/videos/+video-watch/video-watch.component.ts - 120 + src/app/+my-account/my-account-videos/my-account-videos.component.ts + 1 - - Show less + + + Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted. - app/videos/+video-watch/video-watch.component.ts - 126 + src/app/+my-account/my-account-videos/my-account-videos.component.ts + 1 - - - Privacy - - app/videos/+video-watch/video-watch.component.ts - 133 + src/app/shared/video/video-actions-dropdown.component.ts + 1 - - - Category - + + + Ownership change request sent. - app/videos/+video-watch/video-watch.component.ts - 142 + src/app/+my-account/my-account-videos/video-change-ownership/video-change-ownership.component.ts + 1 - - - Licence - + + + My channels - app/videos/+video-watch/video-watch.component.ts - 151 + src/app/+my-account/my-account.component.ts + 1 - - - Language - + + + My playlists - app/videos/+video-watch/video-watch.component.ts - 160 + src/app/+my-account/my-account.component.ts + 1 - - - Tags - + + + My subscriptions - app/videos/+video-watch/video-watch.component.ts - 169 + src/app/+my-account/my-account.component.ts + 1 - - - Other videos - + + + My history - app/videos/+video-watch/video-watch.component.ts - 183 + src/app/+my-account/my-account.component.ts + 1 - - Friendly Reminder: + + + Misc - app/videos/+video-watch/video-watch.component.ts - 195 + src/app/+my-account/my-account.component.ts + 1 - - - The sharing system used by this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. - + + + Ownership changes - app/videos/+video-watch/video-watch.component.ts - 197 + src/app/+my-account/my-account.component.ts + 1 - - More information + + + My settings - app/videos/+video-watch/video-watch.component.ts - 200 + src/app/+my-account/my-account.component.ts + 1 - - Get more information + + + My notifications - app/videos/+video-watch/video-watch.component.ts - 200 + src/app/+my-account/my-account.component.ts + 1 - - - OK - + + + An email with verification link will be sent to <x id="INTERPOLATION" equiv-text="{{email}}"/>. - app/videos/+video-watch/video-watch.component.ts - 203 + src/app/+verify-account/verify-account-ask-send-email/verify-account-ask-send-email.component.ts + 1 - - - Comments - + + + Unable to find user id or verification string. - app/videos/+video-watch/comment/video-comments.component.ts - 3 + src/app/+verify-account/verify-account-email/verify-account-email.component.ts + 1 - - You can either comment on the page of your instance where this video is federated with your PeerTube account, or via any ActivityPub-capable fediverse instance. For instance with Mastodon or Pleroma you can type in the search box <strong>@<x id="INTERPOLATION" equiv-text="{{video.account.name}}"/>@<x id="INTERPOLATION_1" equiv-text="{{video.account.host}}"/></strong> and find back the video. Direct commenting capabilities are being worked on in <a href='https://github.com/Chocobozzz/PeerTube/issues/224'>#224</a>. - app/videos/+video-watch/comment/video-comments.component.ts - 8 + src/app/reset-password/reset-password.component.ts + 1 - - No comments. + + + Subscribe to the account - app/videos/+video-watch/comment/video-comments.component.ts - 19 + src/app/+video-channels/video-channels.component.ts + 1 - - View all <x id="INTERPOLATION" equiv-text="{{ comment.totalReplies }}"/> replies - app/videos/+video-watch/comment/video-comments.component.ts - 56 + src/app/videos/+video-watch/video-watch.component.ts + 1 - - - Comments are disabled. - + + + Focus the search bar - app/videos/+video-watch/comment/video-comments.component.ts - 65 + src/app/app.component.ts + 1 - - Add comment... + + + Toggle the left menu - app/videos/+video-watch/comment/video-comment-add.component.ts - 6 + src/app/app.component.ts + 1 - - - Post comment - + + + Go to the videos overview page - app/videos/+video-watch/comment/video-comment-add.component.ts - 17 + src/app/app.component.ts + 1 - - Highlighted comment + + + Go to the trending videos page - app/videos/+video-watch/comment/video-comment.component.ts - 5 + src/app/app.component.ts + 1 - - Reply + + + Go to the recently added videos page - app/videos/+video-watch/comment/video-comment.component.ts - 14 + src/app/app.component.ts + 1 - - Error getting about from server + + Go to the local videos page - src/app/+about/about-instance/about-instance.component.ts + src/app/app.component.ts 1 - - No description + + Go to the videos upload page - src/app/+accounts/account-about/account-about.component.ts + src/app/app.component.ts 1 + + + Toggle Dark theme - src/app/+video-channels/video-channel-about/video-channel-about.component.ts + src/app/app.component.ts 1 - - Published videos + + Go to my subscriptions - src/app/+accounts/account-videos/account-videos.component.ts + src/app/core/auth/auth.service.ts 1 + + + Go to my videos - src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + src/app/core/auth/auth.service.ts 1 - - Published <x id="INTERPOLATION" equiv-text="{{totalVideos}}"/> videos + + Go to my imports - src/app/+accounts/account-videos/account-videos.component.ts + src/app/core/auth/auth.service.ts 1 + + + Go to my channels - src/app/+video-channels/video-channel-videos/video-channel-videos.component.ts + src/app/core/auth/auth.service.ts 1 - - Error + + Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. + - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/core/auth/auth.service.ts 1 + + + Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/core/auth/auth.service.ts 1 + + + You need to reconnect. - src/app/+admin/follows/followers-list/followers-list.component.ts + src/app/core/auth/auth.service.ts 1 + + + Keyboard Shortcuts: - src/app/+admin/follows/following-add/following-add.component.ts + src/app/core/hotkeys/hotkeys.component.ts 1 + + + Success - src/app/+admin/follows/following-list/following-list.component.ts + src/app/core/notification/notifier.service.ts 1 + + + Incorrect username or password. - src/app/+admin/follows/following-list/following-list.component.ts + src/app/login/login.component.ts 1 + + + You account is blocked. - src/app/+admin/jobs/jobs-list/jobs-list.component.ts + src/app/login/login.component.ts 1 + + + An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{email}}"/>. - src/app/+admin/users/user-list/user-list.component.ts + src/app/login/login.component.ts 1 + + + Your password has been successfully reset! - src/app/+admin/users/user-list/user-list.component.ts + src/app/reset-password/reset-password.component.ts 1 + + + Today - src/app/+admin/users/user-list/user-list.component.ts + src/app/search/search-filters.component.ts 1 - src/app/+admin/video-abuses/video-abuse-list/video-abuse-list.component.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + + + Last 7 days - src/app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + src/app/search/search-filters.component.ts 1 + + + Last 30 days - src/app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + src/app/search/search-filters.component.ts 1 + + + Last 365 days - src/app/+my-account/my-account-settings/my-account-settings.component.ts + src/app/search/search-filters.component.ts 1 + + + Short (< 4 min) - src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + src/app/search/search-filters.component.ts 1 + + + Long (> 10 min) - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/search/search-filters.component.ts 1 + + + Medium (4-10 min) - src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + src/app/search/search-filters.component.ts 1 + + + Relevance - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/search/search-filters.component.ts 1 + + + Publish date - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/search/search-filters.component.ts 1 + + + Views - src/app/core/auth/auth.service.ts + src/app/search/search-filters.component.ts 1 + + + Search - src/app/login/login.component.ts + src/app/search/search.component.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago - src/app/reset-password/reset-password.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago - src/app/videos/+video-edit/shared/video-image.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago - src/app/videos/+video-edit/video-add.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago - src/app/videos/+video-edit/video-add.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago - src/app/videos/+video-edit/video-add.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago - src/app/videos/+video-edit/video-add.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago - src/app/videos/+video-edit/video-update.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago - src/app/videos/+video-edit/video-update.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago - src/app/videos/+video-watch/comment/video-comment-add.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago - src/app/videos/+video-watch/comment/video-comments.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + <x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago - src/app/videos/+video-watch/comment/video-comments.component.ts + src/app/shared/angular/from-now.pipe.ts 1 + + + Confirm - src/app/videos/+video-watch/comment/video-comments.component.ts + src/app/shared/confirm/confirm.component.ts 1 + + + Instance name is required. - src/app/videos/+video-watch/modal/video-report.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Short description should not be longer than 250 characters. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Twitter username is required. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Previews cache size is required. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Previews cache size must be greater than 1. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Previews cache size must be a number. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Captions cache size is required. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - You set custom <x id="INTERPOLATION" equiv-text="{{customizationsText}}"/>. + + Captions cache size must be greater than 1. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - This could lead to security issues or bugs if you do not understand it. + + Captions cache size must be a number. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - Are you sure you want to update the configuration? + + Signup limit is required. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - Please type + + Signup limit must be greater than 1. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - to confirm. + + Signup limit must be a number. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 - - Success + + Admin email is required. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Admin email must be valid. - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Transcoding threads is required. - src/app/+admin/follows/following-list/following-list.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Transcoding threads must be greater or equal to 0. - src/app/+admin/users/user-edit/user-create.component.ts + src/app/shared/forms/form-validators/custom-config-validators.service.ts 1 + + + Email is required. - src/app/+admin/users/user-edit/user-update.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 - src/app/+admin/users/user-list/user-list.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Email must be valid. - src/app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Your name is required. - src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + Your name must be at least 1 character long. - src/app/+my-account/my-account-settings/my-account-settings.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + Your name cannot be more than 120 characters long. - src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + A message is required. - src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + The message must be at least 3 characters long. - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + The message cannot be more than 5000 characters long. - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/shared/forms/form-validators/instance-validators.service.ts 1 + + + Username is required. - src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + src/app/shared/forms/form-validators/login-validators.service.ts 1 - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Password is required. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/login-validators.service.ts 1 - src/app/login/login.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Confirmation of the password is required. - src/app/reset-password/reset-password.component.ts + src/app/shared/forms/form-validators/reset-password-validators.service.ts 1 + + + Username must be at least 1 character long. - src/app/signup/signup.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Username cannot be more than 50 characters long. - src/app/videos/+video-edit/video-add.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Username should be lowercase alphanumeric; dots and underscores are allowed. - src/app/videos/+video-edit/video-update.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Password must be at least 6 characters long. - src/app/videos/+video-watch/modal/video-report.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Password cannot be more than 255 characters long. - src/app/videos/+video-watch/modal/video-share.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + The new password and the confirmed password do not correspond. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 + + + Video quota is required. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - Configuration updated. + + Quota must be greater than -1. - src/app/+admin/config/edit-custom-config/edit-custom-config.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - <x id="INTERPOLATION" equiv-text="{{host}}"/> is not valid + + Daily upload limit is required. - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - You need to specify hosts to follow. + + Daily upload limit must be greater than -1. - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - Hosts need to be unique. + + User role is required. - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - If you confirm, you will send a follow request to:<x id="LINE_BREAK" ctype="lb" equiv-text="<br/>"/> - + + Display name is required. - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - Follow new server(s) - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - - Follow request(s) sent! - src/app/+admin/follows/following-add/following-add.component.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - Do you really want to unfollow <x id="INTERPOLATION" equiv-text="{{host}}"/>? + + Display name must be at least 1 character long. - src/app/+admin/follows/following-list/following-list.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - Unfollow - src/app/+admin/follows/following-list/following-list.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - - You are not following <x id="INTERPOLATION" equiv-text="{{host}}"/> anymore. - src/app/+admin/follows/following-list/following-list.component.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - Following + + Display name cannot be more than 50 characters long. - src/app/+admin/follows/follows.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - Follow - src/app/+admin/follows/follows.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - Followers + + Description must be at least 3 characters long. - src/app/+admin/follows/follows.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - Unlimited - src/app/+admin/users/shared/user.service.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - src/app/+my-account/my-account-settings/my-account-settings.component.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - User <x id="INTERPOLATION" equiv-text="{{username}}"/> created. + + Description cannot be more than 1000 characters long. - src/app/+admin/users/user-edit/user-create.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - - User <x id="INTERPOLATION" equiv-text="{{username}}"/> updated. - src/app/+admin/users/user-edit/user-update.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - - Update user - src/app/+admin/users/user-edit/user-update.component.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - You cannot delete root. + + You must to agree with the instance terms in order to registering on it. - src/app/+admin/users/user-list/user-list.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - Do you really want to delete this user? + + Ban reason must be at least 3 characters long. - src/app/+admin/users/user-list/user-list.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted. + + Ban reason cannot be more than 250 characters long. - src/app/+admin/users/user-list/user-list.component.ts + src/app/shared/forms/form-validators/user-validators.service.ts 1 - - Do you really want to remove this video from the blacklist ? It will be available again in the videos list. + + Report reason is required. - src/app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 - - Video <x id="INTERPOLATION" equiv-text="{{name}}"/> removed from the blacklist. + + Report reason must be at least 2 characters long. - src/app/+admin/video-blacklist/video-blacklist-list/video-blacklist-list.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 - - The new password and the confirmed password do not correspond. + + Report reason cannot be more than 3000 characters long. - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 - - Password updated. + + Moderation comment is required. - src/app/+my-account/my-account-settings/my-account-change-password/my-account-change-password.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 - - Profile updated. + + Moderation comment must be at least 2 characters long. - src/app/+my-account/my-account-settings/my-account-profile/my-account-profile.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 - - Avatar changed. + + Moderation comment cannot be more than 3000 characters long. - src/app/+my-account/my-account-settings/my-account-settings.component.ts + src/app/shared/forms/form-validators/video-abuse-validators.service.ts 1 + + + The channel is required. - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/shared/forms/form-validators/video-accept-ownership-validators.service.ts 1 - - Information updated. + + Blacklist reason must be at least 2 characters long. - src/app/+my-account/my-account-settings/my-account-video-settings/my-account-video-settings.component.ts + src/app/shared/forms/form-validators/video-blacklist-validators.service.ts 1 - - Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> created. + + Blacklist reason cannot be more than 300 characters long. - src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + src/app/shared/forms/form-validators/video-blacklist-validators.service.ts 1 - - Create + + Video caption language is required. - src/app/+my-account/my-account-video-channels/my-account-video-channel-create.component.ts + src/app/shared/forms/form-validators/video-captions-validators.service.ts 1 - - Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> updated. + + Video caption file is required. - src/app/+my-account/my-account-video-channels/my-account-video-channel-update.component.ts + src/app/shared/forms/form-validators/video-captions-validators.service.ts 1 - - Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/>? It will delete all videos uploaded in this channel too. + + The username is required. - src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + src/app/shared/forms/form-validators/video-change-ownership-validators.service.ts 1 - - Please type the name of the video channel to confirm + + You can only transfer ownership to a local account - src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + src/app/shared/forms/form-validators/video-change-ownership-validators.service.ts 1 - - Video channel <x id="INTERPOLATION" equiv-text="{{videoChannelName}}"/> deleted. + + Name is required. - src/app/+my-account/my-account-video-channels/my-account-video-channels.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - Do you really want to delete <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos? + + Name must be at least 1 character long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - <x id="INTERPOLATION" equiv-text="{{deleteLength}}"/> videos deleted. + + Name cannot be more than 50 characters long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - Do you really want to delete <x id="INTERPOLATION" equiv-text="{{videoName}}"/>? + + Name should be lowercase alphanumeric; dots and underscores are allowed. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> deleted. + + Support text must be at least 3 characters long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 + + + Support text cannot be more than 1000 characters long. - src/app/videos/+video-watch/video-watch.component.ts + src/app/shared/forms/form-validators/video-channel-validators.service.ts 1 - - Published + + Comment is required. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-comment-validators.service.ts 1 - - Publication scheduled on + + Comment must be at least 2 characters long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-comment-validators.service.ts 1 - - Waiting transcoding + + Comment cannot be more than 3000 characters long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-comment-validators.service.ts 1 - - To transcode + + Display name cannot be more than 120 characters long. - src/app/+my-account/my-account-videos/my-account-videos.component.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - Cannot retrieve OAuth Client credentials: <x id="INTERPOLATION" equiv-text="{{errorText}}"/>. - + + Privacy is required. - src/app/core/auth/auth.service.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - Ensure you have correctly configured PeerTube (config/ directory), in particular the "webserver" section. + + The channel is required when the playlist is public. - src/app/core/auth/auth.service.ts + src/app/shared/forms/form-validators/video-playlist-validators.service.ts 1 - - You need to reconnect. + + Video name is required. - src/app/core/auth/auth.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Confirm + + Video name must be at least 3 characters long. - src/app/core/confirm/confirm.component.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - An email with the reset password instructions will be sent to <x id="INTERPOLATION" equiv-text="{{ email }}"/>. + + Video name cannot be more than 120 characters long. - src/app/login/login.component.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Unable to find user id or verification string. + + Video privacy is required. - src/app/reset-password/reset-password.component.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Your password has been successfully reset! + + Video channel is required. - src/app/reset-password/reset-password.component.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Instance name is required. + + Video description must be at least 3 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Short description should not be longer than 250 characters. + + Video description cannot be more than 10000 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Twitter username is required. + + A tag should be more than 2 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Previews cache size is required. + + A tag should be less than 30 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Previews cache size must be greater than 1. + + Video support must be at least 3 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Previews cache size must be a number. + + Video support cannot be more than 1000 characters long. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Signup limit is required. + + A date is required to schedule video update. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/form-validators/video-validators.service.ts 1 - - Signup limit must be greater than 1. + + This file is too large. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/reactive-file.component.ts 1 - - Signup limit must be a number. + + PeerTube cannot handle this kind of file. Accepted extensions are <x id="INTERPOLATION" equiv-text="{{extensions}}"/>. - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/forms/reactive-file.component.ts 1 - - Admin email is required. + + All unsaved data will be lost, are you sure you want to leave this page? - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/guards/can-deactivate-guard.service.ts 1 - - Admin email must be valid. + + Sunday - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Transcoding threads is required. + + Monday - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Transcoding threads must be greater than 1. + + Tuesday - src/app/shared/forms/form-validators/custom-config-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Username is required. + + Wednesday - src/app/shared/forms/form-validators/login-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + + + Thursday - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Password is required. + + Friday - src/app/shared/forms/form-validators/login-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + + + Saturday - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Confirmation of the password is required. + + Sun - src/app/shared/forms/form-validators/reset-password-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Username must be at least 3 characters long. + + Mon - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Username cannot be more than 20 characters long. + + Tue - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Username should be only lowercase alphanumeric characters. + + Wed - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Email is required. + + Thu - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Email must be valid. + + Fri - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Password must be at least 6 characters long. + + Sat - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name short - - Password cannot be more than 255 characters long. + + Su - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min - - Video quota is required. + + Mo - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min - - Quota must be greater than -1. + + Tu - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min - - User role is required. + + We - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min - - Display name is required. + + Th - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min + + + Fr - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min - - Display name must be at least 3 characters long. + + Sa - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Day name min + + + January - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Display name cannot be more than 120 characters long. + + February - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + + + March - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Description must be at least 3 characters long. + + April - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + + + May - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - - Description cannot be more than 250 characters long. - src/app/shared/forms/form-validators/user-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Report reason is required. + + June - src/app/shared/forms/form-validators/video-abuse-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Report reason must be at least 2 characters long. + + July - src/app/shared/forms/form-validators/video-abuse-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Report reason cannot be more than 300 characters long. + + August - src/app/shared/forms/form-validators/video-abuse-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Description cannot be more than 500 characters long. + + September - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Support text must be at least 3 characters long. + + October - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Support text cannot be more than 500 characters long. + + November - src/app/shared/forms/form-validators/video-channel-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Comment is required. + + December - src/app/shared/forms/form-validators/video-comment-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Comment must be at least 2 characters long. + + Jan - src/app/shared/forms/form-validators/video-comment-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Comment cannot be more than 3000 characters long. + + Feb - src/app/shared/forms/form-validators/video-comment-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video name is required. + + Mar - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video name must be at least 3 characters long. + + Apr - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video name cannot be more than 120 characters long. + + Jun - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video privacy is required. + + Jul - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video channel is required. + + Aug - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video description must be at least 3 characters long. + + Sep - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video description cannot be more than 10000 characters long. + + Oct - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - A tag should be more than 2 characters long. + + Nov - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - A tag should be less than 30 characters long. + + Dec - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Month name short - - Video support must be at least 3 characters long. + + Clear - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 - - Video support cannot be more than 500 characters long. + + yy-mm-dd - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/i18n/i18n-primeng-calendar.ts 1 + Date format in this locale. - - A date is required to schedule video update. + + Hidden - src/app/shared/forms/form-validators/video-validators.service.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - All unsaved data will be lost, are you sure you want to leave this page? + + Blurred with confirmation request - src/app/shared/guards/can-deactivate-guard.service.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Warning + + Displayed - src/app/shared/guards/can-deactivate-guard.service.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Sunday + + User registration allowed - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Monday + + Video uploads require manual validation by moderators - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Tuesday + + Transcode your videos in multiple resolutions - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Wednesday + + HTTP import (YouTube, Vimeo, direct URL...) - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Thursday + + Torrent import - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Friday + + P2P enabled - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Saturday + + ~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/> - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - - Sun + + {VAR_PLURAL, plural, =1 {minute} other {minutes} } - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - Day name short - - Mon + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - Day name short - - Tue + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - Day name short - - Wed + + <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/instance/instance-features-table.component.ts 1 - Day name short - - Thu + + <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> compatible that supports: - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name short - - Fri + + Emphasis - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name short - - Sat + + Links - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name short - - Su + + New lines - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name min - - Mo + + Lists - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name min - - Tu + + Images - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/misc/help.component.ts 1 - Day name min - - We + + <x id="INTERPOLATION" equiv-text="{{num}}"/> users banned. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-ban-modal.component.ts 1 - Day name min - - Th + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> banned. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-ban-modal.component.ts 1 - Day name min - - Fr + + Do you really want to unban <x id="INTERPOLATION" equiv-text="{{username}}"/>? - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Day name min - - Sa + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> unbanned. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Day name min - - January + + If you remove this user, you will not be able to create another with the same username! - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - February + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> deleted. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - March + + User <x id="INTERPOLATION" equiv-text="{{username}}"/> email set as verified - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - April + + Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - May + + Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> muted. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 + + + Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> muted by the instance. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - June + + Account <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> unmuted by the instance. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - July + + Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> muted by the instance. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - August + + Instance <x id="INTERPOLATION" equiv-text="{{host}}"/> unmuted by the instance. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - September + + Mute this account - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - October + + Unmute this account - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - November + + Mute the instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - December + + Unmute the instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - - Jan + + Mute this account by your instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Month name short - - Feb + + Unmute this account by your instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Month name short - - Mar + + Mute the instance by your instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Month name short - - Apr + + Unmute the instance by your instance - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/moderation/user-moderation-dropdown.component.ts 1 - Month name short - - Jun + + Request is too large for the server. Please contact you administrator if you want to increase the limit size. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/rest/rest-extractor.service.ts 1 - Month name short - - Jul + + Too many attempts, please try again after <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutes. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/rest/rest-extractor.service.ts 1 - Month name short - - Aug + + Too many attempts, please try again later. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/rest/rest-extractor.service.ts 1 - Month name short - - Sep + + Server error. Please retry later. - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/rest/rest-extractor.service.ts 1 - Month name short - - Oct + + Subscribed to <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/user-subscription/subscribe-button.component.ts 1 - Month name short - - Nov + + Subscribed - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/user-subscription/subscribe-button.component.ts 1 - Month name short - - Dec + + Unsubscribed from <x id="INTERPOLATION" equiv-text="{{nameWithHost}}"/> - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/user-subscription/subscribe-button.component.ts 1 - Month name short - - Today + + Unsubscribed - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/user-subscription/subscribe-button.component.ts 1 - - Clear + + Moderator - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/users/user.service.ts 1 - - yy-mm-dd + + Video removed from <x id="INTERPOLATION" equiv-text="{{name}}"/> - src/app/shared/i18n/i18n-primeng-calendar.ts + src/app/shared/video-playlist/video-add-to-playlist.component.ts 1 - Date format in this locale. - - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> years ago - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> months ago + + Video added in <x id="INTERPOLATION" equiv-text="{{n}}"/> at timestamps <x id="INTERPOLATION_1" equiv-text="{{t}}"/> - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-add-to-playlist.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> month ago + + Video added in <x id="INTERPOLATION" equiv-text="{{n}}"/> - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-add-to-playlist.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> weeks ago + + Timestamps updated - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> week ago + + Starts at - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> days ago - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> day ago + + Stops at - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> hours ago + + and stops at - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video-playlist/video-playlist-element-miniature.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> hour ago + + Video blacklisted. - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video/modals/video-blacklist.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> min ago + + Copied - src/app/shared/misc/from-now.pipe.ts + src/app/shared/video/modals/video-download.component.ts 1 - - - <x id="INTERPOLATION" equiv-text="{{interval}}"/> sec ago - src/app/shared/misc/from-now.pipe.ts + src/app/videos/+video-watch/modal/video-share.component.ts 1 - - <x id="START_LINK" ctype="x-a" equiv-text="<a>"/>Markdown<x id="CLOSE_LINK" ctype="x-a" equiv-text="</a>"/> compatible that supports: + + Video reported. - src/app/shared/misc/help.component.ts + src/app/shared/video/modals/video-report.component.ts 1 - - Emphasis + + Do you really want to delete this video? - src/app/shared/misc/help.component.ts + src/app/shared/video/video-actions-dropdown.component.ts 1 - - Links + + Save to playlist - src/app/shared/misc/help.component.ts + src/app/shared/video/video-actions-dropdown.component.ts 1 - - New lines + + Blacklist - src/app/shared/misc/help.component.ts + src/app/shared/video/video-actions-dropdown.component.ts 1 - - Lists + + Report - src/app/shared/misc/help.component.ts + src/app/shared/video/video-actions-dropdown.component.ts 1 - - Images + + Published - src/app/shared/misc/help.component.ts + src/app/shared/video/video-miniature.component.ts 1 - - Request is too large for the server. Please contact you administrator if you want to increase the limit size. + + Publication scheduled on - src/app/shared/rest/rest-extractor.service.ts + src/app/shared/video/video-miniature.component.ts 1 - - Too many attempts, please try again after <x id="INTERPOLATION" equiv-text="{{minutesLeft}}"/> minutes. + + Waiting transcoding - src/app/shared/rest/rest-extractor.service.ts + src/app/shared/video/video-miniature.component.ts 1 - - Too many attempts, please try again later. + + To transcode - src/app/shared/rest/rest-extractor.service.ts + src/app/shared/video/video-miniature.component.ts 1 - - Server error. Please retry later. + + To import - src/app/shared/rest/rest-extractor.service.ts + src/app/shared/video/video-miniature.component.ts 1 - - Registration for <x id="INTERPOLATION" equiv-text="{{username}}"/> complete. + + Only I can see this video - src/app/signup/signup.component.ts + src/app/shared/video/video.service.ts 1 - - ~ <x id="INTERPOLATION" equiv-text="{{minutes}}"/> <x id="ICU" equiv-text="{minutes, plural, =1 {...} other {...}}"/> + + Only people with the private link can see this video - src/app/signup/signup.component.ts + src/app/shared/video/video.service.ts 1 - - {VAR_PLURAL, plural, =1 {minute} other {minutes} } + + Anyone can see this video - src/app/signup/signup.component.ts + src/app/shared/video/video.service.ts 1 - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of full HD videos + + Welcome! Now please check your emails to verify your account and complete signup. src/app/signup/signup.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of HD videos + + You are now logged in as <x id="INTERPOLATION" equiv-text="{{username}}"/>! src/app/signup/signup.component.ts 1 - - <x id="INTERPOLATION" equiv-text="{{seconds}}"/> of average quality videos + + Video to import updated. - src/app/signup/signup.component.ts + src/app/videos/+video-edit/video-add-components/video-import-torrent.component.ts 1 - - - This image is too large. - src/app/videos/+video-edit/shared/video-image.component.ts + src/app/videos/+video-edit/video-add-components/video-import-url.component.ts 1 - - Your video was uploaded in your account and is private. + + Your video was uploaded to your account and is private. - src/app/videos/+video-edit/video-add.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 But associated data (tags, description...) will be lost, are you sure you want to leave this page? - src/app/videos/+video-edit/video-add.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 Your video is not uploaded yet, are you sure you want to leave this page? - src/app/videos/+video-edit/video-add.component.ts - 1 - - - - Info - - src/app/videos/+video-edit/video-add.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 Upload cancelled - src/app/videos/+video-edit/video-add.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 - - We are sorry but PeerTube cannot handle videos > 8GB + + 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.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 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 }}"/>) + + 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.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts 1 Video published. - src/app/videos/+video-edit/video-add.component.ts + src/app/videos/+video-edit/video-add-components/video-upload.component.ts + 1 + + + + You have unsaved changes! If you leave, your changes will be lost. + + src/app/videos/+video-edit/video-update.component.ts 1 @@ -3834,73 +7100,87 @@ When you will upload a video in this channel, the video support field will be au 1 - - Video reported. + + The deletion will be sent to remote instances so they remove the comment too. - src/app/videos/+video-watch/modal/video-report.component.ts + src/app/videos/+video-watch/comment/video-comments.component.ts 1 - - Copied + + It is a remote comment, so the deletion will only be effective on your instance. - src/app/videos/+video-watch/modal/video-share.component.ts + src/app/videos/+video-watch/comment/video-comments.component.ts 1 - - Do you really want to blacklist this video? + + Like the video src/app/videos/+video-watch/video-watch.component.ts 1 - - Video <x id="INTERPOLATION" equiv-text="{{videoName}}"/> had been blacklisted. + + Dislike the video src/app/videos/+video-watch/video-watch.component.ts 1 - - Do you really want to delete this 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 - - <x id="INTERPOLATION" equiv-text="{{likesNumber}}"/> likes / <x id="INTERPOLATION_1" equiv-text="{{dislikesNumber}}"/> dislikes + + 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 - - Cannot fetch video from server, maybe down. + + 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? + + Trending for the last 24 hours - src/app/videos/+video-watch/video-watch.component.ts + src/app/videos/video-list/video-trending.component.ts 1 - - Mature or explicit content + + Trending videos are those totalizing the greatest number of views during the last 24 hours - src/app/videos/+video-watch/video-watch.component.ts + src/app/videos/video-list/video-trending.component.ts 1 - - Search + + Trending for the last <x id="INTERPOLATION" equiv-text="{{days}}"/> days + + src/app/videos/video-list/video-trending.component.ts + 1 + + + + 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 + + + + Videos from your subscriptions - src/app/videos/video-list/video-search.component.ts + src/app/videos/video-list/video-user-subscriptions.component.ts 1