diff --git a/package.json b/package.json index 43dd6cb..8571420 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,8 @@ "lint": "ng lint", "e2e": "ng e2e", "electron": "ng build --base-href ./ && electron .", - "generate": "openapi --input ./\"Public API v1.yaml\" --output ./src/api-types --exportCore false --exportServices false --exportModels true" + "generate": "openapi --input ./\"Public API v1.yaml\" --output ./src/api-types --exportCore false --exportServices false --exportModels true", + "i18n-source": "ng extract-i18n --output-path=src/assets/i18n" }, "engines": { "node": "12.3.1", diff --git a/src/assets/i18n/messages.en.xlf b/src/assets/i18n/messages.en.xlf index bab8d85..95f5ddc 100644 --- a/src/assets/i18n/messages.en.xlf +++ b/src/assets/i18n/messages.en.xlf @@ -1,15 +1,7 @@ - - - + + + - - About - - src/app/app.component.html - 32 - - About menu label - Profile @@ -30,6 +22,14 @@ Dark mode toggle label + + About + + src/app/app.component.html + 32 + + About menu label + Home @@ -70,11 +70,19 @@ Navigation menu Downloads Page title + + Tasks + + src/app/app.component.html + 47 + + Navigation menu Tasks Page title + Settings src/app/app.component.html - 49 + 50 src/app/settings/settings.component.html @@ -82,2657 +90,2787 @@ Settings menu label - - Download for has been queued! - - src/app/main/main.component.ts - 469 - - - - Only Audio + + Date - src/app/main/main.component.html - 65,66 + src/app/components/downloads/downloads.component.html + 7 - Only Audio checkbox + Date - - Download + + Title - src/app/main/main.component.html - 79,80 + src/app/components/downloads/downloads.component.html + 13 - Main download button - - - Quality - src/app/main/main.component.html - 19,20 + src/app/components/tasks/tasks.component.html + 6 - Quality select label + Title - - Use URL + + Subscription - src/app/main/main.component.html - 51 + src/app/components/downloads/downloads.component.html + 23 - YT search Use URL button for searched video + Subscription - - View + + Stage - src/app/main/main.component.html - 55,56 + src/app/components/downloads/downloads.component.html + 36 - YT search View button for searched video + Stage - - Autoplay + + Progress - src/app/main/main.component.html - 70,71 + src/app/components/downloads/downloads.component.html + 42 - Autoplay checkbox + Progress - - Cancel + + Actions - src/app/main/main.component.html - 84,85 + src/app/components/downloads/downloads.component.html + 55 - Cancel download button - - - Advanced - src/app/main/main.component.html - 96,97 + src/app/components/tasks/tasks.component.html + 49 - Advanced download mode panel + Actions - - Use custom args + + Pause - src/app/main/main.component.html - 110,111 + src/app/components/downloads/downloads.component.html + 59 - Use custom args checkbox + Pause - - Replace args + + Resume - src/app/main/main.component.html - 116,117 + src/app/components/downloads/downloads.component.html + 60 - Replace args + Resume - - Custom args + + Cancel - src/app/main/main.component.html - 120 + src/app/components/downloads/downloads.component.html + 61 - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 57 + src/app/components/modify-users/modify-users.component.html + 61 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 44 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 84,85 - Custom args placeholder - - - No need to include URL, just everything after. Args are delimited using two commas like so: ,, - src/app/main/main.component.html - 123,124 + src/app/dialogs/confirm-dialog/confirm-dialog.component.html + 16 - Custom Args input hint - - - Use custom output - src/app/main/main.component.html - 131,132 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 54 - Use custom output checkbox - - - Custom output - src/app/main/main.component.html - 135 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 66 - Custom output placeholder - - - Documentation - src/app/main/main.component.html - 137 + src/app/dialogs/restore-db-dialog/restore-db-dialog.component.html + 24 src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 69 - - - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 56 + 79 - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 47 + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 51 src/app/settings/settings.component.html - 117 + 492 - Youtube-dl output template documentation link + Cancel - - Path is relative to the config download path. Don't include extension. - - src/app/main/main.component.html - 138 - + + Watch content - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 70 + src/app/components/downloads/downloads.component.html + 64 + Watch content + + + Show error - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 57 + src/app/components/downloads/downloads.component.html + 65 + Show error + + + Restart - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 48 + src/app/components/downloads/downloads.component.html + 66 - Custom Output input hint + Restart - - Crop file + + Clear - src/app/main/main.component.html - 160,161 + src/app/components/downloads/downloads.component.html + 68 - Crop video checkbox + Clear - - Simulated command: + + Pause all downloads - src/app/main/main.component.html - 102,103 + src/app/components/downloads/downloads.component.html + 83 - Simulated command label + Pause all downloads - - Use authentication + + Resume all downloads - src/app/main/main.component.html - 145,146 + src/app/components/downloads/downloads.component.html + 84 - Use authentication checkbox + Resume all downloads - - Username + + Clear finished downloads - src/app/main/main.component.html - 149 + src/app/components/downloads/downloads.component.html + 85 - YT Username placeholder + Clear finished downloads - - Password + + No downloads available! - src/app/main/main.component.html - 154 + src/app/components/downloads/downloads.component.html + 90 + No downloads label + + + Creating download - src/app/dialogs/add-user-dialog/add-user-dialog.component.html - 11 + src/app/components/downloads/downloads.component.ts + 58 + + + Getting info - src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html - 10 + src/app/components/downloads/downloads.component.ts + 59 - YT Password placeholder - - Crop from (seconds) + + Downloading file - src/app/main/main.component.html - 164 + src/app/components/downloads/downloads.component.ts + 60 - Crop from placeholder - - Crop to (seconds) + + Complete - src/app/main/main.component.html - 169 + src/app/components/downloads/downloads.component.ts + 61 - Crop to placeholder - - Create a playlist + + Clear finished downloads - src/app/create-playlist/create-playlist.component.html - 1 + src/app/components/downloads/downloads.component.ts + 129 - Create a playlist dialog title - - Name + + Would you like to clear your finished downloads? - src/app/create-playlist/create-playlist.component.html - 6 + src/app/components/downloads/downloads.component.ts + 130 + + + Clear - src/app/dialogs/modify-playlist/modify-playlist.component.html - 8 + src/app/components/downloads/downloads.component.ts + 131 + + + Error for - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 5 + src/app/components/downloads/downloads.component.ts + 238 - Playlist name placeholder - - Type + + Copy to clipboard - src/app/create-playlist/create-playlist.component.html - 11 + src/app/components/downloads/downloads.component.ts + 240 - Type select - - Audio + + Close - src/app/create-playlist/create-playlist.component.html - 12 + src/app/components/downloads/downloads.component.ts + 241 - Audio - - Video + + Copied to clipboard! - src/app/create-playlist/create-playlist.component.html - 13 + src/app/components/downloads/downloads.component.ts + 249 - Video - - Audio files + + Register - src/app/create-playlist/create-playlist.component.html - 19 + src/app/components/login/login.component.html + 38 - Audio files title + + src/app/dialogs/add-user-dialog/add-user-dialog.component.html + 17 + + Register - - Videos + + Lines: - src/app/create-playlist/create-playlist.component.html - 20 + src/app/components/logs-viewer/logs-viewer.component.html + 22 + Label for lines select in logger view + + + Clear logs - src/app/subscription/subscription/subscription.component.html - 29 + src/app/components/logs-viewer/logs-viewer.component.html + 34 - Videos title + Clear logs button - - Subscribe to playlist or channel + + Manage role - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + src/app/components/manage-role/manage-role.component.html 1 - Subscribe dialog title + Manage role dialog title - - URL + + Yes - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 8 + src/app/components/manage-role/manage-role.component.html + 9 - src/app/settings/settings.component.html - 10 + src/app/components/manage-user/manage-user.component.html + 20 - Subscription URL input placeholder + Yes - - The playlist or channel URL + + No - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 9 + src/app/components/manage-role/manage-role.component.html + 10 - Subscription URL input hint - - - Custom name - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 19 + src/app/components/manage-user/manage-user.component.html + 21 - Subscription custom name placeholder + No - - Download all uploads + + Close - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 23 + src/app/components/manage-role/manage-role.component.html + 18 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 10 + src/app/components/manage-user/manage-user.component.html + 30 - Download all uploads subscription setting - - - Max quality - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + src/app/dialogs/about-dialog/about-dialog.component.html + 70 + + + src/app/dialogs/add-user-dialog/add-user-dialog.component.html + 18 + + + src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html 40 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 32 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 29 - Max quality placeholder - - - Audio-only mode - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 47 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 23 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + src/app/dialogs/update-progress-dialog/update-progress-dialog.component.html + 17 + + + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html 27 - Streaming-only mode + + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 35 + + Close - - Streaming-only mode + + Manage user - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 52 + src/app/components/manage-user/manage-user.component.html + 1 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 39 + src/app/components/modify-users/modify-users.component.html + 70 - Streaming-only mode + Manage user dialog title - - These are added after the standard args. + + User UID: - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 60 + src/app/components/manage-user/manage-user.component.html + 4 + User UID + + + New password - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 47 + src/app/components/manage-user/manage-user.component.html + 8 - Custom args hint + New password placeholder - - Custom file output + + Set new password - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 66 + src/app/components/manage-user/manage-user.component.html + 10 + Set new password + + + Use role default - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 53 + src/app/components/manage-user/manage-user.component.html + 19 + Use role default + + + Search - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 44 + src/app/components/modify-users/modify-users.component.html + 7 + + + src/app/components/recent-videos/recent-videos.component.html + 24 + + + src/app/subscription/subscription/subscription.component.html + 33 - Subscription custom file output placeholder + search field description - - Cancel + + User name - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 79 + src/app/components/modify-users/modify-users.component.html + 17 + Username users table header + + + Role - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 84 + src/app/components/modify-users/modify-users.component.html + 35 + Role users table header + + + Actions - src/app/dialogs/confirm-dialog/confirm-dialog.component.html - 16 + src/app/components/modify-users/modify-users.component.html + 55 + Actions users table header + + + Save - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 66 + src/app/components/modify-users/modify-users.component.html + 58 src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 54 + 56 + + + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 68 + + + src/app/dialogs/modify-playlist/modify-playlist.component.html + 43 src/app/settings/settings.component.html - 490 + 489 + save user edit action button tooltip + + + Edit user - src/app/components/downloads/downloads.component.html - 61 + src/app/components/modify-users/modify-users.component.html + 66 + edit user action button tooltip + + + Delete user - src/app/components/downloads/downloads.component.html - 61 + src/app/components/modify-users/modify-users.component.html + 73 + delete user action button tooltip + + + Add Users src/app/components/modify-users/modify-users.component.html - 61 + 90 - Subscribe cancel button + Add users button - - Subscribe + + Edit Role - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 81 + src/app/components/modify-users/modify-users.component.html + 95 - Subscribe button + Edit role - - Download videos uploaded in the last + + My videos - src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html - 26 + src/app/components/recent-videos/recent-videos.component.html + 20 + My videos title + + + No videos found. - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 13 + src/app/components/recent-videos/recent-videos.component.html + 38 - Download time range prefix + No videos found - - Type: + + File type - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 5 + src/app/components/recent-videos/recent-videos.component.html + 52 - Subscription type property + File type - - URL: + + Both - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 9 + src/app/components/recent-videos/recent-videos.component.html + 54 + Both + + + Video only - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 9 + src/app/components/recent-videos/recent-videos.component.html + 55 - Subscription URL property + Video only - - ID: + + Audio only - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 13 + src/app/components/recent-videos/recent-videos.component.html + 56 + Audio only + + + See more. - src/app/file-card/file-card.component.html - 7 + src/app/components/see-more/see-more.component.html + 4,6 + + See more + + + See less. + + src/app/components/see-more/see-more.component.html + 7,9 + + See less + + + Skip ad + + src/app/components/skip-ad-button/skip-ad-button.component.html + 1 + Skip ad button + + + Last ran - src/app/download-item/download-item.component.html - 4 + src/app/components/tasks/tasks.component.html + 16 - Subscription ID property + Last ran - - Close + + N/A - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 23 + src/app/components/tasks/tasks.component.html + 19 - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 35 + src/app/components/tasks/tasks.component.html + 28 + N/A + + + Last confirmed - src/app/dialogs/update-progress-dialog/update-progress-dialog.component.html - 17 + src/app/components/tasks/tasks.component.html + 25 + Last confirmed + + + Status - src/app/dialogs/add-user-dialog/add-user-dialog.component.html - 18 + src/app/components/tasks/tasks.component.html + 34 + Status + + + Busy - src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html - 40 + src/app/components/tasks/tasks.component.html + 36 + Busy + + + Scheduled for - src/app/dialogs/about-dialog/about-dialog.component.html - 70 + src/app/components/tasks/tasks.component.html + 38 + Scheduled + + + Not scheduled - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 29 + src/app/components/tasks/tasks.component.html + 42 + Not scheduled + + + Clear missing files from DB: - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 27 + src/app/components/tasks/tasks.component.html + 57 + Clear missing files from DB + + + Clear duplicate files from DB: - src/app/components/manage-user/manage-user.component.html - 30 + src/app/components/tasks/tasks.component.html + 60 + Clear duplicate files from DB + + + Update binary to: - src/app/components/manage-role/manage-role.component.html - 18 + src/app/components/tasks/tasks.component.html + 63 - Close subscription info button + Update binary to - - Export Archive + + Run - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 24 + src/app/components/tasks/tasks.component.html + 69 - Export Archive button + Run - - Unsubscribe + + Schedule - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 26 + src/app/components/tasks/tasks.component.html + 72 - Unsubscribe button + Schedule - - (Paused) + + Restore DB from backup - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 1 + src/app/components/tasks/tasks.component.html + 89 - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + src/app/dialogs/restore-db-dialog/restore-db-dialog.component.html 1 + Restore DB from backup button + + + Reset tasks - src/app/subscriptions/subscriptions.component.html - 12 - - - src/app/subscriptions/subscriptions.component.html - 34 + src/app/components/tasks/tasks.component.html + 90 + Reset tasks button + + + No tasks available! - src/app/subscription/subscription/subscription.component.html - 5 + src/app/components/tasks/tasks.component.html + 94 - Paused suffix + No tasks label - - Archive: + + Successfully ran task! - src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html - 17 + src/app/components/tasks/tasks.component.ts + 78 - Subscription ID property - - Name: + + Failed to run task! - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 5 + src/app/components/tasks/tasks.component.ts + 79 - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 6 + src/app/components/tasks/tasks.component.ts + 81 - Video name property - - Uploader: + + Successfully confirmed task! - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 13 + src/app/components/tasks/tasks.component.ts + 89 - Video ID property - - File size: + + Failed to confirm task! - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 17 + src/app/components/tasks/tasks.component.ts + 90 - Video file size property - - - Path: - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 21 + src/app/components/tasks/tasks.component.ts + 92 - Video path property - - Upload Date: + + Reset tasks - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 25 + src/app/components/tasks/tasks.component.ts + 132 - Video upload date property - - Category: + + Would you like to reset your tasks? All your schedules will be removed as well. - src/app/dialogs/video-info-dialog/video-info-dialog.component.html - 29 + src/app/components/tasks/tasks.component.ts + 133 - Category property - - Modify youtube-dl args + + Reset - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 1 + src/app/components/tasks/tasks.component.ts + 134 - Modify args title - - Simulated new args + + Tasks successfully reset! - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 8 + src/app/components/tasks/tasks.component.ts + 142 - Simulated args title - - Add an arg + + Failed to reset tasks! - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 34 + src/app/components/tasks/tasks.component.ts + 144 - Add arg card title - - - Search by category - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 60 + src/app/components/tasks/tasks.component.ts + 147 - Search args by category button - - Use arg value + + Download Twitch Chat - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 64 + src/app/components/twitch-chat/twitch-chat.component.html + 10 - Use arg value checkbox + Download Twitch Chat button - - Add arg + + Auto-generated - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 73 + src/app/components/unified-file-card/unified-file-card.component.html + 5 - Search args by category button + Auto-generated label - - Modify + + Open file - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 85 + src/app/components/unified-file-card/unified-file-card.component.html + 18 - Arg modifier modify button + Open file button - - Arg value + + Open file in new tab - src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html - 68 + src/app/components/unified-file-card/unified-file-card.component.html + 19 - Arg value placeholder + Open file in new tab - - Updater + + Info - src/app/dialogs/update-progress-dialog/update-progress-dialog.component.html - 1 + src/app/components/unified-file-card/unified-file-card.component.html + 24 - Update progress dialog title + + src/app/subscription/subscription-file-card/subscription-file-card.component.html + 7 + + Video info button - - Register a user + + Go to subscription - src/app/dialogs/add-user-dialog/add-user-dialog.component.html - 1 + src/app/components/unified-file-card/unified-file-card.component.html + 25 - Register user dialog title + Go to subscription menu item - - User name + + Add to playlist - src/app/dialogs/add-user-dialog/add-user-dialog.component.html - 6 + src/app/components/unified-file-card/unified-file-card.component.html + 26 - User name placeholder + Add to playlist menu item - - Register + + Delete and redownload - src/app/dialogs/add-user-dialog/add-user-dialog.component.html - 17 + src/app/components/unified-file-card/unified-file-card.component.html + 34 - src/app/components/login/login.component.html - 38 + src/app/subscription/subscription-file-card/subscription-file-card.component.html + 8 - Register user button + Delete and redownload subscription video button - - Upload new cookies + + Delete forever - src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html - 1 + src/app/components/unified-file-card/unified-file-card.component.html + 37 - Cookies uploader dialog title - - - NOTE: Uploading new cookies will override your previous cookies. Also note that cookies are instance-wide, not per-user. - src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html - 20 + src/app/subscription/subscription-file-card/subscription-file-card.component.html + 9 - Cookies upload warning + Delete forever subscription video button - - Drag and Drop + + Delete - src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html - 11 + src/app/components/unified-file-card/unified-file-card.component.html + 39 - Drag and Drop + + src/app/components/unified-file-card/unified-file-card.component.html + 45 + + Delete video button - - Modify playlist + + Delete and blacklist - src/app/dialogs/modify-playlist/modify-playlist.component.html - 1 + src/app/components/unified-file-card/unified-file-card.component.html + 40 - Modify playlist dialog title + Delete and blacklist video button - - Save + + Edit - src/app/dialogs/modify-playlist/modify-playlist.component.html + src/app/components/unified-file-card/unified-file-card.component.html 43 + Playlist edit button + + + Create a playlist - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 68 + src/app/create-playlist/create-playlist.component.html + 1 + Create a playlist dialog title + + + Name - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 56 + src/app/create-playlist/create-playlist.component.html + 6 - src/app/settings/settings.component.html - 487 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 5 - src/app/components/modify-users/modify-users.component.html - 58 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 8 - Save + Playlist name placeholder - - Randomize order when playing + + Type - src/app/dialogs/modify-playlist/modify-playlist.component.html - 13 + src/app/create-playlist/create-playlist.component.html + 11 - Randomize order when playing checkbox label + Type select - - Add content + + Audio - src/app/dialogs/modify-playlist/modify-playlist.component.html - 24 + src/app/create-playlist/create-playlist.component.html + 12 - Add content + Audio - - Normal order  + + Video - src/app/dialogs/modify-playlist/modify-playlist.component.html - 18 + src/app/create-playlist/create-playlist.component.html + 13 - Normal order + Video - - Reverse order  + + Audio files - src/app/dialogs/modify-playlist/modify-playlist.component.html + src/app/create-playlist/create-playlist.component.html 19 - Reverse order + Audio files title - - My videos + + Videos - src/app/components/recent-videos/recent-videos.component.html + src/app/create-playlist/create-playlist.component.html 20 - My videos title - - - Search - - src/app/components/recent-videos/recent-videos.component.html - 24 - - src/app/components/modify-users/modify-users.component.html - 7 + src/app/subscription/subscription/subscription.component.html + 29 + Videos title + + + About YoutubeDL-Material - src/app/subscription/subscription/subscription.component.html - 33 + src/app/dialogs/about-dialog/about-dialog.component.html + 1 - Files search placeholder + About dialog title - - File type + + is an open-source YouTube downloader built under Google's Material Design specifications. You can seamlessly download your favorite videos as video or audio files, and even subscribe to your favorite channels and playlists to keep updated with their new videos. - src/app/components/recent-videos/recent-videos.component.html - 52 + src/app/dialogs/about-dialog/about-dialog.component.html + 12 - File type + About first paragraph - - Both + + has some awesome features included! An extensive API, Docker support, and localization (translation) support. Read up on all the supported features by clicking on the GitHub icon above. - src/app/components/recent-videos/recent-videos.component.html - 54 + src/app/dialogs/about-dialog/about-dialog.component.html + 15 - Both + About second paragraph - - Video only + + Installed version: - src/app/components/recent-videos/recent-videos.component.html - 55 + src/app/dialogs/about-dialog/about-dialog.component.html + 20 - Video only + Version label - - Audio only + + Checking for updates... - src/app/components/recent-videos/recent-videos.component.html - 56 + src/app/dialogs/about-dialog/about-dialog.component.html + 20 - Audio only + Checking for updates text - - No videos found. + + Update available - src/app/components/recent-videos/recent-videos.component.html - 38 + src/app/dialogs/about-dialog/about-dialog.component.html + 21 - No videos found + View latest update - - Editing + + You can update from the settings menu. - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 1 + src/app/dialogs/about-dialog/about-dialog.component.html + 21 - Edit subscription dialog title prefix + Update through settings menu hint - - Paused + + Installation type: - src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html - 7 + src/app/dialogs/about-dialog/about-dialog.component.html + 25 - Paused subscription setting + Installation type - - Editing category + + Docker tag: - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 1 + src/app/dialogs/about-dialog/about-dialog.component.html + 28 - Editing category dialog title + Docker tag - - Rules + + Commit hash: - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 10 + src/app/dialogs/about-dialog/about-dialog.component.html + 31 - Rules + Commit hash - - Add new rule + + Build date: - src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html - 39 + src/app/dialogs/about-dialog/about-dialog.component.html + 33 - Add new rule tooltip + Build date - - Download Twitch Chat + + Found a bug or have a suggestion? - src/app/components/twitch-chat/twitch-chat.component.html - 10 + src/app/dialogs/about-dialog/about-dialog.component.html + 36 - Download Twitch Chat button + About bug prefix - - Edit + + Click here - src/app/file-card/file-card.component.html - 19 + src/app/dialogs/about-dialog/about-dialog.component.html + 36 - src/app/components/unified-file-card/unified-file-card.component.html - 43 + src/app/settings/settings.component.html + 283 - Playlist edit button - - - Delete - src/app/file-card/file-card.component.html - 20 + src/app/settings/settings.component.html + 289 + About bug click here + + + to create an issue! - src/app/file-card/file-card.component.html - 25 + src/app/dialogs/about-dialog/about-dialog.component.html + 36 + About bug suffix + + + Register a user - src/app/components/unified-file-card/unified-file-card.component.html - 39 + src/app/dialogs/add-user-dialog/add-user-dialog.component.html + 1 + Register user dialog title + + + User name - src/app/components/unified-file-card/unified-file-card.component.html - 45 + src/app/dialogs/add-user-dialog/add-user-dialog.component.html + 6 - Delete playlist + User name placeholder - - Info + + Password - src/app/file-card/file-card.component.html - 24 + src/app/dialogs/add-user-dialog/add-user-dialog.component.html + 11 - src/app/components/unified-file-card/unified-file-card.component.html - 24 + src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html + 10 - src/app/subscription/subscription-file-card/subscription-file-card.component.html - 7 + src/app/main/main.component.html + 154,156 - Video info button + Password placeholder - - Count: + + Modify youtube-dl args - src/app/file-card/file-card.component.html - 8 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 1,6 - Playlist video count + Modify args title - - Delete and blacklist + + Simulated new args - src/app/file-card/file-card.component.html - 26 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 8,9 + Simulated args title + + + Add an arg - src/app/components/unified-file-card/unified-file-card.component.html - 40 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 34,37 - Delete and blacklist video button + Add arg card title - - views + + Search by category - src/app/player/player.component.html - 16 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 60,63 - View count label + Search args by category button - - The download was successful + + Use arg value - src/app/download-item/download-item.component.html - 8 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 64,66 + Use arg value checkbox + + + Arg value - src/app/download-item/download-item.component.html - 8 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 68,69 - download successful tooltip + Arg value placeholder - - An error has occurred + + Add arg - src/app/download-item/download-item.component.html - 9 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 73,77 + Search args by category button + + + Modify - src/app/download-item/download-item.component.html - 9 + src/app/dialogs/arg-modifier-dialog/arg-modifier-dialog.component.html + 85,86 - download error tooltip + Arg modifier modify button - - Details + + Upload new cookies - src/app/download-item/download-item.component.html - 18 + src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html + 1 - Details + Cookies uploader dialog title - - An error has occurred: + + Drag and Drop - src/app/download-item/download-item.component.html - 27 + src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html + 11 - Error label + Drag and Drop - - Download start: + + NOTE: Uploading new cookies will override your previous cookies. Also note that cookies are instance-wide, not per-user. - src/app/download-item/download-item.component.html - 32 + src/app/dialogs/cookies-uploader-dialog/cookies-uploader-dialog.component.html + 20 - Download start label + Cookies upload warning - - Download end: + + Editing category - src/app/download-item/download-item.component.html - 35 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 1 - Download end label + Editing category dialog title - - File path(s): + + Rules - src/app/download-item/download-item.component.html - 38 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 10 - File path(s) label + Rules - - Your subscriptions + + Add new rule - src/app/subscriptions/subscriptions.component.html - 3 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 39 - Subscriptions title + Add new rule tooltip - - Channels + + Custom file output - src/app/subscriptions/subscriptions.component.html - 8 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 44 - Subscriptions channels title - - - Playlists - src/app/subscriptions/subscriptions.component.html - 30 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 53 - Subscriptions playlists title - - - Name not available. Channel retrieval in progress. - src/app/subscriptions/subscriptions.component.html - 14 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 66 - Subscription playlist not available text + Category custom file output placeholder - - You have no channel subscriptions. + + Documentation - src/app/subscriptions/subscriptions.component.html - 27 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 47 - No channel subscriptions text - - - Name not available. Playlist retrieval in progress. - src/app/subscriptions/subscriptions.component.html - 36 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 56 - Subscription playlist not available text - - - You have no playlist subscriptions. - src/app/subscriptions/subscriptions.component.html - 46 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 69 - No playlist subscriptions text - - - You must enable multi-user mode to access this tab. - src/app/settings/settings.component.ts - 48 + src/app/main/main.component.html + 137,138 - - - Main src/app/settings/settings.component.html - 4 + 119 - Main settings label + Custom output template documentation link - - Downloader + + Path is relative to the config download path. Don't include extension. - src/app/settings/settings.component.html - 94 + src/app/dialogs/edit-category-dialog/edit-category-dialog.component.html + 48 - Downloader settings label - - - Extra - src/app/settings/settings.component.html - 198 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 57 - Extra settings label - - - Database - src/app/settings/settings.component.html - 303 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 70 - Database settings label + + src/app/main/main.component.html + 138,140 + + Custom Output input hint - - Advanced + + Editing - src/app/settings/settings.component.html - 339 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 1 - Host settings label + Edit subscription dialog title prefix - - Logs + + (Paused) - src/app/settings/settings.component.html - 476 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 1 - src/app/settings/settings.component.html - 476 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 1 - Logs settings label - - - URL this app will be accessed from, without the port. - src/app/settings/settings.component.html - 11 + src/app/subscription/subscription/subscription.component.html + 5 - URL setting input hint + + src/app/subscriptions/subscriptions.component.html + 12 + + + src/app/subscriptions/subscriptions.component.html + 34 + + Paused suffix - - Port + + Paused - src/app/settings/settings.component.html - 16 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 7 - Port input placeholder + Paused subscription setting - - The desired port. Default is 17442. + + Download all uploads - src/app/settings/settings.component.html - 17 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 10 - Port setting input hint + + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 23 + + Download all uploads subscription setting - - Multi-user mode + + Download videos uploaded in the last + + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 13 + - src/app/settings/settings.component.html + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html 26 - Multi user mode setting + Download time range prefix - - Users base path + + Audio-only mode - src/app/settings/settings.component.html - 30 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 27 - Users base path placeholder - - - Base path for users and their downloaded videos. - src/app/settings/settings.component.html - 31 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 47 - Users base path hint + Streaming-only mode - - Allow subscriptions + + Max quality - src/app/settings/settings.component.html + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 32 + + + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html 40 - Allow subscriptions setting + Max quality placeholder - - Base bath for subscriptions - Base bath for subscriptions + + Streaming-only mode - src/app/settings/settings.component.html - 44 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 39 - Subscriptions base path input setting placeholder - - - Base path for videos from your subscribed channels and playlists. It is relative to YTDL-Material's root folder. - src/app/settings/settings.component.html - 45 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 52 - Subscriptions base path setting input hint + Streaming-only mode - - Check interval + + Custom args - src/app/settings/settings.component.html - 50 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 44 - Check interval input setting placeholder - - - Unit is seconds, only include numbers. - src/app/settings/settings.component.html - 51 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 57 - Check interval setting input hint - - - Sometimes new videos are downloaded before being fully processed. This setting will mean new videos will be checked for a higher quality version the following day. - src/app/settings/settings.component.html - 55 + src/app/main/main.component.html + 120,122 - Redownload fresh uploads tooltip + Subscription custom args placeholder - - Redownload fresh uploads + + These are added after the standard args. - src/app/settings/settings.component.html - 55 + src/app/dialogs/edit-subscription-dialog/edit-subscription-dialog.component.html + 47 - Redownload fresh uploads - - - Theme - src/app/settings/settings.component.html - 64 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 60 - Theme select label + Custom args hint - - Default + + Modify playlist - src/app/settings/settings.component.html - 66 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 1 - Default theme label + Modify playlist dialog title - - Allow theme change + + Randomize order when playing - src/app/settings/settings.component.html - 72 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 13 - Allow theme change setting + Randomize order when playing checkbox label - - Language + + Normal order  - src/app/settings/settings.component.html - 81 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 18 - Language select label + Normal order - - Audio folder path + + Reverse order  - src/app/settings/settings.component.html - 101 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 19 - Audio folder path input placeholder + Reverse order - - Path for audio only downloads. It is relative to YTDL-Material's root folder. + + Add content - src/app/settings/settings.component.html - 102 + src/app/dialogs/modify-playlist/modify-playlist.component.html + 24 - Aduio path setting input hint + Add content - - Video folder path + + Restore - src/app/settings/settings.component.html - 108 + src/app/dialogs/restore-db-dialog/restore-db-dialog.component.html + 25 - Video folder path input placeholder + Restore button - - Path for video downloads. It is relative to YTDL-Material's root folder. + + Create admin account - src/app/settings/settings.component.html - 109 + src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html + 1 - Video path setting input hint + Create admin account dialog title - - Default file output + + No default admin account detected. This will create and set the password for an admin account with the user name as 'admin'. - src/app/settings/settings.component.html - 115 + src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html + 5 - Default file output placeholder + No default admin detected explanation - - Path is relative to the above download paths. Don't include extension. + + Create - src/app/settings/settings.component.html - 118 + src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html + 17 - Custom Output input hint + Create - - Global custom args + + Share playlist - src/app/settings/settings.component.html - 125 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 2 - Custom args input placeholder + Share playlist dialog title - - Global custom args for downloads on the home page. (Set args for subscriptions for each subscriptions separately!) Args are delimited using two commas like so: ,, + + Share file - src/app/settings/settings.component.html - 126 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 3 - Custom args setting input hint + Share video dialog title - - Categories + + Enable sharing - src/app/settings/settings.component.html - 136 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 9 - Categories + Enable sharing checkbox - - With this setting enabled, if a single video matches a category, the entire playlist will receive that category. + + Use timestamp - src/app/settings/settings.component.html - 150 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 12 - Allow playlist categorization setting tooltip + Use timestamp - - Allow playlist categorization + + Seconds - src/app/settings/settings.component.html - 150 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 14 - Allow playlist categorization setting label + Seconds - - Use youtube-dl archive + + Copy to clipboard - src/app/settings/settings.component.html - 158 + src/app/dialogs/share-media-dialog/share-media-dialog.component.html + 23 - Use youtubedl archive setting + Copy to clipboard button - - Include thumbnail + + Subscribe to playlist or channel - src/app/settings/settings.component.html - 162 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 1 - Include thumbnail setting + Subscribe dialog title - - Include metadata + + URL - src/app/settings/settings.component.html - 166 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 8 - Include metadata setting - - - Max concurrent downloads src/app/settings/settings.component.html - 175 + 10 - Max concurrent downloads + Subscription URL input placeholder - - Limits the amount of downloads that can be simultaneously downloaded. Use -1 for no limit. + + The playlist or channel URL - src/app/settings/settings.component.html - 176 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 9 - Max concurrent downloads input hint + Subscription URL input hint - - Download rate limit + + Custom name - src/app/settings/settings.component.html - 181 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 19 - Download rate limit input placeholder + Subscription custom name placeholder - - Rate limits your downloads to the specified amount. Ex: 200K + + Subscribe - src/app/settings/settings.component.html - 182 + src/app/dialogs/subscribe-dialog/subscribe-dialog.component.html + 81 - Download rate limit input hint + Subscribe button - - Kill all downloads + + Type: - src/app/settings/settings.component.html - 191 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 5 - Kill all downloads button + Subscription type property - - Top title + + URL: - src/app/settings/settings.component.html - 204 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 9 - Top title input placeholder - - - File manager enabled - src/app/settings/settings.component.html - 209 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 9 - File manager enabled setting + Subscription URL property - - Downloads manager enabled + + ID: - src/app/settings/settings.component.html - 212 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 13 - Downloads manager enabled setting + Subscription ID property - - Allow quality select + + Archive: - src/app/settings/settings.component.html - 215 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 17 - Allow quality seelct setting + Subscription ID property - - Download only mode + + Export Archive - src/app/settings/settings.component.html - 218 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 24 - Download only mode setting + Export Archive button - - Allow autoplay + + Unsubscribe - src/app/settings/settings.component.html - 221 + src/app/dialogs/subscription-info-dialog/subscription-info-dialog.component.html + 26 - Allow autoplay setting + Unsubscribe button - - Enable Public API + + Updater - src/app/settings/settings.component.html - 229 + src/app/dialogs/update-progress-dialog/update-progress-dialog.component.html + 1 - Enable Public API key setting + Update progress dialog title - - Public API Key + + Update task schedule - src/app/settings/settings.component.html - 234 + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 1 - Public API Key setting placeholder + Update task schedule - - View documentation + + Enabled - src/app/settings/settings.component.html - 235 + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 7 - View API docs setting hint + Enabled - - This will delete your old API key! + + Recurring - src/app/settings/settings.component.html - 239 + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 10 - delete api key tooltip + Recurring - - Generate + + Update - src/app/settings/settings.component.html - 239 + src/app/dialogs/update-task-schedule-dialog/update-task-schedule-dialog.component.html + 52 - Generate key button + Update button - - Use YouTube API + + Your Profile - src/app/settings/settings.component.html - 248 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 1 - Use YouTube API setting + User profile dialog title - - Youtube API Key + + Name: - src/app/settings/settings.component.html - 252 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 6 - Youtube API Key setting placeholder - - - Generating a key is easy! - src/app/settings/settings.component.html - 253 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 5 + Name + + + UID: - src/app/settings/settings.component.html - 265 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 9 - Youtube API Key setting hint + UID - - Use Twitch API + + Created: - src/app/settings/settings.component.html - 257 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 12 - Use Twitch API setting + Created - - Twitch API Key + + You are not logged in. - src/app/settings/settings.component.html - 264 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 19 - Twitch API Key setting placeholder + Not logged in notification - - Also known as a Client ID. + + Logout - src/app/settings/settings.component.html - 265 + src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html + 28 - Twitch API Key setting hint AKA preamble + Logout - - Enables a button to skip ads when viewing supported videos. + + Uploader: - src/app/settings/settings.component.html - 269 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 13 - SponsorBlock API tooltip + Video ID property - - Use SponsorBlock API + + File size: - src/app/settings/settings.component.html - 269 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 17 - Use SponsorBlock API setting + Video file size property - - Generates NFO files with every download, primarily used by Kodi. + + Path: - src/app/settings/settings.component.html - 272 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 21 - Generate NFO files tooltip + Video path property - - Generate NFO files + + Upload Date: - src/app/settings/settings.component.html - 272 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 25 - Generate NFO files setting + Video upload date property - - Auto-download Twitch Chat + + Category: - src/app/settings/settings.component.html - 260 + src/app/dialogs/video-info-dialog/video-info-dialog.component.html + 29 - Auto download Twitch Chat setting + Category property - - Click here + + Quality - src/app/settings/settings.component.html - 281 + src/app/main/main.component.html + 19,20 + Quality select label + + + Use URL - src/app/settings/settings.component.html - 287 + src/app/main/main.component.html + 51,53 + YT search Use URL button for searched video + + + View - src/app/dialogs/about-dialog/about-dialog.component.html - 36 + src/app/main/main.component.html + 55,57 - Chrome ext click here + YT search View button for searched video - - to download the official YoutubeDL-Material Chrome extension manually. + + Only Audio - src/app/settings/settings.component.html - 281 + src/app/main/main.component.html + 65,67 - Chrome click here suffix + Only Audio checkbox - - You must manually load the extension and modify the extension's settings to set the frontend URL. + + Autoplay - src/app/settings/settings.component.html - 282 + src/app/main/main.component.html + 70,72 - Chrome setup suffix + Autoplay checkbox - - to install the official YoutubeDL-Material Firefox extension right off the Firefox extensions page. + + Download - src/app/settings/settings.component.html - 287 + src/app/main/main.component.html + 79,82 - Firefox click here suffix + Main download button - - Detailed setup instructions. + + Cancel - src/app/settings/settings.component.html - 288 + src/app/main/main.component.html + 84,87 - Firefox setup prefix link + Cancel download button - - Not much is required other than changing the extension's settings to set the frontend URL. + + Advanced - src/app/settings/settings.component.html - 288 + src/app/main/main.component.html + 96,99 - Firefox setup suffix + Advanced download mode panel - - Drag the link below to your bookmarks, and you're good to go! Just navigate to the YouTube video you'd like to download, and click the bookmark. + + Simulated command: - src/app/settings/settings.component.html - 293 + src/app/main/main.component.html + 102,104 - Bookmarklet instructions + Simulated command label - - Generate 'audio only' bookmarklet + + Use custom args - src/app/settings/settings.component.html - 294 + src/app/main/main.component.html + 110,112 - Generate audio only bookmarklet checkbox + Use custom args checkbox - - Database location: + + Replace args - src/app/settings/settings.component.html - 309 + src/app/main/main.component.html + 116,118 - Database location label + Replace args - - Records per table + + No need to include URL, just everything after. Args are delimited using two commas like so: ,, - src/app/settings/settings.component.html - 310 + src/app/main/main.component.html + 123,125 - Records per table label + Custom Args input hint - - MongoDB Connection String + + Use custom output - src/app/settings/settings.component.html - 318 + src/app/main/main.component.html + 131,133 - MongoDB Connection String + Use custom output checkbox - - Example: + + Custom output - src/app/settings/settings.component.html - 319 + src/app/main/main.component.html + 135,136 - MongoDB Connection String setting hint AKA preamble + Custom output placeholder - - Test connection string + + Use authentication - src/app/settings/settings.component.html - 323 + src/app/main/main.component.html + 145,147 - Test connection string button + Use authentication checkbox - - Transfer DB to + + Username - src/app/settings/settings.component.html - 327 + src/app/main/main.component.html + 149,151 - Transfer DB button + YT Username placeholder - - Database information could not be retrieved. Check the server logs for more information. + + Crop file - src/app/settings/settings.component.html - 331 + src/app/main/main.component.html + 160,162 - Database info not retrieved error message + Crop video checkbox - - Select a downloader + + Crop from (seconds) - src/app/settings/settings.component.html - 345 + src/app/main/main.component.html + 164,166 - Default downloader select label + Crop from placeholder - - Use default downloading agent + + Crop to (seconds) - src/app/settings/settings.component.html - 354 + src/app/main/main.component.html + 169,171 - Use default downloading agent setting + Crop to placeholder - - Select a download agent + + Download for has been queued! - src/app/settings/settings.component.html - 358 + src/app/main/main.component.ts + 403 - Custom downloader select label - - Log Level + + views - src/app/settings/settings.component.html - 372 + src/app/player/player.component.html + 16 - Log Level label + View count label - - Login expiration + + Main src/app/settings/settings.component.html - 384 + 4 - Login expiration select label + Main settings label - - Allow advanced download + + URL this app will be accessed from, without the port. src/app/settings/settings.component.html - 395 + 11 - Allow advanced downloading setting + URL setting input hint - - Use Cookies + + Port src/app/settings/settings.component.html - 403 + 16 - Use cookies setting + Port input placeholder - - Set Cookies + + The desired port. Default is 17442. src/app/settings/settings.component.html - 404 + 17 - Set cookies button + Port setting input hint - - Restart server + + Multi-user mode src/app/settings/settings.component.html - 416 + 26 - Restart server button + Multi user mode setting - - Users + + Users base path src/app/settings/settings.component.html - 425 + 30 - Users settings label + Users base path placeholder - - Allow user registration + + Base path for users and their downloaded videos. src/app/settings/settings.component.html - 431 + 31 - Allow registration setting + Users base path hint - - Auth method + + Allow subscriptions src/app/settings/settings.component.html - 435 + 40 - Auth method select + Allow subscriptions setting - - Internal + + Subscriptions base path src/app/settings/settings.component.html - 437 + 44 - Internal auth method + Subscriptions base path input setting placeholder - - LDAP + + Base path for videos from your subscribed channels and playlists. It is relative to YTDL-Material's root folder. src/app/settings/settings.component.html - 440 + 45 - LDAP auth method + Subscriptions base path setting input hint - - LDAP URL + + Check interval src/app/settings/settings.component.html - 447 + 50 - LDAP URL + Check interval input setting placeholder - - Bind DN + + Unit is seconds, only include numbers. src/app/settings/settings.component.html - 452 + 51 - Bind DN + Check interval setting input hint - - Bind Credentials + + Sometimes new videos are downloaded before being fully processed. This setting will mean new videos will be checked for a higher quality version the following day. src/app/settings/settings.component.html - 457 + 55 - Bind Credentials + Redownload fresh uploads tooltip - - Search Base + + Redownload fresh uploads src/app/settings/settings.component.html - 462 + 55 - Search Base + Redownload fresh uploads - - Search Filter + + Theme src/app/settings/settings.component.html - 467 + 64 - Search Filter + Theme select label - - About YoutubeDL-Material + + Default - src/app/dialogs/about-dialog/about-dialog.component.html - 1 + src/app/settings/settings.component.html + 66 - About dialog title + Default theme label - - is an open-source YouTube downloader built under Google's Material Design specifications. You can seamlessly download your favorite videos as video or audio files, and even subscribe to your favorite channels and playlists to keep updated with their new videos. + + Allow theme change - src/app/dialogs/about-dialog/about-dialog.component.html - 12 + src/app/settings/settings.component.html + 72 - About first paragraph + Allow theme change setting - - has some awesome features included! An extensive API, Docker support, and localization (translation) support. Read up on all the supported features by clicking on the GitHub icon above. + + Language - src/app/dialogs/about-dialog/about-dialog.component.html - 15 + src/app/settings/settings.component.html + 81 - About second paragraph + Language select label - - Installed version: + + Downloader - src/app/dialogs/about-dialog/about-dialog.component.html - 20 + src/app/settings/settings.component.html + 96 - Version label + Downloader settings label - - Installation type: + + Audio folder path - src/app/dialogs/about-dialog/about-dialog.component.html - 25 + src/app/settings/settings.component.html + 103 - Installation type + Audio folder path input placeholder - - Commit hash: + + Path for audio only downloads. It is relative to YTDL-Material's root folder. - src/app/dialogs/about-dialog/about-dialog.component.html - 31 + src/app/settings/settings.component.html + 104 - Commit hash + Aduio path setting input hint - - Build date: + + Video folder path - src/app/dialogs/about-dialog/about-dialog.component.html - 33 + src/app/settings/settings.component.html + 110 - Build date + Video folder path input placeholder - - Found a bug or have a suggestion? + + Path for video downloads. It is relative to YTDL-Material's root folder. - src/app/dialogs/about-dialog/about-dialog.component.html - 36 + src/app/settings/settings.component.html + 111 - About bug prefix + Video path setting input hint - - to create an issue! + + Default file output - src/app/dialogs/about-dialog/about-dialog.component.html - 36 + src/app/settings/settings.component.html + 117 - About bug suffix + Default file output placeholder - - Checking for updates... + + Path is relative to the above download paths. Don't include extension. - src/app/dialogs/about-dialog/about-dialog.component.html - 20 + src/app/settings/settings.component.html + 120 - Checking for updates text + Custom Output input hint - - Update available + + Global custom args - src/app/dialogs/about-dialog/about-dialog.component.html - 21 + src/app/settings/settings.component.html + 127 - View latest update + Custom args input placeholder - - You can update from the settings menu. + + Global custom args for downloads on the home page. (Set args for subscriptions for each subscriptions separately!) Args are delimited using two commas like so: ,, - src/app/dialogs/about-dialog/about-dialog.component.html - 21 + src/app/settings/settings.component.html + 128 - Update through settings menu hint + Custom args setting input hint - - Docker tag: + + Categories - src/app/dialogs/about-dialog/about-dialog.component.html - 28 + src/app/settings/settings.component.html + 138 - Docker tag + Categories - - Select a version: + + With this setting enabled, if a single video matches a category, the entire playlist will receive that category. - src/app/updater/updater.component.html - 3 + src/app/settings/settings.component.html + 152 - Select a version + Allow playlist categorization setting tooltip - - Enable sharing + + Allow playlist categorization - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 9 + src/app/settings/settings.component.html + 152 - Enable sharing checkbox + Allow playlist categorization setting label - - Use timestamp + + Use youtube-dl archive - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 12 + src/app/settings/settings.component.html + 160 - Use timestamp + Use youtubedl archive setting - - Seconds + + Include thumbnail - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 14 + src/app/settings/settings.component.html + 164 - Seconds + Include thumbnail setting - - Copy to clipboard + + Include metadata - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 23 + src/app/settings/settings.component.html + 168 - Copy to clipboard button + Include metadata setting - - Share playlist + + Max concurrent downloads - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 2 + src/app/settings/settings.component.html + 177 - Share playlist dialog title + Max concurrent downloads - - Share file + + Limits the amount of downloads that can be simultaneously downloaded. Use -1 for no limit. - src/app/dialogs/share-media-dialog/share-media-dialog.component.html - 3 + src/app/settings/settings.component.html + 178 - Share video dialog title + Max concurrent downloads input hint - - Creating download + + Download rate limit - src/app/components/downloads/downloads.component.ts - 58 + src/app/settings/settings.component.html + 183 + Download rate limit input placeholder - - Getting info + + Rate limits your downloads to the specified amount. Ex: 200K - src/app/components/downloads/downloads.component.ts - 59 + src/app/settings/settings.component.html + 184 + Download rate limit input hint - - Downloading file + + Kill all downloads - src/app/components/downloads/downloads.component.ts - 60 + src/app/settings/settings.component.html + 193 + Kill all downloads button - - Complete + + Extra - src/app/components/downloads/downloads.component.ts - 61 + src/app/settings/settings.component.html + 200 + Extra settings label - - Clear finished downloads + + Top title - src/app/components/downloads/downloads.component.ts - 129 + src/app/settings/settings.component.html + 206 + Top title input placeholder - - Would you like to clear your finished downloads? + + File manager enabled - src/app/components/downloads/downloads.component.ts - 130 + src/app/settings/settings.component.html + 211 + File manager enabled setting - - Clear + + Downloads manager enabled - src/app/components/downloads/downloads.component.ts - 131 + src/app/settings/settings.component.html + 214 + Downloads manager enabled setting - - Error for + + Allow quality select - src/app/components/downloads/downloads.component.ts - 238 + src/app/settings/settings.component.html + 217 + Allow quality seelct setting - - Copy to clipboard + + Download only mode - src/app/components/downloads/downloads.component.ts - 240 + src/app/settings/settings.component.html + 220 + Download only mode setting - - Close + + Allow autoplay - src/app/components/downloads/downloads.component.ts - 241 + src/app/settings/settings.component.html + 223 + Allow autoplay setting - - Copied to clipboard! + + Enable Public API - src/app/components/downloads/downloads.component.ts - 249 + src/app/settings/settings.component.html + 231 + Enable Public API key setting - - Date + + Public API Key - src/app/components/downloads/downloads.component.html - 7 + src/app/settings/settings.component.html + 236 - Date + Public API Key setting placeholder - - Title + + View documentation - src/app/components/downloads/downloads.component.html - 13 + src/app/settings/settings.component.html + 237 - Title + View API docs setting hint - - Subscription + + This will delete your old API key! - src/app/components/downloads/downloads.component.html - 23 + src/app/settings/settings.component.html + 241 - Subscription + delete api key tooltip - - Stage + + Generate - src/app/components/downloads/downloads.component.html - 36 + src/app/settings/settings.component.html + 241 - Stage + Generate key button - - Progress + + Use YouTube API - src/app/components/downloads/downloads.component.html - 42 + src/app/settings/settings.component.html + 250 - Progress + Use YouTube API setting - - Actions + + Youtube API Key - src/app/components/downloads/downloads.component.html - 55 + src/app/settings/settings.component.html + 254 - Actions + Youtube API Key setting placeholder - - Clear + + Generating a key is easy! - src/app/components/downloads/downloads.component.html - 68 + src/app/settings/settings.component.html + 255 - src/app/components/downloads/downloads.component.html - 68 + src/app/settings/settings.component.html + 267 - Clear + Youtube API Key setting hint - - Pause + + Use Twitch API - src/app/components/downloads/downloads.component.html - 59 + src/app/settings/settings.component.html + 259 + Use Twitch API setting + + + Auto-download Twitch Chat - src/app/components/downloads/downloads.component.html - 59 + src/app/settings/settings.component.html + 262 - Pause + Auto download Twitch Chat setting - - Resume + + Twitch API Key - src/app/components/downloads/downloads.component.html - 60 + src/app/settings/settings.component.html + 266 + Twitch API Key setting placeholder + + + Also known as a Client ID. - src/app/components/downloads/downloads.component.html - 60 + src/app/settings/settings.component.html + 267 - Resume + Twitch API Key setting hint AKA preamble - - Watch content + + Enables a button to skip ads when viewing supported videos. - src/app/components/downloads/downloads.component.html - 64 + src/app/settings/settings.component.html + 271 + SponsorBlock API tooltip + + + Use SponsorBlock API - src/app/components/downloads/downloads.component.html - 64 + src/app/settings/settings.component.html + 271 - Watch content + Use SponsorBlock API setting - - Show error + + Generates NFO files with every download, primarily used by Kodi. - src/app/components/downloads/downloads.component.html - 65 + src/app/settings/settings.component.html + 274 + Generate NFO files tooltip + + + Generate NFO files - src/app/components/downloads/downloads.component.html - 65 + src/app/settings/settings.component.html + 274 - Show error + Generate NFO files setting - - Restart + + to download the official YoutubeDL-Material Chrome extension manually. - src/app/components/downloads/downloads.component.html - 66 + src/app/settings/settings.component.html + 283 - Restart + Chrome click here suffix - - Pause all downloads + + You must manually load the extension and modify the extension's settings to set the frontend URL. - src/app/components/downloads/downloads.component.html - 83 + src/app/settings/settings.component.html + 284 - Pause all downloads + Chrome setup suffix - - Resume all downloads + + to install the official YoutubeDL-Material Firefox extension right off the Firefox extensions page. - src/app/components/downloads/downloads.component.html - 84 + src/app/settings/settings.component.html + 289 - Resume all downloads + Firefox click here suffix - - Clear finished downloads + + Detailed setup instructions. - src/app/components/downloads/downloads.component.html - 85 + src/app/settings/settings.component.html + 290 - Clear finished downloads + Firefox setup prefix link - - No downloads available! + + Not much is required other than changing the extension's settings to set the frontend URL. - src/app/components/downloads/downloads.component.html - 90 + src/app/settings/settings.component.html + 290 - No downloads label + Firefox setup suffix - - Your Profile + + Drag the link below to your bookmarks, and you're good to go! Just navigate to the YouTube video you'd like to download, and click the bookmark. - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 1 + src/app/settings/settings.component.html + 295 - User profile dialog title + Bookmarklet instructions - - Logout + + Generate 'audio only' bookmarklet - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 28 + src/app/settings/settings.component.html + 296 - Logout + Generate audio only bookmarklet checkbox - - UID: + + Database - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 9 + src/app/settings/settings.component.html + 305 - UID + Database settings label - - Created: + + Database location: - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 12 + src/app/settings/settings.component.html + 311 - Created + Database location label - - You are not logged in. + + Records per table - src/app/dialogs/user-profile-dialog/user-profile-dialog.component.html - 19 + src/app/settings/settings.component.html + 312 - Not logged in notification + Records per table label - - Create admin account + + MongoDB Connection String - src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html - 1 + src/app/settings/settings.component.html + 320 - Create admin account dialog title + MongoDB Connection String - - No default admin account detected. This will create and set the password for an admin account with the user name as 'admin'. + + Example: - src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html - 5 + src/app/settings/settings.component.html + 321 - No default admin detected explanation + MongoDB Connection String setting hint AKA preamble - - Create + + Test connection string - src/app/dialogs/set-default-admin-dialog/set-default-admin-dialog.component.html - 17 + src/app/settings/settings.component.html + 325 - Create + Test connection string button - - Add Users + + Transfer DB to - src/app/components/modify-users/modify-users.component.html - 90 + src/app/settings/settings.component.html + 329 - Add users button + Transfer DB button - - Edit Role + + Database information could not be retrieved. Check the server logs for more information. - src/app/components/modify-users/modify-users.component.html - 95 + src/app/settings/settings.component.html + 333 - Edit role + Database info not retrieved error message - - User name + + Advanced - src/app/components/modify-users/modify-users.component.html - 17 + src/app/settings/settings.component.html + 341 - Username users table header + Host settings label - - Role + + Select a downloader - src/app/components/modify-users/modify-users.component.html - 35 + src/app/settings/settings.component.html + 347 - Role users table header + Default downloader select label - - Actions + + Use default downloading agent - src/app/components/modify-users/modify-users.component.html - 55 + src/app/settings/settings.component.html + 356 - Actions users table header + Use default downloading agent setting - - Manage user + + Select a download agent - src/app/components/modify-users/modify-users.component.html - 70 + src/app/settings/settings.component.html + 360 + Custom downloader select label + + + Log Level - src/app/components/manage-user/manage-user.component.html - 1 + src/app/settings/settings.component.html + 374 - manage user action button tooltip + Log Level label - - Delete user + + Login expiration - src/app/components/modify-users/modify-users.component.html - 73 + src/app/settings/settings.component.html + 386 - delete user action button tooltip + Login expiration select label - - Edit user + + Allow advanced download - src/app/components/modify-users/modify-users.component.html - 66 + src/app/settings/settings.component.html + 397 - edit user action button tooltip + Allow advanced downloading setting - - User UID: + + Use Cookies - src/app/components/manage-user/manage-user.component.html - 4 + src/app/settings/settings.component.html + 405 - User UID + Use cookies setting - - New password + + Set Cookies - src/app/components/manage-user/manage-user.component.html - 8 + src/app/settings/settings.component.html + 406 - New password placeholder + Set cookies button - - Set new password + + Restart server - src/app/components/manage-user/manage-user.component.html - 10 + src/app/settings/settings.component.html + 418 - Set new password + Restart server button - - Use role default + + Users - src/app/components/manage-user/manage-user.component.html - 19 + src/app/settings/settings.component.html + 427 - Use role default + Users settings label - - Yes + + Allow user registration - src/app/components/manage-user/manage-user.component.html - 20 + src/app/settings/settings.component.html + 433 + Allow registration setting + + + Auth method - src/app/components/manage-role/manage-role.component.html - 9 + src/app/settings/settings.component.html + 437 - Yes + Auth method select - - No + + Internal - src/app/components/manage-user/manage-user.component.html - 21 + src/app/settings/settings.component.html + 439 + Internal auth method + + + LDAP - src/app/components/manage-role/manage-role.component.html - 10 + src/app/settings/settings.component.html + 442 - No + LDAP auth method - - Manage role + + LDAP URL - src/app/components/manage-role/manage-role.component.html - 1 + src/app/settings/settings.component.html + 449 - Manage role dialog title + LDAP URL - - Lines: + + Bind DN - src/app/components/logs-viewer/logs-viewer.component.html - 22 + src/app/settings/settings.component.html + 454 - Label for lines select in logger view + Bind DN - - Clear logs + + Bind Credentials - src/app/components/logs-viewer/logs-viewer.component.html - 34 + src/app/settings/settings.component.html + 459 - Clear logs button + Bind Credentials - - Auto-generated + + Search Base - src/app/components/unified-file-card/unified-file-card.component.html - 5 + src/app/settings/settings.component.html + 464 - Auto-generated label + Search Base - - Open file + + Search Filter - src/app/components/unified-file-card/unified-file-card.component.html - 18 + src/app/settings/settings.component.html + 469 - Open file button + Search Filter - - Open file in new tab + + Logs - src/app/components/unified-file-card/unified-file-card.component.html - 19 + src/app/settings/settings.component.html + 478 - Open file in new tab + Logs settings label - - Go to subscription + + You must enable multi-user mode to access this tab. - src/app/components/unified-file-card/unified-file-card.component.html - 25 + src/app/settings/settings.component.ts + 48 - Go to subscription menu item - - Add to playlist + + Length: - src/app/components/unified-file-card/unified-file-card.component.html - 26 + src/app/subscription/subscription-file-card/subscription-file-card.component.html + 3 - Add to playlist menu item + Video duration label - - Delete and redownload + + Your subscriptions - src/app/components/unified-file-card/unified-file-card.component.html - 34 + src/app/subscriptions/subscriptions.component.html + 3 + Subscriptions title + + + Channels - src/app/subscription/subscription-file-card/subscription-file-card.component.html + src/app/subscriptions/subscriptions.component.html 8 - Delete and redownload subscription video button + Subscriptions channels title - - Delete forever + + Name not available. Channel retrieval in progress. - src/app/components/unified-file-card/unified-file-card.component.html - 37 + src/app/subscriptions/subscriptions.component.html + 14 + Subscription playlist not available text + + + You have no channel subscriptions. - src/app/subscription/subscription-file-card/subscription-file-card.component.html - 9 + src/app/subscriptions/subscriptions.component.html + 27 - Delete forever subscription video button + No channel subscriptions text - - See more. + + Playlists - src/app/components/see-more/see-more.component.html - 5,6 + src/app/subscriptions/subscriptions.component.html + 30 - See more + Subscriptions playlists title - - See less. + + Name not available. Playlist retrieval in progress. - src/app/components/see-more/see-more.component.html - 8,9 + src/app/subscriptions/subscriptions.component.html + 36 - See less + Subscription playlist not available text - - Skip ad + + You have no playlist subscriptions. - src/app/components/skip-ad-button/skip-ad-button.component.html - 1 + src/app/subscriptions/subscriptions.component.html + 49 - Skip ad button + No playlist subscriptions text - - Length: + + Select a version: - src/app/subscription/subscription-file-card/subscription-file-card.component.html + src/app/updater/updater.component.html 3 - Video duration label + Select a version